《BGP设计与实现》读后感及总结之4

第10章:多协议BGP和MPLS VPN

本章对MPLS VPN进行了整体的概括,包括基础概念,跨域互联,在此仅仅概述,详细内容可以看我以前总结的关于MPLS的相关文章:
http://www.zhaocs.info/tag/mpls

基础知识

1. RD是用来区分具有相同ipv4前缀的多条VPN路由,8byte,如下图:

2. RT是用来控制VPVN4的路由,即使与RD一样的值,意义也是不一样的
3. 4字节可堆栈的label结构,包含20 bits的label,3 bits的EXP,1 bits堆栈位,8 bits的TTL
4. TDP和LDP的端口分别为711和646
5. 标签0-15为保留,4-15暂时没有用到;在LDP中,初始路由器会发送“imp-null”


6. 在mpls中,上游是流量始发方向;而下游是路由和标签始发的方向。
7. in label(local)是我发给别人的,而out label是别人发给我的
8. 对于PoP,Untag,Aggregate的特殊标签行为和标签及IP间的转发关系,可以看《CCIE SP—MPLS Basic 1》,自认为总结的很清楚。
9. 对于mpls的转发过程分析,防止客户窥探mpls骨干网路径,mpls中的traceroute详解,可以看《CCIE SP—MPLS Basic 2
10.自动路由过滤,只有import RT,该路由才会出现在BGP VPNV4种,否则不会引入。RR默认关闭这个feature,也可以通过命令“no bgp default route-target filter”关闭。在域间互联时会用到。
11.在mpls中,为了完整性,AS_Path原有规则需要变更,这就需要一些新feature,如AS-Override,SOO,Allowas-in。以前介绍过,详细请见书上或《CCIE SP—MPLS VPN Basic 2

域间互联

1. 域间VPN之Option 1 背靠背(Back-to-Back),适合少量vrf互联,简单易用,扩展性差。详细请看《CCIE SP—Inter-Provider VPN Option 1
2. 域间VPN之Option 2 ASBR-ASBR,两个ASBR之间起VPNV4,底层标签由MP-BGP分发,顶层标签由32位主机路由分发。根据情况不同,有几种方式可以完成ASBR-ASBR,详细请看《CCIE SP—Inter-Provider VPN Option 2
Option 2a:在ASBR1收到ASBR2发来的路由后,并把路由传给RR时,应用next-hop-self,标签在此过程中变更两次,一次是ASBR2发给ASBR1时,另一次是ASBR1发给RR时。
Option 2b:把32位主机路由重分布到IGP中,这样RR对于这个地址就可达了,所以此过程底层标签只变更一次
Option 2c:两个ASBR之间用环回口建立邻居,这样不会产生32位主机路由,顶层标签会中断,可以在直连接口启用mpls ip,使其分配顶层标签,这种方法不常用,一般ASBR之间不启用LDP,所以有了Option 3。

注:由于Option 2是通过VPNv4来建立的底层标签,所以在ASBR上的LFIB中可以看到VPNv4的路由,如果路由来自远端AS,出标签是VPN标签(如下面的标签22);如果来自本地AS,它就是IGP标签(用于到达PE,如下的标签26):

3. 域间VPN之option 3,避免ASBR处理大量VPNV4的路由,由RR来处理,而且利用unchange,和send-label,让标签在域间传送时不中断,详细请看《CCIE SP—Inter-Provider VPN Option 3 未完
4. 域间VPN之option 4,穿越不提供VPN服务的ISP。其实此方法是基于option 3的,不同的是ASBR之间不是直连,而是跨越了一个AS域,解决方法是在ASBR之间通过“eBGP + IPv4 label”和“iBGP + IPv4 label”的方法建立LSP。如图所示:

由于是基于BGP分发标签,所以这种情况下会出现3层标签的情况,详细解释可以看书或看下面的案例分析。
5. 下面这张图对上面介绍的几种方法做了对比分析:

6. CSC:如果mpls vpn的客户就是ISP,而且客户ISP需要承载全路由,那么将成为骨干运营商的灾难,为了避免这种问题,让两边CE承载全路由,中间走标签,这样骨干运营商只需要提供下一跳可达的路由就可以了,如图:

部署相关

1. 由于MPLS VPN需要占用大量资源,所以在部署是需要尽可能的合理,通过出站RT过滤,或者通过RR Group的方式来优化路由,也可以考虑把VPNv4和IPv4分开,在必要的情况下才开启IPv4。
2. 在设计RD时,有3种方法:
-相同的VPN是用相同的RD:优点是好管理;缺点是当同一个CE连接到两个PE上,如果PE用同样的RD来宣告路由给RR,那么RR只反射1条最优路径,这样无法达到负载分担。
-每个VRF是用唯一的RD:优点正好是上面的缺点;缺点…?
-每个站点每个VRF是用唯一的RD
3. hub-spoke,外联网及管理VPN的RT规划。
4. PE接收到VPNv4的路由后,会在一个扫描时间间隔内将路由放入对应的VRF中,默认倒入扫描没15s运行一次,这就是为什么配置了import,需要等一会才能看到路由被导入,可以用“bgp scan-time import”更改,这些时间影响了整个站到站的收敛(撤回操作立即被执行)。

本章案例分析


1. PE1收到路由,为172.16.0.0/16创建底层VPNv4的标签24,为此路由的下一跳(PE1的环回地址100.2)分配顶层POP标签。这两个更新发给RR1,RR1和PE1只有VPNv4的Peer关系,无IPv4 Peer。
2. RR1与RR2建立VPNv4的关系,按理说,不同AS,下一跳改变并产生新的底层标签,但是由于在RR1上用了“unchange”,所以下一跳不改变发给RR2(即使标签中断也可以在RR2上看到这个底层标签和路由,因为只要有路由,TCP就可以建立);相对于PE1环回口的地址,通过IGP分配一个新的标签17给ASBR1。RR1和ASBR没有BGP关系。
3. 至此在ASBR1,ASBR2上因为VFR的原因,都看不到172的路由更新(抓包也抓不到?)。ASBR1把RR1和PE1的环回地址在BGP中network出去,并为这两个BGP “send-label”,其中In label是从LDP学来(因为这两条都有IGP路由,所以都通过LDP分配过标签,所以这个标签直接被BGP使用)。这两个In label分配给ASBR2。
4. 客户为了区分外部路由,ASBR2没有跟RR2建立VPNv4,也没有把这两个BGP路由重分布到IGP去分配标签,所以在AS200中用BGP+Ipv4 label的方式。所以ASBR2和RR2都需要send label来保证LSP的建立。因此这两条BGP路由分别产生了新的in label,另外根据配置,ASBR2对RR2使用“next-hop-self”,100.2变更下一跳为ASBR2的环回100.6,根据RFC3107,当BGP分发标签时,根据下一跳转发,所以为到达100.2,使用100.6在LDP中的POP标签,这样100.2带着新in label,100.6带着POP一起发给了RR2。此时100.6的POP是顶层标签,100.2的标签是中层,PE1分配的VPN标签24是底层。
5. 分两头说:此时RR2收到100.6后,为100.6分配一个新的In label并发给PE2;对于100.2,基于100.6转发,下一跳不变,标签不变。RR2通过send-label继续打上之前的标签,发给PE2。
6. 此时PE2上收到2条BGP更新,1条是172.16.0.0的VPN路由更新(下一跳100.2),第二条是100.2的更新(下一跳是100.6),所以BGP开始递归查找,发现一共三个标签,“172.16的标签+100.2的标签+100.6的IGP标签”。

PE2#sh ip cef vrf VPNa 172.16.0.0 de
172.16.0.0/16, epoch 0
recursive via 192.168.100.2 label 106
recursive via 192.168.100.6 label 407
nexthop 192.168.47.7 FastEthernet2/0 label 501

PE2#sh ip cef vrf VPNa 172.16.0.0
172.16.0.0/16
nexthop 192.168.47.7 FastEthernet2/0 label 501 407 106

其实是否打2层以上的标签,完全取决于是LDP分发的标签还是BGP分发的标签,只有BGP分发标签时才根据下一跳分发(标签才会堆栈),所以在正常的Option 3中,由于两个AS都把对方的RR和PE路由重分发到了IGP中,所以这部分路由的标签直接通过LDP分发,LDP的标签直接置换原有的顶层标签就可以了;但是在上面讨论的案例中,为了区分域内和域外路由,AS200没有把对端的RR和PE重分发到IGP中,而是直接用BGP传输,从而用Send label的方式保证这部分BGP路由有标签,所以在ASBR上他会根据BGP的下一跳100.6再次分配标签,而不是直接置换。

第11章:多协议BGP和域间组播

第12张:多协议BGP对IPV6的支持

附录A:多协议BGP扩展对CLNS的支持

本文出自 Frank's Blog

版权声明:


本文链接:《BGP设计与实现》读后感及总结之4
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos