- 네트워크 요구사항
AS 200 내에서 OSPF를 IGP 프로토콜로 사용하여 AS 내의 상호 운송을 실현합니다.
스위치 A와 스크류치 C 간에 두 개의 IBGP 연결을 설정합니다. 만약 스크류치 A와 스크류치 C 간의 두 개의 경로가 모두 연결되면, 스크류치 C와 1.1.1.0/24 네트워크 간의 패킷은 스크류치 A를 통해 스크류치 B를 경유한 후 스크류치 C로 전송됩니다.
스크류치 A를 통해 스크류치 B를 경유한 후 스크류치 C로의 경로가 손상될 경우, BFD가 빠르게 감지하고 BGP 프로토콜에 통지하여 스크류치 A를 통해 스크류치 D를 경유한 후 스크류치 C로의 경로가 신속히 작동하도록 합니다.
- 구성 단계
-
OSPF 구성: 스크류치 A와 스크류치 C 간의 라우팅 경로를 보장합니다.
-
스크류치 A上的 BGP 구성
# 스크류치 A와 스크류치 C 간에 두 개의 IBGP 연결을 설정합니다.
[스위치A] bgp 200
[스위치A-bgp-default] peer 3.0.2.2 as-number 200
[스위치A-bgp-default] peer 2.0.2.2 as-number 200
[스위치A-bgp-default] address-family ipv4 unicast
[스위치A-bgp-default-ipv4] peer 3.0.2.2 enable
[스위치A-bgp-default-ipv4] peer 2.0.2.2 enable
# 스크류치 A와 스크류치 C 간의 두 개의 경로가 모두 연결되었을 때, 스크류치 C와 1.1.1.0/24 네트워크 간의 패킷을 스크류치 A를 통해 스크류치 B를 경유한 후 스크류치 C로 전송합니다.
# (스크류치 A에서 1.1.1.0/24 라우팅을 대상으로 하는(peer) 2.0.2.2에 대해 높은 MED 속성 값을 할당합니다.)
_ACL 2000을 정의하여 1.1.1.0/24 라우팅을 허용합니다.
[스위치A] acl basic 2000
[스위치A-acl-ipv4-basic-2000] rule permit source 1.1.1.0 0.0.0.255
# 두 개의 Route-policy를 정의합니다. 하나는 apply_med_50라는 이름으로 1.1.1.0/24 라우팅에 MED 속성 값을 50으로 설정하고, 다른 하나는 apply_med_100라는 이름으로 MED 속성 값을 100으로 설정합니다.
[스위치A] route-policy apply_med_50 permit node 10
[스위치A-route-policy-apply_med_50-10] if-match ip address acl 2000
[스위치A-route-policy-apply_med_50-10] apply cost 50
[스위치A-route-policy-apply_med_50-10] quit
[스위치A] route-policy apply_med_100 permit node 10
[스위치A-route-policy-apply_med_100-10] if-match ip address acl 2000
[스위치A-route-policy-apply_med_100-10] apply cost 100
[스위치A-route-policy-apply_med_100-10] quit
# 2.0.2.2 대상(peer)에게 apply_med_100 Route-policy를, 3.0.2.2 대상(peer)에게 apply_med_50 Route-policy를 적용합니다.
[스위치A] bgp 200
[스위치A-bgp-default] address-family ipv4 unicast
[스위치A-bgp-default-ipv4] peer 3.0.2.2 route-policy apply_med_50 export
[스위치A-bgp-default-ipv4] peer 2.0.2.2 route-policy apply_med_100 export
[스위치A-bgp-default-ipv4] quit
# 스크류치 A를 통해 스크류치 B를 경유한 후 스크류치 C로의 경로가 손상될 경우, BFD가 빠르게 감지하고 BGP 프로토콜에 통지하여 스크류치 A를 통해 스크류치 D를 경유한 후 스크류치 C로의 경로를 신속히 활성화합니다.
[스위치A-bgp-default] peer 3.0.2.2 bfd
- 스크류치 C上的 BGP 구성
# 스크류치 A와 스크류치 C 간에 두 개의 IBGP 연결을 설정합니다.
[스위치C] bgp 200
[스위치C-bgp-default] peer 3.0.1.1 as-number 200
[스위치C-bgp-default] peer 2.0.1.1 as-number 200
[스위치C-bgp-default] address-family ipv4 unicast
[스위치C-bgp-default-ipv4] peer 3.0.1.1 enable
[스위치C-bgp-default-ipv4] peer 2.0.1.1 enable
[스위치C-bgp-default-ipv4] quit
# 스크류치 A를 통해 스크류치 B를 경유한 후 스크류치 C로의 경로가 손상될 경우, BFD가 빠르게 감지하고 BGP 프로토콜에 통지하여 스크류치 A를 통해 스크류치 D를 경유한 후 스크류치 C로의 경로를 신속히 활성화합니다.
[스위치C-bgp-default] peer 3.0.1.1 bfd
- 구성 검증
스크류치 C에서 BFD 세션 정보를 확인합니다.
<스위치C> display bfd session verbose
Total Session Num: 1 Up Session Num: 1 Init Mode: Active
IPv4 Session Working Under Ctrl Mode:
Local Discr: 513 Remote Discr: 513
Source IP: 3.0.2.2 Destination IP: 3.0.1.1
Session State: Up Interface: N/A
Min Tx Inter: 500ms Act Tx Inter: 500ms
Min Rx Inter: 500ms Detect Inter: 2500ms
Rx Count: 135 Tx Count: 135
Connect Type: Indirect Running Up for: 00:00:58
Hold Time: 2457ms Auth mode: None
Detect Mode: Async Slot: 0
Protocol: BGP
Version:1
Diag Info: No Diagnostic
이상한 정보는 없습니다: 스크류치 A와 스크류치 C 간에 BFD 연결이 정상적으로 설정되었으며 BFD 프로토콜이 정상적으로 작동하고 있습니다.
# 스크류치 C에서 BGP 피어 정보를 확인할 수 있으며, 스크류치 A와 스크류치 C 간에 두 개의 BGP 연결이 설정되었으며 모두 Established 상태에 있습니다.
<스위치C> display bgp peer ipv4
BGP local router ID: 3.3.3.3
Local AS number: 200
Total number of peers: 2 Peers in established state: 2
* - Dynamically created peer
^ - Peer created through link-local address
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
2.0.1.1 200 4 5 0 0 00:01:55 Established
3.0.1.1 200 4 5 0 0 00:01:52 Established
# 스크류치 C에서 1.1.1.0/24 라우팅 정보를 확인할 수 있으며, 스크류치 C는 스크류치 A를 통해 스크류치 B를 경유한 후 1.1.1.0/24 네트워크와 통신하고 있습니다.
<스위치C> display ip routing-table 1.1.1.0 24 verbose
Summary count : 1
Destination: 1.1.1.0/24
Protocol: BGP Process ID: 0
SubProtID: 0x1 Age: 00h00m09s
Cost: 50 Preference: 255
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x1 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x15000001 LastAs: 0
AttrID: 0x1 Neighbor: 3.0.1.1
Flags: 0x10060 OrigNextHop: 3.0.1.1
Label: NULL RealNextHop: 3.0.2.1
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL BkSRLabel: NULL
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid Interface: Vlan-interface101
BkTunnel ID: Invalid BkInterface: N/A
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A PathID: 0x0
LinkCost: 0 MicroSegID: 0
# 스크류치 A와 스크류치 B 간의 링크가 손상될 경우, 스크류치 C에서 1.1.1.0/24 라우팅 정보를 확인할 수 있으며, 스크류치 C는 스크류치 A를 통해 스크류치 D를 경유하여 1.1.1.0/24 네트워크와 통신합니다.
<스위치C> display ip routing-table 1.1.1.0 24 verbose
Summary count : 1
Destination: 1.1.1.0/24
Protocol: BGP Process ID: 0
SubProtID: 0x1 Age: 00h03m08s
Cost: 100 Preference: 255
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x1 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x15000000 LastAs: 0
AttrID: 0x0 Neighbor: 2.0.1.1
Flags: 0x10060 OrigNextHop: 2.0.1.1
Label: NULL RealNextHop: 2.0.2.1
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL BkSRLabel: NULL
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid Interface: Vlan-interface201
BkTunnel ID: Invalid BkInterface: N/A
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A PathID: 0x0
LinkCost: 0 MicroSegID: 0