天天看點

計算機網絡互連之子網劃分前言子網路遮罩子網号求法手算網絡号使用子網路遮罩的分組轉發過程

目錄

  • 前言
  • 子網路遮罩
  • 子網号求法
  • 手算網絡号
  • 使用子網路遮罩的分組轉發過程

前言

在上一篇的最後中我們說了ip位址的分類和轉發後,我們可以知道IP位址的設計确實不夠合理: 例如,某個機關申請到一個B類位址。但該機關隻有1萬台主機。于是,在一個B類位址中的其餘5萬5千多個主機号就白白地浪費了。

子網路遮罩

于是,将本機關所屬主機劃分為若幹個子網(subnet),用IP位址中的主機号字段中的前若幹個比特作為“

子網号字段

”,後面剩下的仍為主機号字段。這樣做就可在本機關的各子網之間用路由器來互連,從外部看,這個機關仍隻有一個網絡号。隻有當外面的分組進入到本機關範圍後,本機關的路由器再根據子網号進行選路,最後找到目的主機。

子網路遮罩(subnet mask): 32bit,

“1”對應于網絡号和子網号字段,而“0”對應于主機号字段。(左邊為1,右邊為0)

如圖:該IP位址的子網路遮罩: ff.ff.fc.00(即255.255.252.0)

計算機網絡互連之子網劃分前言子網路遮罩子網号求法手算網絡号使用子網路遮罩的分組轉發過程

分類

A類IP位址,其對應的子網路遮罩預設值為 255.0.0.0 (0xFF000000)

B類IP位址,其對應的子網路遮罩預設值為 255.255.0.0 (0xFFFF0000)

C類IP位址,其對應的子網路遮罩預設值為 255.255.255.0 (0xFFFFFF00)。

子網号求法

(1)例如,IP位址為140.252.20.68,子網路遮罩為255.255.255.224。

(2)子網路遮罩二進制為:11111111, 11111111,11111111,11100000。

(3)顯然,此IP位址是一個B類位址,是以網絡号net-id是140.252。

(4)子網号共有11位而主機号占5位。上面的IP位址的後兩個位元組(20.68)(即0x14.0x44)的二進制記法是: 00010100 01000100

     其中前11位(00010100 010)是子網号,後5位(00100)是主機号。
           

手算網絡号

劃分子網後,網絡号增加了,網絡号等于原有的網絡号+子網号,是以求法如下:其中2的5次方,代表有5個0,這是我的老師傳授的機智的求法

計算機網絡互連之子網劃分前言子網路遮罩子網号求法手算網絡号使用子網路遮罩的分組轉發過程
計算機網絡互連之子網劃分前言子網路遮罩子網号求法手算網絡号使用子網路遮罩的分組轉發過程

使用子網路遮罩的分組轉發過程

在劃分子網的情況下路由器轉發分組的算法:

	(1) 從收到的資料報的首部提取目的IP位址D。
	
	(2) 對路由器直接相連的網絡逐個進行檢查:用各網絡的子網路遮罩和D逐比特相“與”,看結果是否和相應的網絡位址比對。若比對,
	
	    則将分組進行直接傳遞,結束。否則執行(3)。
	
	(3) 若路由表中有目的位址為D的特定主機路由,則将資料報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
	
	(4) 掃描整個路由表:對路由表中的每一行(目的網絡位址,子網路遮罩,下一跳位址),将其中的子網路遮罩和D逐比特相“與”,其結果為
	
  	     N。若N與該行的目的網絡位址比對,則将資料報傳送給該行指明的下一跳路由器,結束;否則,執行(5)。
	
	(5) 若路由表中有一個預設路由,則将資料報傳送給路由表中所指明的預設路由器;否則,執行(6)。
	
	(6) 報告轉發分組出錯。

           

如圖:

計算機網絡互連之子網劃分前言子網路遮罩子網号求法手算網絡号使用子網路遮罩的分組轉發過程
計算機網絡互連之子網劃分前言子網路遮罩子網号求法手算網絡号使用子網路遮罩的分組轉發過程

繼續閱讀