IP数据报分片问题
为什么要分片?
很多时候,由于单个数据太大,超过了MTU的限定值,就要对数据包进行分组,即切割并分别发送。
我们要解决以下几个问题:
1.顺序问题。接收方可以按照原来的顺序重组这些分片,并能知道这些分片的开始和结束位置。
2.同一分组标示。不能将数据包与其他分组混淆。
分片过程
首先,我们来了解一下ip数据包头
其中:
标识符(16位):用来标示同一分组。不同分组分别进行分片
标记(3位):第1位不用。
第2位:若置1则表示不能对此分组进行分片,否则置0。
第3位:MF标志位,若分片,则除了最后一个分片,其他分片的这一位置1。
分片偏移(13位):此分片在原数据的起始位置÷8,用于组装分片。
读者可以参考《TCP/IP路由技术》第一卷,里边讲得非常详细。
IP数据报分片问题的更多相关文章
- IP报文分片
1. 最大传输单元(Maximum Transmission Unit,MTU). 以太网帧中的数据长度规定最小46 字节,最大1500 字节,MTU 指数据帧中有效载荷的最大长度,不包括帧首部的长度 ...
- TCP/IP具体解释--TCP的分段和IP的分片
写在前面: 分组能够发生在运输层和网络层.运输层中的TCP会分段,网络层中的IP会分片.IP层的分片很多其它的是为运输层的UDP服务的,因为TCP自己会避免IP的分片,所以使用TCP传输在IP层都不会 ...
- IP 数据报
IP 数据报 1.IP 数据报的格式 一个 IP 数据报由首部和数据两部分组成.(数据报也可以说是数据包) 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的. 在首部的固定部分 ...
- IP数据报中如果不分片,分片标志值是什么?
过了好久才解决这个简单的问题,罪过罪过- 答案:如果IP数据报不分片,分片标志DF(Don't Fragment)会被设置为1.分片标志MF(More Fragment)设置为0. 下面是详细解释: ...
- IP数据报首部解析
IP数据报首部的格式,普通20字节. 4位版本号:当前4--IPv4. 4首部长度:首部长度 8位服务类型TOS: 3bits(优先权)+ 4bits(类型--最小延迟+最大吞吐量+最高可靠性+最小费 ...
- 计算机网络(3)-----IP数据报格式
IP数据报(IP Datagram) 格式 解析 (1)版本 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致.目前广泛使用的IP协议版本号为4(即IPv4). (2)首部长度 占4位,可 ...
- IP数据报的格式
1. IP数据报首部的固定部分中的各字段 ①版本:占4位,指IP协议的版本.通信双方使用的 IP协议版本必须一致.日前广泛使用的 IP协议版本号为 4 (即 IPv4). IPv6 目前还处于起步阶段 ...
- IP数据报格式 及路由转发算法
ip数据报分首部和数据两部分组成: 首部分为固定部分和可变部分 版本--占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 首部长度--占 4 位,可表示的最大数值 是 ...
- Linux - IP数据报报头及个字段的意义
IP数据报的格式: IP 数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍. 对于IPv4 ,4位版本字段是4. (1)版本 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致. ...
- 以太网帧、TCP与UDP段以及IP数据报格式总结
传输层及其以下的机制由内核提供,是操作系统的一部分,应⽤层由⽤户进程提供应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装.不同的协议层对数据包有不同的称谓,在传 ...
随机推荐
- WPF 布局 在有限空间内让两个元素尽可能撑开的例子
我在尝试写一个显示本机 WIFI 热点的账号和密码的控件,要求此控件在有限的空间内显示.但是尽可能显示出热点的账号和密码.而热点的账号和密码是用户配置的,也许长度很长.我的需求是在假如账号的长度较短的 ...
- VSCode和PhpStorm配置进行PHP断点调试
本文环境:php版本:5.4.45 (phpstudy),Xdebug 2.4.1(phpstudy文件夹中自带),phpstorm 2021.3 目录 PHP配置 关于Xdebug 浏览器配置(插件 ...
- portainer和cadvisor图形化界面管理与监控
一.cadvisor docker pull google/cadvisor docker run -it -p 8890:8080 -v /var/run:/var/run -v /db/docke ...
- LVGL 日志
一.启动日志 在 lv_conf.h 中将 LV_USE_LOG 设置为 1,如下图所示: 二.日志级别 在文件 lvgl/src/misc/lv_log.h 中定义了日志等级,等级是从小到大,所以 ...
- SAP UI5 官方教程学习记录
最近有闲跟着官方的Get Started教程学习了UI5,记录一下自己学习中遇到的几个问题. 本文链接:https://www.cnblogs.com/hhelibeb/p/17835722.html ...
- 记录一次安装PIDtoolBox报缺少jvm.dll问题。
背景: 1.在安装PIDtoolBox时,报 安装程序错误 安装程序无法启动JVM. could not find file C:\Users\AdministratorAppData\Local\M ...
- 带有声音/音频的 Mac 远程桌面
一言以蔽之:如果你用远程桌面软件访问mac电脑遇到声音问题,改用Splashtop就好了.Splashtop对于Mac 的远程桌面支持非常棒. 尽管有几种远程桌面工具可提供对 Mac 的远程访问,但许 ...
- PyQt5 GUI编程(组件使用)
一.简介 PyQt5 是一个用于创建图形用户界面(GUI)应用程序的 Python 绑定,它基于 Qt 库.PyQt5 提供了大量的组件(也称为控件或部件),用于构建复杂的用户界面.以下是一些常用的 ...
- MQTT 实践总结
QMQX 文档:https://www.emqx.io/docs/zh/latest/ MQTT 入门:https://www.emqx.com/zh/mqtt-guide 通过案例理解 MQTT 主 ...
- 【知识点】深入浅出STL标准模板库
前几天谈论了许多关于数论和数据结构的东西,这些内容可能对初学者而言比较晦涩难懂(毕竟是属于初高等算法/数据结构的范畴了).今天打算来讲一些简单的内容 - STL 标准模板库. STL 标准模板库 C+ ...