思考题 在学习ISIS 和OSPF中, 我们知道ISIS和OSPF要求在MA环境中掩码长度要一致, 如果这个MA环境中,掩码长度不一致, 会出现什么问题?
今天我们分别使用ISIS和OSPF 两个实验环境,讨论一下掩码长度不一致的环境中,路由传递出现的问题。
实验环境一:ISIS
思考题1
ISIS不要求多路访问网络内掩码一致,实节点LSP携带了本身所有直连叶子前缀和前缀长度,会出现什么问题? 实验环境: R1-R2-R3 全部运行ISIS, 都是L2 路由器, 属于同一个区域,每个设备身后有一个环回口模拟身后网络,连接交换机的接口和这个环回口都接口下启用isis .
R1 -2-3 路由表
思考: R3带源3.3.3.3去ping2.2.2.2,肯定能ping通,那R3带源10.1.12.3/27是否能ping通2.2.2.2? 答:通不了。
分析过程: 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路由表:
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 路由表:
当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在多路访问网络内如果不要求掩码一致会出现什么问题?
实验环境
这个实验只能分析, 因为掩码不一致, 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网络不能建立邻居关系。 获取最新免费学习视频、华为思科全套题库、项目实战视频、听课笔记等资料,请添加:Tigerlab666666
|