IP協議 Linux網路程式設計

2021-10-19 22:50:14 字數 1651 閱讀 1569

版本號:4位,ip協議的版本

首部長度:4位,4個位元位計算出來的值乘4等於首部的長度

復位型別:8位,前三個位元位表表示優先權,但是已經棄用了;後面的4個位元位分別表示:最小延遲+最大吞吐量+最高可用性+最小費用,這四個位元位是乙個互斥的關係,一般都是0,表示預設屬性;最後乙個位元位是保留位,必須置為0

總長度:16位,表示ip資料報中首部和資料的總和長度,總長度大小為65536,傳輸長度大於這個位元組就需要分片

標識:16位,維持乙個計數器,每產生乙個資料報,計數器就加1,當進行的分片傳輸時,就會將計數器的值複製到標識欄位中,接收端重組的時候相同標識的資料報分片就會被組合到一起

標誌:3位,第一位,保留位;第二位,表示不能進行分片操作,等於0時才可以分片;第三位,等於1表示後面還有若干個分片,等於0表示這是最後乙個分片

片偏移:13位,原來的資料報分片之後,該片在原分組中的相對位置

協議:8位,標識傳輸層是用什麼協議

檢驗和:16位,驗證ip頭部是否有損壞

網路號:標識乙個子網路,就是我們所說的網段

主機號:在子網當中唯一標識一台主機

a類:網路號佔1位元組,前面一位固定為0,第乙個位元組的取值範圍為0~127。0.0.0.0~127.255.255.255

b類:網路號佔2個位元組,前面兩位固定為10,第乙個位元組的取值範圍為128~191。128.0.0.0~191.255.255.255

c類:網路號佔3個位元組,前面三位固定110,第乙個位元組的取值範圍為192~223。192.0.0.0~233.255.255.255

為了把乙個大網路劃分成一些小網路,引入子網掩碼的概念。

子網掩碼就是區分ip位址中「網路位址」和「主機位址」。子網掩碼也是32位二進位制數,也採用「點分十進位制」,但子網掩碼通常是由連續的1和0組成。1用來標記網路位,0用來標記主機位。子網掩碼必須結合ip位址一起使用。

最大主機號等於子網掩碼取反網路號等於子網掩碼&ip位址a、b、c類中各保留了乙個區域作為私網位址。私網位址只能用在內部網路中,所有的路由器都不能解析目標位址為私網位址的資料報。

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

127.0.0.0——本地回環位址

0.0.0.0——用於在伺服器程式中,表示伺服器及其上所有網絡卡的ip位址

255.255.255.255——udp的廣播位址

使用route命令,可以檢視路由表

用目的ip位址和路由表當中的每乙個條目的組網掩碼,進行按位與操作,如果得到的結果不是該子網的網路號,表示這個資料不是子網當中的某乙個機器;如果得到的結果是該子網的網路號,則直接傳送給子網當中的機器;

如果除了預設閘道器之外的其他路由條目都沒有匹配上,則這條資料需要走預設閘道器,直接傳遞給上級路由器

如此往復,在每乙個路由裝置上進行對比進行傳輸,直到ttl耗盡被丟棄,或者抵達到目標主機

網路程式設計 IP協議介紹

在網路中,一幀乙太網資料報的格式如下所示,常用的udp以及tcp通訊都是基於ip協議基礎上的。1 版本佔4 位,指ip 協議的版本。通訊雙方使用的 ip協議版本必須一致。目前廣泛使用的 ip協議版本號為4 即 ipv4 關於 ipv6 目前還處於草案階段。2 首部長度佔4 位,可表示的最大十進位制數...

Linux 網路(網路層 IP協議)

ip協議頭格式 詳細介紹 mtu 最大傳輸單元,鏈路層限制的最大資料幀大小 不包含以太頭 乙太網預設1500 如果傳輸層資料小於64k 20,但大於mtu大小,則這個資料會在網路層進行資料分片,將這個資料分割成為多個小的資料分片,每個小分片封裝ip報頭進行傳輸 13位片偏移 表示當前分片在原始報文中...

網路協議 IP

資料鏈路層的主要作用是在互連同一種資料鏈路的節點之間程序包 幀 傳遞,一旦跨越多種資料鏈路,就需要借助網路層。網路層可以跨越不同的資料鏈路,即使是在不同的資料鏈路上也能實現兩端節點之間的資料報傳輸。如何抵達目的地,網路層的路由技術,主要實現路徑的選擇與優化 不可靠 丟了就丟了 無連線 不維護狀態,不...