Microsoft PowerPoint - Lab 10.ppt

Similar documents
Chapter #

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

Microsoft PowerPoint - CH10 TCP協定.ppt

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

Microsoft Word - _新_TCP模擬分析報告_M 王凱弘_

Microsoft Word - CS-981.doc


0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

穨control.PDF

R3105+ ADSL

Microsoft PowerPoint - Lab 07.ppt

<4D F736F F F696E74202D FC2B2B3F85FA44AAB49B0BBB4FABB50B977A8BEA874B2CEC2B2A4B6BB50C0B3A5CE2E707074>

Microsoft PowerPoint - 数据通信-ch1.ppt

Chapter 5 TCP/IP Security WANG YANG

Microsoft Word - DIR-615_B2_Manual_1.00_T_.doc

C6_ppt.PDF

Microsoft Word - Mail2000_SecurityPatch_

Module 4: Processes

Microsoft PowerPoint - 資訊網路管理與應用Ch01a.ppt

<4D F736F F F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA A1A24950D0ADD2E9BACD4950B5D8D6B72E707074>

Microsoft PowerPoint - 01-ch01-4.ppt

CU0594.pdf

iziggi

第三章: 傳輸層

第一組個人電腦主機

C3_ppt.PDF

Simulator By SunLingxi 2003


Microsoft Word final


影響TCP效能的因素很多,除了協定本身的標準、演算法,也包括實作的方式、記憶體管理的機制以及系統的架構和底層使用的通訊技術等

Microsoft PowerPoint - 03-ch0x2-Sniffer1.ppt

財金資訊-80期.indd

電腦設備LP _第九組記憶體規範書

<A4E2BEF7B4FAB8D5B3F8A F52322E786C7378>

ch09.PDF

Microsoft Word - PLC與GP接線說明_缺WDH_2.doc

01 用 ActionScript 3.0 開始認識 Flash CS3 Flash 是應用在網路上非常流行且高互動性的多媒體技術, 由於擁有向量圖像體積小的優點, 而且 Flash Player 也很小巧精緻, 很快的有趣的 Flash 動畫透過設計師的創意紅遍了整個網際網路 雖然很多人都對 Fl

<4D F736F F D20CDF8B9A42DC9CFCEE7CCE22D3038CFC2>

retrieve Molecular Biology of THE CELL 5 Thomas Südhof 從突變的酵母菌看出控制基因 DNA DNA Roger David Kornberg 謝克曼利用酵母菌突變株篩選出可調控細胞不同情況傳輸系統的多種基因, 這一發現為

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Microsoft Word - cr_xi_supported_platforms_tw.doc

Microsoft Word - ISSFA-0109_B_SM59264_WDT_ APN_TC_.doc

...1 What?...2 Why?...3 How? ( ) IEEE / 23

1970 新技術的應用 X = 20 + B 13B δ13c X 1 X

( )... 5 ( ) ( )

/ / (FC 3)...

男人的大腦 女人的大腦

投影片 1

References

Microsoft Word - ok翁志文、張佳音...doc

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

关于建立境内违法互联网站黑名单管理制度的通知

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99

7. 小 星 星 一 閃 一 閃 亮 晶 晶, 滿 天 都 是 小 星 星 ; 掛 在 天 空 放 光 明, 好 像 許 多 小 眼 睛 ; 一 閃 一 閃 亮 晶 晶, 滿 天 都 是 小 星 星

doc

實驗 使用 IPv4 和 IPv6 計算摘要路由 拓樸 位址分配表 子網 IPv4 位址 IPv6 位址 HQ 的 LAN / :DB8:ACAD:E::/64 HQ 的 LAN / :DB8:ACAD:F::/64 EAS

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

untitled

文件編號

SW cdr

11N 无线宽带路由器


電腦週邊設備LP _採購規範_第四組鍵盤、影像、滑鼠電腦切換器

項次 4 (Quad-Core Intel Xeon 2.53GHz 一顆 /Windows 作業系統 ) NT$84,222 HP ProLiant DL120 G6 作業系統 Windows Server 2008 提供 1 顆 Quad-Core Intel Xeon 2.53GHz, 每顆


投影片 1


(UTM???U_935_938_955_958_959 V )

IPv6 Multicast骨幹網路建置參考

untitled

Microsoft PowerPoint - Ch03.ppt

Microsoft Word - Prog1-981.docx

家具使用說明書_實體版2016.9

PowerPoint Presentation

Microsoft Word - Delta Controller ASCII_RTU_TC

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub

Microsoft PowerPoint - Lab 08.ppt

以 LAN 模式建構單晶片嵌入式伺服器之網路架構 作者 : 黃冠穎 ( ); 推薦 : 徐業良 ( ) 以 LAN 模式建構單晶片嵌入式伺服器之網路架構 本文介紹如何以 LAN 模式建構單晶片嵌入式伺服器 ARM 與 PIC_SERVER 之間的雙向溝通, 應用在

Transcription:

實驗八 TCP 協定分析 實驗目的 明瞭可靠傳輸層的基礎觀念 TCP 協定下區段資料傳送的格式

背景資料 TCP 協定主要是為了在主機間實現高可靠性的封包交換傳輸協定, 因為 TCP 協定主要是用在網路不可靠的時候完成通信, 對於軍方可能特别有用, 但是以目前來說, 對於政府部門以及商業單位也非常適合 TCP 點對點的可靠協定, 它支援許多種的網路應用程式,TCP 對於下層的服務並沒有多少要求, 它直接假設下層只能提供不可靠的資料傳輸服務, 而且可以在多種硬體介面組成的網路上使用

TCP 協定

TCP 協定 TCP 的上面一層就是應用層, 下面是 IP 協定, 上層包括一系列類似作業系統中中斷的運用, 對於上層應用程式來說,TCP 應該可以同步的來傳送資料, 下層假設為 IP 協定 為了在不可靠的網路介面上建立可靠的傳送資料服務,TCP 必須解決可靠性, 流量控制的問題, 而且必須能為上層的應用程式來提供多個埠口, 用來同時為多個應用程式提供資料, 同時,TCP 必須解決連接的問題, 這樣子的話,TCP 才是個可靠的通訊協定, 而最後也要克服通訊安全的問題

TCP 協定 在運行 TCP 協定的電腦主機上,TCP 可以被看成是一個模組, 和文件系统區别不大,TCP 也可以調用一些作業系统的功能,TCP 不直接和網路相連, 控制網路的任務是由專門的設備來完成,TCP 協定只是用來配置埠號,IP 協定向 TCP 協定提供所有 TCP 需求的服務 TCP 連接是可靠的, 而且保証了傳送區段的順序, 保証順序的能力是用一個序號來達成的, 區段內也包括一個序列號, 表示接收方準備好這個序號的區段, 在 TCP 協定傳送一個區段時, 它會同時把這個區段放入重新發送的序列中, 同時啟動計數器, 如果收到了確認訊息, 就會把重送的區段序列刪除, 如果超過計數時間時, 就會將這個區段重送

TCP 協定 每一個用於傳送 TCP 資料的通道都有一個埠號記錄, 因這個記錄是由每個 TCP 的终端來確定的, 因此 TCP 可能是不唯一, 為了保証這個數值的唯一性, 要使用網路位址和埠號的組合來達到唯一的目的, 稱這個為 Socket 一個通訊由連接兩端的 Socket 來標示, 本地端的 Socket 可能和不同的外部 Socket 來通訊, 這種通訊是全雙工的

TCP 連線 所有 TCP 的傳輸都必須在 TCP 連線 (TCP Connection) 下進行,TCP 連線的定義至少需要四組參數, 即來源端的 IP 地址 連線埠號和目的端的 IP 地址 連線埠號 在下圖中雖有三個客戶端機器連線至伺服器端, C1 和 C2 雖連線埠號相同但 IP 地址不同故互為獨立的 TCP 連線,C3 中連線埠號兩組故也互為獨立的 TCP 連線, 所以圖中有 4 組 TCP 連線

確認與重送 肯定確認與重新傳輸 (Positive Acknowledgement and Retransmission;PAR), 是許多通訊協定用來確保可信度, 經常使用的一種技術 有了 PAR, 發送端送出一個封包後, 會開始計時, 待對方確認後, 才會再送出下一個封包 若尚未收到確認, 而計時器已逾時, 則發送端會再傳輸一次該封包, 並重新計時 上述傳送的過程, 雖然具有確認與重送的功能, 但在效能方面會造成很大的問題, 當發送端每傳送出去一個封包後, 便只能等待, 一直等到收到對方確認封包後, 才能傳送下一個封包, 所以在整個傳送過程中, 絕大部份時間都浪費在等待確認封包 這種機制只有在早期通訊品質和計算機效能均很差的年代出現過, 如 X.25, 現今已不復存在 由於 TCP 具有 PAR, 所以 UDP 可能可為單向式傳輸,TCP 必為雙向式傳輸, 不過傳輸時上下載頻寬不必相同 ( 如 ADSL), 上下載路徑也可以不相同 ( 如單向式 Cable Modem)

確認與重送 視窗大小決定在收到目的地確認之前, 一次可以傳送的資料量 代表視窗大小的數字越大 ( 位元組 ), 主機可以傳輸的資料量就越多 當主機傳輸視窗大小數目的位元組資料後, 就必須等收到確認以後, 才可以再傳下面的訊息 例如, 若視窗的大小為 1, 則傳完每個 (1) 區段後, 都必須經過確認, 才可以再傳下一個區段

緩衝區與 滑動視窗 (Sliding Window) 滑動視窗是一種資料流量控制技巧, 它要求發送端設備在傳送一定量的資料以後, 必須接收對方確認 想像有一扇窗戶, 如果將窗戶向左拉開時, 空隙增大此時空氣進來的多, 將窗戶向右關閉時, 空隙變小此時空氣進來的少, 所以利用窗戶的位置決定空氣進來的數量, 水龍頭左轉右轉也相同道理 不過由於計算機處理資訊流僅有一個方向, 並不能像上述的左拉右關左轉右轉, 所以此時將窗戶的外框不再是固定而是可以滑動, 如此外框和窗戶的相對位置便可決定空隙大小決定流量 例如, 若視窗大小為 3, 就表示發送端設備可以連續送出三個封包給接收端 然後就必須等待對方確認 如果目的地接收到三個位元組, 就會傳送確認到來源設備, 來源設備就可以再傳送另外三個位元組 若由於某種原因, 接收端沒有收到三個位元組 ( 例如, 可能是因緩衝區溢位 ), 就不送出確認訊息 因為來源沒有收到確認, 它就會知道必須重新傳送位元組, 並且要降低傳送速率

緩衝區與 滑動視窗 (Sliding Window)

緩衝區與 滑動視窗 (Sliding Window) TCP 能夠視網路流量情況需要, 隨時調整資料傳送速度, 流量控制主要是靠滑動視窗的大小來調整, 當 Window Size 變小時, 流量也會變小, 當 Window Size 變大時, 流量也會變大, 相對地, 較大的 Window Size 會耗費較多的電腦資源 決定 Window Size 的大小是相當複雜的過程, 不過我們需知道的是 Window Size 是由目的端決定, 而且會依網路流量調整並非一成不變的 由於目的端需用緩衝區來暫存封包, 所以可以保證資料到達順序, 如圖中雖然 packet 3 先到達, 但此時並不送用至應用層而是暫存起來, 等到 packet 1 packet 2 到達,packet 3 才用至應用層

緩衝區與 滑動視窗 (Sliding Window)

緩衝區與 滑動視窗 (Sliding Window) 當封包傳送發生錯誤時, 滑動視窗有兩種重送解決機制, 回到 -N(go-back-N) 和選擇性重送 (selective repeat) 如圖為例, 當 [Sequence Number =100] 封包傳送失敗時, 如果採用回到 -N 的重送機制, 則指標回到 [Sequence Number =100] 封包開始重送, 機制實施較容易, 但是效能較差, 因為 [Sequence Number =200] 和 [Sequence Number =300] 還要送一次,Window Size 越大效能越差 如果採用選擇性重送的重送機制, 則只重送 [Sequence Number =100] 區段, 機制實施較困難, 但是效能較佳 早期的 TCP 是採用回到 -N 的重送機制, 而目前大多改採用選擇性重送機制, 所以在建立連線時雙方會互相溝通是否要使用 SACK-Permitted (Selective Acknowledgement) 功能

緩衝區與 滑動視窗 (Sliding Window)

Sequence Number TCP 以向前參照確認來提供區段排序作業, 每個資料在傳輸前都會先加以編號, 到目的地工作站時,TCP 會將這些區段重新組成完整的訊息 若資料中少了某個順序號碼, 就會重傳該區段 區段傳出後, 若在一段特定時間內沒有收到確認, 也會要求重傳

Sequence Number

建立連線 TCP 連線採用的是連線導向式 (connection-oriented), 請注意並非連線交換 (connection switches), 也就是說在連線建立階段, 不會決定一條來源與目的地之間的路徑, 且將資源加以保留 而僅僅是連線建立時和連線中, 讓雙方知道對方使用的各項 TCP 參數, 如 Initial Sequence Number Window Size 支援的 TCP 選擇性功能等 TCP 主機之間使用三向式交握法 (Three-way Handshake), 建立連接導向式的會談, 三向式交握法在資料抵達終端之前, 先將兩終端連線同步化, 這種在連接順序時的介紹性順序編號交換非常重要 它可確保由於傳輸問題導致遺失的任何資料, 都可以在稍後復原

建立連線 -- 三向式交握法 第 1 步驟 :A( 客戶端 ) 送出 SYN 封包給 B( 伺服端 ), 此封包包含 A B 雙方的連接埠號 A 的 Initial Sequence Number(ISNA) TCP 選擇性功能 ( 如 MSS SACK- Permitted) 第 2 步驟 :B 在收到 SYN 封包, 回覆 SYN-ACK 封包, 此封包包含 B 的 ISNB Acknowledge Number ACK(ISNA+1) Window Size, 用來控制 A 的 Send Window 大小 第 3 步驟 :A 在收到 SYN-ACK 封包後, 發出 ACK 封包, 此封包包含 Sequence Number(ISNA+1) Acknowledge Number ACK(ISNB+1) Window Size A 的 Receive Window 大小

建立連線 -- 三向式交握法

阻斷服務攻擊 (DOS:Denial-of-service attack) 假設 A 向 B 傳送 SYN 封包後突然當機或離線, 那麼 B 在發出 SYN-ACK 封包是無法收到 A 的 ACK 封包 ( 第三次握手無法完成 ), 由於網路是以善意為原則所以這種情況下 B 一般會重試 ( 再次發送 SYN-ACK 給用戶端 ) 並等待一段時間後放棄這個未完成的連線, 這段時間的長度我們稱為 SYN Timeout, 一般來說這個時間是分鐘的數量級 ( 大約為 30 秒 -2 分鐘 ), 一個用戶出現異常導致伺服器的一個行程等待並不是什麼很大的問題, 但如果有一個惡意的攻擊者大量使用此情況, 伺服器端將為了維護一個非常大的半連線列表而消耗非常多的 CPU 時間和記憶體資源, 何況還要不斷對這個列表中的 IP 進行 SYN-ACK 的重試

阻斷服務攻擊 (DOS:Denial-of-service attack) 如果伺服器的網路作業系統不夠強壯, 最後的結果往往是堆疊溢位崩潰, 即使伺服器端的系統足夠強大, 伺服器端也將忙於處理攻擊者偽造的 TCP 連接請求而無暇理睬客戶的正常請求, 此時從正常客戶的角度看來, 伺服器失去反應, 這種情況即為伺服器端受到了 SYN Flood 攻擊 網路上有針對 SYN Flood 攻擊的種種防禦之道, 但大多會拖累伺服器的效能, 並不易取捨, 即使可防禦單一客戶端的 SYN Flood 攻擊, 但如果同時有多部 ( 一般是被植入後門 ) 對伺服器進行 SYN Flood 攻擊, 這是分散式阻斷服務攻擊 (DDoS:Distributed Denial-of- Service), 要防禦並不容易

TCP 選擇性功能 TCP 常見的選擇性功能有 MSS (Maximum Segment Size) SACK-Permitted 和 SACK MSS 此選項主要是在連線建立時, 用來指定所能傳送 TCP Payload 的最大長度, 所以在連線過程中, 雙方每次傳送的 TCP Payload 長度都不會大於該值, 所以系統可以適當的設定此值, 使得在 IP 層在傳輸時不會產生封包需被切割的情況, 所以我們是不太可能會擷取到有分割的 IP 封包

中止連線 TCP 連線若要中止, 為將連線所用的資源 ( 連接埠 記憶體等等 ) 釋放出來, 必須經由特定的連線中止步驟, 雖然建立連線時可區分為主動端與被動端, 但是雙方都可以主動提出中止連線的要求, 這也造成某些惡意攻擊程式會從中中止雙方的連線, 連線中止的過程有 4 個步驟 第 1 步驟 :A 送出 FIN-ACK 封包給 B 第 2 步驟 : 為處理 FIN-ACK 封包之前的送出的資料,B 送出 ACK 封包給 A 第 3 步驟 :B 送出 FIN-ACK 封包給 A 第 4 步驟 :A 送出 ACK 封包給 B

中止連線

TCP 表頭欄位

TCP 表頭欄位 Source Port( 來源連接埠號 ): 長度為 2 Bytes, 記錄來源端上層應用程式所用的 TCP 連接埠號 Destination Port( 目的連接埠號 ): 長度為 2 Bytes, 記錄目的端上層應用程式所用的 TCP 連接埠號 Sequence Number( 序號 ): 長度為 4 Bytes, 記錄傳送資料過程的累積序號, 當來源主機開始發送訊號到目的主機時, 系統會內定一個初始值作為序號的開始 ; 傳送封包過程中, 序號會隨著傳送完成的 Byte 數, 依次將序號循環壘加上去, 因此藉由序列號碼欄位值, 便可以判定所傳送的資料是否已經收到

TCP 表頭欄位 Acknowledge Number( 回應號碼 ): 長度為 4 Bytes, 與序列號碼欄位配合進行訊息傳遞確認工作 目的主機在收到來源主機的資料後, 會將收到的序列號碼加上傳送資料的 Byte 長度, 將之填入回應號碼欄位, 傳回給發送端驗證 Data Offset( 資料長度 ): 長度為 4 Bits, 記錄 TCP 表頭的長度, 欄位值的單位為 4 Bytes 例如此欄位值是 5, 代表 TCP 表頭的長度為 20 Bytes Reserved( 保留 ): 長度為 6 Bits, 保留用途, 設為 0

TCP 表頭欄位 Flags( 特殊用途位元 ): 長度為 6 Bits, 每個 Bit 可代表 TCP 封包的一種 Flag 共有 6 種 Flag: Urgent( 緊急 ): 設為 1 時, 表示此封包為緊急資料包, 需要立即處理 Acknowledge( 回應 ): 設為 1 時, 表示此封包帶有回應確認訊息 Push( 推進 ): 設為 1 時, 表示要求封包直接將攜帶的資料往上層應用程式送去, 訊息不再經過 TCP 的封包處理, 或等待緩衝區完全接收資料後再行處理 Reset( 重設 ): 設為 1 時, 可立即中斷 TCP 連線, 並重新對 TCP 封包進行設定傳送 Synchronize( 同步 ): 設為 1 時, 表示 TCP 正在進行雙方同步溝通 每次 TCP 連線建立之初, 都必須執行這項同步溝通的工作 Finish( 結束 ): 設為 1 時, 表示某端點的 TCP 資料傳送工作已經結束, 來源主機與目的主機都要有正確的回英才表示是個完整的結束

TCP 表頭欄位 Window( 視窗大小 ): 長度為 2 Bytes, 主要是紀錄資料封包在傳送或接收後, 傳送主機內的緩衝區還剩下多少可以裝載封包的資料空間, 可用來控制流量 Checksum( 檢查碼 ): 長度為 2 Bytes, 記錄錯誤檢查碼, 運作方式與 UDP 的錯誤檢查碼相同 Urgent Pointer( 緊急資料指標 ): 長度為 2 Bytes, 當 Urgent Flag 設為 1 時, 接到此封包的主機都必須優先對封包進行處理 本欄位記錄 TCP 資料中, 屬於 Urgent 資料的最後一個 Byte Options 與 Padding: Options 欄位長度不定, 可用來擴充 TCP 的功能 Padding 欄位是為了讓 TCP 表頭 ( 包含 Options 欄位 ) 剛好是 4 Bytes 的倍數

UDP 和 TCP 的比較 UDP 和 TCP 協定的主要分别, 是在於兩者在如何作到資料傳送的可靠性的方式不同 TCP 協定中包含了專門的傳送確認機制, 當接收方收到傳送方傳來的封包時, 會送出一個確認的訊息給傳送方, 傳送方在收到接收方傳來的確認訊息後才會繼續傳送資料, 若沒有收到確認的訊息時, 就會一直等待直到收到確認訊息為止 和 TCP 協定不同的是,UDP 協定並沒有提供資料傳送的保証機制 如果在傳送的過程中出現任何的資料毀損的話, 那麼協定本身是不會像傳送方做出任何的通知的, 因此, 通常我們都把 UDP 協定稱為不可靠的傳輸協定 相對於 TCP 協定,UDP 協定的另外一個相異之處在於如何接收突發性的多個資料封包, 不同於 TCP 協定,UDP 並不能確保資料封包的發送和接收順序

實驗方法 --TCP 建立連線封包 說明 : 1.Source port = 3898; 2.Destination port = http (80); 3.Sequence Number = 0xd8e24a36, 相對為 0; 4.Acknowledgement Number, 此時系統不使用 ; 5.Header Length = 28 Bytes; 6.Flags = 只有 SYN 設為 1; 7.Window Size = 65535; 8.Checksum = 0x12ec; 9.Options:(8 bytes) Maximum Segment Size: 1460 bytes; SACK permitted

實驗方法 --TCP 建立連線封包 說明 : 1.Source port = http (80); 2.Destination port = 3898; 3.Sequence Number = 0xbb434686, 相對為 0; 4.Acknowledgement Number = 0xd8e24a37, 相對為 1; 5.Header Length = 28 Bytes; 6.Flags = SYN, ACK 設為 1; 7.Window Size = 5840; 8.Checksum = 0xf540; 9.Options:(8 bytes) Maximum Segment Size: 1460 bytes; SACK permitted

實驗方法 --TCP 建立連線封包 說明 : 1.Source port = 3898; 2.Destination port = http (80); 3.Sequence Number = 0xd8e24a37, 相對為 1; 4.Acknowledgement Number = 0xbb434687, 相對為 1; 5.Header Length = 20 Bytes; 6.Flags = 只有 ACK 設為 1; 7.Window Size = 65535; 8.Checksum = 0x38d5;

實驗方法 --TCP 區段傳送 說明 : 1.Source port = 3898; 2.Destination port = http (80); 3.Sequence Number = 0xd8e24a37, 相對為 1; 4.Acknowledgement Number = 0xbb434687, 相對為 1; 5.Header Length = 20 Bytes; 6.Flags = 只有 ACK 設為 1; 7.Window Size = 6432; 8.Checksum = 0xda0e;

實驗方法 --TCP 中止連線封包 由圖中可看到 TCP 中止連線的四步驟封包

觀察系統連線情況 netstat 指令

觀察系統連線情況 TCPView

學習評量 1. 何謂滑動視窗? 有哪些網路架構使用到它? 2. 繪出 TCP 協定的狀態圖 3. 何謂 Silly window syndrome? 4. 說明 TCP 協定如何利用 window 大小控制擁 塞? 5. 說明 TCP 協定如何如何計算 RTT? 6. 說明 TCP 協定中旗號之作用? 並用 wireshark 實際擷取區段 7. 說明 TCP 協定中潛在的風險?