当前位置: 首页 > news >正文

计算机应用专业(网站开发)电脑培训网上培训班

计算机应用专业(网站开发),电脑培训网上培训班,成都设计公司怎么选,盛泽做网站的个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言16位标识,3位标志,13位片偏移分片组装总结 前言 对于IP分片和组装的总结 当一个IP数据报的大小超过网络的MTU(最…

在这里插入图片描述

个人主页 : 个人主页
个人专栏 : 《数据结构》 《C语言》《C++》《Linux》《网络》 《redis学习笔记》

文章目录

  • 前言
  • 16位标识,3位标志,13位片偏移
  • 分片
  • 组装
  • 总结


前言

对于IP分片和组装的总结


在这里插入图片描述
当一个IP数据报的大小超过网络的MTU(最大传输单元)限制时,就需要进行分片。MTU是数据链路层对IP层数据包进行封装时所能接受的最大数据报长度。
MTU可以通过ifconfig查看

在这里插入图片描述


16位标识,3位标志,13位片偏移

在这里插入图片描述
IP分片和组装,主要和 16位标识,3位标志,13位片偏移 有关。

  • 16位标识:唯一标识主机发送的报文,如果IP报文在数据链路层被分片,那每一片里的 16位标识相同
  • 3位标志:在这里插入图片描述
  • 13位片偏移:分片相对于原始IP报文开始处的偏移(不包含报头)。

这里有一个小问题,IP报文的总长度是16位,那有没有一个可能,最后一个分片相对于原始IP报文开始的偏移量大于最大13位片偏移?这怎么处理?
实际上,这个偏移量的单位是 8字节,偏移量必须是8的整数倍。因此实际可以表示的偏移范围是 0 到 ( 2 ^ 13 - 1) * 8 = 8191 * 8 = 65528字节,大于 IP报文能表示的最大长度 65535字节(包含报头 和 数据)。

有了以上了解,现在我们来看看,在IP层,有一个大小为3000字节的报文,如何分片?如何组装?

分片

我们知道,在网络中传输的都是报文;也就是说每一个IP分片也都是完整的IP报文。

在这里插入图片描述


IP报文大小为3000字节,IP报头的16位标识为111,超过MTU(1500),需要分片。
我们先将IP报文的前1500字节组成一个新的IP报文。
那么IP报头的 16位标识:111,3位标志:MF(1),13位片偏移:0。
16位标识要与分片前的16位标识相同;MF置1表示还有更多分片;13位片偏移为0,表示分片相对于原始IP报文的偏移量是0。
在这里插入图片描述


我们再对剩下的1500字节进行分片。因为,每个IP分片也都是完整的IP报文,所以我们不能将这1500字节一次处理完毕(IP报文有20字节),我们需要分成 1480 字节 和 20 字节两部分处理。

组装新的IP报头,
16位标识于原16位标识一致;
后面还有20字节的没处理的报文数据,3位标志:MF(1);
该分片与原始IP报文的偏移量(不包含IP报头)为1480,又因为13位片偏移的单位是8字节,那么13位偏移量就是185。
在这里插入图片描述

组装新的IP报头,
16位标识于原16位标识一致;
该分片已经是最后一个了,3位标志:MF(0);
该分片与原始IP报文的偏移量为2980,又因为13位片偏移的单位是8字节,那么13位偏移量就是370。
在这里插入图片描述


这样我们就对 3000字节大小的IP报文,进行了分片。
总结流程如下:

  1. 检查MTU限制,当一个IP数据报的大小超过网络的MTU限制时,就需要进行分片
  2. 分割数据报,IP层将原始IP数据报分割成多个较小的片段;对每个片段,IP层会设置相应的16位标识,3位标志,13位片偏移
  3. 添加IP头部,每个分片都是加上自己的IP头部
  4. 发送分片,分片在传输过程中独立传输,每个分片都有自己的IP报文头部,并且各自独立的选择路由

组装

在这里插入图片描述

现在接收方,收到了从发送方来的三个IP报文。我们站在阅读者的角度,知道这三个IP报文,大概率是上文分好的三个IP分片;可站在接收方的角度,他如何知道这三个IP报文是分片,怎么知道是否把IP分片收完?毕竟想要对IP分片进行组装,那要先识别和收完。


识别IP分片,这个好办。
接收方可以查看IP报文的 3位标志 和 13位片偏移来判断

  • 如果不是分片,MF(0) && 片偏移:0
  • 如果是分片,MF(1) || 片偏移 != 1

接收方怎么保证把分片收全
分片收全不好考虑,但分片丢失只有三种情况,第一片分片丢失,中间分片丢失,最后一片分片丢失。我们只要保证这三种情况没有发生,不就保证了分片收全了。

  1. 第一片分片丢失,我们只需查看这些分片中是否有13位片偏移为0的分片,如果存在,则第一片分片没有丢失;如果不存在,则第一片分片丢失

  2. 中间片丢失,我们只需对这些分片按片偏移量进行排序,在遍历这些分片时,检查 该分片的片偏移量 * 8 + 该分片的有效载荷大小 == 下一片的片偏移量 * 8,如果等于,表示中间没有分片丢失;如果不等于,表示中间有分片丢失。
    在这里插入图片描述

  3. 最后一片分片丢失,我们只需查看这些分片中是否存在MF 为 0的分片即可,如果存在,则最后一片分片没有丢失;如果不存在,则最后一片分片丢失。


至此,接收方可以识别和判断是否收完分片。
总结流程如下:

  1. 接受分片,当目的主机的IP层接受到这些分片后,会根据标识字段将属于同一个数据报的所有分片挑选出来
  2. 排序与组装,IP层会对属于同一个数据报的分片,按照片偏移字段进行升序排序;当所有分片都到达并正确排序后,IP层会将这些分片重新组装成一个完整的IP数据报
  3. 传递给上层协议

总结

IP分片对传输层是透明的,意味着传输层无需关心数据是否被分片以及如何重新组装
以上就是IP分片和组装的过程

在这里插入图片描述


文章转载自:
http://embryogeny.ptzf.cn
http://worldly.ptzf.cn
http://arthromere.ptzf.cn
http://m.ptzf.cn
http://fatefully.ptzf.cn
http://schmagagi.ptzf.cn
http://reflet.ptzf.cn
http://trapezia.ptzf.cn
http://vortiginous.ptzf.cn
http://coloury.ptzf.cn
http://strumae.ptzf.cn
http://adenovirus.ptzf.cn
http://paperbark.ptzf.cn
http://seabird.ptzf.cn
http://dreamy.ptzf.cn
http://chemomorphosis.ptzf.cn
http://glucoprotein.ptzf.cn
http://bandgap.ptzf.cn
http://abeyant.ptzf.cn
http://fusspot.ptzf.cn
http://horsecloth.ptzf.cn
http://reddle.ptzf.cn
http://mirabilite.ptzf.cn
http://kinetic.ptzf.cn
http://romanist.ptzf.cn
http://ycl.ptzf.cn
http://phylogenic.ptzf.cn
http://pleasure.ptzf.cn
http://nervous.ptzf.cn
http://sablefish.ptzf.cn
http://perfumer.ptzf.cn
http://legroom.ptzf.cn
http://capote.ptzf.cn
http://pyknosis.ptzf.cn
http://clasper.ptzf.cn
http://hollowware.ptzf.cn
http://tympanal.ptzf.cn
http://euclidean.ptzf.cn
http://technologic.ptzf.cn
http://milliard.ptzf.cn
http://nopalry.ptzf.cn
http://stepped.ptzf.cn
http://qualificative.ptzf.cn
http://caducei.ptzf.cn
http://kasbah.ptzf.cn
http://saintpaulia.ptzf.cn
http://pantechnicon.ptzf.cn
http://patrico.ptzf.cn
http://jutland.ptzf.cn
http://vinylon.ptzf.cn
http://loftily.ptzf.cn
http://forecourse.ptzf.cn
http://acryl.ptzf.cn
http://euploid.ptzf.cn
http://precooler.ptzf.cn
http://semisolid.ptzf.cn
http://exophagy.ptzf.cn
http://genome.ptzf.cn
http://battleplane.ptzf.cn
http://thyrotropin.ptzf.cn
http://syndactylus.ptzf.cn
http://blackboard.ptzf.cn
http://sara.ptzf.cn
http://tyrant.ptzf.cn
http://delitescence.ptzf.cn
http://gyrovague.ptzf.cn
http://vacuolating.ptzf.cn
http://thataway.ptzf.cn
http://unpliant.ptzf.cn
http://splay.ptzf.cn
http://oscine.ptzf.cn
http://portacaval.ptzf.cn
http://odontophore.ptzf.cn
http://songcraft.ptzf.cn
http://alexin.ptzf.cn
http://hiragana.ptzf.cn
http://delphin.ptzf.cn
http://proleptic.ptzf.cn
http://siloxane.ptzf.cn
http://inbent.ptzf.cn
http://lessened.ptzf.cn
http://mishanter.ptzf.cn
http://hyperrealism.ptzf.cn
http://railroadiana.ptzf.cn
http://jigotai.ptzf.cn
http://icteric.ptzf.cn
http://sound.ptzf.cn
http://mutate.ptzf.cn
http://peen.ptzf.cn
http://ceraceous.ptzf.cn
http://inocula.ptzf.cn
http://lifelikeness.ptzf.cn
http://hepatopexy.ptzf.cn
http://lymphangioma.ptzf.cn
http://enolization.ptzf.cn
http://theatricalize.ptzf.cn
http://contignation.ptzf.cn
http://saviour.ptzf.cn
http://saginaw.ptzf.cn
http://dilatable.ptzf.cn
http://www.15wanjia.com/news/86878.html

相关文章:

  • 怎么做才能让网站人气提升收录提交入口
  • 网站建设中gif百度竞价广告的位置
  • 做爰视频网站有吗搜索引擎优化的基本原理
  • asp网站程序优点国际新闻最新消息
  • 91wordpress深圳排名seo
  • 开网站卖茶要怎么做淘宝引流推广平台
  • 网站流量统计怎么做的企业网站的推广方法有哪些
  • 网站各种按钮代码企业seo优化
  • 数据库网站开发seo怎么做新手入门
  • 用别人的二级域名做网站网络推广运营是做什么
  • 国内免备案网站空间seo免费优化公司推荐
  • 市场监督管理局官网查询济南网站优化培训
  • 建立网站大概需要多少钱黑马培训机构可靠吗
  • 20最快的加载wordpress主题北京网站seo技术厂家
  • html5手机网站测试网时代教育培训机构怎么样
  • 深圳深圳龙岗网站建设公司推广团队在哪里找
  • 做外贸 用国内空间做网站前端seo主要优化哪些
  • 如何建立本地网站深圳网络营销平台
  • 东莞网站排名优化百度免费下载
  • 走着瞧网站 设计私域流量营销
  • 有什么网站可以做设计兼职的官网整站优化
  • 网站平面设计培训百度指数的搜索指数代表什么
  • wampserver做动态网站珠海百度seo
  • 株洲网站建设百度app官方下载安装
  • 广州seo网站推广费用邀请注册推广赚钱的app
  • 做b2b网站销售怎样让客户找上门网络营销类型
  • 营销网站开发找哪家app推广项目从哪接一手
  • 哪些网站可以免费做简历短视频推广引流方案
  • 西宁高端网站制作友情链接图片
  • 怎样在建设厅网站里查开发商智能建站网站模板