龙空技术网

AS_PATH基础理论及AS_PATH选路案例讲解

攻城狮成长日记 284

前言:

眼前同学们对“as路径是什么”都比较注重,看官们都需要学习一些“as路径是什么”的相关知识。那么小编在网摘上汇集了一些对于“as路径是什么””的相关内容,希望各位老铁们能喜欢,各位老铁们一起来学习一下吧!

AS_PATH基础理论

AS 路径(AS_PATH)属性为公认必遵属性,该属性域指示出该路由更新信息经过了哪些AS路径,主要作用是保证AS之间无环路。

AS_PATH属性按一定次序记录了某条路由从本地到目的地址所要经过的所有AS号。当BGP将一条路由通告到其他AS时,便会把本地AS号添加在AS_PATH列表的最前面。收到此路由的BGP路由器根据AS_PATH属性就可以知道去目的地址所要经过的AS。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。

使用AS路径属性的目的是保证无路由环路。通常情况下,BGP 不会接受AS_PATH 中已包含本地AS 号的路由,从而避免了形成路由环路的可能。如果BGP 路由信息发布者从EBGP 对等体收到一条路由,它的AS_PATH 包含发布者自己的AS 号,就说明这条路由曾经从本AS 发出过,将其丢弃,同时不再进行转发。基于上述机制,AS_PATH 属性可以避免AS 之间的路由环路的出现,AS 内部的路由环路的避免则采用其他手段来实现。

同时,AS_PATH 属性也可用于路由的选择和过滤。在其他因素相同的情况下,BGP 会优先选择路径较短路由。

案例拓扑

现要求R4访问1.1.1.1/32网段必须通过R2,访问10.10.10.10/32网段必须通过R3。通过AS_PATH属性我们可以很轻松的解决这个问题。R4会通过R2和R3分别获得1.1.1.1/32和10.10.10.10/32这两条路由,下一跳选择R2还是R3我们可以通过AS_PATH来进行控制。BGP里规定, AS_PATH属性较短的路由,将会被优选。那么我们让R3把1.1.1.1/32这条路由发给R4时,携带的AS_PATH属性变长,R4优选R2发来的1.1.1.1/32的路由进行转发(因为R2发来的1.1.1.1/32路由的AS_PATH属性较短),则R4访问1.1.1.1/32网段的流量就会通过R2进行转发。访问10.10.10.10./32同理。下面我们看一下具体配置。

配置OSPF

R2配置ospf 1 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 10.3.1.0 0.0.0.255R3配置ospf 1 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 10.4.1.0 0.0.0.255R4配置ospf 1 area 0.0.0.0 network 4.4.4.4 0.0.0.0 network 10.3.1.0 0.0.0.255 network 10.4.1.0 0.0.0.255
配置BGP

EBGP配置(R1路由)

bgp 2 #创建bgp编号为2 (也就是AS2) router-id 1.1.1.1 #指定router-id peer 10.1.1.2 as-number 1 #和邻居网络建立邻接关系 peer 10.2.1.3 as-number 1 #和邻居网络建立邻接关系 # ipv4-family unicast undo synchronization network 1.1.1.1 255.255.255.255 #宣告虚拟接口网络 network 10.10.10.10 255.255.255.255 #宣告虚拟接口网络 peer 10.1.1.2 enable peer 10.2.1.3 enable

IBGP配置

R2路由配置BGP

bgp 1 router-id 2.2.2.2 peer 10.1.1.1 as-number 2  peer 10.3.1.4 as-number 1  # ipv4-family unicast undo synchronization peer 10.1.1.1 enable peer 10.1.1.1 next-hop-local  peer 10.3.1.4 enable peer 10.3.1.4 next-hop-local

R3路由配置BGP

bgp 1 router-id 3.3.3.3 peer 10.2.1.1 as-number 2  peer 10.4.1.4 as-number 1  # ipv4-family unicast undo synchronization peer 10.2.1.1 enable peer 10.2.1.1 next-hop-local  peer 10.4.1.4 enable peer 10.4.1.4 next-hop-local 

R4路由配置BGP

bgp 1 router-id 4.4.4.4 peer 10.3.1.2 as-number 1  peer 10.4.1.3 as-number 1  # ipv4-family unicast undo synchronization network 4.4.4.4 255.255.255.255  peer 10.3.1.2 enable peer 10.3.1.2 next-hop-local  peer 10.4.1.3 enable peer 10.4.1.3 next-hop-local

配置到此BGP邻居已经建立完成,可以通过dis bgp peer命令查。如下图

在R4路由器上执行ping -a 4.4.4.4 1.1.1.1能ping R1上的LookBack端口。不能在R4或者R1路由器上直接执行互ping R4和R1的回环地址。主要是由于R4和R1上没有对端的接口IP。ping默认的是接口的IP地址作为原地址。如果要直接ping,可以在BGP中引入直连路由。这样情况实验环境可以这样做 真是项目中不能这样做。

配置选路,根据需求,从R4去往R1的1.1.1.1路由从R2走,去往R1的10.10.10.10路由从R3走。通过AS_PATH来进行控制。

R2的配置

peer 10.3.1.4 route-policy loop1 exportroute-policy loop1 permit node 5  if-match ip-prefix loop1  apply as-path 6 7 8 additive#route-policy loop1 permit node 10 #ip ip-prefix loop1 index 10 permit 10.10.10.10 32

R3的配置

peer 10.4.1.4 route-policy loop0 exportroute-policy loop0 permit node 5  if-match ip-prefix loop0  apply as-path 6 7 8 additive#route-policy loop0 permit node 10 #ip ip-prefix loop0 index 10 permit 1.1.1.1 32
结果测试

标签: #as路径是什么