本投影片檔案僅供本書上課 教師 使用 , 非經 作者...
DESCRIPTION
本投影片檔案僅供本書上課 教師 使用 , 非經 作者 同意請勿拷貝或轉載,謝謝。 教學單位若需教材上網,請洽旗標業務取得另一 Web 版,以免觸法,謝謝‧. 大綱. 簡介 埠編號 UDP TCP 序列號碼 緩衝區與滑動訊窗 TCP 標頭欄位定義與實例解析 TCP 連線的啟動與結束 TCP 協定選擇項. 簡介. 傳輸層介於網路層與會議層之間 傳輸層協定標頭位於網路層協定標頭後 TCP/IP 協定架構下 TCP Transmission Control Protocol; 傳輸控制協定 UDP - PowerPoint PPT PresentationTRANSCRIPT
網路概論與實務
簡介 傳輸層介於網路層與會議層之間 傳輸層協定標頭位於網路層協定標頭後 TCP/IP 協定架構下
TCPTransmission Control Protocol ;傳輸控制協定
UDPUser Datagram Protocol ;使用者資料報協定
網路概論與實務
TCP 與 UDP Examples:
TCP: FTP 、 Telnet 、 SMTP 、 POP3 等UDP: 音視訊資料的傳輸、 DNS 、 SNMP 、 NFS 、 BOOTP
網路概論與實務
埠編號 佔 16 位元 埠編號由 ICANN 的 IANA 所管轄
Internet Corporation for Assigned Names and Numbers網際網路名稱與數字位址分配機構
分為三種類型公認埠 : 公共、常用服務應用程式註冊埠 : 一般應用服務程式向 IANA 註冊後使用動態埠 : 不被註冊佔用,提供自由運用
網路概論與實務
Checksum 值運算標頭、資料、虛擬標頭 (Pseudo Header)Checksum:16 個位元為單位,運用 1 補數演算法執行加總後,再求 1 的補數
虛擬標頭
對網路層再次檢測,也破壞各層級各自負責的原則,是好是壞 : 見仁見智
網路概論與實務
TCP 協定 高可靠度的資料傳輸 比 UDP 複雜的標頭格式與定義
提供豐富的通訊控制功能 詳細對 TCP 標頭各欄位定義說明之前
TCP 協定序列號碼 (Sequence Number)滑動視窗 (Sliding Window)
網路概論與實務
序列號碼用以記錄傳送資料過程的累積序號隨傳送完成的位元組數進行循環累加最初 TCP 序號累加以「封包數」為累進單位
目前則以「位元組數」為單位對 100Mbps 傳輸速率的系統而言,序號的循環累加大約 14天才循環一次因傳輸延遲與等待,實際時程會更長
更快網路架構,序號循環時間會更短 > > IP TTL 的 255秒且遇上相同序號的機率也相當微小
網路概論與實務
滑動訊窗 (1/2) 緩衝區也稱之為「訊窗」 (Windows) 訊窗大小由各項參考參數調整 單位
封包數量: HDLC 、 X.25位元組數: TCP
整體可用的訊窗大小固定剩餘訊窗容量記錄在標頭 Window 欄位
網路概論與實務
TCP 欄位定義 (1~4)
Source Port Number (來源埠編號 ) Destination Port Number (目的埠編號 ) Sequence Number ( 序列號碼 ) Acknowledgement Number (回應號碼 ) Example:
140.134.28.206 ( 簡稱 206 節點 ) 與 140.134.36.110 ( 簡稱 110 節點 ) 間的傳輸
開始時序號分別為 10072715 與 22385505
網路概論與實務
TCP 欄位定義 (5,6)HLEN (Header Length ; 4 位元 )
記錄 TCP 標頭長度 以四個位元組為單位沒有選擇項, HLEN 值為 5 => 20 位元組也代表資料從 TCP 標頭開始位置起算的開端
也稱 Data Offset ( 資料位移 ) 欄位Reserved ( 保留位元; 4 位元 )
未使用,四位元,設為 0
網路概論與實務
TCP 欄位定義 (7) 控制旗標欄位 (Control Flag)
用來對 TCP 封包進行控制 CWR (Congestion Window Reduced ;擁塞視窗已降低 )
ECE (ECN Echo ;明確擁塞通知回聲 )
網路概論與實務
控制旗標欄位 (2/3)URG (Urgent ;緊急 )
1:緊急資料,需立即處理Ex: Crtl-C位置 : 緊急指標 (Urgent Pointer) 欄位描述
ACK (Acknowledgement ;回應 )1:帶回應確認訊息一般的 TCP 封包,此旗標通常都設為 1
PSH (Push ;推進 )1:直接送往上層應用程式,不經 TCP處理,或等待緩衝區完全接收資料後再處理, Ex: Enter
圖 9.17~圖 9.22 ,除圖 9.18 外都以 PSH 進行
網路概論與實務
控制旗標欄位 (3/3) RST (Reset ;重設 )
1:重新對 TCP 封包進行設定傳送 SYN (Synchronize ;同步 )
1:進行雙方同步溝通每次 TCP 連線建立之初,都必須執行
FIN (Final ;結束 )1:連線結束訊息
網路概論與實務
TCP 欄位定義 (8-9)Window 欄位 : 16 個位元
記錄緩衝區剩下的資料空間Example :圖 9.17~圖 9.22
Checksum 欄位 : 與 UDP 類似TCP 標頭、資料以及虛擬標頭三部分以 16 位元為單位, 1 補數演算法,再求 1 的補數
運算時,標頭 Checksum 欄位 : 0
網路概論與實務
TCP 欄位定義 (10-11) Urgent Pointer(緊急指標 ) ; 16 位元
旗標 URG 位元為 1時才會運用描述緊急資料所在位置Ex: 資料流量超過網路的頻寬時,系統發出緊急訊息,要求網路主機暫緩傳送資料封包
TCP Options ( 選擇項 ) 欄位可變長度欄位 : 32 位元整數倍不足 32 位元 : 加填充位元 (Padding)最常見的 TCP 選擇項
定義傳送封包的最大值SACK 機制
網路概論與實務
TCP 選擇項 選擇性欄位,可不具備或擁有一個或多個選擇項目
各選擇項長度不固定,但整體選擇項長度一定要是 32 位元整數倍,不足部分以填充 (Padding) 位元補齊
最初 RFC793: 定義 MSS陸續有 RFC1323 、 RFC2018 等
相關高速網路傳送改良的選擇項
網路概論與實務
常見的 TCP 選擇項項目
1. 最大資料片段大小 (MSS)
2.無操作選擇項 (No-operation)
3. 選擇項末端 (End of Option List)
4. 選擇性回應允許 (SACK Permitted)
5.SACK 訊息
網路概論與實務
1. 最大資料片段大小 (MSS) 由客戶端向伺服器端提出,告知對方自己資料片段的最大允許值
此功能常在 TCP 一開始建立連線時出現 種類 (Kind) 欄位值設為 2 (02)16
長度 (Length) 欄位值為 4 (04)16
資料 (Data) 欄位填入資料片段大小的最大值往往與區域網路硬體允許的訊框最大值相關EX: 乙太網路將 MSS 值設為 1460 (05B4)16
這個數值就是乙太網路允許的最大封包大小 1500 位元組減去無選擇項 IP 標頭大小 (20 位元組 ) 和無選擇項TCP 標頭大小 (20 位元組 ) 所得到
網路概論與實務
2. 無操作選擇項 (No-operation)
只佔 1 個位元組欄位值內容為種類欄位值 0116
功能類似「填充 (Padding)」欄位,用以使標頭內容成為 4 個位元組的倍數填充欄位一般放在整個 TCP 標頭的末端,而「無操作選擇項」則是放在某些選擇項之前
Ex1:某選擇項長度: 2 個位元組前面加上 2 個無操作選擇項
Ex2: 選擇項長度: 9 個位元組選擇項前附加 3 個無操作選擇項
網路概論與實務
3. 選擇項末端 (End of Option List)只佔 1 個位元組
只有種類欄位,沒有長度與資料欄位 欄位值內容即為種類欄位值 0 (00)16
用於宣告 TCP 選擇項的結束只有 TCP 標頭 HLEN 欄位沒有計算選擇項長度時才會使用,用來告知選擇項的結束如果 HLEN 欄位已經對選擇項部分進行記錄,就不會有這個選擇項項目的出現
網路概論與實務
4. 選擇性回應允許 SACK Permitted ( 選擇性回應允許 )
Selective Acknowledgements Permitted
SACK 機制接收端告知傳送端哪些封包已經收到,傳送端只要傳送確實遺失的部分,提升傳送效益
SACK允許選擇項對 TCP 機制 SACK 進行啟動宣告與 MSS宣告類似,發生在連線啟動時
佔 2 個位元組種類欄位 0416與長度欄位 0216