TCP/IP 之IP数据报

主机、路由器网络层主要功能:

image.png

我们将在这篇文章详细介绍ip数据报的格式
首先,ip数据报分为两部分,首部和数据

image.png

我们详细分析首部各字段的意义

image.png

版本号字段占4位: IP协议的版本号,一般有两个值,如果为4就代表是IPv4,6就代表是IPv6协议。 4→IPv4, 6 → IPv6


首部长度字段占4位: IP分组首部长度,这里是以四个字节为单位,如果值为5,则表示首部长度为20个字节(5×4),从图中也可以看到,ip首部长度最短应该是20个字节,除掉可变部分,固定部分就是20个字节。


服务类型(TOS)字段占8位:指示期望获得哪种类型的服务

  • 1998 年这个字段改名为区分服务
  • 只有在网络提供区分服务(DiffServ)时使用
  • 一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H

总长度字段占16位: IP分组的总字节数(首部+数据)

  • 最大IP分组的总长度: 65535B
  • 最小的IP分组首部: 20B
  • IP分组可以封装的最大数据: 65535-20=65515B

生存时间( TTL) 字段占8位: IP分组在网络中可以通过的路由器数(或跳步数)

  • 路由器转发一次分组, TTL减1
  • 如果TTL=0,路由器则丢弃该IP分组

协议字段占8位: 指示IP分组封装的是哪个协议的数据包

  • 实现复用/分解
  • E.g. 6为TCP,表示封装的为TCP段; 17为UDP, 表示封装的是UDP数据报

首部校验和字段占16位:实现对IP分组首部的差错检测

  • 计算校验和时,该字段置全0
  • 采用反码算数运算求和,和的反码作为首部校验和字段
  • 逐跳计算、逐跳校验

源IP地址、目的IP地址字段各占32位:分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址


选项字段占长度可变,范围在1~40B之间:携带安全、源选路径、时间戳和路由记录等内容 ** 实际上很少被使用 **


填充字段占长度可变,范围在0~3B之间:目的是补齐整个
首部,符合32位对齐,即保证首部长度是4字节的倍数

ip分片

在介绍ip数据报首部字段的时候,我们忽略了第二行字段的介绍,因为这一行的字段涉及到ip数据报的分片,我们将先介绍ip数据报的分片,再来介绍这几个字段的含义。

网络链路存在MTU (最大传输单元)—链路层数据帧可封装数据的上限。** 不同链路的MTU不同 **。

image.png

大IP分组向较小MTU链路转发时, 可以被“分片” (fragmented)

  • 1个IP分组分为多片IP分组
  • IP分片到达目的主机后进行“重组”(reassembled)

IP首部的相关字段用于标识分片以及确定分片的相对顺序

  • 总长度、标识、标志位和片偏移
image.png
image.png

标识字段占16位:标识一个IP分组

  • IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识

标志位字段占3位:

  • DF (Don't Fragment)
  • MF (More Fragment)
image.png
  • DF =1:禁止分片;
    DF =0:允许分片
  • MF =1:非最后一片;
    MF =0:最后一片(或未分片)

片偏移字段占13位:一个IP分组分片封装原IP分组数据的
相对偏移量

  • 片偏移字段以8字节为单位

ip分片过程

  • 假设原IP分组总长度为L,待转发链路的MTU为M
  • 若L>M,且DF=0,则可以/需要分片
  • 分片时每个分片的标识复制原IP分组的标识
  • 通常分片时,除最后一个分片,其他分片均分为MTU允许的最大分片
  • 一个最大分片可封装的数据应该是8的倍数, 因此, 一个最大分片可封装的数据为:


    image.png
  • 需要的总片数为:
image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 11.1 引言 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一...
    张芳涛阅读 7,923评论 1 6
  • 网络层简介 1. 概念 为解决经由多条链路的交付问题,从而设计了网络层。其主要负责主机到主机的交付,并且在分组经过...
    顾慎为阅读 8,465评论 0 0
  • 《Tcp/Ip协议族》笔记 网际协议版本4(IPv4) IP分组由一个基本首部和一些选项构成,这些选项有时用于促进...
    Zhang21阅读 8,812评论 1 0
  • IP的作用 IP相当于OSI参考模型中的网络层,网络层主要作用是实现终端节点之间的通信。具体来说,数据链路层的主要...
    我系哆啦阅读 4,406评论 0 11
  • 本篇结构: 前言 IP地址 一、前言 网际协议IP是TCP/IP协议中最重要的两个协议之一,也是最重要的互联网标准...
    w1992wishes阅读 4,954评论 0 1

友情链接更多精彩内容