对于网络工程师而言,路由策略的部署随处可见。无论是在运营商IP网络中还是在企业网络中,路由策略的应用都是非常普遍的。同时,在网络规划中,路由策略的规划也是核心内容。今天,让我们了解路由策略的真实面目。
什么是路由策略?
路由策略是通过一系列工具或方法控制各种路由的“策略”。这种类型的策略会影响路由的生成,分发和选择,进而影响数据包的转发路径。这些工具包括ACL,路由策略,ip前缀和过滤器策略。这些方法包括过滤路由和设置路由属性。
许多人会将路由策略等同于路由策略。其他人可能会说,过滤策略也是路由策略的一种。实际上,这些理解不是很准确。实际上,路由策略既不是特定的技术也不是特定的功能。
路由工具之间的调用关系
路由策略入门
如上图所示,我们将所有工具分为三类:
条件工具:用于“抓取”所需的路线。
策略工具:用于在“爬网”路线上执行特定操作,例如允许,拒绝,修改属性值等。
呼叫工具:用于将路由策略应用于特定的路由协议以使其生效。
调用工具中的filter-policy和peer也具有策略工具的功能,因此这两件事可以直接调用条件工具。其他调用工具必须通过route-policy间接调用条件工具。
请注意,对等方不能调用ACL,您可以调用所有其他条件工具。
路由策略的用途是什么?
在IP网络中,路由策略的目的主要包括两个方面:
过滤路由信息。
修改路线的属性
路由策略入门
1.通过路由策略过滤路由信息
路由策略入门
SwitchA是双上行网络。 SwitchA从SwitchB和SwitchC接收路由。如果SwitchA只想从SwitchB接收路由,而不想从SwitchC接收路由,该怎么办?在这种情况下,可以在SwitchA上配置路由策略,允许来自SwitchB的路由,拒绝来自SwitchC的路由。路由。
2.通过路由策略修改路由的属性。
路由策略入门
图2使用路由策略修改路由的属性
如图2所示,SwitchA也是双上行网络。但是,由于SwitchB的链路稳定性更好,带宽更大,因此用户希望将SwitchB上的链路用作主链路。 SwitchC上的链接用作备份链接。当主链路发生故障时,流量会自动切换到备用链路。在这种情况下,您可以使用路由策略来减少来自SwitchB的路由成本,并增加来自SwitchC的路由成本。这将自动选择SwitchB上的链接作为主要链接。 SwitchC上的链路用作备份链路,用于实现路由的主备份。路由策略与策略路由的区别
路由策略
路由策略的操作对象是路由信息。路由策略主要实现路由过滤,路由属性设置等功能。它通过更改路由属性(包括可达性)来更改网络流量通过的路径。
2.策略路由
策略路由的操作对象是数据包。生成路由表后,它不会根据路由表进行转发,而是根据需要根据特定策略更改数据包转发路径。
因此,可以看出策略路由在路由表之前起作用。如果数据包与策略路由匹配,则不会在该数据包中搜索路由表,而是将根据策略路由的“指南”直接转发该数据包。因此,策略路由是一个不遵守规则的“家伙”。正因为如此,策略路由的应用将更加灵活。
路由策略和策略路由的比较
为了更具体地比较路由策略和策略路由,我们通过下表对两者进行了全面比较。
路由策略入门
路由策略
路由策略入门
如上图所示,在运行OSPF的网络中,SwitchA从Internet接收路由,并为OSPF网络提供Internet路由。现在,用户希望OSPF仅接收172.16.16.0/24、172.16.17.0/24和172.16.18.0。/24这三个外部路由未被其他外部路由接收。
可以以多种方式实现上述用户要求。接下来,我们给出两种更常见的实现方式供您参考。
在以下实验中,我们在SwitchA上配置了黑洞路由作为测试路由,并在OSPF中引入了静态路由以模拟从Internet接收的路由。 SwitchA上的关键配置如下:
#
Ospf 1
静态导入路由
面积0.0.0.0
网络192.168.1.0 0.0.0.255
#
IP路由静态172.16.16.0 255.255.255.0 NULL0
IP路由静态172.16.17.0 255.255.255.0 NULL0
IP路由静态172.16.18.0 255.255.255.0 NULL0
IP路由静态172.16.19.0 255.255.255.0 NULL0
IP路由静态172.16.20.0 255.255.255.0 NULL0#
1.通过ACL + route-policy实现路由过滤
(1)定义ACL 2000,以匹配需要释放的路由。
[SwitchA] acl 2000
[SwitchA-acl-basic-2000]规则5允许来源172.16.16.0 0
[SwitchA-acl-basic-2000]规则10允许源172.16.17.0 0
[SwitchA-acl-basic-2000]规则15允许源172.16.18.0 0
[SwitchA-acl-basic-2000]退出
(2)创建一个名为RP的路由策略,并配置编号为10的节点调用ACL2000。
[SwitchA]路由策略RP允许节点10
[SwitchA -route-policy] if-match acl 2000
3)当OSPF引入静态路由时,调用该路由策略。
[SwitchA] ospf 1
[SwitchA-ospf-1]引入路由静态路由策略RP
[SwitchA-ospf-1]退出
由于route-policy默认为deny节点,因此不会将172.16.19.0和172.16.20.0路由导入OSPF,因为它们不满足if-match语句。
在SwitchA上配置路由策略后,SwitchB的IP路由表中只有3条外部路由:172.16.16.0/24、172.16.17.0/24和172.16.18.0/24。其他外部路线都消失了。
2.通过ip-prefix + filter-policy实现路由过滤
(1)定义地址前缀列表以匹配需要释放的路由。
(2)在SwitchA的OSPF视图下通过filter-policy命令对发布的路由进行过滤。
[SwitchA] ospf 1
[SwitchA -ospf-1] filter-policy ip-prefix华为出口[SwitchA-ospf-1]退出
由于ip-prefix隐式拒绝该节点,因此172.16.19.0和172.16.20.0路由不在ip-prefix允许的范围内,因此SwitchA连接到SwitchB。
目的地/掩码Proto预成本标记NextHop接口
在SwitchA上配置路由过滤器后,SwitchB的IP路由表中只有3条外部路由:172.16.16.6.0/24,172.16.17.0/24和172.16.18.0/24。其他外部路线都消失了。