IP協議詳解

2021-08-20 16:10:49 字數 1465 閱讀 1713

從兩個方面討論ip協議:

1.ip頭部資訊。用於指定ip通訊的源端ip位址,目的端ip位址,指導ip分片和重組以及指定部分通訊行為。

2.ip資料報的路由和**。

ipv4頭部結構

ip路由

當ip模組接收到來自資料鏈路層的ip資料報時,首先對該資料報的頭部做crc校驗,確認無誤之後就分析其頭部的具體資訊。若該ip資料報的頭部設定了源站選路選項,則ip模組呼叫資料報**子模組來處理。若目標ip位址是本機,即該資料報是傳送給本機的。若ip模組發現這個資料報不是本機的,則呼叫資料報**子模組來處理該資料報。

資料報**子模組檢測系統是否允許**,若不允許,ip模組就將該資料報丟棄;若允許,資料報**子模組將對該資料報執行一些操作,然後交給ip資料報輸出子模組。

路由機制

使用route命令檢視路由表

ip的路由機制:

1.查詢路由表中和目標ip位址完全匹配的主機ip位址。若找到,就使用該路由項。沒找到則轉步驟2.

2.查詢路由表中和資料報的目標ip位址具有相同網路id的網路ip位址(即閘道器:表示處於同乙個網路)。若找到,就使用該路由項。沒找到則轉步驟3.

3.選擇預設路由項,這通常意味著資料報的下一跳路由是閘道器。

ip**

路由器都能執行資料報的**操作,而主機一般只傳送和接受資料報,這是因為主機上 /proc/sys/net/ipv4/ip_forward 核心引數預設被設定為0。通過修改它使能主機的資料報**功能(修改為1).

對於允許ip資料報**的系統(主機或路由器),資料報**子模組將對期望**的資料報執行如下操作:

1.檢查資料報頭部的ttl值。如果ttl值已經是0,則丟棄該資料報。

2.檢視資料報頭部的嚴格源路由選擇選項。如果該選項被設定,則檢測資料報的目標ip位址是否是本機的某個ip位址。若不是,則傳送乙個icmp源站選路失敗報文給傳送端。

3.如果有比要,則給源端傳送乙個icmp重定向報文,告訴它乙個更合理的下一跳路由器。

4.將ttl值減1。

5.處理ip頭部選項。

6.如果有必要,執行ip分片操作。

ipv6固定頭部結構

ipv6擴充套件頭部

可變長的擴充套件頭部使得ipv6能支援更多的選項,並且很便於將來的擴充套件需要。

IP協議詳解

ip協議是tcp ip協議族的核心協議,也是socket網路程式設計的基礎之一。我們將從以下兩個方面較為深入的了解ip協議 ip資料報的路由和 ip資料報的路由和 發生在除目標機器之外的所有主機和路由器上。它們決定資料報是否應該 以及如何 ip協議是tcp ip協議族的動力,它為上層提供無狀態,無連...

IP協議詳解

協議森林 我盡力 ip協議詳解 在粗略了解了ip接力和ip位址後,我們再反過來,看一看ip協議的具體細節和設計哲學。ipv4與ipv6頭部的對比 我們已經在ip接力中介紹過,乙個ip包分為頭部 header 和資料 payload data 兩部分。頭部是為了實現ip通訊必須的附加資訊,資料是ip通...

IP協議詳解

ip位址提供了一種將資料跨網路從a主機到b主機的能力,ip位址被分成兩個部分,前半部分叫做網路號,後半部分叫做主機號。ip位址分為兩個部分,網路號和主機號 不同的子網其實就是把網路號相同的主機放到一起,如果在子網中新增一台主機,則這台主機的網路號和這個子網的網路號一致,但是主機號必須不能和子網中的其...