一、 地址的不重叠 (Non-overlapping Addresses)
1. 定义与内涵
“地址不重叠”原则,指的是在进行IP地址块分配时,任意两个分配出去的地址块,其覆盖的IP地址范围不能有任何交集。每一个IP地址在特定的管理域内,都必须被唯一地划分给一个子网或一个组织。
这确保了IP地址分配的唯一性和排他性。
2. 作用与重要性
此原则的根本目的是为了消除路由的模糊性,保证转发的确定性。
试想,如果网络中存在两个重叠的地址块,并且它们被分配给了不同的组织或网络区域,那么当一个数据包的目的地址恰好落在这个重叠区域内时,路由器会面临一个无法解决的难题:这个数据包到底应该发往哪个方向?
-
路由冲突:互联网上的路由器可能会学习到两条去往同一个地址(或地址段)但指向不同方向的路径。
-
转发不一致:这会导致数据包的转发路径变得不稳定,可能这次发往A处,下次发往B处,造成连接中断或数据丢失。
3. 示例
假设一个网络管理员需要为两个部门分配地址:
-
正确的分配(不重叠):
-
分配给部门A:
192.168.0.0/24
(范围:192.168.0.0
~192.168.0.255
) -
分配给部门B:
192.168.1.0/24
(范围:192.168.1.0
~192.168.1.255
) -
这两个地址块边界清晰,没有任何交集。
-
-
错误的分配(重叠):
-
分配给部门A:
192.168.0.0/23
(范围:192.168.0.0
~192.168.1.255
) -
分配给部门B:
192.168.1.0/24
(范围:192.168.1.0
~192.168.1.255
) -
此时,部门B的整个地址空间完全被包含在了部门A的地址空间内。当一个去往
192.168.1.50
的数据包到达路由器时,路由器会因无法确定唯一路径而产生路由冲突。
-
二、 聚合之后不引入多余地址 (No Extraneous Addresses after Aggregation)
1. 定义与内涵
此原则指的是,在将多个离散、连续的较小地址块聚合(或称“超网化”,Supernetting)成一个更大的地址块,并向外界通告一条总的路由时,这个聚合后的“超网”地址块,其范围必须恰好且仅仅覆盖了所有原始的小地址块。
2. 作用与重要性
此原则的根本目的是为了保证路由的准确性,防止产生“路由黑洞”或“路由劫持”。
如果聚合后的范围过大,包含了本不属于该组织或区域的“多余”地址,那么当这个聚合路由被通告到互联网后,会发生以下情况:
-
吸引错误流量:外部路由器会认为那些“多余”的地址也归属于这个组织,从而将去往这些地址的流量错误地发送过来。
-
形成路由黑洞:由于这些“多余”的地址在该组织内部实际上并不存在,或者没有具体的转发路径,这些被错误吸引过来的流量最终将被路由器丢弃,形成一个有去无回的“黑洞”。
3. 示例
假设一个机构拥有以下两个连续的C类地址块:
-
202.118.16.0/24
-
202.118.17.0/24
机构希望向其上游ISP通告一条聚合路由。
-
二进制分析:
202.118.00010000.0 (16) 202.118.00010001.0 (17)
观察其第三个字节的二进制位,可以发现它们的前23位是完全相同的 (
...0001000...
)。因此,可以将它们聚合。 -
正确的聚合(精确):
-
聚合后的路由为
202.118.16.0/23
。 -
这个
/23
的地址块覆盖的范围是202.118.16.0
~202.118.17.255
,不多不少,刚刚好覆盖了原始的两个/24
地址块。
-
-
错误的聚合(引入多余地址):
-
如果网络工程师错误地计算,将其聚合成
202.118.16.0/22
。 -
这个
/22
的地址块覆盖的范围是202.118.16.0
~202.118.19.255
。 -
这个聚合路由除了包含原有的
16
和17
网段外,还额外引入了202.118.18.0/24
和202.118.19.0/24
这两个可能属于其他机构的地址空间。这就违反了原则,会导致去往18
和19
网段的流量被错误地吸引过来并丢弃。
-