計算機網路(十六) 無連線運輸UDP

2021-10-05 13:47:16 字數 1099 閱讀 2774

應用層資料占用udp報文段的資料字段。例如,對於dns應用,資料字段要麼包含乙個查詢報文,要麼包含乙個響應報文。對於流式音訊應用,音訊抽樣資料填充到資料字段udp首部只有乙個字段,每個欄位由兩個位元組組成。

通過埠號可以使目的主機將應用資料交給執行在目的端系統中的相應程序(即執行分解功能)。

長度字段指示了在udp報文段中的位元組數(首部加資料)。因為資料字段的長度在乙個udp段中不同於在另乙個段中,故需要乙個明確的長度。

接收方使用檢驗和來檢查在該報文段中是否出現了差錯。實際上,計算檢驗和時,除了udp報文段以外還包括了由首部的一些字段,但是我們忽略以便能從整體上看問題。

長度字段指明了包括首部在內的udp報文段長度。

udp 檢驗和提供了差錯檢測功能。檢驗和用於確定當udp報文段從源到達目的地移動時,其中的位元是否發生了改變。

傳送方的udp對報文段中的所有16 位元字的和進行反碼運算,求和時遇到的任何溢位都被回卷(即最高位的溢位加到最低位),得到的結果被放在 udp 報文段中的檢驗和字段。

由於0xffff+0xffff最大值也只能是0x1fffe,所以不會出現無限迴圈的情況。之所以使用反碼是為了解決不同作業系統大小端的計算情況,使用反碼即便位元組的順序調換,其結果也僅是位元組順序同步調換。

為什麼udp首先提供了檢驗和,就像許多鏈路層協議也提供了差錯檢測那樣,其原因是由於不能保證源和目的之間的所有鏈路都提供差錯檢測;這就是說,也許這些鏈路中的一條可能使用沒有差錯檢測的協議。

此外,即使提文段經鏈路正確地傳輸,當報文段儲存在某台路由器的記憶體巾時,也可能引入位元差錯。在既無法確保連鏈路的可靠性,又無法確保記憶體巾的差錯檢測的情況下,如果端到端資料傳輸服務要提供差錯檢測. udp就必須在端到端基礎上在運輸層提供差錯檢測。這是乙個在系統設計中的端到端原則的例子。該原則表述為因為某種功能(在此時為差錯檢測)必須基於端到端實現:「與在較高階別提供這些功能的代價相比,在較低級別上設定的功能可能是冗餘的或幾乎沒有價值的。」

雖然udp提供差錯檢測,但它無法恢復差錯。udp的某種實現只是丟棄受損的報文段;其他實現是將受損的報文段交給應用程式並給出警告。

計算機網路 運輸層

問題 一 運輸層為相互通訊的的應用程序提供邏輯通訊 問題二 埠和套接字的意義 問題三 理解udp和tcp協議 問題四 在不可靠的網路上實現可靠傳輸的工作原理 問題五 tcp的滑動視窗 流量控制 擁塞控制和連線管理 1 埠 應用層所有的應用程序都可以通過運輸層傳送到ip層,這就是復用 運輸層從ip層收...

計算機網路 運輸層

運輸層協議作用於端系統,為執行在不同主機上的程序提供了邏輯通訊,將主機間的交付擴充套件到程序間交付。該層的分組稱為segment 報文段 多路復用 主機把不同套接字 每生成乙個套接字同時分配乙個埠號 收集的資料封裝後生成報文段,傳送給網路層 多路分解 將運輸層報文段的不同資料 通過套接字的埠號 交付...

計算機網路 運輸層

運輸層協議為執行在不同主機上的應用程序之間提供了邏輯通訊 logic communication 功能。運輸層協議是在端系統中而不是在路由器中實現的 在傳送端,運輸層將從傳送應用程式程序接收到的報文轉換成運輸層分組 運輸層報文段,segment 實現的方法 可能 是將應用報文劃分為較小的塊,並為每塊...