当前位置: 首页 > article >正文

计算机网络——网络层—IP数据报与分片

一、IP 数据报的格式

• 一个 IP 数据报由首部和数据两部分组成。
• 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
• 在首部的固定部分的后面是一些可选字段,其长度是可变的。

IP 数据报首部的固定部分中的各字段

  

版本——占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4) 

首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是 60 字节。

区分服务——占 8 位,用来获得更好的服务在旧标准中叫做服务类型,但实际上一直未被使用过。
1998 年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段。

总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。

标识(identification) 占 16 位,它是一个计数器,用来产生数据报的标识。

标志(flag) 占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF = 1 表示后面“还有分片”。MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF =0 时才允许分片。

片偏移(13 位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。

二、IP 数据报分片
        IP层下面的每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,即最大
传送单元MTU,如以太网的MTU是1500B,许多广城网的MTU不超过576B。MTU限制了IP数据报
的长度。当一 个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不
能超过下面的数据链路层所规定的MTU值。若传送的数据报长度超过数据链路层的MTU值,就
必须把过长的数据报进行分片处理。数据报片在目的地的网络层被重新组装。目的主机根据首部
中的标识、标志片偏移字段来完成对数据报片的合并重组。注意,IP数据报可以在主机和路由器
进行分片,但重组只能在目的主机上完成。 


IP 数据报首部的固定部分中的各字段

 

协议(8 位)字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程 。

首部检验和(16 位)字段只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。

源地址和目的地址都各占 4 字节。


http://www.kler.cn/a/474274.html

相关文章:

  • 【gRPC】Keepalive连接保活配置,go案例
  • 【实用技能】如何使用 .NET C# 中的 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名
  • MATLAB深度学习实战文字识别
  • html + css 顶部滚动通知栏示例
  • 自定义EasyCode模板生成CRUD
  • 【Unity3D】Text文本文字掉落效果
  • 高光谱相机的特点
  • JDK 17 模块化系统:构建可维护大型项目的基石
  • 关机重启后,GitLab服务异常
  • Yolo11改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer|即插即用
  • 本地LLM部署--Open WebUI(多媒体工具FFMPEG作用)
  • uniapp使用chooseLocation安卓篇
  • Ruby语言的数据类型
  • 给Kkfileview加请求头鉴权接入
  • docker 常用命令实践DEMO
  • 大风车excel:怎么把题库导入excel?题库导入excel
  • patchwork++地面分割学习笔记
  • 深度学习:原理、应用与前沿进展
  • MySQL Binlog 监听方案
  • 将文件上传至hdfs(SpringBoot)
  • 阿里云 AI 搜索方案解读:大模型驱动下的智能搜索,助力企业数字化转型
  • 2024大模型安全研究方向总结(附实践资料)
  • ZYNQ初识8(zynq_7010)FIFO_IP核
  • 【银河麒麟高级服务器操作系统】服务器异常重启故障分析及处理建议
  • RoBERTa: A Robustly Optimized BERT Pretraining Approach—— 一种鲁棒优化的BERT预训练方法
  • C语言——结构体,位段,枚举和联合