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

在不考虑策略路由等其他情况下,对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-IN 10
ISIS-level1 15
ISIS-level2 18
静态Static 60
RIP 100
OSPF-OUT 150
iBGP 255
eBGP 255

OSPF-IN表示AS内部传递路由;OSPF-OUT表示引入的外部路由;iBGP表示从iBGP邻居学习到路由,eBGP表示从eBGP邻居学习到路由,local表示aggress聚合路由

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

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

静态:

OSPF:

路由选择顺序详解-最长掩码匹配/路由协议优先级/开销_第1张图片

ISIS:

BGP: 

路由选择顺序详解-最长掩码匹配/路由协议优先级/开销_第2张图片

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

路由协议 协议优先级
直连路由 0
Static静态路由 1
eBGP 20
OSPF 110
ISIS 115
RIP 120
eBGP 200

修改命令如下:

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]

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

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

3、路由花销/Cost/Metric

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

路由选择顺序详解-最长掩码匹配/路由协议优先级/开销_第3张图片

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

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

4、其他细节

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

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

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

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

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

Huawei常用的UNR优先级如下:

路由选择顺序详解-最长掩码匹配/路由协议优先级/开销_第4张图片

Huawei的DHCP路由如下图所示:

路由选择顺序详解-最长掩码匹配/路由协议优先级/开销_第5张图片

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

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

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

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

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

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

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

HUAWEI实现上:

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

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

你可能感兴趣的:(网络)