计算机网络实验——学习记录五(TCP协议2)

ops/2024/10/21 23:27:54/

一、TCP协议重传机制

        TCP协议是一种面向连接、可靠的传输层协议。为了保证数据的可靠传输,TCP采用数据包重传的机制来应对网络传输过程中可能出现的丢包、错包和乱序等问题。

        TCP协议的重传包括超时重传、快速重传、带选择确认SACK的重传和重复SACK重传四种。

二、iptables命令

        执行Linux命令,用iptables设置规则,模拟丢包:以10%的概率丢弃目的地址为192.168.57.254的IP数据报。

iptables -I FORWARD -d 192.168.57.254 -m statistic --mode random --probability 0.1 -j DROP

解释:

(1)-I FORWARD 在FORWARD接口上执行命令;

(2)-d 192.168.57.254 目的地址(destination address)是192.168.57.254的IP数据报;

(3)-m statistic 以统计的概率进行丢包;

(4)-mode random 随机模式;

(5)--probability 0.1 概率是0.1;

(6)-j DROP 操作(job):丢弃;

三、Wireshark软件默认规则

1. 黑色打底、红色字体(默认的着色规则,可修改)的TCP数据包:出错的数据包;

2. TCP Dup ACK:重复(duplicate)的ACK;

3. TCP Fast Retransmission:快重传;

4. TCP Out-Of-Order:乱序(部分ACK(快重传中的特殊情况:在一次快重传的过程中,一个RTT(往返时间)之内,出现两次丢包的现象));

5. TCP Retransmission:超时重传;

四、序号

相对序号:TCP协议 右键——Protocol Preference——勾选Relative sequence numbers;

绝对序号:TCP协议 右键——Protocol Preference——取消勾选Relative sequence numbers;

五、应用到列

把序号字段应用到列:Sequence numbers 右键——Apply as Column

六、重复ACK确认

超时重传报文段发送之前,共收到几次对该报文段的前一个报文段的ACK确认:

「TCP Dup ACK 26#19」表示:对26号ACK报文,重传19次,加上正常26号ACK,一共20次。

七、重传机制

触发快重传之后,如果还是传输失败,会重置时钟,直到触发超时重传,超时重传与快重传之间的时间间隔是一个RTT。

快重传定义:三次重复ACK然后发送快重传(实际情况是可能在接收方快重传之前,就连续收到大于三次的重复ACK确认报文)。

八、回答问题

(1)找到94号TCP Out-Of-Order(乱序),前一个报文93号是部分ACK报文;

(2)根据93号部分ACK报文段,找到它前面的快重传编号是78;根据快重传报文中的序号,分析序号34713是原始报文要发送的数据编号;

(3)根据序号34713找到Wireshark分配给(引起快重传的)丢失报文段的编号:53;

(4)Wireshark分配给快重传前ns56A发送的最后一个报文段的编号:快重传前的报文是76号;快重传发生时,ns56A发送的最后一字节的编号是63672(62225 + 数据长度Len1448 - 1);

(5)ns56A收到部分ACK报文段后,会立即重传部分ACK所指向的报文60777;

九、超时重传

(1)使用部分ACK可以(一定程度)避免超时重传;

(2)超时重传需要回退N帧,从下一个确认帧(66号)开始重新发送,直到对方发来下一个确认帧(77号)结束;


http://www.ppmy.cn/ops/18938.html

相关文章

Linux下基本指令-掌握

目录 为什么要学命令行 Linux下基本指令-掌握 ls 指令 pwd命令 cd 指令 touch指令 mkdir指令(重要): rmdir指令 && rm 指令(重要): man指令(重要): cp指…

分享一个网站实现永久免费HTTPS访问的方法

免费SSL证书作为一种基础的网络安全工具,以其零成本的优势吸引了不少网站管理员的青睐。要实现免费HTTPS访问,您可以按照以下步骤操作: 一、 选择免费SSL证书提供商 选择一个提供免费SSL证书的服务商。如JoySSL,他们是国内为数不…

泰坦尼克号乘客生存情况预测分析2

泰坦尼克号乘客生存情况预测分析1 泰坦尼克号乘客生存情况预测分析2 泰坦尼克号乘客生存情况预测分析3 泰坦尼克号乘客生存情况预测分析总 背景描述 Titanic数据集在数据分析领域是十分经典的数据集,非常适合刚入门的小伙伴进行学习! 泰坦尼克号轮船的…

香港BTC、ETH现货ETF同时通过,对行业意义几何?

香港比美国更快一步通过以太坊现货 ETF。 2024 年 4 月 15 日,香港嘉实国际资产管理有限公司(Harvest Global Investments)今天宣布,得到香港证监会的原则上批准,将推出两大数字资产(比特币及以太坊&#…

【网络通信】初探网络层次结构(OSI七层网络模型)

随着信息技术的飞速发展,网络通信已经成为现代社会不可或缺的一部分。网络通信的实现离不开网络协议栈的支持,而网络协议栈则是由多个层次组成的。这些层次各自承担着不同的任务,共同构成了网络通信的基石。本文将对网络通信中的各类层进行详…

视频批量剪辑新纪元:轻松调整音频采样率,一键实现高效视频处理!

视频剪辑已成为我们日常生活和工作中不可或缺的一部分。然而,面对大量的视频文件,如何高效地进行批量剪辑,同时又能轻松调整音频采样率,成为了许多视频制作人员、自媒体从业者、教育者和学生的共同需求。 第一步,进入…

rabbitmq集群配置

1,配置环境变量 MY_POD_NAME:当前Pod的名称 RABBITMQ_ERLANG_COOKIE:设置Erlang Cookie用于节点间通信安全验证,值来自/nfs/rabbitmq/lib/.erlang.cookie文件内容 RABBITMQ_NODENAME:根据Pod名称动态生成了RabbitMQ…

国产麒麟v10系统下打包electron+vue程序,报错unknown output format set

报错如下: 报错第一时间想到可能是代码配置原因报错,查看代码似乎感觉没啥问题 又查看具体报错原因可能是因为icon的原因报错,后面查阅发现ico在各系统平台会不兼容,也就是ico是给win下使用的,此处改下图标格式就ok&am…