960. 루프 어보이던스 (Loop Avoidance) - 이더넷 L2 L3 계층 무한 루핑 방지 STP 적용 TTL 차단망 대재앙 회피 알고리즘 제어 구조
핵심 인사이트: 네트워크는 거대한 미로다. 패킷이 길을 잃고 뺑뺑이 도는 '루프(Loop)' 현상은 네트워크를 5초 만에 죽이는 암세포다. 똑같은 루프라도 똑똑한 L3 라우터와 멍청한 L2 스위치의 해결법은 완전히 다르다. 라우터는 "야, 택배 박스에 '수명(TTL)' 딱지를 붙여놔! 뺑뺑이 돌다가 수명 0 되면 걍 버려버려!"라고 쉽게 끝낸다. 하지만 L2 스위치 패킷(MAC 프레임)엔 수명 딱지가 아예 없다. "어쩔 수 없네, 물리적으로 세모난 길(루프)이 있으면, 스위치 뇌 속 소프트웨어로 그냥 1개 길을 꽉 막아버려(STP)!" 길을 끊어서 루프를 막는 L2와 늙어 죽여서 루프를 막는 L3의 생존 철학, 루프 어보이던스다.
Ⅰ. 루핑(Looping) 대재앙의 발생 원인
- 물리적 다중 경로: 고장(단선)을 대비해 장비를 두 개, 세 개 엮어두면 필연적으로 동그란 원(Loop) 모양의 길이 생깁니다.
- 재앙의 시작: 목적지를 모르는 방송 패킷(브로드캐스트)이 이 원 안에 들어오면, 장비들이 서로 메아리를 치며 패킷을 무한 복제하여 1초에 수천만 개로 불어나고 5초 만에 전산실 스위치 CPU가 100%를 찍으며 기계가 타버립니다(Broadcast Storm).
Ⅱ. L3 계층(라우터)의 루프 회피: TTL의 마법 🌟
네트워크 계층(IP 패킷)은 설계부터 루프를 두려워하여 방어막을 쳐두었습니다.
- TTL (Time to Live) 수명 필드: IP 패킷 헤더에는 8비트짜리 수명 딱지(예:
TTL=64)가 붙어있습니다. - 동작 (늙어 죽이기): 패킷이 1번 라우터를 통과할 때마다 라우터가 이 수명을 1씩 깎습니다(Decrement). 만약 패킷이 길을 잃고 뺑뺑이를 돌아
TTL=0이 되는 순간, 그 라우터는 이 좀비 패킷을 그 자리에서 즉시 갈기갈기 찢어서 버려버립니다(Drop). 대규모 트래픽 마비를 원천 봉쇄하는 눈물 나는 철학입니다.
Ⅲ. L2 계층(스위치)의 루프 회피: STP (스패닝 트리) 🌟 핵심 🌟
L2 이더넷 프레임(MAC 주소 껍데기)에는 TTL이라는 수명 칸 자체가 아예 없습니다. 한 번 루프에 빠지면 영원히 죽지 않는 무적의 좀비가 됩니다. 그래서 959번 문서에서 배운 극단적인 처방을 내립니다.
- 물리적 절단 (STP, Spanning Tree Protocol):
- 스위치들끼리 귓속말(BPDU)을 나누어 "야, 우리 3대가 세모 모양으로 이어져서 루프 돌겠다!" 하고 눈치를 챕니다.
- 즉시 알고리즘을 돌려 3개의 길 중 가장 쓸모없는 1개의 길(포트)에 빨간 불을 켜고 소프트웨어적으로 강제로 문을 잠가버립니다(Blocking Port).
- 결과: 물리적인 선은 꽂혀 있지만, 실제 데이터가 흐르는 길은 '동그라미(Loop)'에서 한쪽이 뚫린 '나뭇가지(Tree)' 모양으로 펴지게 되어 루핑이 100% 물리적으로 차단됩니다. 선이 끊어지면 잠가둔 문을 다시 열어 우회로를 살려냅니다.
Ⅳ. 거리 벡터 라우팅(RIP)의 무한 루프 회피법 (시험 단골)
L3 라우터가 길을 찾을 때도 멍청한 알고리즘(RIP)은 길을 잘못 들어 루핑을 만듭니다(Count-to-Infinity 문제). 이를 회피하는 3대 꼼수입니다.
- 스플릿 호라이즌 (Split Horizon): A가 B에게 "네이버 가는 길"을 배웠으면, A는 절대 B에게 다시 "네이버 가는 길 알아?"라고 되묻거나 알려주지 않는(왔던 길로 되돌아가지 않는) 원칙입니다.
- 포이즌 리버스 (Poison Reverse): A가 B에게 네이버 가는 길이 끊어졌다고 알려줄 때, 그냥 지우지 않고 "네이버 가는 길 거리는 무한대(16)의 독(Poison)이 발려있다!"라고 거짓말을 쳐서 절대 이 길로 오지 못하게 쐐기를 박습니다.
- 홀드 다운 타이머 (Hold-down Timer): 네트워크가 흔들려 길이 끊어지면, 라우터가 바로 딴 길을 찾지 않고 약 180초 동안 귀를 닫고 가만히 무시(Hold)합니다. 루프가 퍼지는 걸 막는 휴식기입니다.
📢 섹션 요약 비유: 루프 어보이던스(루핑 방지)는 동네 한가운데에 있는 '빙글빙글 도는 회전교차로'를 처리하는 방법입니다. 목적지를 못 찾은 좀비 자동차(패킷)들이 이 교차로에 갇혀 평생 돌면서 빵빵거리면 마을 전체가 시끄러워 마비됩니다. **L3 라우터의 방식(TTL)**은 자동차 기름통에 '기름(수명)'을 딱 64리터만 채워주는 것입니다. 좀비 자동차가 교차로를 64바퀴 뺑뺑이 돌면 기름이 떨어져 길바닥에 멈춰버려 조용해집니다. 반면 **L2 스위치의 방식(STP 스패닝 트리)**은 자동차에 무한 동력 배터리가 달려 있어 기름이 안 떨어집니다. 경찰이 아예 '바리케이드(포트 차단)'를 쳐서 회전교차로 진입로 하나를 콘크리트로 꽉 막아버리는 것입니다. 차들은 교차로에 못 들어가고 무조건 딴 길로 빠져나가게 강제되어 뺑뺑이 도는 대참사를 원천 방어하는 길막기 전술입니다.