# EIGRP ## 개요 * Cisco에서 1993년 독자적으로 개발한 [[IGP (Interior Gateway Protocol)]] * 기존의 IGRP를 대체하며 개발되었고, RIP의 단순성과 OSPF의 복잡성 사이에서 균형을 맞춘 하이브리드 프로토콜로 설계됨. * 기존 RIP와 OSPF 프로토콜은 어떤 복잡성이 존재했는가? * 2016년 IETF에 의해 RFC 7868로 공개되어, 이제는 Cisco 독점이 아님 (그러나 여전히 실질적으로 Cisco 장비에서만 사용됨) --- ## 사용 범위 * 조직 내 LAN/WAN에서 통제 가능한 범위 내의 라우팅에 적합 (AS 내부 라우팅) * 위 통제 가능한 범위라는 것은 무엇인가? * AS 내부 라우팅이라는 것은 무엇인가? --- ## 주요 특징 | 기능 | 설명 | | ----------------------------------------- | -------------------------------------------------- | | **DUAL (Diffusing Update Algorithm)** | 루프 없는 경로 계산 알고리즘 | | **Partial & Triggered Updates** | 전체 테이블 대신 변경된 항목만 전송 | | **Neighbor Discovery** | Hello 패킷 기반 인접 관계 형성 | | **Topology Table** | 인접 라우터로부터 수신한 모든 경로 보관 (Routing Table 아님) | | **Feasible Distance / Reported Distance** | 경로 선택의 핵심 기준값 | | **Feasible Successor** | 차선책 경로를 미리 계산해둠 (빠른 수렴) | | **Multicast 기반** | **==224.0.0.10, Protocol 번호 88 사용==** | | **Classless 지원** | [[CIDR (Classless Inter Domain Routing)]], VLSM 지원 | | **Protocol Independence** | IP 이외의 네트워크 계층 프로토콜 지원 가능 (이론적으로는) | --- ## 내부 데이터 구조 및 작동 메커니즘 ### 핵심 테이블 구조 | 테이블 명 | 설명 | | ------------------ | ------------------------------------------------------------ | | **Neighbor Table** | Hello를 통해 인접 관계가 형성된 라우터 목록 | | **Topology Table** | 인접 라우터로부터 받은 모든 경로 정보 저장 (Feasible/Not Feasible 포함) | | **Routing Table** | Topology Table에서 선택된 Best Path만 저장됨 (Feasible Successor만 고려) | ### 수렴 과정 1. Neighbor Discovery - Hello 패킷을 주기적으로 송신 (Default: 5s on LAN, 60s on WAN) - Hold Time 내 응답 없으면 Neighbor 관계 해제 2. Topology Building - 인접 라우터와의 인접 관계 형성 후, Update 패킷을 통해 라우팅 정보 교환 - 수신된 경로는 Topology Table에 저장 3. Best Path Selection - DUAL 알고리즘은 아래 기준으로 경로 평가 - Feasible Distance (FD): 자신이 가진 경로의 총 비용 - Reported Distance (RD): 이웃이 말해준 자기까지의 비용 - 조건: RD < FD → Feasible Successor로 인정 (Loop-free 보장) 4. Routing Table에 반영 - 가장 낮은 FD를 가진 경로를 Successor로 선택하여 Routing Table에 넣음 - Feasible Successor는 Backup 용도로 유지 ### 패킷 종류 및 역할 | 패킷 유형 | 설명 | | ---------- | ----------------------------- | | **Hello** | Neighbor Discovery, Keepalive | | **Update** | 새로운 라우팅 정보 전송 | | **Query** | 경로 손실 시, 다른 라우터에 경로 요청 | | **Reply** | Query에 대한 응답 | | **ACK** | Update/Reply 수신 확인용 (신뢰성 보장) | 참고 EIGRP는 RTP(Reliable Transport Protocol)를 자체 구현하여, TCP 없이도 신뢰성 있는 전송을 보장함