資訊網路講義 P0 P1 P2 P3 P4 P5 P6 P7 P8 P9
資訊網路 - 傳輸層
A. 傳輸層的主要功用
- 編定序號
- 連線管理
- 流量控制
- 錯誤控制
B. 傳輸層封包的重要欄位 - 連接埠 ( port )
port是 2 bytes的整數,其目的是用來在細分通訊的對象。有的書本會舉例說,IP用來區分建築物(那一台電腦),而 port 用來區分在那一層樓(這一台電腦的那一個應用程式),有些port號碼是有特定的應用的。
# The latest IANA port assignments can be gotten from
# http://www.iana.org/assignments/port-numbers
# The Well Known Ports are those from 0 through 1023. ( 此段的 port 號 最好依規來用 )
# The Registered Ports are those from 1024 through 49151
# The Dynamic and/or Private Ports are those from 49152 through 65535舉例 :
ftp-data 20/tcp
ftp-data 20/udp
ftp 21/tcp
ftp 21/udp
ssh 22/tcp
ssh 22/udp
telnet 23/tcp
telnet 23/udp
smtp 25/tcp
smtp 25/udp
domain 53/tcp
domain 53/udp
http 80/tcp
http 80/udp
squid 3128/tcp # squid web proxy
C. 傳輸層的2個重要協定 : UDP (User Datagram Protocol ) 與 TCP ( Transmission Control Protocol )
UDP TCP 連接埠的欄位 V V 確認與重送 V 流量控制 V 連線導向 V UDP的重點在快速,TCP的重點在正確
D. UDP 封包的結構 (重要欄位):
Source Port : 來源端的 Port
Destination Port : 目地端的 Port
E. TCP 封包的結構 (重要欄位):
Source Port : 來源端的 Port
Destination Port : 目地端的 Port
Sequence number : 序號
Acknowledgment number : 回應序號
Flags : [urgent][acknowledgement][push][reset][synchronize][finish]
Window : 窗戶的尺寸
F. TCP 的 確認 與 重送
要完成 「正確」的要求,收方 就必須針對每個封包送出「我收到了」的回覆給送方,稱為ACK;而收方在等待時間超過後仍收不到回覆就會重送封包。
F. TCP 的 流量控制
以窗戶的大小來控制對方送給我們資料的速度(可以以 封包 或 byte 為單位)。收送的雙方各有一組 send window 和 received window
窗戶的大小在傳輸的過程中隨時都可以調整的,故可以做到流量的控制
F. TCP 的 連線導向
- 建立連線 : 主要來交換雙方的TCP參數 (最重要的是 ISN(初始序號)、Window size) , 建立連線需要三個封包, SYN、SYN-ACK、ACK
- 終止連線 : 主要用來通知對方,我的傳送巳經結束了,所以要分開成為2組各2個封包,FIN-ACK、ACK
(參考P8的圖片)
資訊網路講義 P0 P1 P2 P3 P4 P5 P6 P7 P8 P9