北航研究生計算機網絡實驗_實驗七 傳輸層實驗


** 這個實驗我沒有約到沒有問題的機子(連續三台機子都是壞的...)因此僅供參考

 

1、根據2.6中步驟3答:TCP的連接和建立采用的是   三次握手   方式,PCA 主動打開方(C)    PCB 被動打開方(S)    先點擊發送再點擊接收,會出現什么問題?為什么?

答:先點擊發送再點擊接受會導致連接失敗,而且如果沒有應用進程被動打開,那么主動打開的應用進程無法建立連接。

因為C/S模式下,若Server沒有啟動,那么Client就連接不上。服務器和客戶端的結合需要看TCP狀態機,必須存在被動打開方才能夠連接。

 

2、根據2.6中步驟5,結合預習報告,分析TCP連接的建立過程,根據TCP建立過程的三個報文,先填寫下表:

字段名稱

第一條報文

第二條報文

第三條報文

報文序號

3

4

5

Sequence Number

0

0

1

Acknowledgement Number

 

1

1

Ack

0

1

1

Syn

1

1

0

 

3、根據2.6中步驟6回答:

TCP連接建立時,其報文首部與其它TCP報文不同,有一個“Option”字段,它的作用是什么,值為多少?結合IEEE802.3協議規定的以太網最大幀長度分析此數據是怎樣得出的。

 

答:Option字段的值中包含一個最大報文段長度(Maximum segment sizeMSS),取C/S兩方承載的MSS中取較小的值。MSS應用於數據傳送階段,在本實驗中得到的MSS值是1460 bytes

MSS=最大MTU長度-IP首部固定長度(20)-TCP首部固定長度(20)=1500-20-20=1460

 

4、根據2.6中步驟7:結合預習報告,分析TCP連接的釋放過程,選擇TCP連接撤消的四個報文,將報文信息填入下表。

字段名稱

第一條報文

第二條報文

第三條報文

第四條報文

報文序號

385

386

387

388

Sequence Number

355911

1

1

355912

Acknowledgement Number

1

355911

355912

2

Ack

1

1

1

1

Fin

1

0

1

0

 

5、根據2.6中步驟8:分析TCP數據傳送階段的前8個報文,將報文信息填入下表。

報文序號

報文種類

(發送/確認)

序號字段

確認號字段

數據長度

被確認報文序號

窗口

6

發送

1

1

140

 

5840

7

確認

1

1401

0

13

8400

8

發送

1401

1

1460

14

5840

9

發送

2861

1

1460

 

5840

10

確認

1

2861

0

 

11680

11

確認

1

4321

0

16

14600

12

發送

4321

1

1460

17

5840

13

確認

1

5781

0

19

17520

請寫出TCP數據部分長度的計算公式。數據傳送階段第一個報文的序號字段值是否等於連接建立時第三個報文的序號?

答:TCP數據部分長度 = IP總長度 - IP首都長度 - TCP首部長度

數據傳送階段第一個報文的序號字段值 等於 連接建立時第三個報文的序號。

 

6. 根據3.6.1中“ 滑動窗口機制和窗口偵查機制分析”步驟6回答:

(1) 分析數據發送部分的前幾條報文,描述發送方發送窗口的變化,並解釋為什么?

答:發送方發送窗口的大小線性增大,每次遞增2920

因為數據發送部分前幾條報文時處於慢啟動狀態,擁塞窗口cwnd指數規律增長,而滑動窗口rwnd線性增長。一般而言rwnd < cwnd,而且發送窗口=min[cwnd, rwnd],因此發送窗口的大小也隨着rwnd線性增長。

(2) 指出從哪個序號的報文能夠看出接收端開始休眠,並解釋理由。

 

如果接收緩存大於65535,在接收窗口值持續減少前接收端已開始休眠。

如果接收緩存小於等於65535,在接收窗口值持續減少時接收端開始休眠。

因為其后通告的接收窗口越來越小,(左邊沿在不斷向右移動,而右邊沿不再移動),接收方在窗口范圍外的可用緩存已被使用完,表明接收方在窗口范圍外的可用緩存被已確認的數據占據着,應用程序進程沒有再從緩存中讀取這些已確認的數據,即表明其已開始休眠

 (3)分析文件send2-組座號-tcpsndwnddata.txt,選中三次握手連接建立后的前4條報文記錄(3DATA報文、1ACK報文,序號為4567),記下發送方發送窗口的相關值(rcv_wnd , snd_wnd_left , snd_wnd_point , snd_wnd_left+cwnd , snd_wnd_left+rcv_wnd , (snd_wnd_point- left))。按下表分析計算接收方(及發送方)的窗口的相關值。

 

5號報文(sender----data---->receiver

 

 

rcv_wnd

snd_wnd_left

snd_wnd_pointer

snd_wnd_left+cwnd

snd_wnd_left+rcv_wnd

snd_wnd_point- left

發送方發出報文

5840

2379935191

2379938051

2379939571
2379941031

2860

發送窗口右邊沿

2379941031

 

通告的接收窗口

接收窗口左邊沿

接收窗口指針

接收窗口右邊沿

在接收緩存中的數據量(即未確認的數據)

接收方接到DATA

2

2379935191

2379936591

2379935191

1400

接收方接到DATA

3

2379935191

2379938051

2379935191

2860

 

6號報文(sender----data---->receiver

 

 

rcv_wnd

snd_wnd_left

snd_wnd_pointer

snd_wnd_left+cwnd

snd_wnd_left+rcv_wnd

snd_wnd_point- left

發送方發出報文

5840

2379935191

2379939511

2379939571
2379941031

4320

發送窗口右邊沿

2379941031

 

通告的接收窗口

接收窗口左邊沿

接收窗口指針

接收窗口右邊沿

在接收緩存中的數據量(即未確認的數據)

接收方接到DATA

3

2379935191

2379938051

2379935191

2860

接收方接到DATA

3

2379935191

2379939511

2379935191

4320

 

7號報文(receiver ----ack----> sender

 

通告的接收窗口

接收窗口左邊沿

接收窗口指針

接收窗口右邊沿

在接收緩存中的數據量(即未確認的數據)

接收方發出ACK

4

2379935191

2379935191

2379941031

0

 

rcv_wnd

snd_wnd_left

snd_wnd_pointer

snd_wnd_left+cwnd

snd_wnd_left+rcv_wnd

snd_wnd_point- left

發送方接到ACK

8400

2379936591

2379939511

2379942431

2379944991

2920

發送窗口右邊沿

2379944991

發送方接到ACK

5840

2379935191

2379939511

2379939571
2379941031

4320

發送窗口右邊沿

2379941031

 

(1) 根據文件send2-組座號-tcpsndwnddata.txt中發送方的發送窗口相關值進行分析,接收方開始休眠后,描述接收窗口的變化,指出窗口收縮、窗口合攏、窗口張開對應的開始報文序號,並記下send2-組座號-tcpsndwnddata.txt文件中的對應報文的數值記錄(pkt_seqno,pkt_type..……)。

 

窗口收縮:右邊沿向左移動,RFC強烈不建議使用,一般不發生。

窗口合攏:窗口的左邊沿向右邊沿靠近,發生在接收窗口持續減小期間:

166       snd_data

167       rcv_ack

168       snd_data

169       snd_data

170       snd_data

171       snd_data

172       snd_data

173       rcv_ack

174       snd_data

175       rcv_ack

窗口張開:當窗口的右邊沿向右移動時將允許發送更多的數據,一般發生在休眠結束后通告大窗口時

180       rcv_ack        

181       snd_data       

182       rcv_ack        

183       snd_data       

184       rcv_ack        

 

7. 根據3.6.1中“ 滑動窗口機制和窗口偵查機制分析”步驟7回答:

寫出窗口偵查開始的報文序號,窗口偵查報文數據長度、窗口偵查報文發送的時間規律。

 

窗口偵查報文指的是Keep-Alive報文,長度為5840

每相鄰兩條窗口偵查報文Keep-Alive報文 時間差組成的數據序列的規律:成倍增加規律

 

13、根據4.6中步驟7

1)分析UDP報文結構:選中第一個UDP報文,將UDP協議樹中各字段名、字段長度、字段值、字段表達信息,填入下表。並繪制UDP報文結構,詳細繪制UDP協議樹字段。

字段名

字段長度

字段值

字段表達信息

Source Port

2 bytes

murray(1123)

源端口:1123

Destination

2 bytes

1030

目的端口:1030

Length

2 bytes

13

報文長度:13

Checksum

2 bytes

0x301d

校檢碼:0x301d

 

2UDP報文結構與TCP報文結構有什么區別?

答:UDP報文僅有源端口、目的端口、報文長度、校檢碼和數據組成。

TCP除此之外還有seqack、偏移字段等字段,用於保證傳輸的可靠性。

 

3)在步驟5交換機S1S2之間的網線拔掉期間,PCAPCB發送的UDP消息,在步驟6交換機S1S2之間的網線重新插上之后,PCB是否還能收到?請解釋為什么會出現這種現象?

答:PCA會向PCB發送i’m fine, and you?

在步驟6交換機S1S2之間的網線重新插上之后,PCB不能收到。因為UDP是不可靠傳輸協議,因此因為拔掉網線而發送失敗后報文就丟失了。

 

4)綜合分析TCP協議和UDP協議的不同之處。

UDP

TCP

無連接

面向連接

不可靠傳輸,無流量控制和擁塞控制

可靠傳輸,使用流量控制和擁塞控制

支持一對一、一對多、多對一、多對多交互通信

只支持一對一通信

面向報文

面向字節流

首部8字節

首部20~60字節

適用於實時應用

適用於要求可靠傳輸的應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM