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端和ServerIP addressTCP 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. ServerIP address多少?

 

     IP address:205.196.120.6

 

    傳送與接收TCP segment時,port number 是多少?

 

    TCP Port number (src): http(80) (dst): 53239

 

3. 當傳送檔案ServerClient端的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 segmentACKnowledgement field的值為1

 

    一個SEGMENT 被認為是SYNACK SEGMENT?

 

    當ACKnowledgement1時,會被認定之

 

6. 包含HTTP POST指令的TCP SEGMENT中,它的

    Sequence number 是多少?

    Sequence number: 1