計算機網絡自頂向下複習重點-第三章

1. 傳輸層的目的與提供的服務。

1.在運行不同主機上應用進程之間提供邏輯通信
2.運輸協議運行在端系統中
3. 應用程序可供使用的運輸協議不止一個

TCP(可靠的、按序的交付):擁塞控制 流量控制 連接建立;
UDP(不可靠、無序的交付): “盡力而爲”IP不提供不必要服務的擴展

TCP和UDP都不提供時延和帶寬的保證;

2. 多路複用與多路分解;端口號;標識 UDP 套接字的二元組、標識 TCP 套接字的四元組。

多路複用:
在源主機,傳輸層協議從不同的套接字收集應用進程發送的數 據塊,併爲每個數據塊封裝上首部信息(包括用於分解的信息)構成報文段,然後將報文段傳遞給網絡層。

多路分解:
在目的主機,傳輸層協議讀取報文段中的字段,標識出接收套接字,進而通過該套接字,將傳輸層的報文段中的數據交付給正確的套接字。

多路複用與多路分解(複用與分解/複用與分用):
支持衆多應用進程共用同 一個傳輸層協議,並能夠將接收到的數據準確交付給不同的應用進程

端口號是一個16比特的數

標識UDP套接字的二元組: 目的地IP地址, 目的地端口號

標識TCP套接字的四元組:源IP地址、源端口號、目的IP地址、目的端口號

3. TCP 和 UDP 的比較

1.TCP面向連接,即客戶端需要通過三次握手才能和服務端建立起連接,在這個連接的基礎上纔可以進行數據傳輸;而UDP是無連接的,發送數據之前不需要建立連接。因此,TCP需要在端系統中維護連接狀態,而UDP則不需要維護連接狀態

2.TCP提供可靠的服務,即通過TCP連接傳輸的數據能確保無差錯、不丟失、無重複且按序到達;UDP不提供可靠的傳輸服務,傳輸過程有可能出現丟包,同時也不保證數據報的到達順序

3.TCP面向字節流,實際上TCP把數據看作是一連串無結構的字節流;UDP則是面向報文傳輸

4.TCP有擁塞控制機制,當源主機和目的主機間的一條或者多條鏈路變得極度擁塞時來遏制運輸層TCP發送方,而UDP沒有擁塞控制機制,相比之下,在出現擁塞的情況下,UDP不會降低源主機發送數據的速率,更適合用於支撐部分實時應用如IP電話、實時視頻會議等

5.TCP連接是點對點的,而UDP支持一對一、一對多、多對一和多對多的交互通信

6.從報文段結構上考慮,每個TCP報文段都有20字節的首部開銷,而UDP僅有8字節的開銷

4. 不同信道特點下的可靠數據傳輸原理,各種可靠數據傳輸機制及作用;理解 rdt1.0、rdt2.0 有限狀態機,包括理解其各步驟的作用或含義;停等協議及效率;TCP 的可靠數據傳輸機制; GBN 的恢復重傳的特點。

Rdt1.0:經完全可靠信道的可靠數據傳輸(底層信號非常可靠,無比特差錯,無分組丟失)

Rdt2.0:經具有比特差錯信道的可靠數據傳輸(肯定確認、否定確認)
這種基於重傳機制的可靠數據傳輸協議被稱爲自動重傳請求(ARQ)協議
在ARQ協議中有三種協議功能來處理比特差錯的情況:
1.差錯檢測 2.接收方反饋 3.重傳
發送方將不會發送一塊新數據,除非發送方確信接收方已正確接收當前分組。因此Rdt2.0這樣的協議被稱爲停等協議。

Rdt2.1:如果ACK\NAK受損 可能導致冗餘 爲了處理冗餘發送方對每個分組增加序列號 如果ACK\NAK受損,發送方重傳當前分組,接收方丟棄冗餘分組。

Rdt2.2 無NAK協議,代替NAK,接收方對最後正確接收的分組發送ACK。

Rat3.0:具有比特差錯和丟包信道的可靠數據傳輸 爲解決丟包問題,發送方等待ACK一段合理的時間,需要倒數計時器來解決這個問題。

接收方同Rdt2.2相同。

流水線協議:發送方允許發送多個、“傳輸中的”、還沒有應答的報文段(序號範圍必須增加,發送方和接收方沒有緩衝)有兩種形式:回退N步GBN 選擇重傳SR

回退N步:對失序的分組丟棄,不緩存,沒有接收緩存區,;重新確認具有按序的分組

選擇重傳:通過讓發送方僅重傳那些他懷疑在接收方出錯的分組而避免了不必要的重傳。

其中窗口長度必須小於或者等於序號空間的一半。

利用率/效率:發送方實際忙於將發送比特送進通道的那部分時間與發送時間之比。

U = (L/R)/(RTT+L/R) RTT:往返時間可用流水線的方式提高效率。

TCP實現可靠數據傳輸服務的工作機制

1、應用層數據被分割成TCP認爲最適合發送的數據塊(最大報文段長度(Maximum Segment Size , MSS): 報文段中封裝的應用層數據的最大長度)

2、序號,發送方對發送的數據包進行編號,確保數據按序提交給接收方。(序號:一個字節佔用一個序號。序號字段指的就是一個報文段第一個字節的序號)

3、確認,接收方向發送方反饋接收狀態,確認是否正確接收數據。 TCP採取累計確認。

4、查錯檢測,利用差錯編碼實現數據包傳輸過程中的比特查錯檢測(甚至糾正)。

5、重傳,發送方重新發送接收方沒有正確接收的數據(快速重傳: TCP發送方接收到對相同序號的3次重複ACK,就說明被重複確認的報文段已丟失,這時候即便沒有超時,也會重發該報文段)

6、計時器,在發送方引入計時器,解決數據丟失問題(計時器超時時間設置:TimeoutInerval=EstimatedRTT+4×DevRTT; EstimatedRTT:抽樣RTT的加權移動平均值。 DevRTT:偏差RTT)

GBN:
發送端緩存能力高,可以在沒有得到確認前發送多個分組。 接收端緩存能力很低,只能接收1個按序到達的分組,不能緩存未按序到達的分組

5. 流量控制和擁塞控制的比較;TCP 連接的建立(三次握手)原理; TCP 的序號與確認號的使用 方法。

TCP的流量控制:協調發送方與接收方數據的發送與接收速度;在通信過程中,接收方設置報文段的接收窗口字段來將窗口大小通知給發 送方。

TCP的擁塞控制:

網絡擁塞:太多的主機以太快的速度向網絡中發送太多的數據,超出了網 絡處理能力,導致大量數據分組擁擠在中間設備隊列中等待轉發,網絡性能顯 著下降的現象

擁塞控制:通過合理調度、規範、調整向網絡中發送數據的主機數量、發 送速率、數據量,以避免擁塞或消除已發生的擁塞;擁塞控制可以在不同的層實現,ATM網絡是在網絡層進行,Internet是在傳輸層進行(通過TCP實現)

擁塞控制算法:慢啓動、 擁塞避免 、快速重傳、 快速恢復

TCP連接的建立(三次握手)原理:
步驟 1:
客戶機向服務器發送TCP SYN報文段
指定初始序號
沒有數據

步驟 2:
服務器收到SYN報文段,用SYNACK報文段回覆
服務器爲該連接分配緩衝區和變量
指定服務器初始序號

步驟 3:
客戶機接收到SYNACK,用ACK報文段回覆
可能包含數據


TCP可靠數據傳輸機制:TCP在IP不可靠服務的基礎上創建可靠數據傳輸服務

可靠傳輸的措施:1.錯包:流水線發送報文段、累積確認。2.丟包:TCP使用單個重傳計時器,重傳超時事件和重複ACK事件。

TCP 的序號與確認號的使用 方法

TCP協議工作在OSI的傳輸層,是一種可靠的面向連接的數據流協議,TCP之所以可靠,是因爲它保證了傳送數據包的順序。順序是用一個序列號來保證的。響應包內也包括一個序列號,表示接收方準備好這個序列號的包。在TCP傳送一個數據包時,它會把這個數據包放入重發隊列中,同時啓動計時器,如果收到了關於這個包的確認信息,便將此數據包從隊列中刪除,如果在計時器超時的時候仍然沒有收到確認信息,則需要重新發送該數據包。另外,TCP通過數據分段中的序列號來保證所有傳輸的數據可以按照正常的順序進行重組,從而保障數據傳輸的完整。
在這裏插入圖片描述
6.作業補充

1.UDP應用

.應用程序開發者可能不想其應用程序使用TCP的擁塞控制,因爲這會在出現擁塞時降低應用程序的傳輸速率。通常,IP電話和IP視頻會議應用程序的設計者選擇讓他們的應用程序運行在UDP上,因爲他們想要避免TCP的擁塞控制。還有,一些應用不需要TCP提供的可靠數據傳輸。 (特定服務需要UDP的理由:a應用層能更好的控制要發送的數據和發送時間b無需連接建立c無連接狀態d分組首部開銷小)

2.處理多個客戶機請求

對於每個持久連接,Web服務器創建一個單獨的“連接套接字”,每個連接套接字由一個四元組(源IP地址,源端口號,目的IP地址,目的端口號)識別。當作爲Web服務器的主機C接收到IP數據報時,檢查數據報裏相應的四元組字段決定導向到哪個套接字。雖然目的IP和目的端口號一樣,但主機A和主機B的源IP地址不一樣,所以主機C不能用相同的套接字與A、B兩臺不同主機進行通信。兩個套接字都可以是80,區分它們的元組可以是不同的源IP地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章