네트워크
Routing Looping (라우팅 루핑)
Mostlove
2025. 4. 16. 17:02
728x90
반응형
📌 Routing Looping (라우팅 루핑)
라우팅 루핑은 라우터 간 라우팅 정보가 잘못 전달되어 패킷이 무한히 순환하는 문제입니다.
스위치에서 STP(Spanning Tree Protocol)를 통해 루핑을 방지하는 것처럼,
라우팅 프로토콜(RIP 등)에서도 다양한 방식으로 루핑을 방지합니다.
📎 원인
- RIP 같은 거리 벡터 기반 라우팅 프로토콜은 경로 정보를 주고받는 구조에서,
- 자신에게 경로 정보를 준 라우터에게 다시 그 경로 정보를 보내는 상황이 발생하면서 루핑이 시작됩니다.
⚙️ 링크 상태 기반 라우팅 프로토콜
- OSPF, EIGRP는 링크 상태 정보를 기반으로 하며
- 거리 외에도 지연, 대역폭 등 다양한 요소로 경로를 판단하므로 루핑 가능성이 적습니다.
🛡️ RIP에서 라우팅 루핑을 막는 기법
기법 | 설명 |
🧭 Split Horizon | 자신에게서 받은 경로 정보는 다시 그 쪽으로 보내지 않음. 기본 설정이며, 루핑 방지에 매우 효과적. |
☠️ Poison Reverse | 죽은 경로를 **홉 수 16 (도달 불가)**로 설정해 다른 라우터에게 알림. 루프 발생 차단. |
🧨 Route Poisoning | 죽은 네트워크를 **무한대 metric(홉 수)**로 설정해 경로를 신뢰하지 않도록 함. |
🚫 Maximum Hop Count | RIP의 최대 홉 수는 15로 제한. 16이 되면 도달 불가능으로 간주하여 루핑 방지. |
⚡ Triggered Update | 30초 주기를 기다리지 않고, 즉시 라우팅 업데이트 전송으로 빠른 경로 차단. |
⏳ Hold-down | 죽은 경로 정보가 다시 살아나는 것처럼 보이는 걸 방지. 180초 동안 업데이트 무시. |
⏲️ Invalid Timer | 네트워크가 죽었다고 판단되면 180초 동안 해당 경로 무효 처리. RIP의 기본 동작 중 하나. |
💡 TIP
- RIP은 단순하고 경량화된 프로토콜이지만, 루핑을 막기 위해 위와 같은 다양한 보호 메커니즘을 적용합니다.
- 실제 네트워크 구성 시 라우팅 테이블 및 디버깅 정보 확인이 중요합니다.
📌 RIP 라우팅 루핑 방지 및 동작 타이머
🌀 라우팅 루핑 방지 기법
기법 | 설명 |
Split Horizon | 자신에게 들어온 경로를 다시 해당 방향으로 전파하지 않음. 기본 설정되어 있음. |
Poison Reverse | 죽은 경로에 대해 홉 수를 **16(TTL)**으로 설정해 다른 라우터가 경로를 쓰지 못하게 함. |
Route Poisoning | 죽은 네트워크에 대한 metric을 무한대(16)로 설정하여 경로를 죽임. |
Max Hop Count | RIP은 최대 홉 수 15, 16이 되면 경로는 폐기됨. 과부하 우려로 자주 쓰이진 않음. |
Triggered Update | RIP 기본 30초 주기 대신, 장애 발생 시 즉시 업데이트 전송. |
Hold-Down Timer | 특정 네트워크가 다운된 후 일정 시간 동안(기본 180초) 변경 수용 안 함. |
Invalid Timer | 경로가 유효하지 않게 되는 시간 (기본 180초). |
Flush Timer | 경로가 라우팅 테이블에서 완전히 삭제되기까지 걸리는 시간 (기본 240초). |
🕒 RIP 관련 타이머 정리
타이머 | 설명 | 기본 시간 |
Update Timer | 정기 라우팅 업데이트 | ⏱️ 30초 |
Invalid Timer | 경로가 유효하지 않게 되는 시간 | ⏱️ 180초 |
Hold-down Timer | 경로 변경을 일시적으로 보류 | ⏱️ 180초 |
Flush Timer | 경로가 라우팅 테이블에서 제거됨 | ⏱️ 240초 |
🔎 명령어 팁:
- show ip route, show ip route 192.168.x.x, clear ip route *로 테이블 확인/초기화 가능
- debug ip rip로 TTL 16 정보 확인 가능
반응형