4.2 IPv4 编址:分类、子网划分、CIDR 与 NAT
分类的 IP 地址与特殊地址,子网划分与子网掩码,无分类域间路由 CIDR、路由聚合与最长前缀匹配,网络地址转换 NAT。
分类的 IP 地址
IP 地址是给连接到因特网上的每台主机(或路由器)的每个接口分配一个在全世界范围内唯一的 32 位标识符。最初采用两级结构:IP 地址 = {<网络号>, <主机号>}。
特殊用途的 IP 地址:
| 网络号 | 主机号 | 作为源地址 | 作为目的地址 | 含义 |
|---|---|---|---|---|
| 0 | 0 | 可以 | 不可 | 本网络上的本主机(如 DHCP 获取地址前) |
| 0 | host-id | 可以 | 不可 | 本网络上的某台主机 |
| 全 1 | 全 1 | 不可 | 可以 | 在本网络上进行广播(受限广播,路由器不转发) |
| net-id | 全 1 | 不可 | 可以 | 对 net-id 上的所有主机进行广播(直接广播) |
| 127 | 任何数(非全 0/全 1) | 可以 | 可以 | 环回测试 |
- 主机号全 0 表示网络本身,主机号全 1 表示本网络的广播地址,这两个地址都不能分配给主机;
- 私有 IP 地址(只用于内部网络,路由器对目的地址是私有地址的分组一律不转发):A 类 10.0.0.0/8、B 类 172.16.0.0 ~ 172.31.255.255、C 类 192.168.0.0 ~ 192.168.255.255。
| 类别 | 最大可用网络数 | 每个网络中的最大主机数 |
|---|---|---|
| A | ||
| B | ||
| C |
子网划分与子网掩码
两级 IP 地址的空间利用率很低,也不够灵活。从 1985 年起,在 IP 地址中又增加了一个”子网号字段”,使两级 IP 地址变成了三级:IP 地址 = {<网络号>, <子网号>, <主机号>}。
- 子网划分纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络;
- 从主机号借用若干个比特作为子网号,当然主机号也就相应减少了相同的比特,三级 IP 地址的网络号是不变的;
- 凡是从其他网络发送给本单位某台主机的 IP 分组,仍然是根据 IP 分组的目的网络号,先找到连接到本单位网络上的路由器,然后该路由器在收到 IP 分组后,按目的网络号和子网号找到目的子网,最后把 IP 分组直接交付给目的主机。
子网掩码是一个与 IP 地址相对应的、长 32 位的二进制串,它由一串 1 和跟随的一串 0 组成:1 对应于 IP 地址中的网络号及子网号,0 对应于主机号。IP 地址与子网掩码逐位相与,就得到网络地址。
无分类域间路由 CIDR
CIDR 是在变长子网掩码的基础上提出的一种消除传统 A、B、C 类网络划分,并且可以在软件的支持下实现超网构造的一种 IP 地址的划分方法。
- 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更有效地分配 IPv4 的地址空间。使用”网络前缀”代替网络号和子网号:
IP 地址 = {<网络前缀>, <主机号>},记为”斜线记法”,如 128.14.32.5/20; - 将网络前缀都相同的连续 IP 地址组成”CIDR 地址块”。一个 CIDR 地址块可以表示很多地址,这种地址的聚合称为路由聚合(构成超网),它使得路由表中的一个项目可以表示多个原来传统分类地址的路由,有利于减少路由器之间的路由选择信息的交换,从而提高网络性能。
最长前缀匹配:使用 CIDR 时,路由表中的每个项目由”网络前缀”和”下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果,此时应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体。
| 目的地址 | 11000000101010000001010010000010 | |
| 192.168.16.0/20 | 11000000101010000001000000000000 | 匹配(20 位) |
| 192.168.20.0/22 | 11000000101010000001010000000000 | 匹配(22 位) |
| 192.168.20.0/24 | 11000000101010000001010000000000 | ✔ 最长匹配 → R3 |
| 192.168.0.0/16 | 11000000101010000000000000000000 | 匹配(16 位) |
| 0.0.0.0/0 | 00000000000000000000000000000000 | 匹配(0 位) |
网络地址转换 NAT
NAT 是指通过将专用网络地址(如 Intranet)转换为公用地址(如 Internet),从而对外隐藏内部管理的 IP 地址。它使得整个专用网只需要一个全球 IP 地址就可以与因特网连通,由于专用网本地 IP 地址是可重用的,所以 NAT 大大节省了 IP 地址的消耗。同时,它隐藏了内部网络结构,从而降低了内部网络受到攻击的风险。
使用 NAT 时需要在专用网连接到因特网的路由器上安装 NAT 软件,NAT 路由器至少有一个有效的外部全球 IP 地址。普通路由器在转发 IP 数据报时,不改变其源 IP 地址和目的 IP 地址;而 NAT 路由器在转发 IP 数据报时,一定要更换其 IP 地址(转换源 IP 地址或目的 IP 地址)。普通路由器仅工作在网络层,而 NAT 路由器转发数据报时需要查看和转换传输层的端口号。
即时练习
- 1(408 真题)某网络的 IP 地址空间为 192.168.5.0/24,采用定长子网划分,子网掩码为 255.255.255.248,则该网络中的最大子网个数、每个子网内的最大可分配地址个数分别是( )。
- 2(408 真题)某路由表中有转发接口相同的 4 条路由表项,其目的网络地址分别为 35.230.32.0/21、35.230.40.0/21、35.230.48.0/21 和 35.230.56.0/21,将该 4 条路由聚合后的目的网络地址为( )。
- 3(408 真题)某主机的 IP 地址为 180.80.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是( )。
- 4某子网的子网掩码为 255.255.255.224,一共给 4 台主机分配了 IP 地址,其中一台因 IP 地址分配不当而存在通信故障。这一台主机的 IP 地址是( )。
- 5下列 IP 地址中,只能作为目的地址而不能作为源地址的是( )。
- 6下列关于 NAT 的说法中,错误的是( )。
标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。