4、路由渗透
IS-IS中Level-1-2路由器是连接Level-1区域与骨干网络的桥梁,它会将到达所在Level-1区域的路由信息通过Level-2 LSP通告到骨干网络,从而让其他的Level-1-2或Level-2路由器学习到相关路由,然而缺省时它却并不将到达其他Level-1区域的路由信息以及到达Level-2区域的路由信息通告到本Level-1区域中,这样虽然可以简化Level-1区域中设备的路由表,从而节省设备资源,但是这种特性在某些场景下却也会带来一些问题。
网络中的设备已经运行了IS-IS,所有设备的接口的IS-IS Cost值都是相等的。R4及R7都连接着8.8.8.0/24网段,并且都将到达该网段的路由发布到了IS-IS中。
缺省时,Level-1路由器R3是无法学习到8.8.8.0/24路由的,R1及R2作为Level-1-2路由器,会在它们向Area49.0123下发的Level-1LSP中设置ATT比特位,而R3则根据该ATT比特位置位的Level-1 LSP生成默认路由。R3会根据自己到达这两台路由器的度量值来决定默认路由的下一跳,由于R3到达R1及R2的Cost值相等,因此R3产生的默认路由将在R1及R2 这两个下一跳执行等价负载分担。
如此一来,R3将认为从R1及R2均可到达区域外部,因此当其转发到达8.8.8.0/24的报文时,完全有可能将报文转发给R2,报文将沿着R2-R5-R6-R7这条路径最终到达目的地,这就产生了次优路径问题。
之所以出现这样的问题,是因为R3无法学习到去往8.8.8.0/24的路由,而且并不知晓从本地到达目的网段的实际Cost值。使用IS-IS 的路由渗透功能可以解决该问题。
在本例中,可以在R1及R2上部署路由渗透,将Level-2路由8.8.8.0/24渗透到本地Level-1区域,使得R3能够通过它们学习到8.8.8.0/24路由
完成IS-IS部署后,R1及R2能够学习到去往Area 49.0045中的X业务网段的路由,然而它们并不会在自己向Area49.0123下发的Level-1 LSP中描述关于这些网段的可达性信息。R3通过产生指向R1及R2的默认路由来到达这些网段。
该网络要求实现这样的需求:R3转发到达10.1.1.0/24、10.1.2.0/24及10.1.3.0/24这三个X业务网段的报文时,将它们转发到R1,而转发到达其他X业务网段的报文时,将其转发到R2。
由于缺省时,R3只能够通过默认路由到达X业务网段,因此要实现上述需求,就必须让R3获得到达目标网段的具体路由,此时使用IS-IS的路由渗透功能。
我们可以在R1上部署路由渗透功能,将到达10.1.1.0/24、10.1.2.0/24及10.1.3.0/24这三个网段的路由渗透到Area49.0123中,R1通过向该区域下发描述这三条路由的Level-1 LSP来实现这个目的。
这样一来,R3便能够基于这些LSP计算出到达这三个网段的路由,并且路由的下一跳为R1。R3转发去往这三个网段的报文时,根据最长前缀匹配原则,便会将报文发往R1,而对于目的IP地址是X业务其他网段的报文,则匹配默认路由进行转发,此时可以通过将R3的GEO/O/O接口IS-IS度量值修改得比GEO/O/1接口更大,使R3将默认路由的下一跳指向R2,来实现上述需求中的第二条在Level-1-2路由器的IS-IS配置视图中,执行import-route isis level2 into level-1命令,可以将Level-2区域中的路由信息渗透到本地Level1区域中。
在该命令中可以增加filter-policy关键字,从而对渗透的路由进行筛选或过滤,也可以增加tag关键字,从而对渗透的路由进行标记Level-1-2路由器缺省时将自己从Level-1区域中学习到的路由信息全部通告到Level-2区域,在这个过程中,部署路由渗透,使得Level-1-2路由器只将特定的Level-1区域路由通告到Level-2区域。在IS-IS配置视图中使用import-route isis level-1 into level-2命令,可部署Level-1区域到 Level-2区域的路由渗透。
缺省情况下,Level-1-2路由器不会将到达其他区域的路由通告本Level-1区域中,通过路由渗透,可以将区域间路由通过Leve-1-2路由器传递到Level-1区域,此时Leve-1路由器可以学习到其他区域的详细路由,从而计算出最优路径。
当IS-IS网络中同时部署了Level-1区域和Level-2区域时,缺省情况下,Level-2路由器并不将自己知道的Level-1区域以及骨干区域的路由信息通报给Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息,可能导致对本区域之外的目的地址无法选择最佳的路由。
路由渗透功能通过在Level-1-2路由器上定义路由策略、Tag标记等方式,将符合条件的路由筛选出来,实现将其他Level-1区域和骨干区域的部分路由信息通报给自己所在的Level-1区域,使Level-1区域能够获得全网的路由信息,如下图所示。
DeviceA、DeviceB、DeviceC和DeviceD同属于Area10区域,DeviceA和DeviceB为Level-1路由器,DeviceC和DeviceD为Level-1-2路由器。
DeviceE、DeviceF同属于Area20区域,为Level-2路由器。
DeviceA发送报文给DeviceF,选择的最佳路径应该是DeviceA->DeviceB->DeviceD->DeviceE->DeviceF。因为这条链路上的cost值为10+10+10+10=40,但在DeviceA上查看发送到DeviceF的报文选择的路径是:DeviceA->DeviceC->DeviceE->DeviceF,其cost值为10+50+10=70,不是DeviceA到DeviceF的最优路由。
这是由于DeviceA并不知道本区域外部的路由,所以发往非本区域网段内的报文都是通过由最近的Level-1-2路由器产生的缺省路由发送出去的。
此时分别在Level-1-2路由器DeviceC和DeviceD上使能路由渗透。再查看报文选择的路径,发现路径是DeviceA->DeviceB->DeviceD->DeviceE->DeviceF,为DeviceA到DeviceF的最优路由。
整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun 暗号:CSDN】