4.1 网络层 + IP地址 + IP数据报格式

4.1 网络层 + IP地址 + IP数据报格式

(计算机网络,P113)

网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务

主要包含以下内容:

  • 虚拟互联网络
  • 分类的IP地址
  • IP数据报格式

虚拟互联网络

互联网可以由多种异构网络互联而成,没有一种单一的网络能够适应所有用户的需求;

网络互联需要的中间设备:

  • 物理层: 转发器、集线器
  • 数链层: 网桥(桥接器)
  • 网络层: 路由器
  • 网络层以上: 网关(连接两个不兼容的系统)

需要特别注意,有些人/历史书籍会把路由器称之为网关;

分类的IP地址

分类的IP地址组成: 网络号 + 主机号

分为五类地址:

  • A 类地址:0 开头
    • 8 位网络号
    • 全 0 不可用
    • 127 开头不可用
    • 2 7 2 2^7 - 2 个网络
    • 每个网络 2 34 2 2^{34} - 2 个主机
  • B 类地址: 10 开头
    • 16 位网络号
    • 128 ~ 191
  • C 类地址: 110开头
    • 24 位网络号
    • 192 ~ 223
  • D 类地址: 1110开头
    • 多播地址
    • 224 ~ 239
  • E 类地址: 1111开头
    • 保留今后使用
    • 240 ~ 255

常用的特殊IP地址:

  • 127 + 非全零/全一的任何数
    • 环回测试;
  • 0 + 0
    • 本网络上的本主机(DHCP用);
    • 不可作为目的地址
  • 0 + host-id
    • 本网络上的某台主机;
    • 不可作为目的地址
  • 0 + 1
    • 本网络上的全部主机;
    • 本网络广播 ?
  • net-id + 0
    • 某个网络地址;
  • net-id + host-id
    • 某台主机,具体IP地址;
  • net-id + 1
    • 对net-id广播
  • 1 + 0 无意义
  • 1 + host-id 无意义
  • 1 + 1
    • 本网络广播

IP地址重要特点:

  • 分配IP地址时,只分配网络号,主机号单位自行分配
  • 仅根据目的主机的网络号来转发分组
  • 可以允许一个主机具有两个IP,但两个网络号必须不同(路由器)
  • 转发器/网桥连接的若干局域网视为一个网络(物/链层设备)

IP数据报格式

关键词:(数据报的比特位分布)

4   +   4   +   8   +   16
16  +   3   +   3
8   +   8   +   16
32
32                         (至此固定长度为20字节)
可变    +   全零填充        (可有可无)
数据部分                    (以上为首部)

===========================================================

数据报的具体内容(P128)

版本    +   首部长度    +   区分服务    +   总长度
4           4               8               16
标识    +   标志    +   片偏移
16          3           13
生存时间    +   协议    +   首部校验和
8               8           16
源地址      32bit
目的地址    32bit
  • 版本: IPv4、IPv6
  • 首部长度: 单位是4B,所以最长( 1111 )能表示 15*4 = 60B
  • 区分服务: 现在无用
  • 总长度: 注意要小于MTU, 通常576B以下无需分片,超过可考虑分片(看目的主机接不接受分片)
  • 标识: 用于分片重组,同一标识的是同一个数据报
  • 标志: 高 中 低 三位
    • 高位无用
    • 中位(DF)表示不可分片, 为 0 才可以分
    • 低位(MF)表示还有分片, 为 0 表示最后一片
  • 片偏移: 单位为8B
    • 3800B数据,分3片,1400,1400,1000
    • 0 ~ 1399:偏移 0
    • 1400 ~ 2799: 偏移 1400/8 = 175
    • 2800 ~ 3800: 偏移 2800/8 = 350
  • 生存时间:现在改为跳数, 最大255
    • 每转发一次,条数减一
    • 跳数为 0 被丢弃
    • 初始跳数为 1 表示只能在本网络中传送
  • 常用协议与值对应
    • ICMP : 1
    • IGMP : 2
    • IP : 4
    • TCP : 6
    • EGP : 8
    • IGP : 9
    • UDP : 17
    • IPv6 : 41
    • ESP : 50
    • OSPF : 89
  • 首部校验和,不采用CRC
    • 校验和全零
    • 16bit相加
    • 结果取反写入校验和(发送方)
    • 16bit相加
    • 取反码
    • 若为零则校验成功(接收方)

猜你喜欢

转载自blog.csdn.net/pix_csdn/article/details/89931019