핵심 인사이트 (3줄 요약)
- 본질: iBGP의 치명적인 "스플릿 호라이즌(내부 식구끼리 귓속말 전파 금지)" 룰 때문에 회사 내 100대의 BGP 라우터가 1:1로 5,000개의 선(Full-Mesh)을 연결하다 CPU가 타버리는 '확장성 재앙'을 막기 위해 도입된 2가지 대규모 망 구제 꼼수다.
- 루트 리플렉터 (Route Reflector, RR): "100명이 1:1로 떠들지 말고, **'반장(RR)'**을 한 명 뽑아서 99명의 평민(Client)은 반장한테만 정보를 줘라! 반장이 '스플릿 호라이즌 룰'을 합법적으로 무시하고 99명에게 확성기로 다 쏴줄게(반사, Reflect)!"라는 중앙 집중형 해결책이다.
- 컨페더레이션 (Confederation, 연방): 하나의 거대한 국가(AS)를 통제하기 버거우니, "우리나라(AS 100)를 쪼개서 가짜 소국가 3개(Sub-AS 65001, 65002...)로 연방국가를 세우자!"라며 내부적으로 eBGP 룰을 적용해 스플릿 호라이즌 제약을 우회하는 분권형 해결책이다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: 대형 AS 내에서 iBGP 피어링의 $N(N-1)/2$ 확장성 문제(Full-Mesh 요구사항)를 극복하기 위한 BGP 토폴로지 최적화 기술 두 가지.
-
필요성: SKT 망에 BGP 라우터가 1,000대 있다. iBGP 룰에 따르면 1번 라우터가 외부 지도를 가져와도 2번한테 주면 2번은 3번한테 주지 못한다(루프 방지 침묵). 이 침묵을 깨려면 1번이 1,000명과 1:1 TCP 소켓(Full-Mesh)을 열고 똑같은 지도를 999번 전송해야 한다. 통신사 라우터들이 이 짓을 하다가 연산 폭주로 뻗어버렸다. "어떻게든 스플릿 호라이즌의 족쇄를 끊으면서도, 루핑(Looping)은 안 돌게 하는 묘수를 찾아내라!!"
-
💡 비유:
- Full-Mesh의 지옥: 100명의 회사원이 서로 한 번씩 인사를 나누려면 악수를 4,950번 해야 합니다. 손이 다 부르틉니다.
- 루트 리플렉터(RR): 사장님(RR)이 단상에 올라옵니다. 99명의 직원은 사장님에게만 **1번씩 악수(Client)**를 합니다. 사장님이 마이크를 잡고 "다들 인사했음!" 하고 공지하면 끝납니다. 악수가 총 99번으로 줄어듭니다.
- 컨페더레이션: 100명이 너무 많으니 30명, 30명, 40명짜리 **3개의 부서(Sub-AS)**로 쪼갭니다. 부서 안에서는 악수를 다 돌리고, 부서 사이에는 부장님들끼리만 악수(eBGP 룰 적용)하게 하여 악수 횟수를 획기적으로 줄입니다.
📢 섹션 요약 비유: 이 두 가지 꼼수는 거미줄처럼 미친 듯이 엉킨 전화 교환기 선을 가위로 다 잘라버리고, "중앙 교환수(RR)"를 두거나 "지역별 소형 교환국(Confederation)"을 두어 선의 개수를 1/100로 다이어트시키는 획기적인 배선 정리 기술입니다.
Ⅱ. RR과 Confederation의 동작 원리 (Deep Dive)
1. Route Reflector (RR, 경로 반사기)의 3대 전파 룰
통신사 망(ISP)에서 99% 쓴다. (가장 대중적이다). 망 안에 반장(RR)을 지정하고, 나머지를 쫄따구(Client), 반장과 친구인 다른 반장을 비쫄따구(Non-Client)라 부른다.
- 반장(RR)이 쫄따구한테 받은 엽서 ──▶ 다른 쫄따구 + 비쫄따구에게 전부 다 반사(Reflect)해 준다! (원래 iBGP에선 금지된 짓이지만 RR의 권력으로 가능).
- 반장(RR)이 외부 통신사(eBGP)에서 받은 엽서 ──▶ 쫄따구 + 비쫄따구에게 전부 다 반사해 준다!
- 반장(RR)이 비쫄따구(다른 반장)한테 받은 엽서 ──▶ 쫄따구들한테만 반사하고, 또 다른 비쫄따구한테는 절대 주지 않는다. (반장들끼리 무한 반사하다가 루프 도는 걸 막기 위한 최후의 안전장치다).
RR의 루프 방지: "어? 스플릿 호라이즌(침묵)을 무시하고 남한테 엽서를 복사해 주면 무한 루프 도는 거 아니야?"
맞다. 그래서 RR은 엽서를 반사할 때 엽서 겉면에 **Originator_ID(최초 작성자 IP)**와 **Cluster_List(자기가 거쳐 온 반장들 ID 목록)**라는 특수 도장을 쾅쾅 찍어서 쏜다. 자기가 쓴 글이 도장 찍혀 다시 돌아오면 쓰레기통에 폐기하여 완벽히 루프를 억제한다.
┌─────────────────────────────────────────────────────────────┐
│ Route Reflector 도입 시 연결선의 혁명 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 구형 Full-Mesh (라우터 10대) ] │
│ - 각 라우터당 맺어야 할 iBGP TCP 세션: 9개 │
│ - 네트워크 전체 세션: (10 * 9) / 2 = 45개 연결선 필요. │
│ │
│ [ 신형 RR 체제 (반장 1대 + 쫄따구 9대) ] │
│ - 쫄따구당 맺어야 할 세션: 오직 반장하고만 "1개"! │
│ - 반장이 맺어야 할 세션: 쫄따구 9명하고 "9개"! │
│ - 네트워크 전체 세션: 단 9개의 연결선으로 평화 달성! │
│ │
│ ▶ "반장(RR)의 라우터 스펙(CPU/RAM)만 빵빵하면 통신사가 평화로워진다!" │
└─────────────────────────────────────────────────────────────┘
2. Confederation (연방제)
망 전체 설계를 다 갈아엎어야 해서 설정이 드럽게 복잡하다. (요즘은 잘 안 쓴다).
- KT라는 거대한 AS 100을,
AS 65001,AS 65002,AS 65003이라는 가짜 사설 AS 번호를 부여하여 3개의 소국가로 찢는다. - 같은 소국가 안에서는 여전히 iBGP 스플릿 호라이즌 룰(Full-Mesh)이 적용된다.
- 소국가와 소국가 사이에는 eBGP 룰이 적용되어, 지도를 서로 자연스럽게 넘겨줄(토스할) 수 있다! (이게 핵심).
- 외부(미국 구글)에서 볼 때: "어? 너네 안에서 65001로 쪼개졌든 말든 내 알 바 아님. 내 눈엔 넌 그냥 통일된 AS 100 이야!"라며 완벽한 통일 국가로 보인다.
📢 섹션 요약 비유: Route Reflector는 스승(RR)이 제자들(Client)의 질문을 취합해 방송으로 답해주는 **"일타 강사의 대형 강의실"**이고, Confederation은 학교 전체(AS)를 관리하기 힘들어 1반, 2반, 3반(Sub-AS)으로 쪼개고 반장들끼리만 교무회의(eBGP)를 시키는 **"반(Class) 분할 운영 체제"**입니다.