天天看點

累計确認 計算機網絡,計算機網絡第五章——運輸層

程序之間的通信

運輸層通信的端點:主機中的程序

複用和分用:省略

運輸層的兩個主要協定:傳輸控制協定TCP和使用者資料報協定UDP

運輸層的端口:

伺服器端口範圍

0~1023

用戶端端口範圍

49152~65535常用端口号

應用程式

FTP

TELNET

SMTP

DNS

TFTP

HTTP

SNMP(trap)

HTTPS

熟知端口号

21

23

25

53

69

80

161

162

使用者資料報協定UDP

UDP是無連接配接的,盡最大努力傳遞,面向封包,沒有擁塞控制,支援一對一、一對多、多對一、多對多互動通信,首部開銷小

傳輸控制協定TCP

特點:TCP是面向連接配接的、可靠傳遞、全雙工通信、面向位元組流

停止等待協定

優點是簡單,缺點是信道使用率太低

信道使用率

U = TD/(TD + RTT + TA)

TD是A發送分組需要的時間,等于分組長度/資料率

TA是B發送确認分組需要的時間

連續ARQ協定

通常A最終總是可以收到對所有發出的分組的确認

使用上述的确認和重傳機制,我們就可以在不可靠傳輸網絡上實作可靠通信

TCP封包段的首部格式

累計确認 計算機網絡,計算機網絡第五章——運輸層

源和目的端口:各占2個位元組,分别寫入源端口和目的端口。

序号:本封包段發送的資料的第一個位元組的序号。

确認号:是“确認封包”中期望收到對方下一個封包的第一個資料位元組的序号。

确認 ACK:發送方在一定時間内沒有收到服務端的ACK确認包後,就會重新發送TCP資料包。發送方收到了

ACK,表明接收方已經接收到資料,保證了資料的可靠達到。

同步 SYN:該标志僅在三次握手建立TCP連接配接時有效。它提示TCP連接配接的服務端檢查序列編号,該序列編号為TCP連接配接初始端(一般是用戶端)的初始序列編号。

視窗:指明現在允許對方發送的資料量,因為接收方的緩存是有限的。視窗值是動态變化的。

可靠傳輸的實作

以位元組為機關的滑動視窗

A的發送視窗并不總是和B的接收視窗一樣大

TCP标準沒有規定對不按序列到達的資料應如何處理,通常是先臨時存放在接收視窗中,等到位元組流中所缺少的位元組收到後,再按序傳遞上層的應用程序。

TCP要求接收方必須有累計确認的功能,這樣可以減小傳輸開銷

逾時重傳時間的選擇:重要的公式計算在225頁

TCP的流量控制

利用滑動視窗實作流量控制

例題:

主機A和主機B建立TCP連接配接後,A準備向B發送的資料如下表所示:

發送視窗的初始值為400,每個封包段的長度為100位元組,資料封包段序号的初始值為seq=301,請分析

301 400

401 500

501 600

601 700

701 800

801 900

901 1000

(1) A發送完seq=301的資料後未收到B發來的任何确認資訊,請給出目前發送視窗的範圍,并給出其中發送已确認,已發送未确認,可發送還未發送,不允許發送的位元組範圍

發送視窗的範圍301~700

發送已經确認

已發送未确認:301~400

可發送還未發送:401~700

不允許發送:701~1000

(2) A發送完seq=601的資料後收到B發來的ACK=1,ack=501,rwnd=300的封包。請給出目前發送視窗的範圍,并給出其中發送已确認,已發送未确認,可發送還未确認,不允許發送的位元組範圍

發送視窗的範圍501~800

發送已确認:301~500

可發送還未發送:501~700

不允許發送:701~800

不允許發送:801~1000

TCP的擁塞控制

防止過多的資料注入網中,使網絡中的路由器或鍊路過載

重傳并不會緩解網絡的擁塞,反而會加劇網絡的擁塞

擁塞控制是一個全局性的過程,涉及到所有的主機、所有的路由器,以及與降低網絡傳輸性能有關的所有因素擁塞控制方法:232頁

三次握手

四次握手

标簽:運輸,發送視窗,位元組,封包,确認,TCP,發送,計算機網絡,第五章

來源: https://blog.csdn.net/kedacpu/article/details/106796339