핵심 인사이트 (3줄 요약)
- 본질: BGP 라우터들은 친구(Neighbor)를 맺을 때 상대방이 나랑 다른 나라(다른 AS)인지, 같은 나라(같은 AS)인지에 따라 'eBGP(외부)'와 'iBGP(내부)'로 철저히 급을 나누어 각기 다른 외교 규칙을 적용한다.
- iBGP 스플릿 호라이즌 룰: eBGP는 남의 나라에서 받아온 정보를 우리나라(AS)로 무조건 뿌리지만, iBGP는 "내부 식구(iBGP)한테서 받은 찌라시는 절대로 또 다른 내부 식구(iBGP)에게 전달하지 않는다"라는 치명적인 **침묵의 규칙(Split Horizon)**을 가지고 있다.
- 풀 메시(Full-Mesh)의 저주: 이 침묵의 룰 때문에, 하나의 통신사 망(AS) 안에 BGP 라우터가 100대 있다면 서로 정보를 건네듣지 못하므로, 100대의 라우터가 1:1로 직접 모조리 친구를 맺어야만(Full-Mesh) 나라 안의 모든 라우터가 인터넷 지도를 복사 받을 수 있는 엄청난 노가다 구조가 형성된다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: BGP 피어링(Peering)의 두 가지 형태와, 단일 AS 내부에서 BGP 라우팅 정보가 루프(Loop) 도는 것을 방지하기 위한 핵심 알고리즘.
-
필요성: SKT 관문 라우터(A)가 미국 구글에서 eBGP로 최신 90만 개짜리 인터넷 지도를 받아왔다. 이제 A는 부산에 있는 SKT 관문 라우터(B)에게 이 지도를 넘겨줘야, B도 일본으로 나가는 트래픽을 처리할 수 있다. A와 B는 같은 SKT(AS 100) 소속이므로 iBGP로 지도를 교환한다. 이때 B가 C한테 주고, C가 다시 A한테 주면 사내에서 BGP 루프가 돌아 망이 터진다. **"우리 식구(iBGP)끼리는 한번 받은 지도는 절대 다른 식구한테 토스하지 말자! 무조건 자기가 직접 받은 것만 쓰자!"**라는 극단적인 룰이 스플릿 호라이즌이다.
-
💡 비유: iBGP 스플릿 호라이즌 룰은 **"사내 메신저 귓속말 규칙"**과 같습니다.
- 외부 손님(eBGP)에게 들은 정보는 사내 직원(iBGP)에게 전달할 수 있습니다.
- 하지만 사내 직원(iBGP)에게 귓속말로 들은 소문을, 또 다른 사내 직원(iBGP)에게 전달하는 것은 **"사내 루머 양산(루핑)"**으로 간주하여 엄격히 금지됩니다.
- 따라서 사장님(eBGP에서 정보를 받은 라우터)이 공지사항을 전파하려면 직원 한 명에게 전달해서 퍼뜨리게 할 수 없고, 직원 100명 전원에게 일일이 1:1로 귓속말(Full-Mesh)을 해줘야만 합니다.
📢 섹션 요약 비유: eBGP는 국경을 넘어 백신(인터넷 정보)을 수입해 오는 **"밀수선"**이고, iBGP 스플릿 호라이즌은 국내에 들어온 백신이 2차, 3차 감염(루프)을 일으키지 못하게 막는 **"접촉 금지법"**입니다. 이 법 때문에 국내 유통은 오직 수입상과 1:1 직거래(Full-Mesh)로만 이루어져야 합니다.
Ⅱ. eBGP와 iBGP의 동작 차이와 풀 메시의 압박 (Deep Dive)
네트워크 실무에서 이 둘의 동작 차이를 모르면 BGP 망을 절대 설계할 수 없다.
1. eBGP (External BGP) - 국경선 넘기
- 대상: AS 번호가 서로 다른 라우터 간의 Peering.
- 연결 조건: 보안과 신뢰성을 위해 물리적으로 랜선이 1:1로 직접 꽂혀 있어야(Directly Connected) 맺어지는 것이 원칙이다. (패킷 수명인 TTL 값이 1로 고정되어 있어 라우터를 하나라도 더 거치면 패킷이 폐기된다).
- 정보 전달: 남의 나라에서 지도를 받아오면, 우리나라(iBGP)에도 뿌리고 또 다른 남의 나라(eBGP)에도 자유롭게 뿌린다.
2. iBGP (Internal BGP) - 사내 정보 공유
- 대상: AS 번호가 서로 같은 라우터 간의 Peering.
- 연결 조건: 같은 회사망이므로 랜선이 직접 꽂혀 있을 필요가 없다. 중간에 OSPF 라우터들이 수십 대 끼어 있어도, 논리적으로(TCP 179번 포트) 통신만 뚫려 있으면 저 멀리 있는 라우터와 가상의 친구를 맺을 수 있다. (TTL 값이 255다).
- 정보 전달 (스플릿 호라이즌 룰): "iBGP 피어로부터 학습한 경로는 다른 iBGP 피어에게 절대 광고하지 않는다." 이것이 알파이자 오메가다.
┌─────────────────────────────────────────────────────────────┐
│ iBGP 스플릿 호라이즌과 풀 메시(Full-Mesh)의 비극 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 외국(구글) ] ── eBGP ──▶ [ 라우터 A ] (우리나라 관문) │
│ │
│ [ 라우터 A ] ── iBGP ──▶ [ 라우터 B ] ── iBGP ──▶ [ 라우터 C ] │
│ │
│ * 멍청한 설계의 최후: │
│ 1. A가 구글 정보를 eBGP로 받아 B에게 iBGP로 준다. (정상) │
│ 2. B는 이 정보를 C에게 넘겨주지 않고 입을 닫는다. (스플릿 호라이즌) │
│ 3. C는 인터넷 지도를 못 받아서 인터넷이 끊겨(블랙홀) 버린다! │
│ │
│ * 올바른 풀 메시(Full-Mesh) 설계: │
│ A는 B와도 iBGP를 맺고, "반드시 C와도 별도의 iBGP"를 직접 맺어서 │
│ 지도를 일일이 떠먹여 줘야 한다! │
└─────────────────────────────────────────────────────────────┘
3. Full-Mesh 구조의 확장성 문제
라우터가 3대(A, B, C)면 1:1로 맺을 iBGP 연결은 $3 \times (3-1)/2 = 3$개로 할 만하다. 하지만 통신사처럼 BGP 라우터가 1,000대가 되면? $1000 \times 999 / 2 = 499,500$개의 TCP 179번 연결 세션이 필요하다. 이 50만 개의 세션을 라우터가 맺다가 CPU가 타버린다(확장성 붕괴). 이 끔찍한 노가다를 피하기 위해 등장한 꼼수가 바로 다음 장에 배울 **Route Reflector(경로 반사기)**다.
📢 섹션 요약 비유: iBGP 스플릿 호라이즌은 다단계 판매(루핑)를 금지하는 **"방문판매법"**입니다. 물건(라우팅 정보)은 본사(A)에서 지사장(B, C)에게만 팔 수 있고, 지사장이 다른 지사장에게 되파는 짓은 절대 금지됩니다. 그래서 본사(A)는 전국 모든 지사장과 일일이 계약(Full-Mesh)을 맺어야 하는 지옥의 노가다에 시달립니다.