Linux 網路(網路層 IP協議)

2021-10-20 12:14:06 字數 1655 閱讀 6675

ip協議頭格式

詳細介紹:

mtu:最大傳輸單元,鏈路層限制的最大資料幀大小(不包含以太頭)——乙太網預設1500

如果傳輸層資料小於64k-20,但大於mtu大小,則這個資料會在網路層進行資料分片,將這個資料分割成為多個小的資料分片,每個小分片封裝ip報頭進行傳輸

13位片偏移:表示當前分片在原始報文中的位置(相對於起始位置的偏移量)13位能夠表示的最大數字8191(無法表示所有的偏移量)

8位協議:描述傳輸層使用的協議,用於接收端進行解析時,報文資料對於上層解析協議的選擇

16位首部校驗和:校驗資料一致性(每一層都有自己的資料校驗,因為不是每個資料都會到達最上層)

資料:傳輸層交付下來的資料

ipv4中是無符號4位元組整數(不到43億),在網路中唯一標識一台主機,ip位址雖然多,但是不夠用

dhcp,nat

dhcp基本介紹:

nat基本介紹:

每個網路負責指定一批ip位址的分配,每個網路指定的不同則分配就不會衝突了

路由器會對網路中的資料進行路徑選擇,必須能知道摸個位址屬於哪個網路

網路號+主機號

主機號:乙個ip在所屬網路中的標識

取出當前網路的網路號加上還沒有被分配的主機號

乙個網路中,只要主機號分配不重複,則網路中的ip就不會衝突,只要所有網路的網路號不同,則整個網路的ip位址不會衝突

路由器**資料時就能夠根據對端ip位址這道這個ip屬於哪個網路,然後進行**

子網掩碼也是乙個uint32_t型別的資料,但這個整數必須有連續的二進位制1組成

子網掩碼決定了乙個網路中可以有多少個主機號:子網掩碼取反可以得到網路中的最大主機號,0~最大主機號就是主機號範圍

子網掩碼與ip位址相與可以得到網路號

乙個網路中能夠連線的主機數是主機號-2

私網組建:ip位址不夠用,因此劃分私網(內網)和公網(外網),私網內的所有主機使用同乙個公網位址進行上網,因為對外位址不同,因此不同的私網內部的私網位址可以重複

私網的ip位址對公網不可見(在rfc1918文件中規定,用於組建私網的網路有:10.*.*.*,172.16.*.* ~ 172.31.*.*,192.168.*.*)

私網中的主機向外傳送資料,都會先傳送給自己的閘道器路由器,由閘道器路由器轉換源端位址為對外位址進行通訊(源端位址--->網關公網位址)

私網之間只要不相連,私網位址就可以重複,就可以使用相同的網路號,但是相連的私網不能使用相同的網路號

為流經閘道器裝置的資料進行路徑選擇——依託於網路位址管理方式以及每個路由器上的路由表

路由器中都會有一張路由表,記錄與自己裝置相連的網路的網路資訊(網路號、子網掩碼、閘道器位址、自己連線這個網路的網絡卡)

每一條資料中都有目標主機ip位址,與路由表中的每一條網路資訊進行匹配檢視是否屬於這個網路,然後傳送到對應網路

網路層 IP協議

定址和路由 傳遞服務 資料報分段和重組 固定部分為20位元組 一行4位元組,5行 可變部分最大為40位元組 則首部最大60位元組。下圖為真實抓包所得結果 version對應版本 佔4bit,指ip協議的版本。如果為ipv6則版本號為6,即0110。header length對應首部長度 佔4bit,...

網路層(IP協議)

功能 ip功能 將資料從 a 主機經過路徑選擇送至 b 主機 tcp ip功能 將資料從 a 主機經過路徑選擇可靠的送至 b 主機 先到達b主機的區域網,找到目標網路 找到目標主機 協議頭格式 接下來我們討論幾個問題 1.ip 報文丟失 tcp 是怎麼知道的?答 ip 報文中封裝的是 tcp 的內容...

網路層IP協議

節點 主機和路由器的統稱 底層mac楨層的mtu規定的mtu 1500。ip層分片,組裝。接收方 是否分片 三位標誌的第三位,片偏移是否為0 第乙個片偏移是0,長度是100,第二個片偏移就是100。分片會導致丟包率高。盡量保證不分片。ip層給的資料不能太大1480 ip 20 報頭,其實是tcp決定...