들어가며
이전에는 IGP(Interior Gateway Protocol)인 RIP, EIGRP, OSPF를 통해 조직 내부 네트워크에서 라우팅이 어떻게 이루어지는지 살펴봤습니다. 하지만 인터넷과 같은 거대한 네트워크 환경에서는 서로 다른 조직(AS, Autonomous System) 간의 라우팅이 필요합니다. 이때 사용되는 프로토콜이 바로 EGP(Exterior Gateway Protocol)입니다.
또한 현대 네트워크에서는 단일 경로에 의존하지 않고 여러 경로를 동시에 활용하여 성능과 가용성을 높이는 기술이 중요해졌습니다. 이번 글에서는 BGP(Border Gateway Protocol)의 기본 개념과 함께, ECMP(Equal-Cost Multi-Path)와 ECLB(Equal-Cost Load Balancing)라는 라우팅 분산 기법을 함께 다루겠습니다.
1. EGP와 BGP 개요
AS(Autonomous System)란?
AS(자율 시스템)는 단일 조직이나 관리 주체에 의해 운영되는 IP 네트워크들의 집합입니다. 각 AS는 고유한 AS 번호(ASN, Autonomous System Number)를 부여받으며, 인터넷은 수만 개의 AS가 상호 연결된 거대한 네트워크입니다.
예를 들어, 구글, 아마존, 국내 통신사들은 각각 고유한 AS 번호를 가지고 있으며, 이들 간의 라우팅 정보 교환이 인터넷 통신을 가능하게 합니다.
EGP vs IGP
라우팅 프로토콜은 크게 두 가지로 구분됩니다:
- IGP(Interior Gateway Protocol): AS 내부에서 사용되는 라우팅 프로토콜 (RIP, EIGRP, OSPF)
- EGP(Exterior Gateway Protocol): AS 간에 사용되는 라우팅 프로토콜 (BGP)
IGP는 주로 빠른 수렴과 최적 경로 선택에 중점을 두지만, EGP는 정책 기반 라우팅과 확장성에 중점을 둡니다.
BGP란?
BGP(Border Gateway Protocol)는 현재 인터넷에서 사용되는 유일한 EGP입니다. BGP는 Path Vector 알고리즘을 사용하며, AS 간의 라우팅 정보를 교환하여 인터넷 전체의 경로를 결정합니다.
BGP의 주요 특징:
- 정책 기반 라우팅: 기술적 메트릭보다 비즈니스 정책이 우선
- 확장성: 전 세계 수십만 개의 네트워크 경로 처리 가능
- 안정성: 빠른 수렴보다 안정적인 라우팅을 우선
- TCP 기반: Port 179를 사용하여 신뢰성 있는 통신 보장
2. BGP의 동작 원리
BGP 피어링(Peering)

BGP 라우터들은 피어(Peer) 관계를 맺어 라우팅 정보를 교환합니다. 피어링은 두 가지 유형으로 구분됩니다:
- eBGP(External BGP): 서로 다른 AS 간의 BGP 세션
- iBGP(Internal BGP): 동일한 AS 내부의 BGP 세션
eBGP는 일반적으로 직접 연결된 라우터 간에 설정되며, iBGP는 AS 내부의 모든 BGP 라우터 간에 Full Mesh로 구성되거나 Route Reflector를 사용합니다.
BGP 메시지 유형
BGP는 네 가지 메시지 타입을 사용합니다:
- OPEN: BGP 세션 시작 시 교환되는 메시지로, AS 번호와 라우터 ID 등을 포함
- UPDATE: 새로운 경로 정보를 광고하거나 기존 경로를 철회
- KEEPALIVE: 피어 관계 유지를 위한 주기적 메시지 (기본 60초)
- NOTIFICATION: 오류 발생 시 전송되며, BGP 세션을 종료
BGP 경로 선택 과정
BGP는 동일한 목적지에 대해 여러 경로가 존재할 때 다음 순서로 최적 경로를 선택합니다:
- Weight (Cisco 장비만 해당, 높을수록 우선)
- Local Preference (높을수록 우선)
- Locally Originated (로컬에서 발생한 경로 우선)
- AS Path Length (짧을수록 우선)
- Origin Type (IGP > EGP > Incomplete)
- MED(Multi-Exit Discriminator) (낮을수록 우선)
- eBGP > iBGP
- IGP Metric (낮을수록 우선)
- Router ID (낮을수록 우선)
이 과정에서 주목할 점은 기술적 메트릭보다 정책적 속성(Weight, Local Preference)이 우선한다는 것입니다.
3. BGP 설정 예시
기본 BGP 설정 (Cisco IOS)
router bgp 65001
bgp router-id 1.1.1.1
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 description eBGP to AS 65002
address-family ipv4
network 192.168.1.0 mask 255.255.255.0
neighbor 10.0.0.2 activate
exit-address-family
iBGP 설정
router bgp 65001
bgp router-id 2.2.2.2
neighbor 10.1.1.1 remote-as 65001
neighbor 10.1.1.1 update-source Loopback0
address-family ipv4
neighbor 10.1.1.1 activate
neighbor 10.1.1.1 next-hop-self
exit-address-family
BGP 확인 명령어
show ip bgp summary # BGP 피어 상태 확인
show ip bgp # BGP 라우팅 테이블
show ip bgp neighbors # BGP 네이버 상세 정보
show ip route bgp # BGP로 학습한 경로
4. ECMP (Equal-Cost Multi-Path)
ECMP란?

ECMP(Equal-Cost Multi-Path)는 목적지까지 도달하는 여러 경로 중 동일한 비용(Cost)을 가진 경로가 여러 개 존재할 때, 이들을 동시에 라우팅 테이블에 유지하고 트래픽을 분산시키는 기술입니다.
전통적으로 라우팅 프로토콜은 하나의 최적 경로만 선택했지만, ECMP를 사용하면 여러 경로를 동시에 활용하여 대역폭을 효과적으로 사용하고 장애 발생 시 빠른 전환이 가능합니다.
ECMP의 동작 원리
라우팅 프로토콜이 동일한 목적지에 대해 동일한 메트릭을 가진 여러 경로를 발견하면, 이들을 모두 라우팅 테이블에 등록합니다. 실제 패킷 전송 시에는 해시 알고리즘을 사용하여 어느 경로로 패킷을 전송할지 결정합니다.
해시 기반 선택에 사용되는 요소:
- 출발지 IP 주소
- 목적지 IP 주소
- 출발지 포트 번호
- 목적지 포트 번호
- 프로토콜 번호
이러한 정보를 조합하여 해시 값을 계산하고, 그 결과에 따라 경로를 선택합니다. 동일한 플로우(Flow)는 항상 같은 경로를 사용하므로 패킷 순서가 보장됩니다.
ECMP가 지원되는 프로토콜
대부분의 현대 라우팅 프로토콜은 ECMP를 지원합니다:
- OSPF: 기본적으로 최대 4개의 Equal-Cost 경로 지원 (설정으로 확장 가능)
- EIGRP: Variance 명령어로 Unequal-Cost 경로도 지원
- BGP: Maximum-paths 설정으로 여러 경로 활용 가능
- Static Route: 동일한 목적지에 대해 여러 정적 경로 설정 가능
ECMP 설정 예시
OSPF ECMP 설정
router ospf 1
maximum-paths 8 # 최대 8개의 Equal-Cost 경로 사용
BGP ECMP 설정
router bgp 65001
address-family ipv4
maximum-paths 4 # eBGP 경로
maximum-paths ibgp 4 # iBGP 경로
exit-address-family
정적 경로 ECMP
ip route 10.0.0.0 255.255.255.0 192.168.1.1
ip route 10.0.0.0 255.255.255.0 192.168.2.1
두 개의 동일한 목적지 경로가 설정되면 자동으로 ECMP가 적용됩니다.
ECMP 확인
show ip route 10.0.0.0 # 라우팅 테이블에서 다중 경로 확인
show ip cef 10.0.0.0 internal # CEF 테이블에서 로드밸런싱 정보 확인
5. ECLB (Equal-Cost Load Balancing)
ECLB란?
ECLB(Equal-Cost Load Balancing)는 ECMP를 활용하여 트래픽을 여러 경로에 균등하게 분산시키는 기술입니다. ECMP가 "여러 경로를 사용할 수 있게 하는 것"이라면, ECLB는 "실제로 트래픽을 어떻게 분산할 것인가"에 대한 구현 방식입니다.
로드 밸런싱 방식
Per-Packet Load Balancing
각 패킷마다 다른 경로를 선택하는 방식입니다. 대역폭 활용은 최적이지만, 패킷 순서가 바뀔 수 있어 TCP와 같은 프로토콜에서 성능 저하가 발생할 수 있습니다.
interface GigabitEthernet0/0
ip load-sharing per-packet
주의: 현대 네트워크에서는 거의 사용되지 않습니다.
Per-Flow Load Balancing (권장)
동일한 플로우(출발지/목적지 IP, 포트 조합)에 속하는 모든 패킷은 같은 경로를 사용합니다. 이는 패킷 순서를 보장하면서도 여러 플로우 간에는 로드 밸런싱을 수행합니다.
ip cef # CEF 활성화 (기본값)
ip load-sharing per-destination # Per-flow 로드밸런싱 (기본값)
CEF (Cisco Express Forwarding)와 ECLB
Cisco 장비에서 ECLB는 CEF(Cisco Express Forwarding)를 통해 구현됩니다. CEF는 하드웨어 기반의 고속 패킷 전달 기술로, 라우팅 테이블과 ARP 테이블 정보를 미리 계산하여 FIB(Forwarding Information Base)와 Adjacency Table에 저장합니다.
CEF 확인 명령어:
show ip cef # CEF 테이블 전체 확인
show ip cef 10.0.0.0 # 특정 목적지의 CEF 엔트리
show adjacency summary # Adjacency 정보 요약
로드 밸런싱 알고리즘
CEF는 다양한 로드 밸런싱 알고리즘을 지원합니다:
ip cef load-sharing algorithm {original | tunnel | universal | include-ports}
- original: 출발지/목적지 IP만 사용
- tunnel: 터널 인터페이스 고려
- universal: 개선된 해시 알고리즘
- include-ports: 포트 번호까지 포함 (권장)
include-ports 옵션을 사용하면 더 세밀한 플로우 구분이 가능하여 로드 밸런싱 효율이 향상됩니다.
마무리 및 정리
BGP는 인터넷의 근간을 이루는 프로토콜로, AS 간의 라우팅을 담당합니다. IGP와 달리 정책 기반 라우팅을 지원하며, 확장성과 안정성에 중점을 둡니다. BGP의 경로 선택 과정을 이해하면 인터넷 라우팅의 복잡성과 비즈니스 요구사항이 어떻게 반영되는지 알 수 있습니다.
ECMP와 ECLB는 현대 네트워크에서 필수적인 기술입니다. 여러 경로를 동시에 활용하여 대역폭을 증가시키고, 장애 발생 시 빠른 복구를 가능하게 합니다. 특히 데이터센터와 같은 고성능이 요구되는 환경에서는 ECMP 없이는 효율적인 네트워크 구성이 불가능합니다.
다음 글에서는 Inter-VLAN 라우팅과 ROAS(Router on a Stick) 기술에 대해 다루며, VLAN 간 통신을 구현하는 다양한 방법을 살펴보겠습니다.
'Network Concepts' 카테고리의 다른 글
| [Network] 네트워크 다중화와 FHRP - HSRP, VRRP, GLBP (0) | 2025.11.15 |
|---|---|
| [Network] ROAS - Router On A Stick (0) | 2025.11.15 |
| [Network] IGP - 내부 게이트웨이 프로토콜 (RIP, EIGRP, OSPF) (0) | 2025.11.09 |
| [Network] 라우팅과 라우팅 프로토콜의 기초 (0) | 2025.11.07 |
| [Network] VTP - VLAN 트렁킹 프로토콜 (0) | 2025.11.06 |
