Cisco跨域三层*** OptionB装备辅导51CTO博客 - 千亿集团

Cisco跨域三层*** OptionB装备辅导51CTO博客

2019年02月19日10时26分34秒 | 作者: 涵菱 | 标签: 装备,路由,标签 | 浏览: 2255

Cisco跨域三层*** OptionB装备辅导   1 跨域***需求发生的布景 跟着MPLS ***处理计划的盛行,网络的规划也在不断添加,在运营商的不同城域网之间,或是同骨干网之间都存在着十分实践的跨过不同自治域问题,这些都需求一个不同于自治体系内MPLS ***体系结构,即跨域的MPLS ***,为了支撑效劳提供商之间的***路由挑选信息交流,需求一个新的机制,以便能够穿过提供商间的链路来播送路由前缀和标签信息,跨域***的呈现正是处理这个问题的。   现在跨域***的技能计划主要有三种: 1)VRF-TO-VRF(背靠背方法) option A 2)MP-EBGP (单跳的MP-EBGP方法) option B 3)MULTIHOP-EBGP(多跳的MP-EBGP方法) option C 我在这篇文章中首要叙述OptionB的跨域***计划,即单跳的MP-EBGP方法,其他两种方法在后续的时刻也会发布在我的blog中。 2 OptionB方法跨域***描绘   如上图,整个网络中存在3个AS,AS号分别为200、300和400,其间AS200和AS400之间的***有互通需求。   在这个网络中R2、R3和R4为3个AS的ASBR,那么咱们在ASBR之间运转MP-EBGP协议,MP-EBGP将自己AS内的一切的***信息传递给别的一个AS,传递的是私网路由和标签信息,因为MP-EBGP在传递路由时,是要改动路由的下一跳,依据标签分配的准则,当一个FEC的下一跳被改动时,有必要在本地替换标签,因而ASBR在收到AS内的***路由信息,再向外发布时,有必要给这些***路由信息重新分配标签,***路由信息伴跟着新的标签被发布出去,而在ASBR本地,新旧标签构成一个标签的交流操作,这也是BGP中next-hop-self的来历之一。   对端的ASBR收到从MP-EBGP来的***路由信息后,在本地保存,在持续向自己AS内的PE设备分散,当这个ASBR向域内的MP-IBGP街坊发布路由时,它能够挑选不改动路由的下一跳,或是将路由的下一跳改为自己,假如改动了路由的下一跳,同上面的标签分配准则,也需求为这些***路由重新分配标签,在本地构成标签的交流操作。   3 ***路由信息分散的要害点 改动下一跳: 本文的跨域***选用的是改动下一跳的规划,即ASBR在于IBGP对等体树立街坊时,将下一跳指向自己,也就是说ASBR向IBGP街坊发送***路由时,会改动***路由的下一跳指向ASBR,这样的话在ASBR之间不需求运转额定的如LDP之类的信令协议,由MBGP触发标签即可。反之,假如不改动下一跳,那么在ASBR之间是需求运转LDP之类的信令协议的,个人认为这样做尽管能够完成跨域***的互通,可是不是很规范,所以在本文中均是选用改动下一跳的规划来发布***路由信息的。   ***路由信息的过滤: 报文转发时,需求ASBR都要对***的LSP做一次交流。还有一个问题需求留意的是,这种处理计划需求在ASBR上接纳本AS内和AS别传过来的一切***路由,然后在把***给分散出去,可是MPLS ***的特性结构中要求,只需一个PE上有***匹配一条***路由时,这条***路由才会被保存下来,因而关于上述ASBR上需求保存***路由的需求有必要做特别的装备(因为ASBR上或许根本就没有装备***),让ASBR把收到的***路由悉数的保存下来,而不论,本地是否有和它匹配的***。这样的意图能够经过封闭BGP默许的route-target过滤来完成,也能够装备专门的战略来完成对***路由信息的操控。为了省劲起见,我这儿选用直接封闭BGP默许的route-target过滤来完成。 因为这种计划需求在ASBR上保存一切的***路由,因而这自身就是对路由器提出了很高的要求,使ASBR更简略成为毛病点。不过只需***的路由数量不是许多,这种计划不失为一种装备简略且有用的计划。   4 数据规划 因为一般的跨域***装备示例都是两个AS,这儿我成心调整成了三个AS,其实也没什么改动,就是多装备一些EBGP街坊罢了。   Loopback地址:202.1.1.X/32,X=1、2、3、4、5、6,即路由器序号; 接口地址:80.X.Y.Z/24,X/Y=路由器序号,Z=1、2,路由器序号小的为1,大的为2; IGP:PE-P-PE之间布置OSPF和LDP,ASBR之间不重用任何IGP,只树立MEBGP街坊; AS:R1和R2AS号为200,R3的AS号为300,R4和R6的AS号为400; Vrf:R1上装备两个vrf      Vrf20 RD=100:20  RT=100:20  路由为10.0.30.0/24      Vrf30 RD=100:30  RT=100:30  路由为10.0.30.0/24      装备为不同***相同的路由是客观验证一下***路由地址堆叠的状况。     R6上装备两个vrf      Vrf20 RD=100:20  RT=100:20  路由为60.0.20.0/24      Vrf30 RD=100:30  RT=100:30  路由为60.0.30.0/24 验证:从R6上ping R1上的vrf地址,在R4-R5之间的链路上抓包。       剖析报文的标签嵌套状况,正常状况应该是:       R1-R6方向的报文应该是两层标签,       R6-R1方向的报文应该是一层标签。   5 具体装备 为了节省版别,只罗列出6台路由器的相关装备,其他无关装备均不贴出来。 [R1]     R1#         R1#show run ! version 12.4 ! hostname R1 ! ip cef      ! ! ip vrf vrf10  rd 100:10   route-target export 100:10      route-target import 100:10     ! ip vrf vrf20  rd 100:20   route-target export 100:20      route-target import 100:20     ! ip vrf vrf30  rd 100:30   route-target export 100:30      route-target import 100:30     ! interface Loopback0    ip address 202.1.1.1 255.255.255.255     ! interface Ethernet4/0  ip address 80.1.2.1 255.255.255.0         duplex full  mpls ip    ! interface Ethernet4/6  ip vrf forwarding vrf20         ip address 10.0.30.1 255.255.255.0        duplex half ! interface Ethernet4/7  ip vrf forwarding vrf30         ip address 10.0.30.1 255.255.255.0        duplex half ! router ospf 1          log-adjacency-changes  network 80.1.2.0 0.0.0.255 area 0         network 202.1.1.1 0.0.0.0 area 0         ! router bgp 200         no synchronization    bgp log-neighbor-changes         neighbor 202.1.1.2 remote-as 200          neighbor 202.1.1.2 update-source Loopback0          no auto-summary       !  address-family ***v4  neighbor 202.1.1.2 activate     neighbor 202.1.1.2 send-community extended          exit-address-family   !  address-family ipv4 vrf vrf30   redistribute connected          no synchronization    exit-address-family   !  address-family ipv4 vrf vrf20   redistribute connected          no synchronization    exit-address-family   !  address-family ipv4 vrf vrf10   no synchronization    exit-address-family  ! end      [R2]   R2#show run ! version 12.4 ! hostname R2 ! ip cef      ! interface Loopback0    ip address 202.1.1.2 255.255.255.255     ! interface Ethernet4/0  ip address 80.1.2.2 255.255.255.0         duplex full  mpls ip    ! interface Ethernet4/1  ip address 80.2.3.1 255.255.255.0         duplex full ! router ospf 1          log-adjacency-changes  network 80.1.2.0 0.0.0.255 area 0         network 202.1.1.2 0.0.0.0 area 0          ! router bgp 200         no synchronization    no bgp default route-target filter        bgp log-neighbor-changes        neighbor 80.2.3.2 remote-as 300  neighbor 202.1.1.1 remote-as 200          neighbor 202.1.1.1 update-source Loopback0           no auto-summary       !  address-family ***v4  neighbor 80.2.3.2 activate      neighbor 80.2.3.2 send-community extended  neighbor 202.1.1.1 activate     neighbor 202.1.1.1 send-community extended          neighbor 202.1.1.1 next-hop-self           exit-address-family  ! end       [R3] R3#show run ! version 12.4 ! hostname R3 ! ip cef      ! no mpls ip  ! interface Loopback0    ip address 202.1.1.3 255.255.255.255     ! interface Ethernet4/1  ip address 80.2.3.2 255.255.255.0          duplex full ! interface Ethernet4/2  ip address 80.3.4.1 255.255.255.0         duplex half ! router bgp 300         no synchronization    no bgp default route-target filter        bgp log-neighbor-changes        neighbor 80.2.3.1 remote-as 200  neighbor 80.3.4.2 remote-as 400  no auto-summary       !  address-family ***v4  neighbor 80.2.3.1 activate      neighbor 80.2.3.1 send-community extended  neighbor 80.3.4.2 activate      neighbor 80.3.4.2 send-community extended  exit-address-family  ! end            [R4] R4#show run ! version 12.4 ! hostname R4 ! ip cef      ! interface Loopback0    ip address 202.1.1.4 255.255.255.255     ! interface Ethernet4/2  ip address 80.3.4.2 255.255.255.0         duplex half ! interface Ethernet4/3  ip address 80.4.5.1 255.255.255.0         duplex half  mpls ip    ! router ospf 1          log-adjacency-changes  network 80.3.4.0 0.0.0.255 area 0         network 80.4.5.0 0.0.0.255 area 0         network 202.1.1.4 0.0.0.0 area 0         ! router bgp 400         no synchronization    no bgp default route-target filter        bgp log-neighbor-changes        neighbor 80.3.4.1 remote-as 300  neighbor 202.1.1.6 remote-as 400          neighbor 202.1.1.6 update-source Loopback0          no auto-summary       !  address-family ***v4  neighbor 80.3.4.1 activate      neighbor 80.3.4.1 send-community extended  neighbor 202.1.1.6 activate     neighbor 202.1.1.6 send-community extended          neighbor 202.1.1.6 next-hop-self          exit-address-family  ! end           [R5] R5#show run ! version 12.4 ! hostname R5 ! ip cef      ! interface Loopback0    ip address 202.1.1.5 255.255.255.255     ! interface Ethernet4/0  ip address 80.5.6.1 255.255.255.0         duplex half  mpls ip    ! interface Ethernet4/3  ip address 80.4.5.2 255.255.255.0         duplex half  mpls ip    ! router ospf 1          log-adjacency-changes  network 80.4.5.0 0.0.0.255 area 0         network 80.5.6.0 0.0.0.255 area 0         network 202.1.1.5 0.0.0.0 area 0         ! end     [R6] R6#show run ! version 12.4 ! hostname R6 ! ip cef      ! ip vrf vrf10  rd 100:10   route-target export 100:10      route-target import 100:10     ! ip vrf vrf20  rd 100:20   route-target export 100:20      route-target import 100:20     ! ip vrf vrf30  rd 100:30   route-target export 100:30      route-target import 100:30     ! interface Loopback0    ip address 202.1.1.6 255.255.255.255     ! interface Ethernet4/0  ip address 80.5.6.2 255.255.255.0         duplex half  mpls ip    ! interface Ethernet4/6  ip vrf forwarding vrf20         ip address 60.0.20.1 255.255.255.0        duplex half ! interface Ethernet4/7  ip vrf forwarding vrf30         ip address 60.0.30.1 255.255.255.0         duplex half ! router ospf 1          log-adjacency-changes  network 80.5.6.0 0.0.0.255 area 0         network 202.1.1.6 0.0.0.0 area 0         ! router bgp 400         no synchronization    bgp log-neighbor-changes        neighbor 202.1.1.4 remote-as 400          neighbor 202.1.1.4 update-source Loopback0          no auto-summary       !  address-family ***v4  neighbor 202.1.1.4 activate     neighbor 202.1.1.4 send-community extended          exit-address-family   !  address-family ipv4 vrf vrf30   redistribute connected          no synchronization    exit-address-family   !  address-family ipv4 vrf vrf20   redistribute connected          no synchronization    exit-address-family   !  address-family ipv4 vrf vrf10   redistribute connected          no synchronization    exit-address-family  ! end           6 调试信息 检查各个BGP街坊上的私网路由和标签信息 [R1] R1#show bgp ***v4 uni all       BGP table version is 15, local router ID is 202.1.1.1         Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,       r RIB-failure, S Stale      Origin codes: i - IGP, e - EGP, ? - incomplete           NetworkNext Hop  Metric LocPrf Weight Path       Route Distinguisher: 100:20 (default for vrf vrf20) *> 10.0.30.0/24     0.0.0.0        0         32768 ? *>i60.0.20.0/24     202.1.1.2      0    100      0 300 400 ?  Route Distinguisher: 100:30 (default for vrf vrf30) *> 10.0.30.0/24     0.0.0.0        0         32768 ? *>i60.0.30.0/24     202.1.1.2      0    100      0 300 400 ?    R1#show bgp ***v4 uni all labels    NetworkNext Hop      In label/Out label Route Distinguisher: 100:20 (vrf20)          10.0.30.0/24     0.0.0.0         17/aggregate(vrf20)          60.0.20.0/24     202.1.1.2       nolabel/23      Route Distinguisher: 100:30 (vrf30)          10.0.30.0/24     0.0.0.0         18/aggregate(vrf30)          60.0.30.0/24     202.1.1.2       nolabel/22        [R2] R2#show bgp ***v4 uni all       BGP table version is 9, local router ID is 202.1.1.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,       r RIB-failure, S Stale      Origin codes: i - IGP, e - EGP, ? - incomplete           NetworkNext Hop  Metric LocPrf Weight Path       Route Distinguisher: 100:20     *>i10.0.30.0/24     202.1.1.1      0    100      0 ? *> 60.0.20.0/24     80.2.3.2 0 300 400 ?  Route Distinguisher: 100:30     *>i10.0.30.0/24     202.1.1.1      0    100      0 ? *> 60.0.30.0/24     80.2.3.2 0 300 400 ?    R2#show bgp ***v4 uni all labels    NetworkNext Hop      In label/Out label Route Distinguisher: 100:20        10.0.30.0/24     202.1.1.1       18/17    60.0.20.0/24     80.2.3.2        23/20 Route Distinguisher: 100:30        10.0.30.0/24     202.1.1.1       19/18    60.0.30.0/24     80.2.3.2        22/21   [R3] R3#show bgp ***v4 uni all       BGP table version is 5, local router ID is 202.1.1.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,       r RIB-failure, S Stale      Origin codes: i - IGP, e - EGP, ? - incomplete           NetworkNext Hop  Metric LocPrf Weight Path       Route Distinguisher: 100:20     *> 10.0.30.0/24     80.2.3.1 0 200 ?      *> 60.0.20.0/24     80.3.4.2 0 400 ?      Route Distinguisher: 100:30     *> 10.0.30.0/24     80.2.3.1 0 200 ?      *> 60.0.30.0/24     80.3.4.2 0 400 ?        R3#show bgp ***v4 uni all labels    NetworkNext Hop      In label/Out label Route Distinguisher: 100:20        10.0.30.0/24     80.2.3.1        19/18    60.0.20.0/24     80.3.4.2        20/22 Route Distinguisher: 100:30        10.0.30.0/24     80.2.3.1        18/19    60.0.30.0/24     80.3.4.2        21/23     [R4] R4#show bgp ***v4 uni all       BGP table version is 9, local router ID is 202.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,       r RIB-failure, S Stale      Origin codes: i - IGP, e - EGP, ? - incomplete           NetworkNext Hop  Metric LocPrf Weight Path       Route Distinguisher: 100:20     *> 10.0.30.0/24     80.3.4.1 0 300 200 ?  *>i60.0.20.0/24     202.1.1.6      0    100      0 ? Route Distinguisher: 100:30     *> 10.0.30.0/24     80.3.4.1 0 300 200 ?  *>i60.0.30.0/24     202.1.1.6      0    100      0 ?   R4#show bgp ***v4 uni all labels    NetworkNext Hop      In label/Out label Route Distinguisher: 100:20        10.0.30.0/24     80.3.4.1        25/19    60.0.20.0/24     202.1.1.6       22/20 Route Distinguisher: 100:30        10.0.30.0/24     80.3.4.1        24/18    60.0.30.0/24     202.1.1.6       23/21     [R6] R6#show bgp ***v4 uni all       BGP table version is 15, local router ID is 202.1.1.6         Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,       r RIB-failure, S Stale      Origin codes: i - IGP, e - EGP, ? - incomplete            NetworkNext Hop  Metric LocPrf Weight Path       Route Distinguisher: 100:20 (default for vrf vrf20) *>i10.0.30.0/24     202.1.1.4      0    100      0 300 200 ?  *> 60.0.20.0/24     0.0.0.0        0         32768 ? Route Distinguisher: 100:30 (default for vrf vrf30) *>i10.0.30.0/24     202.1.1.4      0    100      0 300 200 ?  *> 60.0.30.0/24     0.0.0.0        0         32768 ?   R6#show bgp ***v4 uni all labels    NetworkNext Hop      In label/Out label Route Distinguisher: 100:20 (vrf20)           10.0.30.0/24     202.1.1.4       nolabel/25         60.0.20.0/24     0.0.0.0         20/aggregate(vrf20)       Route Distinguisher: 100:30 (vrf30)          10.0.30.0/24     202.1.1.4       nolabel/24         60.0.30.0/24     0.0.0.0         21/aggregate(vrf30)         从上面的标签信息能够显着的看出MBGP的***路由触发的标签状况,即在跨域的时分报文中是靠这些标签辅导转发的,也从旁边面印证了前文中[改动下一跳]中所描绘的***路由触发标签分配的状况。   检查实践的mpls标签转宣布 [R1] R1#show mpls forwarding-table   Local  Outgoing    Prefix  Bytes tag  Outgoing   Next Hop     tag    tag or VC   or Tunnel Id      switched   interface     16     Pop tag     202.1.1.2/32      0Et4/0      80.1.2.2     17     Aggregate   10.0.30.0/24[V]   0    18     Aggregate   10.0.30.0/24[V]   0      [R2] R2#show mpls forwarding-table   Local  Outgoing    Prefix  Bytes tag  Outgoing   Next Hop     tag    tag or VC   or Tunnel Id      switched   interface     16     Pop tag     202.1.1.1/32      0Et4/0      80.1.2.1     17     Pop tag     80.2.3.2/32       0Et4/1      80.2.3.2     18     17    100:20:10.0.30.0/24    \         0Et4/0      80.1.2.1     19     18    100:30:10.0.30.0/24    \         0Et4/0      80.1.2.1     22     21    100:30:60.0.30.0/24    \         0Et4/1      80.2.3.2     23     20    100:20:60.0.20.0/24    \         0Et4/1      80.2.3.2       [R3] R3#show mpls forwarding-table   Local  Outgoing    Prefix  Bytes tag  Outgoing   Next Hop     tag    tag or VC   or Tunnel Id      switched   interface     16     Pop tag     80.2.3.1/32       0Et4/1      80.2.3.1     17     Pop tag     80.3.4.2/32       0Et4/2      80.3.4.2     18     19    100:30:10.0.30.0/24    \         0Et4/1      80.2.3.1     19     18    100:20:10.0.30.0/24    \         0Et4/1      80.2.3.1     20     22    100:20:60.0.20.0/24    \         0Et4/2      80.3.4.2     21     23    100:30:60.0.30.0/24    \         0Et4/2      80.3.4.2       [R4] R4#show mpls forwarding-table   Local  Outgoing    Prefix  Bytes tag  Outgoing   Next Hop     tag    tag or VC   or Tunnel Id      switched   interface     16     Pop tag     80.3.4.1/32       0Et4/2      80.3.4.1     17     Pop tag     80.5.6.0/24       0Et4/3      80.4.5.2     18     Pop tag     202.1.1.5/32      0Et4/3      80.4.5.2     19     18    202.1.1.6/32      0Et4/3      80.4.5.2     22     18    100:20:60.0.20.0/24    \         0Et4/3      80.4.5.2     23     18    100:30:60.0.30.0/24    \         0Et4/3      80.4.5.2     24     18    100:30:10.0.30.0/24    \         0Et4/2      80.3.4.1     25     19    100:20:10.0.30.0/24    \         0Et4/2      80.3.4.1       [R5] R5#show mpls forwarding-table   Local  Outgoing    Prefix  Bytes tag  Outgoing   Next Hop     tag    tag or VC   or Tunnel Id      switched   interface     16     Pop tag     80.3.4.0/24       0Et4/3      80.4.5.1     17     Pop tag     202.1.1.4/32      73         Et4/3      80.4.5.1     18     Pop tag     202.1.1.6/32      8236       Et4/0      80.5.6.2       [R6] R6#show mpls forwarding-table   Local  Outgoing    Prefix  Bytes tag  Outgoing   Next Hop     tag    tag or VC   or Tunnel Id      switched   interface     16     Pop tag     80.4.5.0/24       0Et4/0      80.5.6.1     17     16    80.3.4.0/24       0Et4/0      80.5.6.1     18     17    202.1.1.4/32      0Et4/0      80.5.6.1     19     Pop tag     202.1.1.5/32      0Et4/0      80.5.6.1     20     Aggregate   60.0.20.0/24[V]   0    21     Aggregate   60.0.30.0/24[V]   0      从上面的信息咱们看出,在ASBR上能够显着的看到***V4的路由信息对应的标签转发项。   公网标签和私网标签 前面说到从R6上ping R1上的vrf地址,在R4-R5之间的链路上抓包。然后剖析报文的标签嵌套状况,正常状况应该是:      R1-R6方向的报文应该是两层标签,公网标签+私网标签; R6-R1方向的报文应该是一层标签,公网标签被弹出,只剩下私网标签。 能够经过下面的抓包图片进行验证: R1-R6方向的两层标签     R6-R1方向的一层标签     依据朋友的提示,在此添加从R6到R1的私网路由trace信息,能够清楚的看到沿途标签信息的改动: R6#traceroute vrf vrf30
Protocol [ip]:   
Target IP address: 10.0.30.1 
Source address: 60.0.30.1    
Numeric display [n]:   
Resolve AS number in (G)lobal table, (V)RF or(N)one [G]:   
Timeout in seconds [3]:
Probe count [3]: 
Minimum Time to Live [1]:    
Maximum Time to Live [30]:   
Port Number [33434]:   
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to 10.0.30.1
  1 80.5.6.1 [MPLS: Labels 17/21 Exp 0] 180 msec 224 msec 144 msec
  2 80.4.5.1 [MPLS: Label 21 Exp 0] 156 msec 208 msec 192 msec   
  3 80.3.4.1 [MPLS: Label 18 Exp 0] 180 msec 272 msec 236 msec   
  4 80.2.3.1 [MPLS: Label 19 Exp 0] 164 msec 192 msec 364 msec   
  5 10.0.30.1 220 msec 196 msec *
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章