網絡層(二)

IP數據報格式
經常爲32位,4字節爲單位來描述。由首部和數據兩部分組成。首部的前一部分是固定長度,共20字節,是全部IP數據報必須有的,在首部的固定部分後面是一些可選字段,長度是可變的。

IP數據報首部的固定部分:

1,版本,4位,IP協議版本,通訊雙方IP協議版本必須一致。IPv4,IPv6。
2,首部長度,4位,可表示最大十進制數值15。可這字段表示的單位是32位字(4字節),當IP首部長度是1111時,首部長度就是4*15=60字節。當IP分組首部長度不是4字節整數倍,必須用後的填充字段填充。最經常使用的首部長度是20字節,即0101,這時不適用任何選項。

3,區分服務,8位,只有在區分服務時才使用。

4,總長度 ,16位,首部和數據之和的長度,數據報最長爲2^16-1=65535字節。IP層下面每一種數據鏈路層都有本身的幀格式,包括幀格式中的數據字段最大長度,MTU。IP數據報封裝成數據鏈路層數據報的總長度不能超過MTU。爲了高效傳輸,主機和路由器必須可以處理IP數據報長度不得小於576字節,這個也就是最小的數據報的總長度。若是超過MTU會被分片,分片後的每個分片首部長度與數據之和就是數據報中首部的總長度。

5,標識,16位,每產生一個數據報,計數器就+1,將值賦值給標識字段。相同標識字段的值使分片後的各個數據報片最後能正確地重裝爲原來的數據報。

6,標誌,3位,目前只有前兩位有意義。最低位MF=1,還有分片,MF=0最後一個。中間一位DF=0容許分片

7,片偏移,13位,分片後,某片在原分組中的相對位置,以8字節爲偏移單位,每一個分片的長度是8字節的整數倍。

8,生存時間,8位,TTL,數據報在網絡中的壽命,TTL是跳數,TTL的意義指數據報在因特網中至多能夠通過多少個路由器。最大爲255,TTL設置爲1,只能在局域網傳播。

9,協議,8位,數據報攜帶的數據使用何種協議。

10,首部校驗和,16位。只檢驗數據報的首部,但不包括數據部分。數據報每通過一個路由器,路由器都要從新計算一下首部校驗和。計算方法:把數據報首部劃分爲許多個16位字的序列,把校驗和字段設置爲0,用反碼算數運算把16位字相加後,寫入校驗和字段。接收方,收到後,將首部同樣的16位字相加一次。將獲得的和取反,若首部不發生變化,結果必爲0.因而保留數據,不然丟棄數據。算法


11,原地址,目的地址,32位

IP數據報首部可變部分:爲了增長IP數據報首部功能,1到40字節不等。

IP層轉發分組流程。

網絡


若是在路由器所在的網絡就直接交付,若是不在就轉發到下一跳。路由表中,對每一條路由的主要信息,(目的網絡地址,下一跳地址),

設置默認路由可以減小搜素路由表所用的時間。

在路由器接收到待轉發的數據報時,在經過路由表獲得下一跳的路由器IP地址後,不是把這個地址填入IP數據報,而是交給下層的網絡接口軟件,它負責把下一跳路由器的IP地址轉換成硬件地址,並把地址放在鏈路層的MAC幀首部,而後根據硬件地址找到下一跳路由器。


分組轉發算法:
1,從數據報首部提取IP地址D,得出網絡地址N
2,若N爲路由器直接相連網絡地址,直接交付(包括IP轉換硬件地址,封裝MAC幀,發送幀)。不然執行3
3,若路由表中有目的地址D的主機路由,發送給下一跳路由器。
4,若是路由表中有N的路由,轉發給下一跳路由器,不然5
5,若路由表有一個默認路由,把數據報發送給指明的默認路由,不然6
6,報告轉發分組出錯。


劃分子網,構造超網

IP地址設計不合理之處
1,IP地址空間利用率低
2,每個物理網絡分配一個網絡號會使路由表變得太大,於是網絡性能變壞。
3,兩級IP地址不夠靈活

劃分子網:
1,本單位外的網絡看不見子網內部,子網內部,對外仍然是一個網絡
2,劃分子網兩級IP變爲3級IP,借用主機IP位。
IP::={<網絡號>,<子網號>,<主機號>}
3,其餘網絡發送本單位主機的IP數據報,和原來同樣,由網絡號找到本單位網絡上的路由器。路由器收到後,再按照目的網絡和子網號找到子網,把IP數據報交給主機。


子網掩碼:
使用子網掩碼能使路由器經過2級地址轉換成3級地址,可以發送到子網。子網掩碼和IP地址進行AND運算,得出的就是子網的網絡地址。無論有沒有劃分子網,都進行AND運算。

默認子網掩碼

劃分子網增長了靈活性,但減小了可以鏈接在網絡上的主機總數。

一樣IP地址和不一樣的子網掩碼能夠得出相同的網絡地址,不一樣的掩碼效果不一樣

使用子網時分組轉發:
路由表包含:目的網絡地址,子網掩碼,下一跳地址。

算法:
1,提取數據報首部目的IP地址
2,判斷是否直接交付,無執行3
3,若是路由表有目的地址D,轉發下一跳路由,不然4
4,把路由表每一行和子網掩碼運算,結果與目的網絡地址匹配就傳送到下一跳路由器。不然5
5,如有默認路由,轉發到默認路由不然6
6,報告轉發出錯。

性能

相關文章
相關標籤/搜索