计算机网络笔记No.16

IP数据报

在Internet网络层中,主机、路由器网络层主要功能为:
计算机网络笔记No.16

IP数据报(分组)格式
计算机网络笔记No.16

  1. 版本号字段占4位:IP协议的版本号: 4→IPv4,6 → IPv6
  2. 首部长度字段占4位:IP分组首部长度
    以4字节为单位:Eg. 5→IP首部长度为20(5×4)字节
  3. 服务类型(TOS)字段占8位:指示期望获得哪种类型的服务
    • 1998 年这个字段改名为区分服务
    • 只有在网络提供区分服务(DiffServ)时使用
    • 一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H
  4. 总长度字段占16位:IP分组的总字节数(首部+数据)
    最大IP分组的总长度:65535B;
    最小的IP分组首部:20B;
    IP分组可以封装的最大数据:65535-20=65515B
  5. 标识、标志位、片偏移与分片有关,在后面将会介绍
  6. 生存时间(TTL)字段占8位:IP分组在网络中可以通过的路由器数(或跳步数)
    路由器转发一次分组,TTL减1
    如果TTL=0,路由器则丢弃该IP分组
  7. 协议字段占8位:指示IP分组封装的是哪个协议的数据包
    实现复用/分解
    Eg :6为TCP,表示封装的为TCP段;17为UDP,表示封装的是UDP数据报
  8. 首部校验和字段占16位:实现对IP分组首部的差错检测
    • 计算校验和时,该字段置全0
    • 采用反码算数运算求和,和的反码作为首部校验和字段
    • 逐跳计算、逐跳校验
  9. 源IP地址、目的IP地址字段各占32位:分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址
  10. 选项字段占长度可变,范围在1~40B之间:携带安全、源选路径、时间戳和路由记录等内容
  11. 填充字段占长度可变,在0~3B之间:补齐整个首部,符合32位对齐,保证首部长度是4字节的倍数

IP分片

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

  • 大IP分组向较小MTU链路转发时,可以被“分片” (fragmented)
    1个IP分组分为多片IP分 组
    IP分片到达目的主机后进行“重组”

IP首部的相关字段用于标识分片以及确定分片的相对顺序——总长度、标识、标志位和片偏移

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

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

标志位字段占3位:
计算机网络笔记No.16

  • DF (Don’t Fragment):不分组
  • MF (More Fragment):是否为分组的最后一个

DF =1:禁止分片;
DF =0:允许分片;
MF =1:非最后一片;
MF =0:最后一片(或未分片)

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

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

IP分片过程
假设原IP分组总长度为L,待转发链路的MTU为M;
若L>M,且DF=0,则可以/需要分片
分片时每个分片的标识复制原IP分组的标识
通常分片时,除最后一个分片,其他分片均分为MTU允许的最大分片

一个最大分片可封装的数据应该是8的倍数,因此,一个最大分片可封装的数据为:
M减去20除以8,向下取整,再乘8

计算机网络笔记No.16
需要的总片数为:
L减去20除以d,向上取整
计算机网络笔记No.16

计算机网络笔记No.16

计算机网络笔记No.16

IP编址

IP分组里的地址有两类:

  • 源地址(SA)-从哪儿来
  • 目的地址(DA)-到哪儿去

接口(interface): 主机/路由器与物理链路的连接

  • IP地址: 32比特(IPv4)编号标识主机、路由器的接口,一般每8位转换为用小数点隔开的十进制数
  • IP地址与每个接口关联

IP子网(Subnets)

IP地址由两部分组成:高比特位的网络号和低比特位的主机号

IP子网:IP地址具有相同网络号的设备接口

  • 不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口

计算机网络笔记No.16

有类IP地址

计算机网络笔记No.16

特殊IP地址:
计算机网络笔记No.16

私有(Private)IP地址:(可重复多用)
计算机网络笔记No.16

IP子网划分与子网掩码

如何区分一个IP子网更小范围网络?

  • 子网划分

如何确定是否划分了子网?利用多少位划分子网?

  • 子网掩码

子网掩码
计算机网络笔记No.16

  1. 形如IP地址:32位点分十进制形式
  2. 取值: NetID、SubID位全取1、HostID位全取0

子网地址+子网掩码 → 准确确定子网大小

子网 201.2.3.0,255.255.255.0 划分为等长的4个子网

计算机网络笔记No.16
将IP分组的目的IP地址与子网掩码**按位与**运算,提取子网地址
计算机网络笔记No.16

————————————————————————————————————————————————————————

由于水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错