TCP IP協議族的網路層基礎(4) IP路由

2021-08-19 17:35:19 字數 2367 閱讀 3468

ip資料報的傳輸過程(路由)

ip協議的乙個核心任務就是資料報的路由,即決定傳送資料報到目標機器的路徑。當乙個ip資料報從資料鏈路層傳輸到ip模組的時候,ip模組的工作流程如下:

如何判斷這個資料報該發往**?

依靠每個節點內部維護乙個路由表(注意是節點,包括主機和路由器)

字段

含義

destination

目標網路或主機

gateway

閘道器位址,*表示目標位址和本機在同乙個網路,不需要路由

genmask

子網掩碼

flags

u:該路由項是有效的

h:該路由項的目標是一台主機

d:該路由項是由重定向生成的

m:該路由項被重定向修改過

metric

路由舉例,即到達指定網路所需的中轉數

ref

路由項被引用的次數(linux中未使用)

use

該路由項被使用的次數

iface

該路由項對於的輸出網絡卡介面

ip路由機制的過程分為下面三個步驟(按照ip位址分類)

因此,對於我的機器而言,所有傳送到ip位址為192.168.224.*的機器的ip資料報都可以直接傳送到目標機器而不需要經過路由(傳送到本機的資料報根本不會進入都計算下一跳位址這一步,在處理ip頭部資訊的時候如果匹配了ip就直接交給上層協議了),而所有其他訪問請求都將通過預設路由項來**。

如果要傳送的資料報位址是192.168.224.3

如果要傳送的資料報位址是200.10.1.2

路由表更新

路由表必須能夠更新,以反映網路連線的變化,這樣ip模組才能準確、高效地**資料報。

route命令可以修改路由表,這是屬於靜態的路由更新方式。對於大型的路由器,常常通過bgp(border gateway protocol,邊際閘道器協議)和rip(routing information protocol,路由資訊協議)、ospf等協議來發現路徑,並更新自己的路由表,這種更新方式是動態的、自動的。

sudo route add -host 192.168.224.138 dev ens33

上面的命令表示新增主機192.168.224.138對應的路由項,設定以後會有h標誌

可以在通過下面的命令來刪除剛新增進去的路由項

sudo route del  192.168.224.138

ip**

​不是本機的ip資料報都交給資料報**子模組來處理。路由器都能執行**操作,而主機一般只傳送和接收資料報,不支援**。這意味著,如果ip資料報傳送到主機,而主機不允許**,那麼主機就將丟棄該資料報。我們可以通過修改下面檔案的內容來讓主機支援**。

這個檔案中的值是0,改為1表示支援**。

對於允許**的節點(主機或路由器),資料報**子模組將對資料報執行下面的操作

TCP IP協議族基礎

tcp ip是個協議組,可分為三個層次 網路層 傳輸層和應用層。在網路層有ip協議 icmp協議 arp協議 rarp協議和bootp協議。在傳輸層中有tcp協議與udp協議。在應用層有ftp http telnet smtp dns等協議。因此,http本身就是乙個協議,是從web伺服器傳輸超文字...

網路基礎篇 一 TCP IP協議族

tcp ip協議族是乙個分層,多協議通訊體系.1 tcp ip協議族體系結構 tcp ip協議族自底而上分為四層 資料鏈路層,網路層,傳輸層和應用層.1.1 資料鏈路層 實現網絡卡介面的網路驅動程式,以處理資料在物理媒介 如,乙太網,令牌環 上的傳輸.經常使用協議 arp協議和rarp協議 1.2 ...

TCP IP協議族四層模型

tcp ip協議族四層模型分為 應用層 傳輸層 網路層 鏈路層資料鏈路層 1.1 作用 1 實現網絡卡介面的網路驅動,以處理資料在乙太網線等物理媒介上的傳輸 2 網路驅動程式隱藏了不同物理網路的不同電氣特性,為上層協議提供乙個統一的介面 1.2 協議應用 arp和rarp reverse addre...