IP分片:

  当IP数据报的长度超过帧的MTU时,它将被分片传输。分片可能发生在发送端,也可能发送在中转路由器上,而且可能在传输过程中被多次分片,但只有在最终的目标机器上,这些分片才会被内核中的IP模块重新组装。
  IP的分片和重组需要的信息由头部的三个字段提供:16位数据报标识、3位标志、13位偏移。一个IP数据报的每个分片都具有自己的IP头部,他们具有相同的标识值,但具有不同的片偏移。并且除了最后一个分片外,其他分片都将设置MF标志。此外,每个分片的IP头部的总长度字段将被设置为该分片的长度。
  以太网帧的MTU是1500字节,因此他携带的IP数据报的数据部分最多是1480字节(因为头部占了20字节)。

举例

  考虑现在用IP数据报封装一个长度位1481字节的ICMP报文(考虑到ICMP的8字节的头部,得到其数据部分长度为1473字节),则该数据报在使用以太网帧传输时必须被分片。

  第二个IP分片不包含ICMP头部信息,因为IP模块重组该ICMP报文的时候只需要一份ICMP头部信息,重复传送这个信息没有益处。1473字节的ICMP报文数据的前1472字节被IP模块复制到第一个IP分片中,使其总长度为1500字节,从而满足MTU的要求,而多出来的最后一个字节被复制到第二个IP分片中。
  此时第一个IP数据报片偏移为0,第二个IP数据报中的片偏移为1472/8=184。

IP协议详解之IP分片相关推荐

  1. IP协议详解【IP报文头部结构、IP分片、IP路由、IP转发】

    目录 IP协议:全称:Internet Protocol(网际互连协议) IP协议的特点: IP头部结构: IP分片: IP路由: IP转发: IP协议:全称:Internet Protocol(网际 ...

  2. IP协议详解(IP协议格式、IP地址管理、路由转发)

    目录 1. IP协议格式 2. IP地址管理 2.1 早期地址管理方式 2.2 CIDR方式 3. 网络层的路由转发 1. IP协议格式 如图: 4位版本:标识当前是ipv4协议. 4位首部长度:和T ...

  3. IP协议详解(ip头部,ip分片,ip路由选择)

    IP协议是TCP/IP协议族中至关重要的协议,同时也是socker网络编程的基础之一.其中最重要的部分为 (1)ip头部信息:ip头部信息出现在每个ip报文数据报中,用于指定ip通信的远端ip地址,目 ...

  4. 网络层:IP协议详解(IP协议真的得看这篇)

    1.IP协议概念 IP(Internet Protocol , 互联网协议)主要用于互联网通信.IP协议用于将多个包交换网络连接起来,他在原地址和目的地址之间传输数据报,还提供对数据大小的重新组装功能 ...

  5. IP协议详解及IPv4与IPv6协议的区别

    IP协议是在TCP/IP协议模型中的重要组成部分,目前我们使用最多的是IPv4协议,IPv6协议的用户量也在慢慢增加,苹果在几年之前就已经开始支持IPv6协议了.我们先来了解一下IPv4和IPv6协议 ...

  6. TCP/IP协议详解、TCP三次握手

    TCP/IP协议详解:TCP/IP协议详解_王佳斌-CSDN博客_tcp/ip协议认识HTTP协议它是互联网协议(Internet Protocol Suite),一个网络通信模型,是互联网的一个基本 ...

  7. 《TCP IP协议 详解》思考总结 · 三

    前言 这一篇文章主要围绕了IP协议,ICMP协议和UDP协议展开,希望可以在这里大概做一个总结,将<TCP/IP协议详解 卷一>书中TCP相关章节前面的内容做一个结束,在下一篇文章专心的去 ...

  8. TCP /IP协议详解【转】

    转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...

  9. TCP/IP协议详解---概述

    工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本书,希望 ...

最新文章

  1. 数据同步 rsync+notify架构
  2. 极客无极限 一行HTML5代码引发的创意大爆炸
  3. 【Dexclassloader】学习
  4. 视觉中国网站部分恢复上线? 官方回应:并没有
  5. 【转】vc6.0配置STLPort
  6. Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 elasticsearch 搜索引擎
  7. Ubuntu 下使用为知笔记(WizNote)Linux 客户端
  8. python为什么叫胶水语言-为什么称python为胶水语言
  9. pythonos文件目录方法_PythonOS 文件目录方法
  10. 人生之路1.20代码 第二部分
  11. 谷歌李开复 我的传奇人生源于十句箴言
  12. 如何编写一个投票功能的智能合约
  13. 公众号第三方平台开发 教程五 代公众号处理消息和事件
  14. windows域名解析服务器地址,Win10打开提示无法解析服务器DNS如何解决
  15. Qt显示当前时间(年-月-日 时:分:秒 周几)
  16. 远程计算机或设备将不接受连接,IE无法上网
  17. 中国人工智能学会公布首批会士名单,共计53名产业领军人物当选
  18. 免费银行卡验证API接口
  19. 推荐几个不错的DOTNET控件网址
  20. Go语言生命游戏 GameofLife GOL

热门文章

  1. MFC使用Create函数创建对话框失败,new出来的对话框内存泄漏
  2. jdk1.8 Switch 不能使用 String类型
  3. 在百度AI快车道的技术大佬“偷师学艺”,南京的“手艺人”都报名了!
  4. 华为OD机试(2023.5新题) 分苹果(java,py,c++,js)
  5. java hook 和反射_反射基本概念与Class(四):Hook技术动态编程
  6. JS面试题--DOM操作相关
  7. BLADE:专注的“老虎”
  8. TouchDesigner案例(三)萤火虫
  9. Ceph集群报错解决方案笔记
  10. 6-1 插入排序 (10分) C语言