본문 바로가기

IT 이야기/네트워크(Network)

[Routing] BGP에서의 다중 경로 이중화 설정(maximum-Paths)

728x90
반응형

안녕하세요.

오늘 알아볼 내용은 Routing Protocol , 그 중에서 BGP 와 관련된 내용입니다.

 

BGP Protocol 은 기본적으로 하나의 최적 경로만 지원하는데요.

상기 이미지와 같이 하나의 목적지로 가는 2개의 경로가 존재할 경우,

최적의 경로를 찾아 하나의 경로만으로 통신이 이루어지게 됩니다.

router bgp 60000
 bgp router-id 10.10.10.1
 bgp asnotation dot
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 10.10.10.20 remote-as 60001
 neighbor 10.10.10.21 remote-as 60002
 
 address-family ipv4
  network 0.0.0.0
  network 10.10.10.0 mask 255.255.255.0
  redistribute connected
  neighbor 10.10.10.20 activate
  neighbor 10.10.10.20 send-community
  neighbor 10.10.10.20 soft-reconfiguration inbound
  neighbor 10.10.10.21 activate
  neighbor 10.10.10.21 send-community
  neighbor 10.10.10.21 soft-reconfiguration inbound
 exit-address-family

10.10.10.1 Router 에서 목적지로 가기 위한 경로상 인접 라우터는

10.10.10.20과 10.10.10.21 두 대의 Router 가 있습니다.

 

route#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       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
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 10.10.10.10 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 10.10.10.10
      10.0.0.0/8 is variably subnetted, 183 subnets, 10 masks
B        10.0.0.0/8 [20/0] via 10.10.10.21, 1w5d
B        10.10.10.0/30 [20/0] via 10.10.10.21, 1w5d
B        10.10.10.4/30 [20/0] via 10.10.10.21, 1w5d
B        10.10.10.8/30 [20/0] via 10.10.10.21, 1w5d
B        10.10.10.12/30 [20/0] via 10.10.10.21, 1w5d
B        10.10.10.20/30 [20/0] via 10.10.10.21, 1w5d
B        10.10.10.24/30 [20/0] via 10.10.10.21, 1w5d

OSPF 같은 경우에는 2개의 경로가 다 나올텐데,

BGP는 위에서 보시는 것처럼 "sh ip route" 명령으로 경로를 확인해보면,

인접 라우터(10.10.10.21) 에서만 경로를 가져오고 있습니다.

 

router#sh ip bgp nei 10.10.10.20 received-routes 
BGP table version is 12559, local router ID is 10.10.10.1
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, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *    10.0.0.0         10.10.10.20                          0 60001 4445 65005 ?
 *    10.10.10.0/30    10.10.10.20                          0 60001 4445 i
 *    10.10.10.4/30    10.10.10.20                          0 60001 4445 i
 *    10.10.10.8/30    10.10.10.20                          0 60001 4445 i
 *    10.10.10.12/30   10.10.10.20                          0 60001 4445 i
 *    10.40.54.0/24    10.10.10.20                          0 60001 4445 65002 ?
 *    10.40.62.0/24    10.10.10.20                          0 60001 4445 65002 ?
 *    10.40.63.0/24    10.10.10.20                          0 60001 4445 65002 ?
 *    10.40.64.0/24    10.10.10.20                          0 60001 4445 65002 ?
 
 router#sh ip bgp nei 10.10.10.21 received-routes 
BGP table version is 12559, local router ID is 10.10.10.1
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, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   10.0.0.0         10.10.10.21                          0 60001 4445 65005 ?
 *>   10.10.10.0/30    10.10.10.21                          0 60001 4445 i
 *>   10.10.10.4/30    10.10.10.21                          0 60001 4445 i
 *>   10.10.10.8/30    10.10.10.21                          0 60001 4445 i
 *>   10.10.10.12/30   10.10.10.21                          0 60001 4445 i
 *    10.10.10.16/30   10.10.10.21                          0 60001 4445 i

인접 라우터 각각에서 받아온 received-routes 정보를 확인해보면,

20번에서 가져온 경로는 "* valid" 이고, 21번에서 가져온 경로는 "*>" 로 best 경로임을 알 수 있습니다.

 

 

트래픽 현황입니다.

이미지에서 위 그래프는 Input 이고, 아래쪽 그래프는 Output Traffic 량인데요.

아래쪽 그래프에서 보시는 것처럼, 10.10.10.21번 라우터인 주황색으로만 Traffic 이 나가는 걸 확인할 수 있습니다.

 

해결방법

서두에서 말씀드린 것처럼, BGP Routing Protocol 은 Default 가 Best Path 하나만을 가지고 있습니다.

그래서 Option 설정을 통해 Multi-path 를 적용할 수 있습니다.

router bgp 60000
 bgp router-id 10.10.10.1
 bgp asnotation dot
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 10.10.10.20 remote-as 60001
 neighbor 10.10.10.21 remote-as 60002
 
 address-family ipv4
  network 0.0.0.0
  network 10.10.10.0 mask 255.255.255.0
  redistribute connected
  neighbor 10.10.10.20 activate
  neighbor 10.10.10.20 send-community
  neighbor 10.10.10.20 soft-reconfiguration inbound
  neighbor 10.10.10.21 activate
  neighbor 10.10.10.21 send-community
  neighbor 10.10.10.21 soft-reconfiguration inbound
  maximum-paths 2                                       <-- 최대 2개의 경로를 습득함
 exit-address-family

bgp 관련된 config 에서  위 코드블럭의 내용처럼 "maximum-path" 명령을 통해

다중 경로에 대한 Load sharing 설정을 할 수 있습니다.

 

router#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       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
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 10.10.10.10 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 10.10.10.10
      10.0.0.0/8 is variably subnetted, 183 subnets, 10 masks
B        10.0.0.0/8 [20/0] via 10.10.10.21, 04:16:13
                    [20/0] via 10.10.10.20, 04:16:13
B        10.10.10.0/30 [20/0] via 10.10.10.21, 04:16:13
                       [20/0] via 10.10.10.20, 04:16:13
B        10.10.10.4/30 [20/0] via 10.10.10.21, 04:16:13
                       [20/0] via 10.10.10.20, 04:16:13
B        10.10.10.8/30 [20/0] via 10.10.10.21, 04:16:13
                       [20/0] via 10.10.10.20, 04:16:13

설정 후 "show ip route" 명령으로 routing 정보를 확인해보면,

기존에는 10.10.10.21 에서만 가져오던 경로 정보를, 10.10.10.20 에서도 가져오는 것을 확인할 수 있습니다.

 

트래픽 정보를 확인해 보면, "maximum-paths 2" 명령어 적용이후 

주황색의 21번 라우터로만 나가던 Traffic 이 파랑색의 20번 라우터를 통해서도 나가기 시작했습니다.

 

요점

BGP Protocol 은 목적지로 가는 다중경로가 있다고 하더라도,

Default 로 최적의 하나의 경로로만 통신을 한다는 것이고,

이는 maximum-path  명령을 통해 다중 경로 설정이 가능하다는 내용이었습니다.

 

 

 

읽어주셔서 감사합니다
티스토리 댓글과 공감은 로그인이 필요 없습니다.
로그인하시면 구독 가능합니다.

728x90
반응형