程序之間的通信
運輸層通信的端點:主機中的程序
複用和分用:省略
運輸層的兩個主要協定:傳輸控制協定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