架构如图
1.问题描述:
此为某大型企业的网,中间为骨干网,后缀为A的是电信网,后缀为B的是联通网。骨干网分布在北京、深圳、广州、天津。两侧为公司分部- - -西安和东莞
其中 XA(西安)和DG(东莞)通信有两种流量
业务:主走A面,A面故障走B面
办公:主走B面,B面故障走A面
两者通过不同的线路接入到不同的城市- - -可靠性高
2.规划:
双平面上层为AS1
双平面下层为AS2
XA为AS3
DG为AS4
正常业务流量走A面(电信网),办公流量走B面(联通网)
当正常连接双平面网的线路出现问题,则要切换到另一条线,经相反面的路由器再切换回原平面
3.在进行后期干涉选路前,首先先了解选路的条件
4.走向分析
以XA到DG为例
1.正常时XA到DG走A面
2.非正常时
1)当连接AS1和AS3的线路出现问题,XA到DG会切换到下面的线路,到达SZ-B,但是SZ-B并不会沿着IDC机房的线切换到本来该走的电信面,而是继续走联通面,因为联通面到达DG的AS-PATH比切换到电信面的AS-PATH短
解决:在连接电信网的每个联通路由器上加大DG给过来的业务流量的weight值,这样根据weight>AS-PATH,故会切换到原面(电信面)继续走
结果:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d03cee03946a53468a4f48257b8d58f4.png)
不选local-pre是因为local-pre会传递给邻居,这样邻居切换回原面要绕路
2)DG返回XA时,流量走到原面(电信面)并不会沿着该面回去,而是会沿着IDC机房的线切换到联通面,因为EBGP>IBGP
解决:在原面上加大bgp邻居传过来的目的ip的weight值,这样就不会切换到联通面去了
结果:
不选metric是因为一个AS内的设备都设置metric的话,因为metric可以传递,IBGP邻居间会metric抵消,不会起控制选路的作用
注意:
在抓取打标签的流量时,抓取的是所有,包括所有分支打标签的流量,我们做策略也是针对于所有流量,做策略之后,会引起路径混乱
解决方法:
我们在抓取打标签的流量时,在骨干网中某城市节点应该去掉与自身建邻EBGP邻居的打标签分支流量,这样在一个面中就不会因为weight值被修改而导致的选weight而不选EBGP>IBGP而导致的绕路,致使数据层面和路由层面tracroute不一样
比如:
XA->BJ-A,我们需在BJ-A上剔除XA的业务流量,在BJ-B上剔除XA的办公流量,也就是不针对与XA的100.10.1.1/32和100.10.2.2/32路由做任何策略
BJ-A(config)#ip community-list 100 deny 1:10
BJ-A(config)#ip community-list 100 permit 1:*
BJ-B(config)#ip community-list 101 deny 2:10
BJ-B(config)#ip community-list 101 permit 2:*
抓取打标签的流量就是为了通过route-map来控制其流量走