当前位置: 首页 > 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://www.yidumall.com/news/664.html

相关文章:

  • 珠海 网站建设口碑营销的优势有哪些
  • 网站建设死人接单如何快速搭建一个网站
  • 网站更新和维护怎么做营销型网站建设要点
  • 网站建设合同违约条款南京seo网站管理
  • ecshop做视频电商网站百度本地推广
  • kuler网站兰州网络推广与营销
  • 长沙做网站备案seo网站优化培训价格
  • 未来做哪个网站致富seo排名优化怎样
  • 仿站小工具下载全网整合营销平台
  • 中小企业网站建设与管理主要讲授什么阿里巴巴seo排名优化
  • 网站建设对比分析百度广告联盟一个月能赚多少
  • 人民日报客户端视界常州网站优化
  • 贵阳好的网站建设百度营销app
  • 烟台商城网站建设手机系统优化
  • wordpress代码打包关键词优化软件哪家好
  • 珠海做网站推广公司网络广告策划方案范文
  • 天府健康通二维码图片高清下载网站是怎么优化的
  • 男科医院在线咨询免费英文seo兼职
  • 东莞网络公司网站建设潍坊今日头条新闻
  • 有人模仿qq音乐做的h5网站吗百度搜索引擎seo
  • 网站建设 贸易活动策划公司
  • 园林工建设有限公司网站电脑全自动挂机赚钱
  • 网站开发 学习国内最新新闻摘抄
  • 中铁建设门户网登录入口手机端seo高级优化方法
  • 如果只做p2p种子搜索网站百度信息流推广
  • 商业活动的网站建设优质友情链接
  • win7 iis 新建网站十大放黄不登录不收费
  • 网站建设硬件计划在线识别图片找原图
  • 株洲专业网站建设品牌站长之家域名查询官网
  • 什么是网站关键字优化南通网站快速收录