IP分片与TCP分包

news/2024/11/17 16:24:50/

  TCP/IP 协议栈中定义了MSS, 为的是提高网络的性能,因为如果让IP层分包的话,丢包后的重发没法控制,需要重传整个TCP包(浪费了网络资源)。

  MSS就是这个协商的结果,不能人为修改,这个MSS的大小是MTU减去TCP头,从TCPDUMP结果中我们可以看到我们的TCP协商的MSS都在1.3~1.4K

  所以一定需要我们自己来重新组装TCP包的 (发送一个分拆的TCP包对方收到也是一个分拆的TCP包,如果看底层还要复杂一些)。

  为了减少这种情况我们可以禁止NAGLE算法,设置一个TCP_NODELAY,但是只能说这个也只能减缓这个问题,因为其一,这个根本解决不了问题,其二,底层的SK_BUFF还是可能链接在一起的(发送速度不是无限的)。

  或者就是用UDP包,因为UDP是用IP层来分包的,所以对于UDP层来说发一个大包,收到就是一个大包,但是IP层丢了包也不管,这样就需要应用层多一点校验,不过现在网络UDP丢包率已经很低了,所以也不是不可以考虑。

区别:

  • 1.IP分片产生的原因是网络层的MTU;TCP分包产生原因是MSS.
  • 2.IP分片由网络层完成,也在网络层进行重组;TCP分包是在传输层完成,并在传输层进行重组.
  • 3.对于以太网,MSS为1460字节,而MUT往往会大于MSS,1500.

  故采用TCP协议进行数据传输,是不会造成IP分片的。若数据过大,只会在传输层进行数据分包,到了IP层就不用分片。

  而我们常提到的IP分片是由于UDP传输协议造成的,因为UDP传输协议并未限定传输数据报的大小。


http://www.ppmy.cn/news/744436.html

相关文章

【设计模式】第九章:外观模式(门面模式)详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章:单例模式 【设计模式】第二章:工厂模式 【设计模式】第三章:建造者模式 【设计模式】第四章:原型模式 【设计模式】第五章:适配器模式 【设计模式】第六章&…

闲谈IPv6-IPv6的分片(IPv6 Fragment)

从去年9月初以来,我把做实验写博客写代码的时间放在了晚上,但是现在,晚上要早睡觉,白天要被指使着干这干那,感觉还是周六的凌晨更是自己的时间。 本文最后,夹杂着一则关于 “皮鞋为什么比布鞋落后&#xf…

判断一个key在redis集群的哪一个节点(分片)

redis的集群模式下去需要确定一个key在哪个节点上的话,简单粗暴的就是一个个节点找过去。但是这样明显是费时费力的。 其实可以直接确定这个key在redis的哪个节点上,然后直接去这个节点找这个key就可以了. 1-先查看集群的几个节点的分片范围情况 ./re…

AI“看片儿”比人快,鉴黄师却说不靠谱?

本文转载自钛媒体 一直以来,“鉴黄师”被认为是一种神秘且高薪的职业,很多普通人都对这个职业充满了好奇,甚至有人想做个兼职,以为轻轻松松就能赚钱,但这个职业真的是“钱多事少”吗? 事实上,…

从Wireshark抓包来看IP分片

文件来自于前几天CyBRICS 2021中的lx100题目,因为做题时候被IP分片坑到了,发现自己对于网络这一块的知识掌握的并不好,所以写一篇文章来理一下。为了省事就直接用比赛的pcap文件做样例了:点击。 从Wireshark抓包来看IP分片 UDP/…

卧槽!这 TM 才是真正的老司机看片神器!!!

今天给大家介绍一款特别的看剧网站,这个奈飞星网站可以直接免费观看Netflix上的资源。 这个网站,所有的资源都是超清画质,可以说这个网站是观看画质最高清的一个网站了。 至于电影的加载速度,在正常网络环境下,非常流畅…

了解和搭建zabbix 6.0(来日方长)

前言: 作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有…

[RapidVideOCR周边] RapidVideOCR初级教程(界面版 下载解压即可使用)

引言 考虑到提取视频字幕的小伙伴大多不是程序员行当,为了降低使用门槛,特此推出界面版的RapidVideOCR Desktop.RapidVideOCR Desktop需要搭配VideoSubFinder使用。它们两个关系如下图所示: #mermaid-svg-keuknVOG1YkfjOkw {font-family:&qu…