第十章 使用者資料報協議和IP分片

2022-03-08 19:06:44 字數 1209 閱讀 1930

udp是一種保留訊息邊界的簡單的面向資料報的傳輸層協議。它僅提供差錯檢測。只是檢測,而不是糾正,它只是把應用程式傳給ip層的資料傳送出去,但是並不會保證資料能夠完好無損的到達目的地。

下圖是udp資料報的封裝。

埠號就如同郵箱一樣,用來辨別傳送和接受程序。埠號長16位元。

udp頭部如圖所示:

ip層根據協議頭部可以將ip資料報分離到特定的傳輸協議。正因為如此,不同傳輸協議是獨立的,即可以使用相同的埠號而不會引起衝突。

校驗和字段是端到端的,是對包含了ip頭部中的源和目的ip位址欄位的udp偽頭部計算得到的,偽頭部的目的是用於校驗和的計算,他不會被傳送出去。

udp偽頭部和頭部的格式如圖:

偽頭部包含了ip頭部的源和目的位址,以及協議或下乙個頭部字段。目的是讓udp層驗證資料是不是到達真正的目的地,由於有了這樣的結構,當該資料報經過乙個nat時候,不僅僅ip層頭部的校驗和要被修改,並且udp偽頭部的校驗和也要被修改。

背景:有些應用程式可以容忍在傳送和接收的資料裡引入的比的差錯。

為了避免建議連線的開銷,或者為了使用廣播或組播位址,這類程式會選擇使用udp。而udp-lit提供了部分校驗和來解決這個問題。

其頭部如下表示:

校驗和覆蓋範圍字段表示被校驗和覆蓋的位元組數。值為0表示整個資料報都被覆蓋。由於整個頭部總是要被覆蓋的,所以值位1~7是無效的!

為了保持ip資料報抽象與鏈路層細節的一致和分離,ip引入了分片和重組。

重組只能發生在ip資料報到達最終目的地的時候。原因很顯然,不同分片可能會經過不同的路徑到達目的地,在路徑上的路由器只能看到分片的乙個子集,顯然無法重組。

分片由ipv4頭部中的標識,分片偏移,和更多分片字段控制。

偏移的具體內容如下圖所示:

第二個資料報偏移為185*8=1480=第乙個分片負載,即在第乙個分片零偏移的基礎上偏移了185個單位。

當tcp報文段的乙個分片丟失了,tcp會重傳整個報文段,而重傳乙個分片是不可能的,因為在路徑路由器可以分片資料報,源主機是不清楚資料報如何被分片的。

UDP使用者資料報協議和埠

udp的特點是無連線的,盡最大努力交付,面向報文 udp的首部格式分別是源埠,目的埠,長度,檢驗和,各佔2位元組,總共8位元組。埠的概念 埠是用來實現程序與程序之間通訊的。在網路層的ip協議中,我們似乎知道了要使兩台主機相互通訊只要知道對方的ip號就可以了,但實際上並不是這樣,真正進行通訊的是主機中...

使用者資料報協議 UDP

udp 簡述 udp只在ip 的資料報服務之上增加了很少一點的功能,即埠的功能和差錯檢測的功能。udp 的主要特點 udp是無連線的 即傳送資料之前不需要建立連線。udp使用盡最大努力交付 即不保證可靠交付,同時也不使用擁塞控制。udp沒有擁塞控制,很適合多 通訊的要求。udp是面向報文的 udp ...

使用者資料報協議UDP

udp概述 使用者資料報協議udp只在ip的資料報服務上增加了兩個兩個共能。分別是埠功能 有了埠,運輸層就能進行復用和分用 和差錯檢測功能。雖然udp使用者資料報只能提供不可靠的交付,但是在某些方面尤其特殊的優勢 1.udp是無連線的,即傳送資料之前不需要建立連線 當然傳送資料結束時也沒有連線可以釋...