IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> IP数据报的格式以及分片细节 -> 正文阅读

[网络协议]IP数据报的格式以及分片细节

IPv4网络数据报格式

  • 版本号(4bit):规定了数据报的IP协议版本。通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分。
  • 首部长度(4bit): 因为一个IPv4数据报可包含一些可变数量的选项(这写选项包括在IPV4数据报首部中),故需要用这4bit来确定IP数据报中载荷(例如在这个数据报中被封装的运输层文段)实际开始的地方。
  • 服务类型TQS(区分服务)8bit:使不同类型的IP数据包能相互区别开来
  • 总长度(16bit):IP数据报的总长度(首部+数据载荷),最大长度为65535字节。
  • 标识、标志、片位移:与IP分片有关。IPV6不允许分片
    • 标识:16bit,属于同一个数据报的各个分片数据报应该具有相同的标识,IP软件维持一个计数器,每产生一个数据报,计时器值加1,并将此值赋给标识字段。
    • 标志字段:3bit
      • DF位:1表示不允许分片,0表示允许分片
      • MF位:1表示后面还有分片,0表示是最后一个分片,后面没有分片
      • 保留位:必须设置为0
    • 片偏移:13bit,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少单位(8个字节为单位)
  • 生存时间(TTL):用来确保数据报不会永远在网络中循环。每当一台路由器处理数据报时,该字段的值减一。如果TTL变为了0,则该数据报必须丢弃。
  • 协议:用于指示IP数据报的数据部分应交给哪个特定的运输层协议。该字段通常仅当一个IP数据报到达其最终目的地时才会有用--例如:值为6表明数据部分交给TCP,数值为17表明交给UDP
  • 首部校验和:用于帮助路由器检测收到的IP数据报中的比特错误。
  • 源IP和目的IP:用来表示起始和目的地
  • 可选字段(1-40个byte):允许IP首部被扩展,很少被使用
  • 填充字段:确保IP数据报的长度为4的整数倍。

IPv4数据报分片

因为并不是所有的链路层协议都能承载相同长度的网络层分组。有的协议可以承载大数据报,而有的协议只能承载小分组(MTU,最大传送单元)。

方法:可以将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后通过输出链路发送这些帧,这些较小的数据报都称为片。

当一台目的主机从相同源收到一系列数据报时,它需要确定这些数据报中的某些片是否是一些原来较大的数据报的片。如果某些数据报是这些片的话,则它必须进一步确定何时收到了最后一片,并且如何将这些接收到的片以形成初始的数据报。

方法:当生成一个数据报时,发送主机在为该数据报设置源和目的地址的同时贴上标签号。发送主机通常会将它发送的每个数据报的标识号+1。当某路由器需要对一个数据报分片时,形成的每个片具有初始数据报的源地址、目的地址和标识号。为了让目的主机绝对地相信它已收到了初始数据报的最后一片,最后一片的标志比特被设为0。另外,为了让目的主机确定是否丢失了一个片(且能按正确的顺序重新组成片,使用偏移字段指定该片应放在初始IP数据报的哪个位置)

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:32:18  更:2022-03-06 13:33:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:23:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码