0.4 TCP
TCP(傳輸控制協議)簡介
TCP是一種連接導向的、可靠的、基於位元組流的運輸層通訊協議,它完成第四層傳輸層所指定的功能,UDP是同一層內另一個重要的傳輸協議。
在網際網路協議中,TCP層是位於IP層之上,應用層之下的中間層。
不同主機的應用層之間經常需要可靠的連線,但是IP層不提供這樣的機制,而是提供不可靠的封包交換。
應用層向TCP層發送用於網路間傳輸的資料流,然後TCP把資料流分割成適當長度的區段。
之後TCP將封包傳給IP層,由它來透過網路將封包傳送給接收端實體的TCP層。
TCP為了保證不發生遺失封包,就給每個封包一個序號,同時序號也保證了傳送到接收端實體封包的接收,然後接收端實體對已成功收到的封包發回一個相應的回應ACK;如果發送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的封包(假設遺失了)將會被重傳。
TCP 用一個Checksum函式來檢驗資料是否有錯誤;在發送和接收時都要計算Checksum。
使用網站:MediaFire
Server 端 : www.mediafire.com IP: 205.196.120.6
Client 端 : IP: 10.1.1.226
1. 當上傳一個檔案到Server端,Client端和Server端IP address和TCP Port number各是多少?
Client端
IP address:10.1.1.226
TCP Port number (src):53239 (dst): http(80)
Server端
IP address:205.196.120.6
TCP Port number (src): http(80) (dst): 53239
2. Server端的IP address是多少?
IP address:205.196.120.6
當傳送與接收TCP segment時,port number 是多少?
TCP Port number (src): http(80) (dst): 53239
3. 當傳送檔案至Server端時,Client端的IP address 和
TCP port number各是多少?
IP address:10.1.1.226
TCP Port number (src):53239 (dst): http(80)
4. 當連接客戶端和Server端時,TCP SYN 的 Sequence
Number 是多少?
Sequence Number : 0
哪一個Segment被認為是SYN Segment?
當SYN flag被設成1時 會被認為是SYN Segment
5. Server端用來答覆Client端的SYN ACK segment之
Sequence number是多少?
Sequence Number : 0
在SYNACK segment中,ACKnowledgement的值為
多少?
SYNACK segment中ACKnowledgement field的值為1
哪一個SEGMENT 被認為是SYNACK SEGMENT?
當ACKnowledgement為1時,會被認定之
6. 包含HTTP POST指令的TCP SEGMENT中,它的
Sequence number 是多少?
Sequence number: 1