首页 > 其他分享 >tcp介绍.4

tcp介绍.4

时间:2024-08-14 23:51:09浏览次数:6  
标签:定时器 重传 ack 报文 介绍 算法 tcp

快速重传和快速恢复算法

快速重传算法:如果一连串收到3个或3个以上的重复ack,就非常可能是一个报文段丢失了,于是我们就重传丢失的数据报文段,而无需等待超时定时器溢出。

快速恢复算法:快速重传后执行的不是慢启动算法而是拥塞避免算法

icmp的差错

tcp能够遇到的最常见的icmp差错就是源站抑制,主机不可达和网络不可达。

较新的tcp实现在路由表项中维持许多我们在前面已经介绍过的指标,当一个tcp链接关闭时,如果已经发送了足够多的数据来获得有意义统计资料,且目的结点的路由表项不是一个默认的表项,那么下列信息就保存在路由表项中以备下次使用,被平滑的rtt,被平滑的均值偏差以及慢启动门限,所谓,足够多的数据是指16个窗口的数据,这样就可得到16个rtt采样,从而使平滑的trr过滤能够集中在正确结果的5%以内。

icmp差错

tcp的重新分组

当tcp超时并重传时,它不一定要重传同样的报文段,相反,tcp允许进行重新分组而发送一个较大的报文段,这将有助于提高性能(当然,这个较大的报文段不能够超过接收方声明的mss),在协议中这是允许的,因为tcp是使用字节序号而不是报文段序号来进行识别它所要发送的数据和进行确认。

3.tcp坚持定时器

ack的传输并不可靠,也就是说,tcp不对ack报文进行确认,tcp只确认哪些包含有数据的ack报文段。

4.tcp的包活定时器

如果tcp连接的双方都没有向对方发送数据,则在两个tcp模块之间不交换任何信息。

开启路由器keeplive功能

service tcp-keepalives-in/out

rfc提供了3个不适用包活定时器的理由

1.在出现短暂差错的情况下,这可能会使一个非常好的连接释放掉

2.他们耗费不必要的带宽

3.在按分组计费的情况下会在互联网上花掉更多的钱,并且,许多实现提供了包活定时器。

标签:定时器,重传,ack,报文,介绍,算法,tcp
From: https://www.cnblogs.com/smoke520/p/18359996

相关文章

  • 推荐系统三十六式学习笔记:工程篇.效果保证31|推荐系统的测试方法及常用指标介绍
    目录为什么要关注指标推荐系统的测试方法1.业务规则扫描2.离线模拟测试3.在线对比测试4.用户访谈常用指标1.系统有多好?假设你已经有了自己的推荐系统,这个系统已经上线。为什么要关注指标面对推荐系统这样一个有诸多复杂因素联动起作用的系统,要时时刻刻知道它好不......
  • 【网编】——tcp编程
    tcp流程服务器 头文件:#include<sys/types.h>     /*SeeNOTES*/#include<sys/socket.h>#include<errno.h>#include<stdio.h>#include<netinet/in.h>#include<netinet/ip.h>/*supersetofprevious*/#include<arp......
  • 一篇文章带你弄懂Python基础之列表介绍和循环遍历
    大家好,我是Go进阶者,今天给大家分享一些Python基础(列表基础和循环遍历介绍),一起来看看吧~一、列表介绍想一想:字符串可以用来存储一串信息,那么想一想,怎样存储所有同学的名字呢?定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗?答:列表。1.列表的格式namesList=[......
  • 7.接口文档,JWT介绍
    【一】接口文档1)公司使用使用world编写MD共享文档第三方平台:如:https://www.showdoc.com.cn/公司自研2)主要内容如下说明变更记录全局错误相关接口简要描述请求URL请求方式参数返回示例返回参数说明备注3)字段生成(coreapi使用)安装pipinstal......
  • OpenGL 之EGL API 介绍
    EGL介绍EGL是OpenGLES和底层Native平台视窗系统之间的接口。OpenGLES本质上是一个图形渲染管线的状态机,而EGL则是用于监控这些状态以及维护Framebuffer和其他渲染Surface的外部层。EGL提供如下机制:与设备的原生窗口系统通信查询绘图表面的可用类型和配置创......
  • 使用TcpDump 和 Wireshark 分析数据库异常
    MySQL:5.7.19OS:rhel6.3jdbc:mysql-connector-java-5.1.45.jarjava:17.0.7问题:MySQL数据库在修改character_set_server和表的对应字段为utf8mb4后,任然无法插入emoji表情1.抓包1、登陆MySQL服务器,确定实际使用的网卡;2、执行tcpdump-s65535-x-nn-......
  • TCP三次握手和四次挥手
    TCP三次握手和四次挥手详解在网络通信中,TCP(传输控制协议)是一个非常重要的协议,用于确保数据在不可靠的网络环境中能够可靠传输。TCP通过三次握手(Three-wayHandshake)建立连接,通过四次挥手(Four-wayTermination)终止连接。一、TCP三次握手TCP的三次握手用于确保客户端和服务器之......
  • python之numpy(1 安装及基本介绍)
    numpy介绍numpy是Python中的一个非常流行的库,它提供了大量的数学函数工具,特别是针对数组和矩阵的操作。numpy的全称是NumericalPython,它极大地简化了数组和矩阵的运算,使得Python成为进行科学计算的一个强大工具。安装numpy要安装numpy,需在终端(win+r---->cmd)提示符下执......
  • LoadRunner常用函数介绍
    内置函数和Jmeter差不多,Jmeter更火,更好百度,毕竟开源,用的人多,所以有些函数如果不太懂用法,可以百度Jmeter作为参考来使用LR。 大家使用中应用函数不会的话留言就行,我开始用的时候反正不懂,不明白怎么使用,怎么应用,有和我一样的童鞋可交流脚本中常用函数事务组lr_start_transac......
  • LoadRunner内置参数介绍
    参数菜单我用的是2023版本,每个版本的位置不一样,通常差不多,2种方式进入参数菜单菜单栏进入参数点击设计-参数-参数列表脚本右键进入参数选中你要参数化的内容,右键:使用参数替换-参数列表参数列表左侧为参数的列表(NewParam为参数名,可自定义),右侧为参数的设置参数......