路由选择顺序详解-最长掩码匹配/路由协议优先级/开销

在不考虑策略路由等其他情况下,对IP包进行路由时,通常按照如下顺序进行。

1、最长掩码匹配原则

2、管理距离/AD/路由协议优先级

3、路由花销/Cost/Metric


根据评论更新了一个有意思的例子:

明明是直连路由(地址,端口和链路都正常情况)但是却不通的情况。

--------------------------------------------------------------------------------------

直连路由在收到更优的最长掩码之后,接口地址将变得不在通信。此时虽然直连路由协议优先级0最优,但是被最长掩码原则抢先。这样情况可能会导致直连不通信。

IS-IS报文分析+原理详解+典型配置_fengxingzhe008的博客-CSDN博客的第2.3.章节提供了一种直连不可通信的一种场景。

--------------------------------------------------------------------------------------

接下来对路由选择顺序进行详解:

1、最长掩码匹配原则。

路由器在转发相应数据包在路由表中进行路由选择时,优先选择掩码最大的路由条目。

举例:目的IP=192.168.1.1的数据包,可匹配路由

192.168.1.0/30,

192.168.1.0/29,

192.168.1.0/28,

192.168.1.0/24。

此时优先选择192.168.1.0/30的路由。

而目的IP在相同掩码情况下只具有一个网络。因此在路由表中到目的地址的掩码路由的路由只有一条。在不考虑其他情况下可唯一确定该路由。

2、管理距离/AD/路由优先级

管理距离/AD/路由优先级越小越优先。通常路由器会运行多种路由协议(BGP,OSPF,ISIS等),同一条路由可以既从ISIS学习到,又从OSPF中学习到。此时可人为定义协议优先级进行路由优选。协议优先级越小,越被路由优选。

Huawei常用的路由协议优先级:

路由协议协议优先级
直连路由0
OSPF-IN10
ISIS-level115
ISIS-level218
静态Static60
RIP100
OSPF-OUT150
iBGP255
eBGP255

OSPF-IN表示AS内部传递路由;OSPF-OUT表示引入的外部路由;iBGP表示从iBGP邻居学习到路由,eBGP表示从eBGP邻居学习到路由,local通常表示aggress聚合路由(255优先级)。

此外,bgp的network命令或者import-route命令引入的路由的优先级直接继承被引用路由的优先级。

管理距离/AD/路由优先级只具有本地意义,只可控制本地路由表相关路由的选择。

修改命令,通常动态路由协议,还可进行路由策略选择

静态:

OSPF:

ISIS:

BGP: 

针对BGP而言,此处仅介绍了ipv4 unicast地址族下的修改命令。而针对EVPN/mulicast/VPN-instance/VPNv4等地址族下的路由优先级还需针对实际情况进行考虑。

CISCO常用的路由协议优先级:

路由协议协议优先级
直连路由0
Static静态路由1
eBGP20
OSPF110
ISIS115
RIP120
iBGP200

修改命令如下:

OSPF:

distance ospf internal [1-255]

distance ospf external [1-255]

ISIS:

distance [1-255]

BGP:

distance bgp internal [1-255]

distance bgp external [1-255]

distance bgp local [1-255]

需要注意的是CISCO认为255的路由协议优先级为非信任来源学习而来,因此不认为其为有效路由。

举例:路由表存在从OSPF学习到的192.168.1.0/30,从ISIS学习到的192.168.1.0/30。

此时根据华为和Cisco的规则都选择OSPF学习到的路由,将报文转发向该路由的下一跳。

3、路由花销/Cost/Metric

如果以上两者完全一致,则比较路由开销。路由开销小的,进行优选。

 说明:OSPF和ISIS都属于链路协议,实际路由的开销(cost/metric)要根据实际情况来选择。

如果开销一致,则取决于实际情况进行负载分担。(例如,BGP路由仍需满足其他条件才可进行负载。并且不同厂家的BGP负载要求并不一致)

4、其他细节

路由比较:既然可以人为指定IGP协议的路由优先级,那么当IGP协议优先级相同时如果进行优选呢?

HUAWEI通常按如下逻辑进行优选:(优先级相同)OSPF>ISIS>静态>RIP>BGP

并且需要注意的是上述仅是一个大致的结果,详细的分类需要根据实际情况进行决定。

同时需要注意不同厂家间的区别~

UNR路由User Network Route用户网络路由。这是一类特殊的路由,由非接口IP产生,不存在于任何接口上。通常用于在特定场景下为用户提供路由服务。

Huawei常用的UNR优先级如下:

Huawei的DHCP路由如下图所示:

//华为dhcp的缺省路由优先级为60,dhcpv6的缺省路由优先级为64并且可通过dhcp client default-route preference <> 设定接收到DHCP路由的优先级。

关于DHCP的详细原理可查看:

DHCP-原理介绍+报文解析+配置示例---RFC2131

关于DHCPv6的详细原理可查看:

DHCPv6-原理浅谈+报文示例+简易配置(SLAAC+DHCPv6+PD前缀代理)--RFC8415

黑洞路由:blackhole Route,这是一类出接口为本地空接口的特殊静态路由。匹配到黑洞路由的流量将会被丢弃。

黑洞路由往往用于防止路由环路,以及BGP发布聚合路由等场景下。

HUAWEI实现上:

根据路由选择的原则,如果存在指向同一子网的普通静态路由和黑洞路由进行优选比较时(掩码,优先级等都一致的情况下),最终优选普通静态路由

此处需要注意不同厂家间的区别!实际可能优选黑洞路由!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值