计算机网络实验3TCP实验.doc

上传人:wj 文档编号:4710713 上传时间:2023-05-07 格式:DOC 页数:15 大小:1.28MB
下载 相关 举报
计算机网络实验3TCP实验.doc_第1页
第1页 / 共15页
计算机网络实验3TCP实验.doc_第2页
第2页 / 共15页
计算机网络实验3TCP实验.doc_第3页
第3页 / 共15页
计算机网络实验3TCP实验.doc_第4页
第4页 / 共15页
计算机网络实验3TCP实验.doc_第5页
第5页 / 共15页
计算机网络实验3TCP实验.doc_第6页
第6页 / 共15页
计算机网络实验3TCP实验.doc_第7页
第7页 / 共15页
计算机网络实验3TCP实验.doc_第8页
第8页 / 共15页
计算机网络实验3TCP实验.doc_第9页
第9页 / 共15页
计算机网络实验3TCP实验.doc_第10页
第10页 / 共15页
计算机网络实验3TCP实验.doc_第11页
第11页 / 共15页
计算机网络实验3TCP实验.doc_第12页
第12页 / 共15页
计算机网络实验3TCP实验.doc_第13页
第13页 / 共15页
计算机网络实验3TCP实验.doc_第14页
第14页 / 共15页
计算机网络实验3TCP实验.doc_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机网络实验3TCP实验.doc

《计算机网络实验3TCP实验.doc》由会员分享,可在线阅读,更多相关《计算机网络实验3TCP实验.doc(15页珍藏版)》请在冰点文库上搜索。

计算机网络实验3TCP实验.doc

计算机网络实验报告三

TCP实验

1.WhatistheIPaddressandTCPportnumberusedbytheclientcomputer(source)

thatistransferringthefiletogaia.cs.umass.edu?

Toanswerthisquestion,it’s

probablyeasiesttoselectanHTTPmessageandexplorethedetailsoftheTCP

packetusedtocarrythisHTTPmessage,usingthe“detailsoftheselectedpacket

headerwindow”(refertoFigure2inthe“GettingStartedwithWireshark”Labif

you’reuncertainabouttheWiresharkwindows).

答:

clientcomputer(source):

IPaddress:

192.168.1.102TCPportnumber:

1161

2.WhatistheIPaddressofgaia.cs.umass.edu?

Onwhatportnumberisitsending

andreceivingTCPsegmentsforthisconnection?

答:

theIPaddressofgaia.cs.umass.edu:

IPaddress:

128.119.245.12portnumber:

80

3.Ifyouhavebeenabletocreateyourowntrace,answerthefollowingquestion:

WhatistheIPaddressandTCPportnumberusedbyyourclientcomputer(source)totransferthefiletogaia.cs.umass.edu?

答:

Myclientcomputer:

IPaddress:

10.2.136.30

4.WhatisthesequencenumberoftheTCPSYNsegmentthatisusedtoinitiatetheTCPconnectionbetweentheclientcomputerandgaia.cs.umass.edu?

WhatisitinthesegmentthatidentifiesthesegmentasaSYNsegment?

答:

sequencenumber:

0;syn被设置为1说明是syn段。

5.WhatisthesequencenumberoftheSYNACKsegmentsentbygaia.cs.umass.edu

totheclientcomputerinreplytotheSYN?

WhatisthevalueoftheACKnowledgementfieldintheSYNACKsegment?

Howdidgaia.cs.umass.edudeterminethatvalue?

WhatisitinthesegmentthatidentifiesthesegmentasaSYNACKsegment?

答:

ThesequencenumberoftheSYNACKsegmentsentbygaia.cs.umass.eduis:

0;

SYNACKsegment中ACKnowledgement的值为1;

ACKnowledgementnumber的值为SYN消息中sequencenumber加上1所得;

SYN和Acknowledgementf都置为1说明这是一个SYNACKsegment.

6.WhatisthesequencenumberoftheTCPsegmentcontainingtheHTTPPOST

command?

NotethatinordertofindthePOSTcommand,you’llneedtodiginto

thepacketcontentfieldatthebottomoftheWiresharkwindow,lookingfora

segmentwitha“POST”withinitsDATAfield.

答:

第四号报文段是包含HTTPPOST命令的TCPsegment.且报文段的序列号为1.

7.ConsidertheTCPsegmentcontainingtheHTTPPOSTasthefirstsegmentinthe

TCPconnection.WhatarethesequencenumbersofthefirstsixsegmentsintheTCPconnection(includingthesegmentcontainingtheHTTPPOST)?

Atwhattimewaseachsegmentsent?

WhenwastheACKforeachsegmentreceived?

GiventhedifferencebetweenwheneachTCPsegmentwassent,andwhenitsacknowledgementwasreceived,whatistheRTTvalueforeachofthesixsegments?

WhatistheEstimatedRTTvalue(seepage249intext)afterthereceiptofeachACK?

AssumethatthevalueoftheEstimatedRTTisequaltothemeasuredRTTforthefirstsegment,andtheniscomputedusingtheEstimatedRTTequationonpage249forallsubsequentsegments.Note:

WiresharkhasanicefeaturethatallowsyoutoplottheRTTforeachoftheTCPsegmentssent.SelectaTCPsegmentinthe“listingofcapturedpackets”windowthatisbeingsentfromtheclienttothegaia.cs.umass.eduserver.Thenselect:

Statistics->TCPStreamGraph->RoundTripTimeGraph.

Segment1

Segment2

Segment3

Segment4

Segment5

Segment6

答:

前6个报文段为No.4,5,7,8,10,11.对应的ACK分别为No.6,9,12,14,15,16.

前6个报文段截图如下:

报文段的序列号为每个报文段的首字节加1,所以序列号为:

Segment1sequencenumber:

1

Segment2sequencenumber:

566

Segment3sequencenumber:

2026

Segment4sequencenumber:

3486

Segment5sequencenumber:

4946

Segment6sequencenumber:

6406

报文段的发送时间和相应ACK的到达时间如下表:

:

Sendtime

ACKreceivedtime

RTTseconds

Segment1

0.026477

0.053937

0.02746

Segment2

0.041737

0.077294

0.035557

Segment3

0.054026

0.124085

0.070059

Segment4

0.054690

0.169118

0.11443

Segment5

0.077405

0.217299

0.13989

Segment6

0.078157

0.267802

0.18964

EstimatedRTT=0.875*EstimatedRTT+0.125*SampleRTT

接受到报文段1之后的EstimatedRTT为:

EstimatedRTT=RTTforsegment1=0.02746second

接受到报文段2之后的EstimatedRTT为:

EstimatedRTT=0.875*0.02764+0.125*0.035557=0.0285sencond

接受到报文段3之后的EstimatedRTT为:

EstimatedRTT=0.875*0.0285+0.125*0.070059=0.0337second

接受到报文段4之后的EstimatedRTT为:

EstimatedRTT=0.875*0.0337+0.125*0.11443=0.0438second

接受到报文段5之后的EstimatedRTT为:

EstimatedRTT=0.875*0.0438+0.125*0.13989=0.0558second

接受到报文段6之后的EstimatedRTT为:

EstimatedRTT=0.875*0.0558+0.125*0.18964=0.0725second

8.WhatisthelengthofeachofthefirstsixTCPsegments?

答:

前6个段的长度分别为:

565、1460、1460、1460、1460、1460字节。

9.Whatistheminimumamountofavailablebufferspaceadvertisedatthereceived

fortheentiretrace?

Doesthelackofreceiverbufferspaceeverthrottlethe

sender?

答:

接收方通知给发送方的最低窗口大小为5840字节,即在服务器端传回的第一个ACK中的窗口大小。

接收方的窗口大小没有抑制发送方的传输速率,因为窗口大小从5840逐步增加到62780,窗口大小始终大于发送方发送的分组的容量。

10.Arethereanyretransmittedsegmentsinthetracefile?

Whatdidyoucheckfor(in

thetrace)inordertoanswerthisquestion?

答:

没有,从TCP报文段的序列号中可以得出以上结论。

从上图中的时间—序号图可以看出,从源端发往目的端的序号逐渐递增,如果这其中有重传的报文段,则其序号中应该有小于其临近的分组序号的分组,在图中未看到这样的分组,所以没有被重传的分组。

11.HowmuchdatadoesthereceivertypicallyacknowledgeinanACK?

Canyou

identifycaseswherethereceiverisACKingeveryotherreceivedsegment?

答:

右下图得,接收方在一个ACK确认的数据大小一般为1460字节。

TheAcknowledgedsequencenumberandtheAcknowledgeddata:

Acknowledgedsequencenumber

Acknowledgeddata

ACK1

566

566

ACK2

2026

1460

ACK3

3486

1460

ACK4

4946

1460

ACK5

6406

1460

ACK6

7866

1460

ACK7

9013

1147

ACK8

10473

1460

ACK9

11933

1460

ACK10

13393

1460

ACK11

14853

1460

报文段确认数据为2920bytes=1460*2bytes,即129541-12621=2920.

12.Whatisthethroughput(bytestransferredperunittime)fortheTCPconnection?

Explainhowyoucalculatedthisvalue.

答:

TCP吞吐量计算很大程度上取决于所选内容的平均时间。

作为一个普通的吞吐量计算,在这问题上,选择整个连接的时间作为平均时间段。

然后,此TCP连接的平均吞吐量为总的传输数据与总传输时间的比值。

传输的数据总量为TCP段第一个序列号(即第4段的1字节)和最后的序列号的ACK(第202段的164091个字节)之间的差值。

因此,总数据是164091-1=164090字节。

整个传输时间是第一个TCP段(即4号段0.026477秒)的时间和最后的ACK(即第202段5.455830秒)时间的差值。

因此,总传输时间是5.455830-0.026477=5.4294秒。

因此,TCP连接的吞吐量为164090/5.4294=30.222KByte/sec

13.UsetheTime-Sequence-Graph(Stevens)plottingtooltoviewthesequencenumberversustimeplotofsegmentsbeingsentfromtheclienttothegaia.cs.umass.eduserver.CanyouidentifywhereTCP’sslowstartphasebeginsandends,andwherecongestionavoidancetakesover?

CommentonwaysinwhichthemeasureddatadiffersfromtheidealizedbehaviorofTCPthatwe’vestudiedinthetext.

答:

慢启动阶段即从HTTPPOST报文段发出时开始,但是无法判断什么时候慢启动结束,拥塞避免阶段开始。

慢启动阶段和拥塞避免阶段的鉴定取决于发送方拥塞窗口的大小。

拥塞窗口的大小并不能从时间—序号图(time-sequence-graph)直接获得。

然而在一个发送方中未被确认的数据量(即inflight数据量)不会超过CongWin(拥塞窗口)和RcvWindow(接收窗口)中的最小值,即LastByteSend-LastByteAcked<=min{CongWin,RcvWindow}。

同时,在第9题中看到,接收方通告给发送方的窗口大小并没有遏制发送速率。

因此,未被确认的数据量(即inflight数据量),是由拥塞窗口决定的,所以通过发出而未被确认的数据量(即inflight数据量),我们可以估计拥塞窗口大小的下界。

下表列出了部分inflight数据量,从表中可以看出拥塞窗口的下界>=8192(因为inflightdata从未超过8192)。

但是,从第10题(即从时间—序号图)得,没有分组丢失(不管是超时,还是三个冗余ACK),因此无法判断什么时候慢启动结束,拥塞避免阶段开始。

Type

No.

Seq.

ACKedseq.

inflightdata

Data

4

1

565

Data

5

566

2025

ACK

6

566

1460

Data

7

2026

2920

Data

8

3486

4380

ACK

9

2026

2920

Data

10

4946

4380

Data

11

6406

5840

ACK

12

3486

4380

Data

13

7866

5527

ACK

14

4096

4917

ACK

15

6006

3007

ACK

16

7866

1147

ACK

17

9013

0

Data

18

9013

1460

Data

19

10473

2920

Data

20

11933

4380

Data

21

13393

5840

Data

22

14853

7300

Data

23

16313

8192

ACK

24

10473

6732

ACK

25

11933

5272

ACK

26

13393

3812

ACK

27

14853

2352

ACK

28

16313

892

ACK

29

17205

0

Data

30

17205

1460

Data

31

18665

2920

Data

32

20125

4380

Data

33

21585

5840

Data

34

23045

7300

Data

35

24505

8192

ACK

36

18665

6732

ACK

37

20125

5272

ACK

38

21585

3812

ACK

39

23045

2352

ACK

40

24505

892

ACK

41

25397

0

Data

42

25397

1460

Data

43

26857

2920

Data

44

28317

4380

Data

45

29777

5840

Data

46

31237

7300

Data

47

32697

8192

ACK

48

26857

6732

ACK

49

28317

5272

ACK

50

29777

3812

ACK

51

31237

1752

ACK

52

33589

0

Data

53

33589

6732

Data

54

35049

5272

Data

55

36509

3812

Data

56

37969

2352

Data

57

39429

892

Data

58

40889

0

ACK

59

35049

6732

ACK

60

37969

3812

ACK

61

40889

892

ACK

62

41781

0

Data

63

41781

1460

Data

64

43241

2920

Data

65

44701

4380

Data

66

46161

5840

Data

67

47621

7300

Data

68

49081

8192

ACK

69

44701

5272

ACK

70

47621

2352

ACK

71

49973

0

Data

72

49973

1460

Data

73

51433

2920

Data

74

52893

4380

Data

75

54353

5840

Data

76

55813

7300

Data

77

57273

8192

ACK

78

52893

5272

ACK

79

55813

2352

ACK

80

58165

0

Data

81

58165

1460

TCP的发送方会试探性的发送数据(即慢启动阶段),如果太多的数据使网络拥塞了,那么发送方会根据AIMD算法进行调整。

但是在实际中,TCP的行为主要依赖于应用程序怎么设计。

在这次抓包中,在发送方还可以发送数据的时候,已经没有数据可发了。

在web应用中,有些web对象比较小,在慢启动还没有结束之前,传送就结束啦,因此,传送小的web对象受到TCP慢启动阶段的影响,导致较长的延迟。

14.Answereachoftwoquestionsaboveforthetracethatyouhavegatheredwhenyoutransferredafilefromyourcomputertogaia.cs.umass.edu。

答:

慢启动阶段即从HTTPPOST报文段发出时开始,但是无法判断什么时候慢启动结束,拥塞避免阶段开始。

慢启动阶段和拥塞避免阶段的鉴定取决于发送方拥塞窗口的大小。

拥塞窗口的大小并不能从时间—序号图(time-sequence-graph)直接获得。

然而在一个发送方中未被确认的数据量(即inflight数据量)不会超过CongWin(拥塞窗口)和RcvWindow(接收窗口)中的最小值,即LastByteSend-LastByteAcked<=min{CongWin,RcvWindow}。

同时,在第9题中看到,接收方通告给发送方的窗口大小并没有遏制发送速率。

因此,未被确认的数据量(即inflight数据量),是由拥塞窗口决定的,所以通过发出而未被确认的数据量(即inflight数据量),我们可以估计拥塞窗口大小的下界。

下表列出了部分inflight数据量,从表中可以看出拥塞窗口的下界>=9015(因为inflightdata从未超过9015)。

但是,从第10题(即从时间—序号图)得,没有分组丢失(不管是超时,还是三个冗余ACK),因此无法判断什么时候慢启动结束,拥塞避免阶段开始。

Type

No.

Seq.

ACKedseq.

inflightdata

Data

16

1

823

Data

17

824

2283

ACK

19

824

1460

Data

20

2284

3743

Data

21

3744

5203

ACK

22

2284

1460

Data

23

5204

6663

Data

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2