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

一、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.mzph.cn/pingmian/1836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

grafana安装篇(1)

目录 grafana概念: 它具有以下主要特点: Grafana 常用于以下场景: 环境介绍: 前置环境: (1)保证可以连接外网 (2)防火墙和selinux已关闭 1.下载安装grafana10.0.1-1rpm包 2.启动grafana 3.浏览器访问 3.设置…

实验2 NFS部署和配置

一、实训目的 1.了解NFS基本概念 2.实现NFS的配置和部署 二、实训准备 1.准备一台能够安装OpenStack的实验用计算机,建议使用VMware虚拟机。 2.该计算机应安装CentOS 7,建议采用CentOS 7.8版本。 3.准备两台虚拟机机(客户机和服务器机&…

Linux CPU 占用率 100% 排查

其他层面要考虑到的地方 mysql,有执行时间特别长的sql、死锁redis雪崩等相关问题并发导出数据量大Java定时器服务业务复杂,比如像每天要更新电商的统计表,每天发送优惠券等业务需要提前计算才能保证业务使用时的流畅性,我这个原因…

leetcode最大间距(桶排序+Python)

虽然直接排完序,再求最大差值更快,这里我们还是学一下桶排序。 桶排序主要维护一个bucket,初始bucket【i】 0,遍历nums,当i存在时,令bucket【i】 1,表示存在。遍历完nums,bucket中有…

DiT解读:当Diffusion遇上Transformer

前置知识 ViT Vision Transformer是一种基于Transformer架构的深度学习模型,专门用于处理计算机视觉任务。他的1出现给以往CNN base的图像工作带来了很多新的可能性 ViT的核心思想是将图像分割成均匀的图像块,然后将这些图像块转换为序列,…

【LAMMPS学习】八、基础知识(3.8)计算扩散系数

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

4.点云数据的配准

1.点云配准ICP(Iterative Closest Point)算法 点云配准的原理及ICP(Iterative Closest Point)算法原理参照博客【PCL】—— 点云配准ICP(Iterative Closest Point)算法_icp点云配准-CSDN博客。 (1)点云配准原理:三维扫描仪设备对目标物体一…

Learn ComputeShader 02 Multiple kernels

前面已经成功创建了第一个compute shader,并且使用它替换掉quad的材质的纹理,现在我们将要在计算着色器中创建多个kernel。 首先调整上次的计算着色器,让它显示为红色。 然后再次创建一个kernel,显示为黄色。 结果应该是这样的…

mysql基础2——字段类型

整数类型 需要考虑存储空间和可靠性的平衡 浮点类型 浮点数类型不精准 将十进制数转换为二进制数存储 浮点数类型:float double real(默认是,double ) 如果需要将real设定为float ,那么通过以下语句实现 set sql_mode "real_as…

52 文本预处理【动手学深度学习v2】

将文本作为字符串加载到内存中。 将字符串拆分为词元(如单词和字符)。 建立一个词表,将拆分的词元映射到数字索引;将文本转换为数字索引序列,方便模型操作。

我在本地部署通义千问Qwen1.5大模型,并实现简单的对话和RAG

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

WordPress 告别 MySQL:Docker SQLite WordPress

本篇文章聊聊,如何将这个持续诞生和维护了 21 年的开源软件“脱离数据库”运行,让它能够更加轻量、适合低成本离线运行。 写在前面 2003 年,Michel Valdrighi 基于 b2/cafelog 创建了开源软件 WordPress,并在 GPL 协议下发布。 …

(一)Java EE企业级应用开发实战之Servlet教程——JDK安装

首先打开清华大学开源软件镜像站,清华大学开源镜像网站地址为: https://mirrors.tuna.tsinghua.edu.cn/ 打开该地址后的界面显示如下图所示 找到8版本对应的SDK安装包,我现在用的开发机器是Windows,所以我找的是Windows对应的版本…

[柏鹭杯 2021]试试大数据分解?

题目:(NSSCTF | 在线CTF平台) 题目就是如此,我没看到有5个不同的文本,其中最后一个文本以pem后缀,所以我们先来了解一下什么是pem格式。 PEM 格式 PEM格式通常用于数字证书认证机构(Certifica…

EelasticSearch的介绍和基于docker安装

1.概述 Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。它专为云计算环境设计,提供了一个分布式的、高可用的实时分析和搜索平台。Elasticsearch 可以处理大量数据,并且具备横向扩展能力,能够通过增加更多的硬…

AES和RSA加解密算法学习笔记(实战版)

1. 写在前面 今天整理一篇有关密码学的学习笔记,原因是最近做的一个任务是在网络传输的时候,需要对传输的包进行加密和解密工作,以保证传输过程的安全性。所以,这个过程用到了AES和RSA两个算法。 场景:假设我要给我的老师传送毕设代码和论文, 我已经把代码和论文打成了一…

VSCode 配置 C/C++ 环境

1 安装 VSCode 直接去官网(https://code.visualstudio.com/)下载并安装即可。 2 配置C/C编译环境 方案一 如果是在Windows,需要安装 MingW,可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。 注意安装路径不要出现中文。 打开 w…

Ubuntu-18.04本地化部署Rustdesk服务器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、配置防火墙二、安装三大件1.下载三大件2.安装三大件 三、安装客户端1.下载客户端1.Windows2.Linux 四、配置客户端连接服务器五、总结 前言 如果你是想数据…

JEECG表格选中状态怎么去掉

官网代码(在取消选中状态的时候不生效) rowSelection() {return {onChange: (selectedRowKeys, selectedRows) > {console.log(selectedRowKeys: ${selectedRowKeys}, selectedRows: , selectedRows);},getCheckboxProps: record > ({props: {disa…

数据结构系列-堆排序

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 昨天我们实现的堆的搭建,我们今天实现以下堆的排序, 堆的排序的最大的优点就是提高的效率,减小了时间复杂度,在这个里面我们有一个…