728x90
반응형
1. Introduction to BGP Load Balancing
- BGP는 기본적으로 Load Balancing 기능이 비활성화되어 있지만 Command 입력으로 활성화 가능
- Cisco는 IGP Load Balancing이 기본적으로 활성화
- Nokia는 IGP Load Balancing이 기본적으로 비활성화
1) BGP Load Balancing 사용 조건
- BGP에서 Load Balancing을 사용하려면 아래 Attribute가 일치해야 사용 가능
- Weight
- Local-Preference
- AS Path(both AS number and AS path length → 설정으로 AS Number 조건 제거 가능)
- Origin-Code
- MED
- IGP Metric
- 각 Route의 Next-Hop IP Address는 상이해야 사용 가능
2. BGP Load Balancing 방법
1) IGP 또는 Static Route 사용
- eBGP Peer 간에 Static Route로, iBGP Peer 간에는 IGP로 Load Balancing 가능
- eBGP Peer 간에 IGP를 사용하여 Neighbor를 맺어 구현은 가능하지만 실제 망에서는 사용하지 않는 방법
- eBGP Peer 간에 Link Bandwidth가 다를 경우, EIGRP를 사용하여 Unequal Load Balancing 구현 가능
- BGP로 학습한 네트워크의 Next-Hop으로 향하는 경로를 부하 분산시켜 결과적으로 BGP 경로가 부하 분산
- AS 경계 라우터 간에 여러 개의 Link가 있는 R1↔R2만 가능
- AS 경계 라우터가 여러 개일 때, BGP Load Balancing을 IGP 및 Static을 이용하여 구현하는 것을 비권장
- 위 그림에서 R3 라우터에서 여러 경계 라우터로 BGP Load Balancing이 불가능하기 때문
- 해당 문제를 해결한 방법이 'Multipath'를 사용하여 BGP Load Balancing을 구현하는 것
- R1은 22.22.22.22/32 네트워크의 Next-Hop으로 가는 경로가 Static Routing에 의해 부하 분산되게 하여 22.22.22.22/32 네트워크로 가는 BGP 경로가 부하 분산
- 이를 위해 eBGP Neighbor 설정 시, Physical Interface가 아닌 Loopback Interface IP를 사용
- R3은 11.11.11.11/32 네트워크의 Next-Hop으로 가는 경로가 Static Routing에 의해 부하 분산되게 하여 11.11.11.11/32 네트워크로 가는 BGP 경로가 부하 분산
2) Multipath 사용
- IGP 및 Static Routing을 이용한 BGP Load Balancing과 달리 여러 AS 경계 라우터로 BGP Load Balancing 구현 가능
- 'multipath'를 사용하여 여러 개의 iBGP나 eBGP 경로에 대해 부하 분산 구현 가능
- eBGP Peer 간에는 'maximum-path'명령어를, iBGP Peer 간에는 'maximum-path ibgp'명령어를 사용하여 NLRI 당 최대 32개의 경로로 Load Balancing이 가능
- Cisco는 'bgp bestpath as-path multipath-relax'를 사용하여 AS-Path Length와 AS-Path Number가 동일해야 하는 요구 사항을 AS-Path Length만 확인하도록 설정 가능
- 'multipath'만을 사용한 경우, eBGP Peer 간에 Unequal Cost Load Balaning 구현 불가
- 즉, R1↔R2 및 R1↔R4 간에 링크의 대역폭이 달라도 동일한 비율로 라우팅이 동작
- 이와 같은 점을 개선한 것이 DMZ Link Bandwidth 기능을 사용한 Load Balancing
3) DMZ Link Bandwidth 기능 사용
- 서로 다른 AS 간에 연결되는 구간을 DMZ로 명칭
- DMZ Link Bandwidth 기능이란 DMZ 구간의 대역폭에 비례하여 Unequal Cost Load Balancing을 구현하는 것
- eBGP 및 iBGP 경로 모두를 Unequal Cost Load Balancing 가능
- Cisco 기준으로 DMZ Link Bandwidth 기능이 동작하는 방식
- AS 경계 라우터가 DMZ 구간 Link Bandwidth를 확장 커뮤니티를 이용하여 iBGP Peer에게 광고
- 위 그림에서 R2, R4가 R3에게 DMZ 구간 Link Bandwidth를 광고
- 하나의 AS 경계 라우터에서 외부 AS와 연결되는 Link가 여러 개 존재한다면, 자신은 eBGP 부하 분산을 실행
- 위 그림에서 Rl↔R2 간의 부하 분산이 해당
- DMZ 구간 Link Bandwidth를 확장 커뮤니티로 수신한 iBGP 라우터들은 AS 경계 라우터까지 이르는 iBGP 구간에 대해 부하 분산을 실행
- 위 그림에서 R3과↔R2, R3↔R4 간의 부하 분산이 해당
- AS 경계 라우터가 DMZ 구간 Link Bandwidth를 확장 커뮤니티를 이용하여 iBGP Peer에게 광고
- Cisco 기준으로 DMZ Link Bandwidth 기능이 동작하려면 만족해야 하는 조건
- 모든 라우터에 CEF(Cisco Express Forwarding)나 dCEF(distributed CEF) 기능 활성화 필요
- AS 경계 라우터에 'bgp dmzlink-bw'를 입력하여 BGP Link Bandwidth 기능 활성화
- 'maximum-paths' 또는 'maximum-paths ibgp'를 입력하여 eBGP 또는 iBGP 부하 분산 기능 활성화 필요
- 'neighbor x.x.x.x dmzlink-bw'를 입력하여 DMZ Link Bandwidth에 따라 BGP Load Balancing을 구현하고, iBGP Peer에게도 DMZ Link Bandwidth를 정보를 광고
- DMZ Link Bandwidth 정보가 광고되는 iBGP Peer에 확장 커뮤니티를 전송할 수 있도록 설정
- Weight, Local-Preference, AS-Path Length, MED, IGP Metric이 동일한 여러 경로가 필요
- BGP 테이블에 각 BGP Peer 별로 DMZ Link Bandwidth를 kbyte 단위로 기록
- 테스트 장비의 기본 대역폭이 10 Mbit이므로 Byte로 환산하면 1250 kbyte(10,000/8)
- R2→R3에게는 R2의 DMZ Link Bandwidth(10 Mbits + 10 Mbits = 20 Mbits = 2500 kbyte)만큼 전송
- 1.1.1.1/32 네트워크에 대해 R3↔R2와 R3↔R4 간에 iBGP 부하 분산이 구현되며 R2로 전송되는 트래픽은 OSPF에 의해서 부하 분산이 구현
- 외부 AS로 라우팅 되는 트래픽은 DMZ Link Bandwidth에 따라 결정되므로 DMZ가 아닌 Link Bandwidth를 변경해도 외부 AS로 라우팅 되는 트래픽은 영향 없음
728x90
반응형
'네트워크 > BGP' 카테고리의 다른 글
BGP Next-Hop Address Tracking (0) | 2024.08.19 |
---|---|
BGP Load Balancing with DMZ Link Bandwidth Sample Configuration(Cisco IOL) (0) | 2024.08.17 |
BGP Load Balancing with Multipath Sample Configuration(Cisco IOL) (0) | 2024.08.15 |
BGP Load Balancing with IGP and Static Routing Sample Configuration(Cisco IOL) (0) | 2024.08.13 |
MPLS L3 VPN BGP AS-Override Sample Configuration(Cisco IOL) (0) | 2024.08.09 |
MPLS L3 VPN BGP Allowas-In Sample Configuration(Cisco IOL) (0) | 2024.08.07 |
Introduction to BGP Soft Reset (0) | 2024.08.03 |
Introduction to 4byte AS Number (0) | 2024.08.01 |