天天看點

重學計算機網絡(二) - 曾記否,查IP位址(下)4 CIDR可不好算5 MAC位址6 網絡裝置的狀态辨別7 總結

4 CIDR可不好算

16.158.165.91/22

這個CIDR,求該網絡的第一個位址、子網路遮罩和廣播位址。

首先聲明16.158.165.1是錯的!

/22不是8的整數倍,隻能先變成二進制。

  • 16.158的部分不會動,占了前16位
  • 中間的165,二進制為‭10100101‬。除了前面的16位,還剩6位。是以,這8位中前6位是網絡号,16.158.<101001>,而<01>.91是機器号。

第一個位址是16.158.<101001><00>.1,即16.158.164.1

子網路遮罩是255.255.<111111><00>.0,即255.255.252.0

廣播位址為16.158.<101001><11>.255,即16.158.167.255。

IP : 192.168.124.7

子網路遮罩:255.255.255.192

網絡位址:192.168.124.0

廣播位址:192.168.124.63

255.255.255.192=》11111111.11111111.11111111.11000000
是以可劃分網段:2^2=4個:
0~63  192.168.124.7屬于該網段
64~127
128~191
192~255
      

是以廣播位址為:192.168.124.63。是以廣播位址最後一位不一定是 255。

廣播通信問題

主機一:192.168.124.7 子網路遮罩 : 255.255.255.192

主機二: 192.168.124.100 子網路遮罩: 255.255.255.192

主機一廣播位址: 192.168.124.63

主機二廣播位址: 192.168.124.127

是以無法互相通信。

D類是多點傳播位址

使用這一類位址,屬于某個組的機器都能收到

這有點類似在公司裡面大家都加入了一個郵件組。發送郵件,加入這個組的都能收到

在IP位址的後面有個scope

對于eth0這張網卡來講,是global,說明這張網卡是可以對外的,可以接收來自各個地方的包

對于lo來講,是host,說明僅可以供本機互相通信。

lo全稱是loopback,又稱環回接口,往往會被配置設定到127.0.0.1這個位址

這個位址用于本機通信,經過核心處理後直接傳回,不會在任何網絡中出現。

5 MAC位址

在IP位址的上一行是link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff

這個被稱為MAC位址

是一個網卡的實體位址,用十六進制,6個byte表示

MAC位址号稱全局唯一,不會有兩個網卡有相同的MAC位址,而且網卡自生産出來,就帶着這個位址

很多人看到這裡就會想,既然這樣,整個網際網路的通信,全部用MAC位址好了,隻要知道了對方的MAC位址,就可以把資訊傳過去。

這樣當然是不行的

一個網絡包要從一個地方傳到另一個地方,除了要有确定的位址,還需要有定位功能

而有門牌号碼屬性的IP位址,才是有遠端定位功能

例如,你去XX市XX路XX号X樓X層找XX,你在路上問路,可能被問的人不知道X樓是哪個,但是可以給你指網商路怎麼去

但是如果你問一個人,你知道這個身份證号的人在哪裡嗎?可想而知,沒有人知道。

MAC位址更像是身份證,是一個唯一的辨別

它的唯一性設計是為了組網的時候,不同的網卡放在一個網絡裡面的時候,可以不用擔心沖突

從硬體角度,保證不同的網卡有不同的辨別。

MAC位址是有一定定位功能的,隻不過範圍非常有限

你可以根據IP位址,找到XX市XX路XX号X樓X層,但是依然找不到我,你就可以靠吼了,大聲喊身份證XXXX的是哪位?我聽到了,我就會站起來說,是我啊

但是如果你在上海,到處喊身份證XXXX的是哪位,我不在現場,當然不會回答,因為我在杭州不在上海。

是以,MAC位址的通信範圍比較小,局限在一個子網裡面

例如,從192.168.0.2/24通路192.168.0.3/24是可以用MAC位址的

一旦跨子網,即從192.168.0.2/24到192.168.1.2/24,MAC位址就不行了,需要IP位址起作用了

6 網絡裝置的狀态辨別

<BROADCAST,MULTICAST,UP,LOWER_UP>

叫net_device flags,網絡裝置的狀态辨別

  • UP

    網卡處于啟動的狀态

  • BROADCAST

    網卡有廣播位址,可以發送廣播包

  • MULTICAST

    網卡可以發送多點傳播包

  • LOWER_UP

    L1是啟動的,也即網線插着呢

  • MTU1500

    最大傳輸單元MTU為1500,這是以太網的預設值。

網絡包是層層封裝的

MTU是二層MAC層的概念。MAC層有MAC的頭,以太網規定連MAC頭帶正文合起來,不允許超過1500個位元組。正文裡面有IP的頭、TCP的頭、HTTP的頭。如果放不下,就需要分片來傳輸。

qdisc pfifo_fast (queueing discipline,排隊規則)

核心如果需要通過某個網絡接口發送資料包,它都需要按照為這個接口配置的qdisc(排隊規則)把資料包加入隊列。

最簡單的qdisc是pfifo,它不對進入的資料包做任何的處理,資料包采用先入先出的方式通過隊列

pfifo_fast稍微複雜一些,它的隊列包括三個波段(band)。在每個波段裡面,使用先進先出規則。

三個波段(band)的優先級也不相同。band 0的優先級最高,band 2的最低。如果band 0裡面有資料包,系統就不會處理band 1裡面的資料包,band 1和band 2之間也是一樣。

資料包是按照服務類型(Type of Service,TOS) 被配置設定到三個波段(band)裡面的

TOS是IP頭裡面的一個字段,代表了目前的包是高優先級的,還是低優先級的。

7 總結

  • IP是位址,有定位功能;MAC是身份證,無定位功能
  • CIDR可以用來判斷是不是本地人
  • IP分公有IP、私有IP

繼續閱讀