首页 > 其他分享 >IP层会分片,为什么TCP层还需要MSS?

IP层会分片,为什么TCP层还需要MSS?

时间:2023-04-16 10:07:08浏览次数:29  
标签:重传 IP 报文 MSS TCP 分片


  • MTU:一个网络包的最大长度,以太网一般为1500字节
  • MSS:除去IP和TCP头部之后,一个网络包所能容纳的TCP数据的最大长度

    如果一个IP分片丢失,整个IP报文的所有分片都得重传。
    IP层进行分片传输没有效率:IP层没有超时重传机制,由传输层的TCP来负责超时和重传,当某个IP分片丢失后,接收方的IP层无法组装成一个完整的TCP报文,也就无法将数据报文送到TCP层,所以接收方不会响应ACK给发送方,因为发送方迟迟收不到ACK确认报文,所以会触发超时重传机制,就会重发。
    为了达到最佳的传输效能,TCP协议建立连接的时候通常要协商双方的MSS值,当TCP层发现数据超过MSS时就会进行分片,当然由它形成的IP包的长度也就不会大于MTU,自然也就不用IP分片了。



标签:重传,IP,报文,MSS,TCP,分片
From: https://blog.51cto.com/u_15911055/6193303

相关文章

  • 为什么每次建立TCP连接时初始化的序列号都要求不一样
    为了防止历史报文被下一个相同的四元组的连接接受假设每次建立连接。客户端和服务端的初始化序列号都是从0开始的客户端和服务端建立了一个TCP连接,在客户端发送数据包被网络阻塞了然后超时重传了这个数据包,而此时服务端断电重启,之前与客户端建立的连接也消失了,于是收到客户端的数......
  • JavaScript运算符与表达式
    目录一、===二、||三、??与?.???.四、...五、[]{}[]{}一、===严格相等运算符,用作逻辑判断1==1 //返回true1=='1' //返回true,会先将右侧的字符串转为数字,再做比较1==='1' //返回false,类型不等,直接返回falsetypeof查看某个值的类型typeof1 //返回'number'ty......
  • JavaScript中 处理异步的几种方法
    1.回调函数回调(callback)是一个函数被作为一个参数传递到另一个函数里,在那个函数执行完后再执行。假定有两个函数f1和f2,f2等待f1的执行结果,f1()–>f2();如果f1很耗时,可以改写f1,把f2(箭头函数)写成f1的回调函数:functionf1(callback){setTimeout(()=>{letname='小明'......
  • javascript基础练习
     本练习根据w3cschool:https://www.w3cschool.cn/javascript/javascript-conventions.html 1.javascript简介1.1JavaScript是脚本语言JavaScript是一种轻量级的编程语言。JavaScript是可插入HTML页面的编程代码。JavaScript插入HTML页面后,可由......
  • 华为datacom-HCIP学习
    什么是Datacom认证?Datacom,即DatacomCommunication的缩写,中文为“数据通信”,属于ICT技术架构认证类别(华为认证包含ICT技术架构认证、平台与服务认证和行业ICT认证三类认证)。作为Routing&Switching认证的升级版,Datacom认证已于2020年4月18日正式发布,后续将替代Routing&Switc......
  • MsSql 根据表名和条件,生成Insert语句
    ALTERproc[dbo].[proc_insert](@tablenamevarchar(256),@wherevarchar(max))asbeginsetnocountondeclare@sqlstrvarchar(MAX)declare@sqlstr1varchar(MAX)declare@sqlstr2varchar(MAX)select@sqlstr='select''INSERT'+@tablename......
  • vivado ILA ip核使用
    新建ip核心ip核设置调用ip核根据模板在.v文件中调用ILAip核......
  • windows pip问题解决(working)
    当pip无法起效时,尝试python-mpippython-mpip会使用您指定为python的Python解释器来执行pip。因此,/usr/bin/python3.7-mpip表示您正在执行位于/usr/bin/python3.7的解释器的pip。如果您不熟悉这个标志以及它是如何工作的,您可以阅读有关-m的文档......
  • TypeScript type 关键字和 interface 关键字
    前言type和interface都可以声明TS类型。typePoint1={x:number;y:number;};interfacePoint2{x:number;y:number;};它们两个声明这个对象类型有任何区别吗?很明显没有,我认为最能区分它们两个的标志是,type有一个=赋值等号。typetype可以做类......
  • 国内git/pip加速镜像
    一、下载加速1.  gitclone https://ghproxy.com/https://github.com/stilleshan/ServerStatus2. 在原来链接的com后面添加 .cnpmjs.org/ 二、pip换源2.1国内源地址阿里云http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simp......