Shadow Route Reflector
前回CCIE SP Practice LabにあるTrouble Ticket 6: BGP PICの解説をブログに書きました。問題を解く過程で気になった”Shadow Route Reflector”についてブログに書きます。
1. Shadow Route Reflectorて何?
1.1. CCOのどこに書いてある?
1.2. cisco-pressのどこに書いてある?
前回のブログを参考にしてください。
chimay-wh.hatenablog.com
3.2.3 Shadow Route Reflector
1.3. Diverse pathとは?
Shadow Route Reflector(以降、ShadowRRと省略します。)を理解するためには、先ずDiverse pathが何かを知ると良いと思います。
Topologyを見れば分かると思いますが、PE12とPE16ではCE43's loopback0への最短経路が異なります。AS100は、CE43's loopback0のprefixをPE11とPE15から学習することができます。これはdiverse pathsがあると言えます。CE43's loopback0のprefix pathにダイバーシティ(多様性)があると解釈すれば良いです。
このシナリオでは、LOCAL_PREF、MED、weightはdefaultのままです。つまり、Best Path Selection Algorithmの”the lowest IGP metric to the BGP next hop”による経路がbest pathとみなされます。
RR17は2つのPEから学習する経路でbest pathを選択してRR clientsにAdvertiseします。
PE12はPE11経由でAS43に到達する経路とPE15経由の2つを知っています。10.0.0.43/32 のNext Hop に10.0.0.11と10.0.0.15があることから分かります。
PE12#show bgp vpnv4 unicast all BGP table version is 1917, local router ID is 10.0.0.12 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, t secondary path, L long-lived-stale, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:1 (default for vrf cust1) *>i 10.0.0.41/32 10.0.0.11 0 100 0 4142 i *> 10.0.0.42/32 10.2.42.42 0 0 4142 i *>i 10.0.0.43/32 10.0.0.11 0 100 0 43 i *bi 10.0.0.15 0 100 0 43 i *>i 10.0.1.16/32 10.0.0.16 0 100 0 ? *> 10.2.42.0/24 0.0.0.0 0 32768 ? *>i 10.3.0.22/32 10.0.0.15 0 100 0 200 i *>i 21.21.21.21/32 10.0.0.15 0 100 0 200 ? Route Distinguisher: 1:21 *>i 21.21.21.21/32 10.0.0.15 0 100 0 200 ? Route Distinguisher: 1:43 *>i 10.0.0.43/32 10.0.0.11 0 100 0 43 i Route Distinguisher: 1:45 *>i 10.3.0.22/32 10.0.0.15 0 100 0 200 i Route Distinguisher: 16:43 *>i 10.0.1.16/32 10.0.0.16 0 100 0 ? Route Distinguisher: 43:43 *>i 10.0.0.43/32 10.0.0.15 0 100 0 43 i PE12#
ちなみにBGP PICのTSHOOTは解決済みなので、”b backup-path”の表示もありますし、cefを見ればPrimary pathとBackup path(repair)も分かります。
PE12#show ip cef vrf cust1 10.0.0.43/32 detail 10.0.0.43/32, epoch 0, flags [rib defined all labels] recursive via 10.0.0.11 label 24006 nexthop 10.1.5.13 GigabitEthernet5 label 24003-(local:23) nexthop 10.1.9.14 GigabitEthernet3 label 19-(local:23) recursive via 10.0.0.15 label 35, repair nexthop 10.1.5.13 GigabitEthernet5 label 24000-(local:16) PE12#
ただし、IOS-XEでは選ばれるのは1つだけです。
PE12#show ip route vrf cust1 10.0.0.43 Routing Table: cust1 Routing entry for 10.0.0.43/32 Known via "bgp 100", distance 200, metric 0 Tag 43, type internal Last update from 10.0.0.11 00:31:16 ago Routing Descriptor Blocks: * 10.0.0.11 (default), from 10.0.0.17, 00:31:16 ago, recursive-via-host Route metric is 0, traffic share count is 1 AS Hops 1 Route tag 43 MPLS label: 24006 MPLS Flags: MPLS Required PE12#
PE16も確認します。問題では未定義なのですが、確認するために以下のようにPE16へvrfを追加定義します。
PE16 vrf追加後のconfig
vrf cust43 rd 16:43 address-family ipv4 unicast import route-target 1:43 1:100 ! export route-target 1:43 1:100 ! ! ! interface Loopback1 description TEST:ShadowRR Client Effect vrf cust43 ipv4 address 10.0.1.16 255.255.255.255 ! router bgp 100 bgp router-id 10.0.0.16 address-family ipv4 unicast network 172.16.2.0/24 network 172.16.3.0/24 network 172.16.4.0/24 allocate-label all ! address-family vpnv4 unicast ! address-family vpnv6 unicast ! neighbor 10.0.0.17 remote-as 100 update-source Loopback0 address-family ipv4 labeled-unicast next-hop-self ! address-family vpnv4 unicast ! ! neighbor 172.16.3.22 remote-as 200 address-family ipv4 labeled-unicast route-policy pass-all in route-policy pass-all out ! ! neighbor 172.16.4.31 remote-as 300 address-family ipv4 labeled-unicast route-policy pass-all in route-policy pass-all out ! ! vrf cust43 rd 16:43 address-family ipv4 unicast redistribute connected ! ! !
PE16もPE11経由でAS43に到達する経路とPE15経由の2つを知っています。
Route Distinguisher: 16:43において、10.0.0.43/32 のNext Hop に10.0.0.11と10.0.0.15があることから分かります。
RP/0/RP0/CPU0:PE16#show bgp vpnv4 unicast BGP router identifier 10.0.0.16, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0x0 RD version: 0 BGP main routing table version 51 BGP NSR Initial initsync version 4 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:1 *>i10.0.0.41/32 10.0.0.11 0 100 0 4142 i *>i10.0.0.42/32 10.0.0.12 0 100 0 4142 i *>i10.2.42.0/24 10.0.0.12 0 100 0 ? Route Distinguisher: 1:21 *>i21.21.21.21/32 10.0.0.15 0 100 0 200 ? Route Distinguisher: 1:43 *>i10.0.0.43/32 10.0.0.11 0 100 0 43 i Route Distinguisher: 16:43 (default for vrf cust43) *>i10.0.0.41/32 10.0.0.11 0 100 0 4142 i *>i10.0.0.42/32 10.0.0.12 0 100 0 4142 i * i10.0.0.43/32 10.0.0.11 0 100 0 43 i *>i 10.0.0.15 0 100 0 43 i *> 10.0.1.16/32 0.0.0.0 0 32768 ? *>i10.2.42.0/24 10.0.0.12 0 100 0 ? *>i21.21.21.21/32 10.0.0.15 0 100 0 200 ? Route Distinguisher: 43:43 *>i10.0.0.43/32 10.0.0.15 0 100 0 43 i Processed 12 prefixes, 13 paths RP/0/RP0/CPU0:PE16#
PE12と異なりPICの定義をしていないので、Primary pathしかありません。
RP/0/RP0/CPU0:PE16#show cef vrf cust43 10.0.0.43/32 10.0.0.43/32, version 27, internal 0x5000001 0x30 (ptr 0xd7b1188) [1], 0x0 (0xe24a9b0), 0xa08 (0xe84e570) Updated Jan 30 04:02:06.018 Prefix Len 32, traffic index 0, precedence n/a, priority 3 via 10.0.0.15/32, 5 dependencies, recursive [flags 0x6000] path-idx 0 NHID 0x0 [0xd911210 0x0] recursion-via-/32 next hop VRF - 'default', table - 0xe0000000 next hop 10.0.0.15/32 via 24002/0/21 next hop 10.1.7.15/32 Gi0/0/0/2 labels imposed {ImplNull 35} RP/0/RP0/CPU0:PE16#
当然ルーティングテーブルにも1つだけが選ばれています。
RP/0/RP0/CPU0:PE16#show route vrf cust43 10.0.0.43 Routing entry for 10.0.0.43/32 Known via "bgp 100", distance 200, metric 0 Tag 43, type internal Installed Jan 30 04:02:06.000 for 00:10:30 Routing Descriptor Blocks 10.0.0.15, from 10.0.0.17 Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000 Route metric is 0 No advertising protos. RP/0/RP0/CPU0:PE16#
2つのPEを比較してpathの多様性(Diversity)とは何か、Diverse pathの意味も分かったと思います。
1.4. Diverse-Path route reflector
Diverse-Path route reflector=ShadowRR です。RR17はDiverse pathsを学習していますが、best pathのみしかAdvertiseできません。ShadowRRがあることによって、2番目のbest pathをRR clientsにAdvertiseできます。
ShadowRRは、通常のRRとは物理的に別のルータにする必要があります。
IOS-XE ShadowRR オンラインヘルプ
PE12(config)#router bgp 100 PE12(config-router)#address-family vpnv4 PE12(config-router-af)#? Router Address Family configuration commands: bgp BGP specific commands PE12(config-router-af)#bgp ? additional-paths Additional paths in the BGP table PE12(config-router-af)#bgp additional-paths ? install Additional paths to install into RIB select Selection criteria to pick the paths PE12(config-router-af)#bgp additional-paths select ? backup Select backup path best-external Select best-external path PE12(config-router-af)#bgp additional-paths select backup PE12(config-router-af)# PE12(config-router-af)#neighbor 10.0.0.16 ? route-reflector-client Configure a neighbor as Route Reflector client PE12(config-router-af)# PE12(config-router-af)#neighbor 10.0.0.16 ? advertise Advertise to this neighbor PE12(config-router-af)#neighbor 10.0.0.16 advertise ? best-external Advertise best-external (at RRs best-internal) path diverse-path Advertise diverse path PE12(config-router-af)#neighbor 10.0.0.16 advertise diverse-path ? backup Diverse path can be backup path mpath Diverse path can be multipath PE12(config-router-af)#neighbor 10.0.0.16 advertise diverse-path backup PE12(config-router-af)#
ShadowRR clientであるPE16の定義をすると
RP/0/RP0/CPU0:PE16(config)#router bgp 100 RP/0/RP0/CPU0:PE16(config-bgp)#neighbor 10.0.0.12 RP/0/RP0/CPU0:PE16(config-bgp-nbr)#remote-as 100 RP/0/RP0/CPU0:PE16(config-bgp-nbr)#update-source lo0 RP/0/RP0/CPU0:PE16(config-bgp-nbr)#address-family vpnv4 unicast RP/0/RP0/CPU0:PE16(config-bgp-nbr-af)# RP/0/RP0/CPU0:PE16(config-bgp-nbr-af)#commit
ShadowRR(PE12)と RR client(PE16)がEstablishedになります。
RP/0/RP0/CPU0:PE16(config-bgp-af)#do sh bgp nei | i BGP BGP neighbor is 10.0.0.12 BGP state = Established, up for 00:21:41 BGP neighbor version 50 BGP neighbor is 10.0.0.17 BGP state = Established, up for 08:32:28 BGP neighbor version 24 BGP neighbor version 50 BGP neighbor is 172.16.3.22 BGP state = Established, up for 08:32:53 BGP neighbor version 24 BGP neighbor is 172.16.4.31 BGP state = Established, up for 08:33:11 BGP neighbor version 24 RP/0/RP0/CPU0:PE16(config-bgp-af)#
2. 何に使えるの?
第一にPrimary pathとBackup pathがAdvertiseされている状態になるので、Primary pathがダウンしても次のbest pathを再計算してAdvertiseする手間が省けるためconvergenceが速くなります。
第二にPrefix Independent Convergence (BGP-PIC)に使えます。PICは、Primary pathとBackup pathがAdvertiseされている状態で初めて使える機能です。
ところで、このPICはIOS-XRとIOS-XEでは若干定義の仕方が異なります。最初は定義の仕方が全然分かりませんでした。IOS-XEに関しては前回のブログで説明していますので割愛します。今回はIOS-XRで定義します。route-policyの定義が必要になります。
IOS-XR PIC用route-policyオンラインヘルプ
RP/0/RP0/CPU0:PE16(config)#route-policy ? pass-all Route Policy name WORD Route Policy name RP/0/RP0/CPU0:PE16(config)#route-policy PIC RP/0/RP0/CPU0:PE16(config-rpl)#set ? path-selection BGP path selection RP/0/RP0/CPU0:PE16(config-rpl)#set path-selection ? all BGP all paths backup BGP backup path best-path BGP best path group-best BGP group best path multipath BGP multipath RP/0/RP0/CPU0:PE16(config-rpl)#set path-selection backup ? <1> decimal number 1 parameter Identifier specified in the format: '$' followed by alphanumeric characters RP/0/RP0/CPU0:PE16(config-rpl)#set path-selection backup 1 ? advertise Advertise the path install Install the path RP/0/RP0/CPU0:PE16(config-rpl)#set path-selection backup 1 install ? advertise Advertise the path multipath-protect Mutlipath Protect <cr> RP/0/RP0/CPU0:PE16(config-rpl)#set path-selection backup 1 install RP/0/RP0/CPU0:PE16(config-rpl)#end-policy RP/0/RP0/CPU0:PE16(config)#
ちなみに最後の”install”と”advertise”の違いについて説明されているCCOがありますので参考になれば幸いです。
www.cisco.com
route-policy PICをAS100の網内(vpnv4)で定義します。
IOS-XR PICオンラインヘルプ
RP/0/RP0/CPU0:PE16(config)#router bgp 100 RP/0/RP0/CPU0:PE16(config-bgp)#address-family vpnv4 unicast RP/0/RP0/CPU0:PE16(config-bgp-af)#? additional-paths Additional paths configuration RP/0/RP0/CPU0:PE16(config-bgp-af)#additional-paths ? receive Additional paths Receive capability selection Additional paths selection send Additional paths Send capability RP/0/RP0/CPU0:PE16(config-bgp-af)#additional-paths selection ? route-policy Route-policy for additional paths selection RP/0/RP0/CPU0:PE16(config-bgp-af)#additional-paths selection route-policy ? PIC Name of the policy pass-all Name of the policy WORD Name of the policy RP/0/RP0/CPU0:PE16(config-bgp-af)#additional-paths selection route-policy PIC ? ( Specify parameter values for the policy <cr> RP/0/RP0/CPU0:PE16(config-bgp-af)#additional-paths selection route-policy PIC RP/0/RP0/CPU0:PE16(config-bgp-af)#
3. config
ShadowRRとするPE12のconfig
router bgp 100 bgp router-id 10.0.0.12 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.0.0.16 remote-as 100 neighbor 10.0.0.16 update-source Loopback0 neighbor 10.0.0.17 remote-as 100 neighbor 10.0.0.17 update-source Loopback0 ! address-family ipv4 exit-address-family ! address-family vpnv4 bgp additional-paths select backup bgp additional-paths install neighbor 10.0.0.16 activate neighbor 10.0.0.16 send-community extended neighbor 10.0.0.16 route-reflector-client neighbor 10.0.0.16 advertise diverse-path backup neighbor 10.0.0.17 activate neighbor 10.0.0.17 send-community extended neighbor 10.0.0.17 route-reflector-client neighbor 10.0.0.17 advertise diverse-path backup exit-address-family ! address-family ipv4 vrf cust1 redistribute connected neighbor 10.2.42.42 remote-as 4142 neighbor 10.2.42.42 fall-over bfd neighbor 10.2.42.42 activate exit-address-family
ShadowRRのRR clientであるPE16のconfig
router bgp 100 bgp router-id 10.0.0.16 address-family ipv4 unicast network 172.16.2.0/24 network 172.16.3.0/24 network 172.16.4.0/24 allocate-label all ! address-family vpnv4 unicast ! address-family vpnv6 unicast ! neighbor 10.0.0.12 remote-as 100 update-source Loopback0 address-family vpnv4 unicast ! ! neighbor 10.0.0.17 remote-as 100 update-source Loopback0 address-family ipv4 labeled-unicast next-hop-self ! address-family vpnv4 unicast ! ! neighbor 172.16.3.22 remote-as 200 address-family ipv4 labeled-unicast route-policy pass-all in route-policy pass-all out ! ! neighbor 172.16.4.31 remote-as 300 address-family ipv4 labeled-unicast route-policy pass-all in route-policy pass-all out ! ! vrf cust43 rd 16:43 address-family ipv4 unicast redistribute connected ! ! !
4. 検証
4.1 事前&事後比較検証
先ずはIOS-XRに対してShadowRR client及びPICの定義をする前に実行したコマンドと比較します。
RP/0/RP0/CPU0:PE16#show bgp vpnv4 unicast BGP router identifier 10.0.0.16, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0x0 RD version: 0 BGP main routing table version 55 BGP NSR Initial initsync version 4 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:1 * i10.0.0.41/32 10.0.0.11 0 100 0 4142 i *>i 10.0.0.11 0 100 0 4142 i *>i10.0.0.42/32 10.0.0.12 0 100 0 4142 i * i 10.0.0.12 0 100 0 4142 i *>i10.2.42.0/24 10.0.0.12 0 100 0 ? * i 10.0.0.12 0 100 0 ? Route Distinguisher: 1:21 * i21.21.21.21/32 10.0.0.15 0 100 0 200 ? *>i 10.0.0.15 0 100 0 200 ? Route Distinguisher: 1:43 * i10.0.0.43/32 10.0.0.11 0 100 0 43 i *>i 10.0.0.11 0 100 0 43 i Route Distinguisher: 16:43 (default for vrf cust43) *>i10.0.0.41/32 10.0.0.11 0 100 0 4142 i *>i10.0.0.42/32 10.0.0.12 0 100 0 4142 i * i10.0.0.43/32 10.0.0.11 0 100 0 43 i *>i 10.0.0.15 0 100 0 43 i *> 10.0.1.16/32 0.0.0.0 0 32768 ? *>i10.2.42.0/24 10.0.0.12 0 100 0 ? *>i21.21.21.21/32 10.0.0.15 0 100 0 200 ? Route Distinguisher: 43:43 * i10.0.0.43/32 10.0.0.15 0 100 0 43 i *>i 10.0.0.15 0 100 0 43 i Processed 12 prefixes, 19 paths RP/0/RP0/CPU0:PE16#
Processed 12 prefixes, 13 pathsだったのが、Processed 12 prefixes, 19 pathsになっています。
RP/0/RP0/CPU0:PE16#show cef vrf cust43 10.0.0.43/32 10.0.0.43/32, version 45, internal 0x5000001 0x30 (ptr 0xdda26a8) [1], 0x0 (0xe4ecc80), 0xa08 (0xf5d92d8) Updated Jan 30 13:42:11.255 Prefix Len 32, traffic index 0, precedence n/a, priority 3 via 10.0.0.11/32, 4 dependencies, recursive, backup [flags 0x6100] path-idx 0 NHID 0x0 [0xdeed060 0x0] recursion-via-/32 next hop VRF - 'default', table - 0xe0000000 next hop 10.0.0.11/32 via 24003/0/21 next hop 10.1.8.14/32 Gi0/0/0/0 labels imposed {19 24007} next hop 10.1.4.13/32 Gi0/0/0/1 labels imposed {24003 24007} via 10.0.0.15/32, 7 dependencies, recursive [flags 0x6000] path-idx 1 NHID 0x0 [0xdeed570 0x0], Internal 0xf7650b0 recursion-via-/32 next hop VRF - 'default', table - 0xe0000000 next hop 10.0.0.15/32 via 24000/0/21 next hop 10.1.7.15/32 Gi0/0/0/2 labels imposed {ImplNull 35} RP/0/RP0/CPU0:PE16#
backupが増えて表示されます。
RP/0/RP0/CPU0:PE16#show route vrf cust43 10.0.0.43 Routing entry for 10.0.0.43/32 Known via "bgp 100", distance 200, metric 0 Tag 43 Number of pic paths 1 , type internal Installed Jan 30 13:42:11.248 for 00:06:25 Routing Descriptor Blocks 10.0.0.11, from 10.0.0.17, BGP backup path Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000 Route metric is 0 10.0.0.15, from 10.0.0.17 Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000 Route metric is 0 No advertising protos. RP/0/RP0/CPU0:PE16#
ルーティングテーブルにPIC pathが追加されているのが分かります。
なお、両方とも”from 10.0.0.17”という出力結果から、RR17だけがAdvertiseしているように出力されます。ShadowRRは、RR17を影から支えているといった感じになります。名前の通りの活躍になります。
RP/0/RP0/CPU0:PE16#show route vrf cust43 Codes: 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 path Gateway of last resort is not set B 10.0.0.41/32 [200/0] via 10.0.0.11 (nexthop in vrf default), 09:08:28 B 10.0.0.42/32 [200/0] via 10.0.0.12 (nexthop in vrf default), 00:58:43 B 10.0.0.43/32 [200/0] via 10.0.0.11 (nexthop in vrf default), 00:07:02 (!) [200/0] via 10.0.0.15 (nexthop in vrf default), 00:07:02 L 10.0.1.16/32 is directly connected, 09:12:00, Loopback1 B 10.2.42.0/24 [200/0] via 10.0.0.12 (nexthop in vrf default), 00:58:43 B 21.21.21.21/32 [200/0] via 10.0.0.15 (nexthop in vrf default), 09:08:28 RP/0/RP0/CPU0:PE16#
(!) - FRR Backup path と表示されます。これはIOS-XEと違ってとても分かりやすいです。
折角なので動作検証をしてみます。
4.2 PIC動作検証(IOS-XR)
pingをPE16から打ち続けて、PE15-CE43のlinkを切断するとどうなるのかを検証しました。パケロス0%でバックアップ経路に切り替わることを期待します。
RP/0/RP0/CPU0:PE16#ping 10.0.0.43 vrf cust43 sou lo1 int 25 rep 10000 Type escape sequence to abort. Sending 10000, 100-byte ICMP Echos to 10.0.0.43, timeout is 2 seconds: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!......... ............................................................!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
めちゃくちゃ遅い!!BFDを定義しないと折角のPICが台無しになります。 BFDの定義については前回のブログをご確認ください。 https://chimay-wh.hatenablog.com/entry/2022/01/17/174130 4.3 BFD有効化
CE43-PE15でBFDを有効にしました。
PE15#show bfd neighbors details IPv4 Sessions NeighAddr LD/RD RH/RS State Int 10.3.43.43 4097/2 Up Up Gi4 Session state is UP and using echo function with 50 ms interval. Session Host: Software OurAddr: 10.3.43.15 Handle: 1 Local Diag: 0, Demand mode: 0, Poll bit: 0 MinTxInt: 1000000, MinRxInt: 1000000, Multiplier: 3 Received MinRxInt: 1000000, Received Multiplier: 3 Holddown (hits): 0(0), Hello (hits): 1000(32) Rx Count: 34, Rx Interval (ms) min/max/avg: 3/987/848 last: 487 ms ago Tx Count: 34, Tx Interval (ms) min/max/avg: 3/997/858 last: 150 ms ago Elapsed time watermarks: 0 0 (last: 0) Registered protocols: BGP CEF Uptime: 00:00:28 Last packet: Version: 1 - Diagnostic: 0 State bit: Up - Demand bit: 0 Poll bit: 0 - Final bit: 0 C bit: 0 Multiplier: 3 - Length: 24 My Discr.: 2 - Your Discr.: 4097 Min tx interval: 1000000 - Min rx interval: 1000000 Min Echo interval: 50000 PE15#
これでPICの真価が発揮されます!
RP/0/RP0/CPU0:PE16#ping 10.0.0.43 vrf cust43 sou lo1 int 25 rep 10000 Type escape sequence to abort. Sending 10000, 100-byte ICMP Echos to 10.0.0.43, timeout is 2 seconds: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <snip> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Success rate is 99 percent (9999/10000), round-trip min/avg/max = 2/5/92 ms RP/0/RP0/CPU0:PE16#
1パケットロスで済みました。時間にして25msecダウンという結果でした。
最後までお読みいただきありがとうございました!