本投影片檔案僅供本書上課 教師 使用 , 非經 作者...

69
網網網網網網網 本本本本本本本本本本本本本本本本本本本本本本本本本本本本本 本本本 ,。 本本本本本本本本本本 本本本本本本本本本本 ,一 Web 本 本本本本本 本本‧ ,,

Upload: frayne

Post on 14-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

本投影片檔案僅供本書上課 教師 使用 , 非經 作者 同意請勿拷貝或轉載,謝謝。 教學單位若需教材上網,請洽旗標業務取得另一 Web 版,以免觸法,謝謝‧. 大綱. 簡介 埠編號 UDP TCP 序列號碼 緩衝區與滑動訊窗 TCP 標頭欄位定義與實例解析 TCP 連線的啟動與結束 TCP 協定選擇項. 簡介. 傳輸層介於網路層與會議層之間 傳輸層協定標頭位於網路層協定標頭後 TCP/IP 協定架構下 TCP Transmission Control Protocol; 傳輸控制協定 UDP - PowerPoint PPT Presentation

TRANSCRIPT

網路概論與實務

本投影片檔案僅供本書上課教師使用,非經作者同意請勿拷貝或轉載,謝謝。

教學單位若需教材上網,請洽旗標業務取得另一 Web 版,以免觸法,謝謝‧

網路概論與實務

大綱 簡介 埠編號 UDP TCP

序列號碼 緩衝區與滑動訊窗 TCP 標頭欄位定義與實例解析 TCP 連線的啟動與結束

TCP 協定選擇項

網路概論與實務

簡介 傳輸層介於網路層與會議層之間 傳輸層協定標頭位於網路層協定標頭後 TCP/IP 協定架構下

TCPTransmission Control Protocol ;傳輸控制協定

UDPUser Datagram Protocol ;使用者資料報協定

網路概論與實務

TCP 與 UDP Examples:

TCP: FTP 、 Telnet 、 SMTP 、 POP3 等UDP: 音視訊資料的傳輸、 DNS 、 SNMP 、 NFS 、 BOOTP

網路概論與實務

TCP

網路概論與實務

埠編號 (Port Number)

網路概論與實務

埠編號 (Port Number) 傳輸層的定址工作 在網路層定址之外,定義一個參數做為相同節點間不同通訊服務的辨識

網路概論與實務

埠編號 佔 16 位元 埠編號由 ICANN 的 IANA 所管轄

Internet Corporation for Assigned Names and Numbers網際網路名稱與數字位址分配機構

分為三種類型公認埠 : 公共、常用服務應用程式註冊埠 : 一般應用服務程式向 IANA 註冊後使用動態埠 : 不被註冊佔用,提供自由運用

網路概論與實務

常見的保留埠編號

網路概論與實務

客戶端 (Client) 埠編號 IANA 規範的埠編號是針對伺服端 (Server) 客戶端埠編號與伺服端埠編號的設定分開

相互不衝突隨機產生常設在 1,024 ~ 4,096

網路概論與實務

UDP 協定

網路概論與實務

UDP 協定 一種非可靠性的傳輸模式 不會檢測是否已經成功地將資料傳送給對方 UDP 標頭

UDP 訊息長度 : 以位元組為單位 記錄 UDP 標頭及其所屬資料的總合長度

網路概論與實務

Checksum 值運算標頭、資料、虛擬標頭 (Pseudo Header)Checksum:16 個位元為單位,運用 1 補數演算法執行加總後,再求 1 的補數

虛擬標頭

對網路層再次檢測,也破壞各層級各自負責的原則,是好是壞 : 見仁見智

網路概論與實務

UDP 封包範例

網路概論與實務

TCP 協定

網路概論與實務

TCP 協定 高可靠度的資料傳輸 比 UDP 複雜的標頭格式與定義

提供豐富的通訊控制功能 詳細對 TCP 標頭各欄位定義說明之前

TCP 協定序列號碼 (Sequence Number)滑動視窗 (Sliding Window)

網路概論與實務

序列號碼用以記錄傳送資料過程的累積序號隨傳送完成的位元組數進行循環累加最初 TCP 序號累加以「封包數」為累進單位

目前則以「位元組數」為單位對 100Mbps 傳輸速率的系統而言,序號的循環累加大約 14天才循環一次因傳輸延遲與等待,實際時程會更長

更快網路架構,序號循環時間會更短 > > IP TTL 的 255秒且遇上相同序號的機率也相當微小

網路概論與實務

回應號碼欄位 與序列號碼一起運作告知資料順利收到象徵期望下次收到對方來信的序列號碼

網路概論與實務

單向資料發送

網路概論與實務

雙向資料傳送

網路概論與實務

傳送發生錯誤

網路概論與實務

緩衝區

網路概論與實務

一般通訊傳輸情形

網路概論與實務

緩衝區運用

網路概論與實務

合併回應

網路概論與實務

滑動訊窗

(Sliding Windows)

網路概論與實務

滑動訊窗 (1/2) 緩衝區也稱之為「訊窗」 (Windows) 訊窗大小由各項參考參數調整 單位

封包數量: HDLC 、 X.25位元組數: TCP

整體可用的訊窗大小固定剩餘訊窗容量記錄在標頭 Window 欄位

網路概論與實務

滑動訊窗的運作

網路概論與實務

訊窗運作範例

網路概論與實務

TCP 標頭

網路概論與實務

TCP 標頭 由於 TCP 協定的高可靠度傳輸要求

TCP 標頭比 UDP 標頭要複雜得多

網路概論與實務

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

網路概論與實務

206 節點與 110 節點 (1/6) 訊息長度 49 (107-20-20-18) 位元組

網路概論與實務

206 節點與 110 節點 (2/6) 10072764 = 10072715 + 49

網路概論與實務

206 節點與 110 節點 (3/6) 60 位元組資料傳送 (60=118-20-20-18)

網路概論與實務

206 節點與 110 節點 (4/6) 10072824=10072764+60 13 (=71-58) 個位元組資料的傳送

網路概論與實務

206 節點與 110 節點 (5/6) 22385518=22385505+13

網路概論與實務

10072861=10072824+37

206 節點與 110 節點 (6/6)

網路概論與實務

網路概論與實務

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 連線的啟動與結束

網路概論與實務

TCP 連線的啟動

網路概論與實務

110 對 206 進行連線啟動

網路概論與實務

206 對 110 進行連線啟動與訊息回應

網路概論與實務

110 對 206 連線啟動進行回應

網路概論與實務

TCP 連線的結束

網路概論與實務

20 對 77 提出 FTP 連線終止要求

網路概論與實務

77 對 20 的 FTP 連線終止要求做回應

網路概論與實務

77答應 20 的 FTP 連線終止要求

網路概論與實務

20答應 77 的 FTP 連線終止

網路概論與實務

TCP 協定選擇項

網路概論與實務

TCP 選擇項 選擇性欄位,可不具備或擁有一個或多個選擇項目

各選擇項長度不固定,但整體選擇項長度一定要是 32 位元整數倍,不足部分以填充 (Padding) 位元補齊

最初 RFC793: 定義 MSS陸續有 RFC1323 、 RFC2018 等

相關高速網路傳送改良的選擇項

網路概論與實務

基本欄位定義 種類 (Kind) 、長度 (Length) 與資料

(Data) 長度 (Length) 欄位說明三個欄位的長度總和,以位元組為單位

三個欄位不見得全部出現

網路概論與實務

常見的 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

網路概論與實務

5. SACK 訊息

網路概論與實務

SACK 訊息欄位格式

網路概論與實務

TCP 選擇項封包實例

網路概論與實務

Telnet 連線啟動出現的 TCP 選擇項

網路概論與實務

SACK 訊息封包

網路概論與實務

問題與討論

關鍵字填充題選擇題問答題