这篇文章介绍一下跨域VPN Option C在IOX设备上的配置案例
如果需要CE之间互通,我们需要考虑以下的问题:
RR与RR之间的控制层面与数据层面 ;
CE与CE之间控制层面;
CE与CE之间的数据层面 ;
下面将对这些详细说明。
RR与RR之间的控制层面与数据层面
第一步将两个AS内的IGP/MPLS LDP使能。
第二步,RR1于RR2之间建立BGP邻居是使用loopback接口,跨域的是不能通过IGP传递过去,需要在RR1--->R4--->R5--->RR2起BGP LU的邻居,并将自己的loopback口宣告出去,以RR2的loopback0(10.1.22.22)举例:
RR2的BGP配置如下:
RP/0/0/CPU0:RR02#show run router bgp Tue Apr 14 12:00:01.138 UTCrouter bgp 2 bgp router-id 10.1.22.22 address-family ipv4 unicast network 10.1.22.22/32 <<<<< 宣告本地loopback接口 allocate-label all <<<<< 在IOX系统内,启用BGP LU必须使能allocate-label,要不然不会为BGP路由分配标签 ! neighbor 10.1.5.5 remote-as 2 update-source Loopback0 address-family ipv4 labeled-unicast route-reflector-client ! !R5会收到RR2传递过来label为3的prefix,并为之分配本地标签24007,并向R4发送路由更新。
RP/0/0/CPU0:R5#show bgp ipv4 labeled-unicast 10.1.22.22/32Tue Apr 14 12:05:33.615 UTCBGP routing table entry for 10.1.22.22/32Versions: Process bRIB/RIB SendTblVer Speaker 16 16 Local Label: 24007 <<<<< Last Modified: Apr 11 18:36:21.564 for 2d17hPaths: (1 available, best #1) Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.45.4 Path #1: Received by speaker 0 Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.45.4 Local 10.1.22.22 (metric 20) from 10.1.22.22 (10.1.22.22) Received Label 3 <<<<< Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast Received Path ID 0, Local Path ID 1, version 16R4收到路由后为其分配本地标签24007
RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.1.22.22/32Tue Apr 14 12:08:11.833 UTCBGP routing table entry for 10.1.22.22/32Versions: Process bRIB/RIB SendTblVer Speaker 16 16 Local Label: 24007 <<<<<<<Last Modified: Apr 11 18:36:30.321 for 2d17hPaths: (1 available, best #1) Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.11.11 Path #1: Received by speaker 0 Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.11.11 2 10.1.45.5 from 10.1.45.5 (10.1.5.5) Received Label 24007 <<<<<<<< Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast Received Path ID 0, Local Path ID 1, version 16 Origin-AS validity: (disabled)RP/0/0/CPU0:R4#RR1收到路由如下, 下一跳为域内R4的loopback地址。
RP/0/0/CPU0:RR01#show bgp ipv4 labeled-unicast 10.1.22.22/32Tue Apr 14 12:11:22.591 UTCBGP routing table entry for 10.1.22.22/32Versions: Process bRIB/RIB SendTblVer Speaker 10 10 Local Label: 24004 <<<<<Last Modified: Apr 11 18:36:37.538 for 2d17hPaths: (1 available, best #1) Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer): 0.2 Path #1: Received by speaker 0 Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer): 0.2 2, (Received from a RR-client) 10.1.4.4 (metric 20) from 10.1.4.4 (10.1.4.4) Received Label 24007 <<<<<<< Origin IGP, localpref 100, valid, internal, best, group-best, labeled-unicast Received Path ID 0, Local Path ID 1, version 10RP/0/0/CPU0:RR01#那么路径 RR1--->R4--->R5--->RR2 到数据层面如下:
RP/0/0/CPU0:RR01#traceroute 10.1.22.22 source 10.1.11.11 Tue Apr 14 12:13:10.974 UTCType escape sequence to abort.Tracing the route to 10.1.22.22 1 10.1.31.3 [MPLS: Labels 24001/24007 Exp 0] 19 msec 29 msec 29 msec 【LDP label/BGP LU Label】 2 10.1.34.4 [MPLS: Label 24007 Exp 0] 29 msec 19 msec 19 msec 【LDP 次末挑弹出只剩下BGP LU】 3 10.1.45.5 [MPLS: Label 24007 Exp 0] 19 msec 19 msec 19 msec 【BGP LU, 到R5之后BGPlabel会弹出,查cef表域内转发】 4 10.1.56.6 [MPLS: Label 24002 Exp 0] 19 msec 29 msec 29 msec 【LDP label】 5 10.1.62.2 39 msec * 19 msec 【LDP 次末跳弹出】RP/0/0/CPU0:RR01#show cef 10.1.4.4/32 Tue Apr 14 12:13:34.462 UTC10.1.4.4/32, version 9, internal 0x1000001 0x0 (ptr 0xa11dd680) [1], 0x0 (0xa11c0468), 0xa28 (0xa15d11b8) Updated Apr 10 12:57:39.266 local adjacency 10.1.31.3 Prefix Len 32, traffic index 0, precedence n/a, priority 3 via 10.1.31.3/32, GigabitEthernet0/0/0/0, 5 dependencies, weight 0, class 0 [flags 0x0] path-idx 0 NHID 0x0 [0xa18aa110 0x0] next hop 10.1.31.3/32 local adjacency local label 24000 labels imposed {24001}CE与CE之间控制层面
拿R8的loopback0路由10.1.8.8/32举例,R8和R7建立EBGP链接,将路由传递给R7.查看R7上的路由如下,为其分配BGP VPNv4的标签24002
RP/0/0/CPU0:R7#show bgp vrf VIP ipv4 unicast 10.1.8.8/32 detail Wed Apr 15 03:33:52.790 UTCBGP routing table entry for 10.1.8.8/32, Route Distinguisher: 10.1.7.7:0Versions: Process bRIB/RIB SendTblVer Speaker 5 5 Local Label: 24002 (no rewrite); Flags: 0x01141001+0x00000000; Last Modified: Apr 10 12:58:37.619 for 4d14hPaths: (1 available, best #1) Not advertised to any peer Path #1: Received by speaker 0 Flags: 0xc00000000d040003, import: 0x1f Not advertised to any peer 65001 10.1.78.8 from 10.1.78.8 (10.1.8.8) Origin IGP, metric 0, localpref 100, valid, external, best, group-best, import-candidate Received Path ID 0, Local Path ID 1, version 5 Extended community: RT:100:100 Origin-AS validity: (disabled)R7与RR2建立VPNv4的邻居,RR2收到这条BGP路由下一跳时R7的loopback口地址10.1.7.7
RP/0/0/CPU0:RR02#show bgp vpnv4 unicast rd 10.1.7.7:0 10.1.8.8/32 detail Wed Apr 15 03:39:42.716 UTCBGP routing table entry for 10.1.8.8/32, Route Distinguisher: 10.1.7.7:0Versions: Process bRIB/RIB SendTblVer Speaker 3 3 Flags: 0x00040001+0x00000000; Last Modified: Apr 10 12:59:37.534 for 4d14hPaths: (1 available, best #1) Advertised to peers (in unique update groups): 10.1.11.11 Path #1: Received by speaker 0 Flags: 0x4000000025060205, import: 0x1f Advertised to peers (in unique update groups): 10.1.11.11 65001, (Received from a RR-client) 10.1.7.7 (metric 20) from 10.1.7.7 (10.1.7.7) Received Label 24002 Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf Received Path ID 0, Local Path ID 1, version 3 Extended community: RT:100:100 RP/0/0/CPU0:RR02#RR2与RR1建立VPNv4的邻居,并互指next-hop-unchanged,因此RR1上看到的路由下一条依旧为10.1.7.7
RP/0/0/CPU0:RR01#show bgp vpnv4 unicast rd 10.1.7.7:0 10.1.8.8/32 detail Wed Apr 15 03:48:54.418 UTCBGP routing table entry for 10.1.8.8/32, Route Distinguisher: 10.1.7.7:0Versions: Process bRIB/RIB SendTblVer Speaker 5 5 Flags: 0x00040001+0x00000000; Last Modified: Apr 12 17:17:18.538 for 2d10hPaths: (1 available, best #1) Advertised to peers (in unique update groups): 10.1.2.2 Path #1: Received by speaker 0 Flags: 0x4000000025060001, import: 0x20 Advertised to peers (in unique update groups): 10.1.2.2 2 65001 10.1.7.7 (metric 20) from 10.1.22.22 (10.1.22.22) Received Label 24002 Origin IGP, localpref 100, valid, external, best, group-best, import-candidate, not-in-vrf Received Path ID 0, Local Path ID 1, version 5 Extended community: RT:100:100 RP/0/0/CPU0:RR01#RR1与R2建立VPNv4的邻居,将此条路由通告出去,R2上看到此路由的下一条为 10.1.7.7 ,R2将之传递给R1
RP/0/0/CPU0:R2#RP/0/0/CPU0:R2#show bgp vpnv4 unicast rd 10.1.7.7:0 10.1.8.8/32 detailWed Apr 15 07:55:59.930 UTCBGP routing table entry for 10.1.8.8/32, Route Distinguisher: 10.1.7.7:0Versions: Process bRIB/RIB SendTblVer Speaker 11 11 Flags: 0x00040001+0x00000000; Last Modified: Apr 12 17:17:09.376 for 2d14hPaths: (1 available, best #1) Not advertised to any peer Path #1: Received by speaker 0 Flags: 0x4000000025060005, import: 0x1f Not advertised to any peer 2 65001 10.1.7.7 (metric 20) from 10.1.11.11 (10.1.11.11) Received Label 24002 Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf Received Path ID 0, Local Path ID 1, version 11 Extended community: RT:100:100 RP/0/0/CPU0:R2#CE与CE之间的数据层面
如上,R2上看到10.1.8.8 下一跳是10.1.7.7,那么我们需要打通一条完整的LSP,让数据层面可以正常转发。
这里有用到了BGP LU, 首先R7与R5建立BGP LU,并为自己的loopback地址分配3的标签
R5收到后会为10.1.7.7分配24000的本地标签并送给R4,下一跳为10.1.7.7
R4收到后会为10.1.7.7分配24006的本地标签并发给R2,并修改下一跳地址为自己,10.1.4.4
R2上我们能看到received lable为24006,下一跳为10.1.4.4,域内地址
RP/0/0/CPU0:R5#show bgp ipv4 labeled-unicast 10.1.7.7/32 Wed Apr 15 08:03:24.181 UTCBGP routing table entry for 10.1.7.7/32Versions: Process bRIB/RIB SendTblVer Speaker 15 15 Local Label: 24000Last Modified: Apr 11 18:36:21.564 for 3d13hPaths: (1 available, best #1) Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.45.4 Path #1: Received by speaker 0 Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.45.4 Local 10.1.7.7 (metric 20) from 10.1.22.22 (10.1.7.7) Received Label 3 Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast Received Path ID 0, Local Path ID 1, version 15 Originator: 10.1.7.7, Cluster list: 10.1.22.22RP/0/0/CPU0:R5#RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.1.7.7/32Wed Apr 15 08:04:04.978 UTCBGP routing table entry for 10.1.7.7/32Versions: Process bRIB/RIB SendTblVer Speaker 5 5 Local Label: 24006Last Modified: Apr 10 12:58:55.321 for 4d19hPaths: (1 available, best #1) Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.11.11 Path #1: Received by speaker 0 Advertised IPv4 Labeled-unicast paths to peers (in unique update groups): 10.1.11.11 2 10.1.45.5 from 10.1.45.5 (10.1.5.5) Received Label 24000 Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast Received Path ID 0, Local Path ID 1, version 5 Origin-AS validity: (disabled)RP/0/0/CPU0:R2# show bgp ipv4 labeled-unicast 10.1.7.7/32Wed Apr 15 08:07:55.011 UTCBGP routing table entry for 10.1.7.7/32Versions: Process bRIB/RIB SendTblVer Speaker 5 5 Local Label: 24004Last Modified: Apr 10 12:58:55.376 for 4d19hPaths: (1 available, best #1) Not advertised to any peer Path #1: Received by speaker 0 Not advertised to any peer 2 10.1.4.4 (metric 20) from 10.1.11.11 (10.1.4.4) Received Label 24006 Origin IGP, localpref 100, valid, internal, best, group-best, labeled-unicast Received Path ID 0, Local Path ID 1, version 5 Originator: 10.1.4.4, Cluster list: 10.1.11.11这时候我们在R2查看10.1.8.8的cef表可以看到标签为24001 24006 24002,对应10.1.4.4LDP标签/10.1.7.7 BGP LU标签/BGP VPNv4标签
在R3上根据标签表转发,栈顶标签次末跳弹出,剩余标签为 24006 24002 , 对应10.1.7.7 BGP LU标签/BGP VPNv4标签
在R4上根据标签表转发,修改栈顶标签, 24000 24002 对应 10.1.7.7 BGP LU标签/BGP VPNv4标签
在R5上根据标签表转发,修改栈顶标签,24000 24002对应10.1.7.7 LDP标签/ BGP VPNv4标签
在R6上根据标签表转发 ,栈顶标签次末跳弹出, 剩余标签为24002对应BGP VPNv4标签
在R7上先查标签表直接从Gi0/0/0/0送出
RP/0/0/CPU0:R2#show cef vrf VIP 10.1.8.8 Wed Apr 15 08:16:49.124 UTC10.1.8.8/32, version 8, internal 0x5000001 0x0 (ptr 0xa1221058) [1], 0x0 (0x0), 0x208 (0xa16b1210) Updated Apr 12 17:17:09.130 Prefix Len 32, traffic index 0, precedence n/a, priority 3 via 10.1.7.7/32, 3 dependencies, recursive [flags 0x6000] path-idx 0 NHID 0x0 [0xa172593c 0x0] recursion-via-/32 next hop VRF - 'default', table - 0xe0000000 next hop 10.1.7.7/32 via 24004/0/21 next hop 10.1.23.3/32 Gi0/0/0/1 labels imposed {24001 24006 24002}RP/0/0/CPU0:R3#show mpls forwarding labels 24001Wed Apr 15 08:28:05.079 UTCLocal Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------24001 Pop 10.1.4.4/32 Gi0/0/0/0 10.1.34.4 2212964 RP/0/0/CPU0:R3#RP/0/0/CPU0:R4#show mpls forwarding labels 24006 Wed Apr 15 08:28:58.186 UTCLocal Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------24006 24000 10.1.7.7/32 Gi0/0/0/1 10.1.45.5 4344 RP/0/0/CPU0:R4#RP/0/0/CPU0:R5#show mpls forwarding labels 24000Wed Apr 15 08:29:33.724 UTCLocal Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------24000 24000 10.1.7.7/32 Gi0/0/0/0 10.1.56.6 4776 RP/0/0/CPU0:R5#RP/0/0/CPU0:R6#show mpls forwarding labels 24000 Wed Apr 15 08:30:31.660 UTCLocal Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------24000 Pop 10.1.7.7/32 Gi0/0/0/1 10.1.67.7 1480864 RP/0/0/CPU0:R6#RP/0/0/CPU0:R7#show mpls forwarding Wed Apr 15 08:31:38.636 UTCLocal Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------24000 Pop 10.1.6.6/32 Gi0/0/0/1 10.1.67.6 774254 24001 24001 10.1.5.5/32 Gi0/0/0/1 10.1.67.6 6512 24002 Unlabelled 10.1.8.8/32[V] Gi0/0/0/0 10.1.78.8 5936 <<<<<<<<<<24006 24002 10.1.22.22/32 Gi0/0/0/1 10.1.67.6 742325 24007 24005 10.1.2.2/32 10.1.5.5 0 24008 24006 10.1.11.11/32 10.1.5.5 0 RP/0/0/CPU0:R7#测试
RP/0/0/CPU0:R1#ping 10.1.8.8 source 10.1.1.1 Sun Apr 12 17:17:18.117 UTCType escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.8.8, timeout is 2 seconds:RP/0/0/CPU0:R1#traceroute 10.1.8.8 source 10.1.1.1Sun Apr 12 17:17:20.567 UTCType escape sequence to abort.Tracing the route to 10.1.8.8 1 10.1.12.2 9 msec 0 msec 0 msec 2 10.1.23.3 [MPLS: Labels 24001/24006/24002 Exp 0] 29 msec 29 msec 29 msec LDP Label/BGP LU label/BGP VPN4 label 3 10.1.34.4 [MPLS: Labels 24006/24002 Exp 0] 19 msec 19 msec 29 msec BGP LU label/BGP VPN4 label 4 10.1.45.5 [MPLS: Labels 24000/24002 Exp 0] 19 msec 19 msec 29 msec BGP LU label/BGP VPN4 label 5 10.1.56.6 [MPLS: Labels 24000/24002 Exp 0] 29 msec 19 msec 19 msec LDP Label /BGP VPN4 label 6 10.1.67.7 [MPLS: Label 24002 Exp 0] 29 msec 29 msec 19 msec BGP VPN4 label 7 10.1.78.8 29 msec * 39 msec RP/0/0/CPU0:R1#RP/0/0/CPU0:R1#RP/0/0/CPU0:R1#RP/0/0/CPU0:R1#RP/0/0/CPU0:R1#show routeTue Jul 23 12:54:31.565 UTCCodes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, t - Traffic Engineering, (!) - FRR Backup pathGateway of last resort is not setL 10.1.1.1/32 is directly connected, 09:07:18, Loopback0B 10.1.8.8/32 [20/0] via 10.1.12.2, 03:02:29C 10.1.12.0/24 is directly connected, 09:07:18, GigabitEthernet0/0/0/0L 10.1.12.1/32 is directly connected, 09:07:18, GigabitEthernet0/0/0/0```
No comments:
Post a Comment