IP協(xié)議頭部格式


4位版本號: 指定IP協(xié)議的版本,對于IPV4來說,就是4(通常是4,ipv4和ipv6不兼容)
4位首部長度: 表示IP協(xié)議的頭部長度是多少個32bit(4字節(jié)),4位能表示的最大數(shù)為15,即首部長度最大為60字節(jié)(和TCP類似)
8位服務(wù)類型: 前面三個比特位表示優(yōu)先權(quán),已經(jīng)棄用了。后面4位TOS字段, 和1位保留字段(必須置為0).

4位TOS分別表示: 最小延時, 最大吞吐量, 最高可靠性, 最小成本. 這四者相互沖突, 只能選擇一個為側(cè)重點. 對于ssh/telnet這樣的應(yīng)用程序, 最小延時比較重要; 對于ftp這樣的程序, 最大吞吐量比較重要.
8位協(xié)議: 標(biāo)識傳輸層使用什么協(xié)議,在數(shù)據(jù)分用的時候,通過該字段決定將有效載荷交給誰(將數(shù)據(jù)交給響應(yīng)的協(xié)議)
16位總長度: 標(biāo)識IP數(shù)據(jù)包的整體長度。
將首部長度讀上來,總長度 - 首部長度就是有效載荷長度(分離報頭與有效載荷)
16位標(biāo)識: 表示當(dāng)前UDP數(shù)據(jù)包分片是屬于哪一個完整的UDP報文,同一個UDP數(shù)據(jù)包當(dāng)中的所有分片具有相同的標(biāo)識

3位標(biāo)志:由3比特構(gòu)成,表示包被分片的相關(guān)信息。每一位的具體含義請參考下表。

13位片偏移: 用來標(biāo)識分片在原來數(shù)據(jù)之中的位置,用于接收方進(jìn)行組裝
由13比特構(gòu)成,用來標(biāo)識被分片的每一個分段相對于原始數(shù)據(jù)的位置。第一個分片對應(yīng)的值為0。由于FO域占13位,因此最多可以表示8192(=2 13 )個相對位置。單位為8字節(jié),因此最大可表示原始數(shù)據(jù)8×8192=65536字節(jié)的位置 ->UDP最大長度就是2^16字節(jié),因此可以表示UDP的每一個位置
8位生存時間(Time To Live TTL): 數(shù)據(jù)在傳輸過程中,允許經(jīng)過的路由器的個數(shù)(TTL也叫跳數(shù))
TCP只會存在于發(fā)送端和接收端,網(wǎng)絡(luò)之中只能看到IP報文。
每經(jīng)過一個路由器,TTL–; 硬件也有BUG,可能導(dǎo)致循環(huán)路由,這樣網(wǎng)絡(luò)中就會存在大量的廢棄的游離報文,TTL解決了這些游離報文問題(TTL為0,數(shù)據(jù)包被丟棄)
16位首部校驗和: 使用CRC進(jìn)行檢驗,來鑒別頭部是否損壞(數(shù)據(jù)的可靠性是由TCP保證的,所以IP只進(jìn)行頭部的鑒定,不會對數(shù)據(jù)進(jìn)行鑒定)
32位源/目的IP地址: 表示發(fā)送端和接收端,一般在網(wǎng)絡(luò)之中是不會改變的
路由查找的基本過程,是先找到目標(biāo)網(wǎng)絡(luò),然后進(jìn)行報文轉(zhuǎn)發(fā),再找到目標(biāo)主機(jī),應(yīng)該根據(jù)目的IP進(jìn)行路由(比如去故宮玩,首先先去北京)
IP66在線查IP地址位置:https://www.ip66.net/?utm-source=LJ&utm-keyword=?1146
