挑戰408——一週網絡——網絡層(2)

劃分子網

分類的IP地址也稱爲兩級IP地址(網絡號,主機號)。這樣的分類有幾點不好的地方:

  1. IP地址空間利用率低。試想A類地址能表示(2^31)個網絡地址,全球的主機數遠不止如此。
  2. 每個物理網絡都分配一個網絡號,會使得路由表過大。
  3. 二級地址不夠靈活。

劃分子網就是爲了解決這些問題的。具體的思路如下:

  • 一個擁有許多物理網絡的單位,可以將所屬的物理網絡劃分成子網,這樣的子網只對單位內可見,對外仍然表現爲一個網絡。
  • 方法是,從IP地址的主機號中借用部分來作爲子網號。於是變成3級地址:
    在這裏插入圖片描述
  • 發送到本網絡的數據報,仍是將此數據報交付給本單位的對外的路由器,路由器再根據子網號找到對應的網絡,然後把數據交付給主機。

在這裏插入圖片描述
注意:劃分子網是在原來的IP地址的主機號進行劃分,而不改變IP地址原有的網絡號。

子網掩碼

那麼數據到了本網絡的路由器,路由器又是怎麼把數據交付到對應的子網的呢?這就要使用到子網掩碼了。子網掩碼的原理很簡單:子網掩碼中用1來代替原IP地址中的網絡號和子網號,用0來代替主機號。將子網掩碼與數據報的目的IP地址相與,便可以得出目的IP所在的子網號。 如下圖的網絡地址的計算
在這裏插入圖片描述
不管網絡有沒有劃分子網,只要把子網掩碼與IP地址相與,就可以立即得出網絡地址,這樣在路由器處理分組的時候就可以採取同樣的算法。即使網絡沒有劃分子網,使用子網掩碼也可以方便的查找出路由表,一般這種網絡使用默認的子網掩碼。子網掩碼是犧牲主機號來擴展網絡號的,也就是說,劃分子網雖然增加了靈活性,但是減少了能在網絡上連接的主機數
子網內的分組轉發中,路由表相比之前的二級地址的路由表多了一項子網掩碼,下圖就是一個示例:

在這裏插入圖片描述

  1. 從數據報首部提出目的主機的IP地址D。
  2. 對路由器直接相連的網絡,用子網掩碼與目的網絡地址D相與,得出網絡地址,再看是否存在相應的網絡地址,存在則直接交付,否則間接交付
  3. 如果路由表中有到目的地址爲D的特定主機路由,則將數據交付給該條目的下一跳地址。否則轉4
  4. 對路由表中的每一個子網掩碼,都與D相與,如果得出的網絡號N與該行的目的地址網絡相同,則將數據交付給下一跳路由。否則轉5.
  5. 如果路由表中有設置默認路由,那麼將數據交付給指明的默認路由器地址。否則轉6
  6. 分組轉發出錯。

實際上,對子網的分組轉發,就是在之前IP的分組互轉發的基礎上,多了跟子網掩碼計算的步驟。

CIDR構成超網

爲了使得32位的網絡地址能物盡其用,IEFT提出了無分類編址的方式。它消除了傳統的分類IP地址跟劃分子網的概念,改用網絡前綴來標識網絡號。並且把網絡前綴都相同的IP地址,組成一個CIDR地址塊。CIDR在IP地址後面加上斜槓,表示網絡前綴所佔的位數。這樣三級分類地址又回到了二級分類:
在這裏插入圖片描述
將主機號全部置0或者置1,可以得出該地址塊的地址範圍:
在這裏插入圖片描述
同樣的,CIDR也可以使用主機號來構成子網,且其掩碼的規則跟之前的一樣。一個CIDR中有很多地址塊,所以路由表中可以用地址塊來查找目的網絡,這樣的地址稱爲路由聚合。通常我們在網絡前綴後面加一個星號用來表示CIDR的地址:
在這裏插入圖片描述
當網絡前綴不是8的倍數的時候,就需要將數值轉換成二進制數,來找到對應的網路前綴。將劃分的子網的網絡前綴以二進制數寫出表示,可以很清楚的看出路由聚合的概念:
在這裏插入圖片描述
一系到四系的路由可以聚合成ISP的路由,而一系的所有主機可以聚合成206.0.68.0/23這個路由。

ICMP協議(網際控制報文協議)

爲了有效轉發IP數據報和提高交付成功的機會,在網絡層使用ICMP協議。該協議允許主機或者路由器報告差錯情況以及提供異常情況的報告。ICMP報文主要分爲差錯報告,詢問報文
ICMP差錯報告報文共有4種:

  • 終點不可達,當主機或者路由器不能交付數據的時候,發送此報文。
  • 時間超過,當路由器收到TTL = 0的報文時。報此錯誤
  • 參數問題,略
  • 路由重定向,略

常用的ICMP詢問報文爲:

  • 回送請求回答
  • 時間戳請求和回答

應用:ping命令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章