IP協議學習筆記

2021-07-30 00:21:01 字數 2898 閱讀 9373

@(學習筆記)[網路程式設計, 網路協議]

子網定址

子網掩碼

ip協議是用於將多個包交換網路連線起來的,它在源位址和目的位址之間傳送一種稱之為資料報的東西,它還提供對資料大小的重新組裝功能,以適應不同網路對包大小的要求。ip的責任就是把資料從源傳送到目的地。它不負責保證傳送可靠性,流控制,包順序和其它對於主機到主機協議來說很普通的服務。這個協議由主機到主機協議呼叫,而此協議負責呼叫本地網路協議將資料報傳送以下乙個閘道器或目的主機。例如tcp可以呼叫ip協議,在呼叫時傳送目的位址和源位址作為引數,ip形成資料報並呼叫本地網路(協議)介面傳送資料報。

ip實現兩個基本功能:定址和分段。ip可以根據資料報包頭中包括的目的位址將資料報傳送到目的位址,在此過程中ip負責選擇傳送的道路,這種選擇道路稱為路由功能。如果有些網路內只能傳送小資料報,ip可以將資料報重新組裝並在報頭域內註明。ip模組中包括這些基本功能,這些模組存在於網路中的每台主機和閘道器上,而且這些模組(特別在閘道器上)有路由選擇和其它服務功能。對ip來說,資料報之間沒有什麼聯絡。

佔4位,指ip協議的版本。通訊雙方使用的ip協議版本必須一致。目前廣泛使用的ip協議版本號為4(即ipv4)。關於ipv6,目前還處於草案階段。

佔4位,可表示的最大十進位制數值是15。請注意,這個欄位所表示數的單位是32位字長(1個32位字長是4位元組),因此,當ip的首部長度為1111時(即十進位制的15),首部長度就達到60位元組。當ip分組的首部長度不是4位元組的整數倍時,必須利用最後的填充字段加以填充。因此資料部分永遠在4位元組的整數倍開始,這樣在實現ip協議時較為方便。首部長度限制為60位元組的缺點是有時可能不夠用。但這樣做是希望使用者儘量減少開銷。最常用的首部長度就是20位元組(即首部長度為0101),這時不使用任何選項。

佔8位,用來獲得更好的服務。這個欄位在舊標準中叫做服務型別,但實際上一直沒有被使用過。2023年ietf把這個字段改名為區分服務ds(differentiated services)。只有在使用區分服務時,這個欄位才起作用。

總長度指首部和資料之和的長度,單位為位元組。總長度欄位為16位,因此資料報的最大長度為216

-1=65535位元組。 在ip層下面的每一種資料鏈路層都有自己的幀格式,其中包括幀格式中的資料字段的最大長度,這稱為最大傳送單元mtu(maximum transfer unit)。當乙個資料報封裝成鏈路層的幀時,此資料報的總長度(即首部加上資料部分)一定不能超過下面的資料鏈路層的mtu值。

佔16位。ip軟體在儲存器中維持乙個計數器,每產生乙個資料報,計數器就加1,並將此值賦給標識字段。但這個「標識」並不是序號,因為ip是無連線服務,資料報不存在按序接收的問題。當資料報由於長度超過網路的mtu而必須分片時,這個標識欄位的值就被複製到所有的資料報的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確地重灌成為原來的資料報。

佔3位,但目前只有2位有意義。

● 標誌欄位中的最低位記為mf(more fragment)。mf=1即表示後面「還有分片」的資料報。mf=0表示這已是若干資料報片中的最後乙個

● 標誌字段中間的一位記為df(don』t fragment),意思是「不能分片」。只有當df=0時才允許分片。

佔13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對使用者資料字段的起點,該片從何處開始。片偏移以8個位元組為偏移單位。這就是說,每個分片的長度一定是8位元組(64位)的整數倍。

佔8位,生存時間字段常用的的英文縮寫是ttl(time to live),表明是資料報在網路中的壽命。由發出資料報的源點設定這個字段。其目的是防止無法交付的資料報無限制地在網際網路中兜圈子,因而白白消耗網路資源。最初的設計是以秒作為ttl的單位。每經過乙個路由器時,就把ttl減去資料報在路由器消耗掉的一段時間。若資料報在路由器消耗的時間小於1秒,就把ttl值減1。當ttl值為0時,就丟棄這個資料報。

佔8位,協議字段指出此資料報攜帶的資料是使用何種協議,以便使目的主機的ip層知道應將資料部分上交給哪個處理過程。

佔16位。這個欄位只檢驗資料報的首部,但不包括資料部分。這是因為資料報每經過乙個路由器,路由器都要重新計算一下首部檢驗和(一些字段,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗資料部分可減少計算的工作量。

將首部分成10份 16bit(2位元組)的部分,將每個部分轉換成2進製並求和,求的的結果作為首部檢驗和。

佔32位。

佔32位。

現在所有的主機都要求支援子網定址(rfc 950 [mogul and postel 1985])。不是把ip位址看成由單純的乙個網路號和乙個主機號組成,而是把主機號再分成乙個子網號和乙個主機號。

這樣做的原因是a類和b類位址為主機號分配了太多的空間,可分別容納主機數224-2和216-2。事實上,在乙個網路中人們並不安排這麼多的主機。由於全0或全1的主機號都是無效的,因此我們把總數減去2。

在internic獲得某類ip網路號後,就由當地的系統管理員來進行分配,由他(或她)來決定是否建立子網,以及分配多少位元給子網號和主機號。例如,這裡有乙個b類網路位址(140 .252),在剩下的16 bit中,8 bit用於子網號,8 bit用於主機號,格式如圖3.5所示。這樣就允許有254個子網,每個子網可以有254臺主機。

子網掩碼(subnet mask)又叫網路掩碼、位址掩碼、子網路遮罩,它是一種用來指明乙個ip位址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。

子網掩碼是乙個32位位址,用於遮蔽ip位址的一部分以區別網路標識和主機標識,並說明該ip位址是在區域網上,還是在遠端網上。

除了ip位址外,主機還需要知道有多少位元用於子網號以及多少位元用於主機號,這是在引導過程中通過主機子網掩碼來確定的,子網掩碼是乙個32 bit的值,其中值為1的位元留給網路號和子網號,值為0的位元留給主機號。

例如,前11位為子網號和子網號,後5位為主機號

則子網掩碼為: ff.ff.e0.00(16進製制) 255.255.224.0(十進位制)

tcp ip學習筆記 關於IP協議層 IP位址

ip協議是一種無連線不可靠的資料報傳輸協議,因為ip協議不能保證資料報能正確的傳輸到目標主機,他只負責在網路層傳輸,但是回盡最大努力傳輸。而且每次傳輸所走的路線都不一樣。現在ipv4網路位址是一組32位的二進位制數。因為上面的位址前面網路號佔8位,所以在網際網路中只能定義256個網路,那是相當不夠用...

tcp ip學習筆記 ip網際協議

第一節 引言ip 是tcp ip 協議中最為核心的協議,所有的 tcp,udp icmp 及igmp 資料都以 ip資料報格式傳輸 不可靠的意思是它不可能保證 ip資料報能成功到達目的地 無連線意思是 ip並不維護任何關於後續資料報的狀態資訊。第二節ip首部 服務型別 tos欄位包括乙個 3bit ...

LWIP學習筆記3 IP協議

ip 協議是一種無連線的不可靠資料報交付協議,協議本身不提供任何的錯誤檢查與恢復機制。它是整個tcp ip 協議棧的核心協議,上層協議都要依賴 ip 協議提供的服務,ip 協議負責將資料報從源主機傳送到目標主機,通過 ip 位址作為唯一識別碼。127 網段的所有位址都稱為環迴位址,主要用來測試網路協...