OSPF和ISIS在多路访问网络中对掩码的要求

思考题

在学习ISIS 和OSPF中, 我们知道ISIS和OSPF要求在MA环境中掩码长度要一致,

如果这个MA环境中,掩码长度不一致, 会出现什么问题?

今天我们分别使用ISIS和OSPF 两个实验环境,讨论一下掩码长度不一致的环境中,路由传递出现的问题。

实验环境一:ISIS

思考题1

ISIS不要求多路访问网络内掩码一致,实节点LSP携带了本身所有直连叶子前缀和前缀长度,会出现什么问题?

实验环境:

R1-R2-R3 全部运行ISIS, 都是L2 路由器, 属于同一个区域,每个设备身后有一个环回口模拟身后网络,连接交换机的接口和这个环回口都接口下启用isis .

OSPF和ISIS在多路访问网络中对掩码的要求

R1 -2-3 路由表

OSPF和ISIS在多路访问网络中对掩码的要求

展开全文

OSPF和ISIS在多路访问网络中对掩码的要求

OSPF和ISIS在多路访问网络中对掩码的要求

思考:

R3带源3.3.3.3去ping2.2.2.2,肯定能ping通,那R3带源10.1.12.3/27是否能ping通2.2.2.2?

答:通不了。

OSPF和ISIS在多路访问网络中对掩码的要求

分析过程:

R3路由表去往2.2.2.2/32下一跳是10.1.12.2/24,R3路由表去往10.1.12.0/24下一跳是10.1.12.2

但是R3路由表有一条10.1.12.0/30的路由条目。

R3路由表:

OSPF和ISIS在多路访问网络中对掩码的要求

R2路由表去往3.3.3.3/32下一跳是10.1.12.3/27,R2路由表去往10.1.12.0/27下一跳是10.1.12.3,但是R2路由表有一条10.1.12.0/30的路由条目。

R2 路由表:

OSPF和ISIS在多路访问网络中对掩码的要求

当R3带源3.3.3.3去ping2.2.2.2时,下一跳是10.1.12.2。R2回包时,回给3.3.3.3,下一跳是10.1.12.3。这没什么问题。(盯住这条路由)

当R3带源10.1.12.3去ping2.2.2.2时,下一跳是10.1.12.2。R2回包时查路由表,去往10.1.12.3网段路由中,匹配最长掩码规则发送报文,匹配中了10.1.12.0/30的ISIS路由,下一跳10.1.12.1,当R1收到了这个报文,发现报文目标地址10.1.12.3是我直连地址的广播地址,路由器隔离广播报文就丢包了。

10.1.12.0/30这个网段只有2个可用地址,

10.1.12.0/30-网络号/前缀

10.1.12.1/30-可用地址

10.1.12.2/30-可用地址

10.1.12.3/30-广播地址

所以,ISIS掩码不一致因最长掩码匹配原则导致丢包了。

实验环境文件:模拟器为华为ensp

📎isis实验.rar

实验环境二:OSPF

思考题2:

ospf规定了广播型网络内掩码必须一致

OSPF在多路访问网络内如果不要求掩码一致会出现什么问题?

实验环境

OSPF和ISIS在多路访问网络中对掩码的要求

这个实验只能分析, 因为掩码不一致, MA网络OSPF不能建立邻居关系

分析过程

如果ospf要求掩码不一致就能建立邻居,而DR声明这个网段的掩码是/29,其他广播域的邻居计算路由时就会计算不出10.1.123.10/32网段。

因为10.1.123.0/29所包含的地址最小10.1.123.1,最大10.1.123.6,

10.1.123.0/29子网划分:

10.1.123.00000 000/29=10.1.123.0/29=== 网络号/前缀

10.1.123.00000 111/29=10.1.123.7/29===广播地址

主机地址10.1.123.10/32 已经超出这个网络的范围了

这样就缺失了一部分路由,比如PC那个地址。

其他网段的路由器只能计算出某一部分路由,无法计算出你整个广播域下的路由。所以OSPF要求掩码必须一致,这样再这个广播域下不管谁未来当DR,其他网段的邻居算出来的路由都是同一个网络号,更不会缺失路由。

就跟村里选村长一样,咱们的思想肯定要一样才会选你,选DR,掩码肯定必须一样才认可你是DR。不然就有可能出现上图的例子。

而ISIS协议就不怕这样的问题,因为isis实节点LSP自主描述了直连网段路由的掩码信息,其他路由器收到后直接算就行了,而ospf是由DR描述掩码,就有可能导致丢路由情况。

所以ISIS就不要求掩码必须一致了,实节点LSP独立描述了掩码信息,不需要伪节点去描述,所以不会导致路由缺失,但是可能会导致路由虽然计算出来了,但是ping不通。

当有人问:ospf掩码不一致会出现什么问题?

首先广播型链路上掩码不一致会造成DBD和LSR报文无法发送,不能建立邻居。其次掩码不一致如果伪节点宣告广播型网络掩码是自身掩码时,会造成其他广播型网络、P2P网络丢失路由。

总结:

ISIS 如果掩码不一致,会正常建立邻居, 但是会出现路由虽然计算出来了,但是ping不通的现象。

OSPF 如果掩码不一致, MA网络不能建立邻居关系。

发表评论