计算机网络——TCP可靠传输和重传分析

实验目的

1、掌握TCP可靠传输原理;

2、掌握TCP的超时重传和快重传机制;

3、了解Linux下iptables命令的使用方法。

实验步骤与结果记录

1.在Linux中,打开terminal运行端口,执行如下命令,修改TCP连接的接收缓存参数,减少Linux分配的接收缓存,降低接收窗口值

2.在terminal中执行如下命令,关闭SACK选项,避免执行给予SACK的重传算法

3.本实验采用和UDP协议探索和分析实验相同的网络拓扑,创建虚拟网络拓扑并为虚拟网络拓扑中的各路由器配置静态路由,关闭网卡offload功能,将运输舱封装时需要的计算还给CPU

如图中红框所示的导入脚本的代码,将脚本进行导入和运行

4.在路由器RA中用iptables设置规则,模拟丢包,以10%的概率丢弃墓地地址为192.168.57.254(ns57C)的IP数据报

5.打开两个端口,分别模拟主机ns56A和主机ns57A,执行如下命令

6.再主机ns56A上创建一个100k字节长度的文件备用

7.在主机ns56A上启动wireshark,在接口tap56A上启动

8.在主机ns57C上打开TCP服务程序,在主机ns56A上打开TCP客户程序,然后通过网络将主机ns56A上的100K.0文件发送到主机ns57C

9.在主机ns57A的模拟终端中,执行如下命令

10.在wireshark中停止抓包,保存抓包结果文件并分析本次TCP通信理解TCP超时重传机制和快重传机制

问题与分析

1、本实验要求捕获到TCP超时重传事件,快重传事件和部分ACK事件,你在实验中捕获这几种事件时,操作系统为主机ns56A上的TCP客户程序分配的端口号是多少,如果这些事件是分多次捕获的,请分别给出客户进程的端口号。截图说明。

39254

2、在你的实验结果中,任意选择一个超时重传的报文段,分析并回答以下问题:

(1) wireshark给这个超时重传报文段的编号是多少?分析超时重传报文段的首部,截图并填写表5.1。

表5.1 超时重传报文段分析

Wireshark分配给重传报文段的编号

93

源端口

39254

目的端口

4499

序号(相对序号)

60241

数据偏移

32

窗口

7300

(2) 这个超时重传报文段重传的原TCP报文段的编号是多少,分析原TCP报文段的首部,截图并填写表5.2。

表5.2原TCP报文段分析

Wireshark分配给原报文段的编号

78

源端口

39254

目的端口

4499

序号(相对序号)

60241

数据偏移

32

窗口

7300

(3) 超时重传报文段发送之前,共收到几次对该报文段的前一个报文段的ACK确认?该超时重传报文段触发过快重传么?该报文段与原报文段的时间间隔是多长?截图说明你的分析过程。

确认了6次;触发过重传;时间间隔为0.622158672-0.421555681=0.200602911

3、在你的实验结果中,任意选择一个快重传的报文段,分析并回答以下问题:

(1) wireshark给这个快重传报文段的编号是多少?分析超时重传报文段的首部,截图并填写表5.3。

表5.3 快重传报文段分析

Wireshark分配给快重传报文段的编号

102

源端口

39254

目的端口

4499

序号(相对序号)

38433

数据偏移

32

窗口

7300

(2) 这个快重传报文段重传的原TCP报文段的编号是多少,分析原TCP报文段的首部,截图并填写表5.4。

表5.4原TCP报文段分析

Wireshark分配给原报文段的编号

93

源端口

39254

目的端口

4499

序号(相对序号)

60241

数据偏移

32

窗口

7300

(3) 快重传报文段发送之前,共收到几次对该报文段的前一个报文段的ACK确认?截图说明你的分析过程。

7次

4、在你的实验结果中,找到一次主机ns57C发给主机ns56A的部分ACK报文段。分析这次快重传过程中,引起快重传的丢失报文段、快重传报文段、快重传之前ns56A发送的最后一个报文段、部分ACK报文段,截图并填写表5.5。

表5.5部分ACK分析

Wireshark分配给丢失报文段的编号

67

Wireshark分配给快重传报文段的编号

73

Wireshark分配给快重传前ns56A发送的最后一个报文段的编号

63

Wireshark分配给部分ACK报文段的编号

101

丢失报文段的序号(相对序号)

39254

丢失报文段的数据部分长度

1448(字节)

快重传报文段的序号(相对序号)

39254

快重传之前ns56A发送的最后一个报文段的序号(相对序号)

63

快重传之前ns56A发送的最后一个报文段的数据部分长度

1448(字节)

快重传发生时,ns56A发送的最后一字节的编号

55937

部分ACK报文段的确认号(相对确认号)

54489

ns56A收到部分ACK报文段后,是如何处理的?截图说明你的分析过程。

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值