網(wǎng)絡(luò)協(xié)議底層原理(二):Mac地址、IP地址、子網(wǎng)掩碼、網(wǎng)段、子網(wǎng)劃分

一、Mac地址
    1. 每一個(gè)網(wǎng)卡都會(huì)有一個(gè)6字節(jié)Mac地址(Media Access Control Address),每一個(gè)Mac地址都是全球唯一的,固化在了網(wǎng)卡的ROM中,遵守IEEE802標(biāo)準(zhǔn)
    1. Mac地址前三個(gè)字節(jié)是組織唯一標(biāo)識(shí)符,是IEEE管理機(jī)構(gòu)分配給廠商的;后三個(gè)字節(jié)是網(wǎng)絡(luò)接口標(biāo)識(shí)符,是廠商自行分配的,如下所示


      Mac地址的組成.png
    1. Mac地址在不同操作系統(tǒng)下的,格式不同,如下所示,當(dāng)6個(gè)字節(jié)48位全是1時(shí),代表廣播地址,即FF-FF-FF-FF-FF-FF
Windows : 40-55-82-0A-8C-6D
Linux、Android、Mac、iOS: 40:55:82:0A:8C:6D
Packet Tracer: 4055.820A.8C6D
廣播地址:FF-FF-FF-FF-FF-FF
    1. 查詢本機(jī)Mac地址的方法,如下所示:
Windows下輸入命令:ipconfig -all
Mac下輸入命令:ifconfig
    1. 我們知道計(jì)算機(jī)想要通訊,不但要知道對(duì)方的IP地址,還要知道對(duì)方的Mac地址,IP地址一般對(duì)方會(huì)提供,Mac地址一般是通過發(fā)送ARP廣播來獲取的,ARP廣播獲取成功后會(huì)緩存IP地址、Mac地址的映射信息,俗稱ARP緩存,通過ARP廣播獲取的Mac地址,屬于動(dòng)態(tài)緩存,相關(guān)命令如下所示,(ARP是地址解析協(xié)議,可以通過IP獲取Mac地址
arp -a [主機(jī)地址]  : 查詢ARP緩存
arp -d [主機(jī)地址]  : 刪除ARP緩存
arp -s [主機(jī)地址] [Mac地址]  : 增加一條靜態(tài)緩存,這是靜態(tài)緩存,存儲(chǔ)時(shí)間比較久
二、IP地址
    1. IP地址全稱是Internet Protocol Address,互聯(lián)網(wǎng)上每一個(gè)主機(jī)都有一個(gè)IP地址,最初是IPv4,占用4個(gè)字節(jié),32位,已于2019年用完,后來發(fā)展為IPv6,占用16個(gè)字節(jié),我們先研究IPv4,其組成如下所示:
      IPv4的4個(gè)字節(jié)32位.png
    1. IP地址由兩部分組成:網(wǎng)絡(luò)ID + 主機(jī)ID,我們可以通過子網(wǎng)掩碼得知一個(gè)IP地址的網(wǎng)絡(luò)ID和主機(jī)ID是什么,子網(wǎng)掩碼其實(shí)就是說明IP地址中的哪部分是網(wǎng)絡(luò)ID,哪部分是主機(jī)ID的,例如:IP地址是192.168.10.12/24,后面的/24就是子網(wǎng)掩碼,說明IP地址的前24位是網(wǎng)絡(luò)ID,剩下的就是主機(jī)ID,如下所示:
IP地址是:192.168.10.12/24
子網(wǎng)掩碼是:/24
網(wǎng)絡(luò)ID是前24位,也就是:192.168.10.0 (后面位數(shù)全部用0補(bǔ)齊)
主機(jī)ID是最后8位,也就是12,最后8位代表了一個(gè)范圍:0~255,也就是說這個(gè)網(wǎng)段中,最多可以共存254個(gè)IP地址,也就是最多共存255個(gè)主機(jī)
    1. 我們常說的網(wǎng)段,其實(shí)就是某一段IP地址的范圍,所謂的同一個(gè)網(wǎng)段,就是用IP地址子網(wǎng)掩碼做了一個(gè)按位與&運(yùn)算后得出一個(gè)值,兩個(gè)IP地址的的得出來的值相同,就認(rèn)為這兩個(gè)IP地址是在同一個(gè)網(wǎng)段里;這里計(jì)算有個(gè)小技巧:任何值與 1 按位與就是這個(gè)值本身,任何值與 0 按位與都是0,如下所示:
IP地址是:192.168.10.12/24
網(wǎng)段就是:192.168.10.12 & 255.255.255.0 = 192.168.10.0
計(jì)算過程如下,任何值與1`按位與`就是這個(gè)值本身,任何值與0`按位與`都是0
   1100 0000 1010 1000 0000 1010 0000 1100 
&  1111 1111 1111 1111 1111 1111 0000 0000
=  1100 0000 1010 1000 0000 1010 0000 0000 
轉(zhuǎn)成十進(jìn)制就是:192.168.10.0
  • 4.計(jì)算機(jī)和其他設(shè)備通訊前,會(huì)先判斷目標(biāo)主機(jī)和自己是否在同一個(gè)網(wǎng)段中:
    • 如果在同一個(gè)網(wǎng)段中,則不需要路由器轉(zhuǎn)發(fā)
    • 如果不是同一個(gè)網(wǎng)段,就需要路由器進(jìn)行轉(zhuǎn)發(fā)
三、IP地址的分類
    1. IP地址按照網(wǎng)絡(luò)ID和主機(jī)ID所占的位數(shù)不同進(jìn)行分類,一般可分為:A類、B類、C類、D類、E類,其中D類以1110開頭,為多播地址;E類1111開頭,保留為今后使用;只有A、B、C類地址才能分配給主機(jī),如下所示:
A類、B類、C類IP地址.png
    1. 主機(jī)ID全是0,代表主機(jī)所在的網(wǎng)段;主機(jī)ID全是1,代表主機(jī)所在網(wǎng)段的全部主機(jī),也就會(huì)廣播
    1. A類地址前8位網(wǎng)絡(luò)ID,后24位主機(jī)ID,如下圖所示,但是由于D類和E類所占的保留位不能用,所以A類地址的網(wǎng)絡(luò)ID的第一位必須為0,而且127是保留字段也不能用,所以A類地址的網(wǎng)絡(luò)ID取值范圍1 ~ 126
    • A類地址的主機(jī)ID取值范圍都是 0 ~ 255,所以A類IP地址的最大主機(jī)是:256 * 256 * 256 - 2 = 16777214,也就是每個(gè)A類網(wǎng)絡(luò)最多可以容納16777214個(gè)IP
A類地址.png
    1. B類地址,前16位網(wǎng)絡(luò)ID,后16位主機(jī)ID,如下圖所示,網(wǎng)絡(luò)ID中,第1部分取值范圍是128 ~ 191,第2部分取值范圍是0 ~ 255;主機(jī)ID中,第3、第4部分取值范圍都是是0 ~ 255,也就是說每個(gè)B類網(wǎng)絡(luò)最多能容納的主機(jī)數(shù)是256 * 256 - 2 = 65534
B類地址
    1. C類地址前24位網(wǎng)絡(luò)ID,后8位主機(jī)ID,如下圖所示,網(wǎng)絡(luò)ID中,第1部分取值范圍是192 ~ 223,第2、第3部分取值范圍是0 ~ 255;主機(jī)ID中,第4部分取值范圍都是是0 ~ 255,也就是說每個(gè)C類網(wǎng)絡(luò)最多能容納的主機(jī)數(shù)是256 - 2 = 254
C類地址.png
    1. D類地址,以1110開頭,沒有子網(wǎng)掩碼,用于多播地址,如下圖所示,第1部分取值范圍是224 ~ 239
D類地址
    1. E類地址,以1111開頭,沒有子網(wǎng)掩碼,保留為今后使用,如下圖所示,第1部分取值范圍是240 ~ 255
E類地址
四、子網(wǎng)劃分
    1. 子網(wǎng)掩碼我們經(jīng)常用CIDR來表示,CIDR全稱是無類別域間路由,其實(shí)很簡單,就是IP地址后面跟/數(shù)字,如下所示,/后面的數(shù)字代表子網(wǎng)掩碼的位數(shù),也就是網(wǎng)絡(luò)ID所占的位數(shù),例如:/24就代表IP地址的前24位網(wǎng)絡(luò)ID,因?yàn)镮P地址一共32位,所以后面8位就是網(wǎng)絡(luò)ID
192.168.1.100/24,代表子網(wǎng)掩碼有24個(gè)1,也就是255.255.255.0
192.168.1.100/16,代表子網(wǎng)掩碼有16個(gè)1,也就是255.255.0.0
192.168.1.100/8, 代表子網(wǎng)掩碼有8個(gè)1, 也就是255.0.0.0
    1. 為什么要進(jìn)行子網(wǎng)劃分?當(dāng)我們需要讓500臺(tái)主機(jī)在同一個(gè)網(wǎng)段內(nèi)時(shí),因?yàn)镃類網(wǎng)段最多有254個(gè)主機(jī)數(shù),不夠用,所以就需要分配一個(gè)B類網(wǎng)段,而B類網(wǎng)段的主機(jī)數(shù)是65534個(gè),遠(yuǎn)遠(yuǎn)超過了500個(gè),多了65034個(gè)空閑的IP地址,極大的浪費(fèi)了資源,所以這個(gè)時(shí)候,我們就需要進(jìn)行合理的子網(wǎng)劃分
    1. 子網(wǎng)劃分就是:借用主機(jī)位作為子網(wǎng)位,劃分出多個(gè)子網(wǎng),還是上面這個(gè)例子,我們繼續(xù)用B類地址,但是讓前31位作為網(wǎng)絡(luò)ID,后9位作為主機(jī)ID,這樣主機(jī)數(shù)就剩下510個(gè)了,剛好滿足我們的需求,也不會(huì)浪費(fèi)IP地址了
    1. 其實(shí)子網(wǎng)就是把子網(wǎng)掩碼往右移動(dòng),使主機(jī)ID的一部分變成了網(wǎng)絡(luò)ID,每往右挪動(dòng)一位,就會(huì)使主機(jī)ID的數(shù)量縮小二分之一;
    • 與此對(duì)應(yīng)的還有超網(wǎng),超網(wǎng)就是把主機(jī)ID的位數(shù)往左移動(dòng),使網(wǎng)絡(luò)ID的一部分變成了主機(jī)ID,每往左挪動(dòng)一位,就會(huì)使主機(jī)ID的數(shù)量變大2倍;
    1. 如何判斷一個(gè)網(wǎng)段是子網(wǎng)還是超網(wǎng)?
    • (1). 首先看網(wǎng)段類型是A類、B類還是C類,主要通過IP取值范圍來區(qū)分,默認(rèn)情況下,A類的子網(wǎng)掩碼是8位,B類是16位,C類是24位;

    • (2). 然后如果該網(wǎng)段的子網(wǎng)掩碼比默認(rèn)子網(wǎng)掩碼多,就是子網(wǎng);如果比默認(rèn)子網(wǎng)掩碼少,就是超網(wǎng);

    • (3). 比如:25.100.0.0/16是一個(gè)A類網(wǎng)段的子網(wǎng);200.100.0.0/16就是C類網(wǎng)段的超網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容