804. ECMP (Equal-Cost Multi-Path) - 스파인-리프 병렬 라우팅 경로 활성화
핵심 인사이트: 서울에서 부산으로 가는 고속도로(경로)가 4개 뚫려있다. 옛날 네트워크 방식(STP)은 무식하게 1번 고속도로 하나만 열어두고, 나머지 3개는 '1번이 박살 났을 때를 대비한 예비용(Backup)'으로 차단기(Block)를 내려버렸다. 4조 원을 들여 도로를 4개나 팠는데 1개밖에 못 쓰다니 억울해서 피눈물이 난다. 그래서 라우터들이 깨달았다. "야! 부산 가는 4개 도로가 길이(Cost)가 다 똑같잖아? 그럼 차단기 싹 다 치워버리고 4개 도로에 자동차(패킷)를 1/4씩 공평하게 나눠서 동시에 쏟아부어 버려!" 이 미친 대역폭 뻥튀기 마법이 바로 ECMP다.
Ⅰ. ECMP (Equal-Cost Multi-Path)의 개념
- 개념: 라우터가 특정 목적지(IP 주소)로 데이터를 보낼 때, 라우팅 테이블 상에 가중치(Cost, 거리나 비용)가 완전히 똑같은 여러 개의 최적 경로(Multi-Path)가 존재할 경우, 그 여러 개의 경로를 하나도 버리지 않고 동시에 사용하여 트래픽을 병렬로 분산 전송(부하 분산)하는 네트워크 라우팅 프로토콜 기술입니다.
- 적용: OSPF, BGP 같은 L3(네트워크 계층) 라우팅 프로토콜에서 기본적으로 지원하는 강력한 부하 분산(Load Balancing) 알고리즘입니다.
Ⅱ. 왜 ECMP가 필수인가? (STP의 저주를 깨다) 🌟
현대 데이터센터의 802번 Spine-Leaf 아키텍처가 숨을 쉬게 만드는 절대적인 1등 공신입니다.
1. L2의 멍청함: STP (Spanning Tree Protocol)
- L2 스위치들은 멍청해서 두 개의 케이블을 동시에 꽂아두면 데이터가 뺑뺑이 도는 루핑(Looping) 폭풍이 일어나 망이 죽습니다. 그래서 하나를 강제로 차단(Block)하는 STP를 썼습니다(Active-Standby). 대역폭의 50%가 허공에 날아갑니다.
2. L3의 천재성: ECMP (Active-Active)
- Spine-Leaf 망은 Leaf 스위치 위쪽을 전부 똑똑한 L3 라우팅망으로 도배해 놨습니다.
- 1번 Leaf 스위치가 위에 있는 4개의 Spine 스위치와 연결되어 있습니다. 4개의 Spine 스위치를 거쳐 2번 Leaf로 가는 거리는 1-Hop으로 완벽하게 똑같습니다(Equal-Cost).
- 동작: 1번 Leaf는 4개의 선을 하나도 끊지 않고(Active-Active), 트래픽을 해시 알고리즘으로 쪼개서 4개의 Spine 스위치 구멍으로 동시에 25%씩 미친 듯이 뿜어냅니다. 대역폭이 40Gbps에서 순식간에 160Gbps로 4배 뻥튀기됩니다. Spine 스위치를 사서 꽂을수록 대역폭이 무한 확장(Scale-out)됩니다.
Ⅲ. ECMP 트래픽 분산의 핵심: 흐름(Flow) 유지의 법칙 🌟
패킷을 단순히 1번 길, 2번 길, 3번 길로 라운드 로빈(번갈아 가며)으로 막 던지면 대참사가 일어납니다.
- 문제점: 1번 길로 간 1번 패킷보다, 3번 길로 간 2번 패킷이 더 빨리 도착해버리면(순서 역전, Jitter), 도착지 컴퓨터가 파일을 조립하다가 에러(TCP 재전송)를 냅니다.
- ECMP의 해시(Hash) 분산 해결책: 라우터는 패킷 껍데기에서
출발지 IP + 도착지 IP + 포트 번호이 5가지를 뽑아내 수식(해시)을 돌립니다.- 철수가 쏘는 카톡 패킷은 해시값이 1번이 나오므로 죽을 때까지 1번 길로만 밀어 넣습니다.
- 영희가 쏘는 유튜브 패킷은 해시값이 2번이 나오므로 죽을 때까지 2번 길로만 밉니다.
- 이렇게 특정 '흐름(Flow, 세션)'별로 가는 길을 고정해 주기 때문에, 패킷 순서가 뒤집어지는 재앙을 완벽하게 막아내면서도 전체 트래픽은 골고루 4갈래 길로 분산되는 예술적인 균형을 맞춥니다.
📢 섹션 요약 비유: ECMP는 고속도로 톨게이트의 '스마트 차선 배분 시스템'입니다. 옛날(STP)엔 서울에서 대전 가는 고속도로 4개가 있어도, 헷갈린다며 3개 도로 진입로에 바리케이드를 치고 1번 도로만 꽉 막힌 채로 썼습니다. ECMP는 바리케이드를 다 치우고 4개 도로를 풀가동(Active-Active)시킵니다. 단, 차를 막무가내로 밀어 넣으면 일행들(패킷들)이 이산가족이 되어 순서가 뒤섞일 수 있으므로, 규칙을 둡니다. "빨간색 번호판 차들은 무조건 1번 도로로만 쭉 가고, 파란색 번호판 차들은 무조건 2번 도로로만 쭉 가라!(해시 기반 Flow 고정)" 이렇게 하면 일행들끼리 앞서거니 뒤서거니 섞일 일도 없고, 4개 도로 전체의 차량 부하가 완벽하게 25%씩 분산되어 톨게이트 통과 속도가 4배로 폭발하는 기적의 교통정리입니다.