計算機網路第五章
運輸層的兩個主要協議:
- 使用者資料報協議UDP
- 傳輸控制協議TCP
運輸層的埠分為兩大類:
伺服器端使用的埠號:
(1) 系統埠號–0~1023
(2) 登記埠號–1024~49151客戶端使用的埠號–49152~65535
使用者資料報協議UDP
- UDP是無連線的
- UDP是盡最大努力交付的
- UDP是面向報文的
- UDP是沒有擁塞控制的
- UDP是支援一對一、一對多、多對一、多對多的互動通訊
- UDP的首部開銷小
UDP的首部格式:
傳輸控制協議TCP概述:
TCP最主要的特點
- TCP是面向連線的運輸層協議
- TCP只能是點對點的連線套接字或埠
- TCP提供可靠交付的服務
- TCP提供全雙工通訊
- 面向位元組流
停止等待協議:
1.如果傳送過程中出現差錯
則要注意三點:
- A在傳送完一個分組後,必須暫時保留已傳送的分組的副本(在超時的情況下使用)
- 分組和確認分組都必須進行編號
- 超時計時器設定的重傳時間應當比資料在分組傳輸的平均往返時間更長一些
通道利用率的計算:
TCP報文段的首部格式
若確認號=N,則表明:到序號N-1為止的所有資料都已正確收到
緊急URG:當URG=1時,應儘快傳送
確認ACK: 當ACK=1時,確認號欄位才有效
推送PSH: 當PSH=1時,請求實時通訊
復位RST: 當RST=1時,需要重新連線
同步SYN: 當SYN=1,ACK=0時,表明是一個連線請求報文段。若對方同意,則建立連線,響應的報文段中使SYN=1,ACK=1
終止FIN: 當DIN=1時,表明報文段的傳送方的資料傳送完畢,並要求釋放運輸連線。
視窗欄位明確指出了現在允許對方傳送的資料量。視窗值經常在動態變化著。
TCP可靠傳輸實現
TCP的流量控制
–讓傳送方的傳送速率不要太快,要讓接收方來得及接收
TCP的擁塞控制方法
- 慢開始
- 擁塞避免
- 快重傳
- 快恢復
TCP的運輸連線管理
運輸連線有三個階段:連線建立、資料傳送、連線釋放
試說明運輸層在協議棧中的地位和作用,運輸層的通訊和網路層的通訊有什麼重要區別?為什麼運輸層是必不可少的?
答:運輸層處於面向通訊部分的最高層,同時也是使用者功能中的最低層,向它上面的應用層提供服務。
運輸層為應用程序之間提供端到端的邏輯通訊,但網路層是為主機之間提供邏輯通訊(面向主機,承擔路由功能,即主機定址及有效的分組交換)。
各種應用程序之間通訊需要“可靠或盡力而為”的兩類服務質量,必須由運輸層以復 用和分用的形式載入到網路層。
試說明運輸層中偽首部的作用。
答:用於計算運輸層資料報校驗和。
某個應用程序使用運輸層的使用者資料報UDP,然而繼續向下交給IP層後,又封裝成IP資料報。既然都是資料報,可否跳過UDP而直接交給IP層?哪些功能UDP提供了但IP沒提提供?
答:不可跳過UDP而直接交給IP層IP資料報IP報承擔主機定址,提供報頭檢錯;只能找到目的主機而無法找到目的程序。UDP提供對應用程序的複用和分用功能,以及提供對資料差分的差錯檢驗。
為什麼在TCP首部中要把TCP埠號放入最開始的4 個位元組?
答:在ICMP的差錯報文中要包含IP首部後面的8個位元組的內容,而這裡面有TCP首部中的源埠和目的埠。當TCP收到ICMP差錯報文時需要用這兩個埠來確定是哪條連接出了差錯。
解釋為什麼突然釋放運輸連線就可能會丟失使用者資料,而使用TCP的連線釋放方法就可保證不丟失資料。
答:當主機1和主機2之間連線建立後,主機1傳送了一個TCP資料段並正確抵達主機2,接著 主機1傳送另一個TCP資料段,這次很不幸,主機2在收到第二個TCP資料段之前發出了釋放連線請求,如果就這樣突然釋放連線,顯然主機1傳送的第二個TCP報文段會丟失。而使用TCP的連線釋放方法,主機2發出了釋放連線的請求,那麼即使收到主機1的確認後,只會釋放主機2到主機1方向的連線,即主機2不再向主機1傳送數 據,而仍然可接受主機1發來的資料,所以可保證不丟失資料。