TCP/IP協議詳解筆記——IP協議

簡介

TCP/IP協議族中最核心的協議,提供不可靠、無鏈接的數據報傳輸服務。安全

  • 不可靠:不能保證IP數據報能成功送達。
  • 無鏈接:並不維護後續數據報的狀態信息,每一個數據報的處理都是相互獨立。數據報可能不會按照發送順序接收。同一站點向另外一站點發送的多個數據報可能通過不一樣的路由到達。

幀格式

IP數據報格式以下。網絡

 IP幀格式

  • 版本:IP協議版本號,目前爲4。故稱爲IPv4.
  • 首部長度:以4字節爲單位。最小值爲5,不包含可選字段的IP首部大小爲20字節。最大值爲15IP首部最大長度爲60字節
  • 服務類型(TOS)3bit優先權(已被忽略)4bitTOS字段,1bit未用(0)4bitTOS分別爲最小時延、最大吞吐量、最高可靠性、最小費用。4bit中只能置其中一個爲1。全零時表示通常服務。如今大多數TCP/IP實現都不支持TOS特性,可是無線中QoS有用到該字段
  • 總長度:整個IP數據報的長度,字節爲單位。16bit,可知IP數據報最大長度爲65535字節。
  • 標識符:惟一標示一份IP數據報。一般值遞增。
  • 標誌位:
  • 片偏移:
  • TTLtime to live,生存時間。設置了數據報能夠通過的最多路由器數。由源主機設置,每通過一個路由器,該值減一,當值爲0時,被丟棄。併發送ICMP報文通知源主機。
  • 協議:標示基於IP的協議。ICMP1IGMP2TCP6UDP17
  • 首部校驗和:根據IP首部計算的校驗和,不對首部後面的數據進行計算。先置檢驗和爲0,按照16bit進行二進制反碼求和,結果存放於檢驗和字段中。
  • 源IP地址
  • 目的IP地址
  • 可選字段:

安全和處理限制(用於軍事領域,詳見RFC 1108併發

記錄路徑(讓每一個路由器都記下它的IP地址)spa

時間戳(讓每一個路由器都記下它的IP地址和時間)blog

寬鬆的源站選錄(爲數據報指定一系列必須通過的IP地址)接口

嚴格的源站選錄(只能通過指定的這些地址)內存

可選字段必須是32bit的整數倍,必要時須要插入0進行填充,由於IP首部始終是32bit的整數倍(這是首部長度字段要求的)路由

IP路由選擇

對於主機,若是目的主機和源主機直接相連,或者處於同一個網絡中,IP數據報就直接發送到目的主機。不然,主機將數據報發送給默認的路由器,由路由器來轉發包。it

IP層能夠配置成路由器的功能,也能夠配置成主機功能。區別是,主機不轉發數據報,而路由器須要轉發包。table

IP層在內存中都有一個路由表,當收到數據報進行發送時,都要搜索該表。

路由表每項包含的信息:

  • 目的IP地址。能夠是主機地址,也能夠是網絡地址,由下述的標誌來標示。
  • 下一跳路由器的IP地址,或者是直接鏈接的接口。
  • 標誌。一個標誌標示目的IP是網路地址仍是主機地址,另外一個標誌指示下一站路由器是否爲真正的下一站路由器,仍是一個直連的接口。
  • 爲數據報的傳輸指定一個網絡接口。

IP路由選擇主要完成下面的功能:

1) 搜索路由表,尋找與目的IP徹底匹配的條目。若是找到,則把報文發給下一站路由或者直鏈接口(取決於標誌字段的值)

2) 搜索路由表,尋找與目的網絡號匹配的條目。找到的處理同上。這種搜索網絡的匹配方法必須考慮可能的子網掩碼。

3) 搜索路由表,尋找標爲「默認(default)」的條目。若是找到,處理同上。

若是上述都沒成功,則丟棄該包,並返回主機不可達或者網絡不可達的錯誤。

數據包在傳輸過程當中,通過不一樣的鏈路層或不一樣的網絡會構造不一樣的鏈路層首部,可是IP部分不會更改(忽略路由器的NAT功能)。鏈路層的目的地址(若是有的話),始終是下一站的鏈路層地址。

子網尋址

最先:IP地址 網絡號 主機號

子網編址:IP地址 網絡號 子網號 主機號

子網對於子網之外的路由器都是透明的,對於子網內部的路由器不透明。

RFC 1009容許含有子網的一個網絡使用多個子網掩碼。

IP地址編址方案:將IP地址劃分爲ABCDE五類,其中ABC爲基本類,DE類做爲多播和保留使用。

網絡類別

最大網絡數

IP地址範圍

最大主機數

私有IP地址範圍

A

1262^7-2)

1.0.0.0--126.255.255.255

16777214

10.0.0.0--10.255.255.255

B

16384(2^14)

128.0.0.0--191.255.255.255

65534

172.16.0.0--172.31.255.255

C

2097152(2^21)

192.0.0.0--223.255.255.255

254

192.168.0.0--192.168.255.255

 

內部私有地址:

A類 10.0.0.0--10.255.255.255

B類 172.16.0.0--172.31.255.255

C類 192.168.0.0--192.168.255.255

特殊的IP地址:

0表示全部的比特爲0-1表示全部的比特位全爲1netidsubnetidhostid分別表示不爲全0或全1的對應字段。子網號欄爲空表示該地址沒有進行子網劃分。

特殊IP地址

相關文章
相關標籤/搜索