4.1 网络层 + IP地址 + IP数据报格式
(计算机网络,P113)
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
主要包含以下内容:
- 虚拟互联网络
- 分类的IP地址
- IP数据报格式
虚拟互联网络
互联网可以由多种异构网络互联而成,没有一种单一的网络能够适应所有用户的需求;
网络互联需要的中间设备:
- 物理层: 转发器、集线器
- 数链层: 网桥(桥接器)
- 网络层: 路由器
- 网络层以上: 网关(连接两个不兼容的系统)
需要特别注意,有些人/历史书籍会把路由器称之为网关;
分类的IP地址
分类的IP地址组成: 网络号 + 主机号
分为五类地址:
- A 类地址:0 开头
- 8 位网络号
- 全 0 不可用
- 127 开头不可用
- 个网络
- 每个网络 个主机
- 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相加
- 取反码
- 若为零则校验成功(接收方)