Internet原理與技術
計算機專業基礎筆記目錄可以點這裏:計算機專業基礎筆記目錄
Internet原理與技術1(IP地址、IP數據報、ARP協議、ICMP協議、子網編址、無分類編址與CIDR、IP分組的轉發)
Internet原理與技術2(因特網的路由協議RIP、OSPF、BGP,網絡地址轉換NAT,網絡協議IPv6)
傳輸層的作用是在通信子網提供的服務的基礎上,爲上層應用層提供有效的、合理的傳輸服務。使高層用戶在相互通信時不必關心通信子網的實現細節和具體服務質量。
知識要點:
- 掌握端口的基本概念和應用
- 理解無連接的傳輸層協議UDP
UDP特點、UDP格式和校驗方法 - 掌握面向連接的傳輸層協議TCP
TCP特點、首部格式、連接管理、可靠傳輸、流量控制和擁塞控制機制
一、端口及套接字
1、傳輸層編址
(1)傳輸層的複用和分用
(2)常用應用進程默認的端口
(3)端口:應用層進程的標識
端口指網絡設備內部與外界通交流的出口。
端口作用:
- 數據發送時向下交付給傳輸層
- 接收數據時向上交付給應用層
端口分類:
- 熟知端口
其數值一般爲 0~1023。這些端口號是 TCP/IP 體系確定並公佈的。 - 一般端口
數值範圍是 1024~ 65535。用來隨時分配給請求通信的客戶進程。
2、套接字(socket)
3、無連接服務和面向連接服務
二、用戶數據報協議UDP
UDP協議格式
【例】校驗UDP報文
f0 1f af 67 52 a7
:目的MAC地址e4 d3 32 0e 41 66
:源MAC地址08 00
:類型45
:IPv4數據報首部,IP首部20個字節
00
00 30
:IP數據報總長度48個字節(包括IP數據報首部20個字節)
這裏開始是 UDP 協議格式:
11
:傳輸層UDP協議27 a8 d4 d4
:源IP地址c0 a8 01 65
:目的IP地址73 a6 11 72 00 1c
:UDP首部(8字節)73 a6
:源端口是2960611 72
:目的端口是446600 1c
:UDP長度
4a 73
:校驗和4b 55 00 01 24 00 00 08 00 00 00 08 00 00 01 1a 00 00 01 20
:UDP數據(20字節)
計算校驗和:
UDP小結
- UDP 不保證可靠交付
- UDP 比 TCP 的開銷要小很多
- 實時應用(如IP電話、實時視頻會議等),以及廣播或者多播,則必須使用 UDP 協議。
UDP實例:
三、傳輸控制協議TCP
TCP報文格式
標誌位的含義:
Wireshark 軟件中查看 TCP 報文:
TCP 連接管理
建立連接 - 三次握手
釋放連接 - 四次握手
TCP可靠傳輸
序號確認機制
若收到的報文段無差錯,只是未按序號,那麼應如何處理?
- 將不按序的報文段丟棄;
- 先將其暫存於接收緩衝區內,待所缺序號的報文段收齊後再一起上交應用層。
超時重傳機制
超時重傳時間RTO公式:RTO = RTT + 4 × RTTD
往返時延RTT公式:
- RTTnew = RTTsample (第一次測量得到的RTT樣本值)
- RTTnew = α × RTTold + (l - α) × RTTsample(第二次以後的測量)
【例題】RTT 估算
如果 TCP 來回路程時間 RTT 的當前值是 32ms,隨後應答在 40ms 時候到來,如果取 α=7/8,那麼新的 RTT 估算值是多少。
答:根據上面的公式,RTTnew = α × RTTold + (l - α) × RTTsample,可以計算出 RTTnew = 40 * 7/8 + 32 * 1/8 = 33。
定時器
- 重傳定時器
- 持續定時器、
- 保活定時器
- 時間等待計時器
TCP流量控制(大小可變滑動窗口)
採用大小可變滑動窗口的方式進行流量控制;
TCP擁塞控制
擁塞控制的基本功能是避免網絡發生擁塞,或者緩解已經發生的擁塞
- 爲了進行有效的擁塞控制,需要通過擁塞窗口cwnd(congestion window)來進行衡量網絡的擁塞程度
- 發送窗口的取值依據擁塞窗口和接收窗口中的較小的值,即 Min[rwnd,cwnd]
- rwnd 在流量控制中已闡述,在下文中將只關注 cwnd。
擁塞控制的四種方式:
- 慢啓動
- 擁塞避免
- 快速重傳
- 快速恢復
【例】TCP協議綜合例題
解:
(1)IP數據報中,哪幾個是由主機H發送的?
答案:1、3、4 由主機發出,2、5、6 由服務器發出。
(2)根據默認端口,請問該南京郵電大學服務器開通的是什麼應用服務?
答案:根據 協議 06
可知是 TCP,目的端口 00 50
(80端口)默認 HTTP 服務。
(3)前三個IP數據報的內容完成了TCP協議的什麼功能?
答案:完成了 TCP 的三次握手。
(4)題表中的IP數據報,主機H和服務器分別發送了應用層數據字節數是多少?如果第 7 個報文段是對第 6 個報文段的確認,那確認號應該是多少?
答案:主機H 發送了 536 字節,服務器S 發送了 491 字節。
(5)TCP報文段的窗口值有什麼變化?表示什麼意思?
知識點總結
1、傳輸層編址和套接字
- 端口是傳輸層服務訪問點,是應用層進程的標識;
- 套接字就是IP地址和端口的結合,也稱爲插口,套接口;
- 五元組 = < 源IP地址、源端口、目的IP地址、目的端口、協議 >
2、UDP協議
- 在IP之上增加了端口複用分用和差錯控制的功能;
- UDP用戶數據報格式。
3、TCP協議
- TCP面向連接,通過三次握手建立連接;
- 序號確認機制和超時重傳機制來實現可靠傳輸;
- 採用大小可變滑動窗口的方式進行流量控制;