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 数据报的格式以及分片

IP 数据报的格式


一个 IP 数据报由首部和数据两部分组成。

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。(可有可无)

IP协议主要是将包从源地址发往目标地址,里面最重要的就是源地址和目标地址,源和目的地址各占4个字节。

版本4比特,用来指定是IPV4还是IPV6。

?这个字段占8比特,作用是给数据包加上标记,在路由器那边带有标记的优先转发,这能够确保某种应用的流量带宽有保障。

占用两个字节,总长度是指首部加数据部分,数据包最大的长度为65535个字节。网卡通常有个最大传输单元MTU,最大的传输单元是1500个字节,也就是网卡能够接收数据包的大小为1500个字节,网卡就需要分片了,每个分片都得加上网络层的地址,接收端收到这些片的时候还得准装成包。

它怎么知道组装成一个包呢,这里面就有标识。

一个数据包分片之后标识都是一样的,接收端看到几个分片的标识都一样,那么怎么正确的拼接呢,这就需要片片偏移了。

?片偏移用来指明这个片的第一个字节是整个片的第多少个字节。接收端收到之后就会将片按照片偏移组装成一个包。

片标志位为1,那么代表后面还有分片,为0代表后面没有分片。

IP 数据报分片


一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。

因固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。

于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。

原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。

?分片的时候首部都复制,然后算偏移,修改里面的字段,8字节为1个单位。

可以看到分片的标识都是一样的,MF 1 代表分片后面还有分片。分片过后总长度也会发生了改变。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:35:21  更:2022-03-17 22:37:04 
 
开发: 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 5:38:52-

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