1. EIGRP (Enhanced Iterior Gateway Routing Protocol)
EIGRP는 Cisco에서 개발한 고급 Distance Vector 라우팅 프로토콜로, 기존 RIP의 단점을 보완하고 Link-State 프로토콜의 장점을 일부 흡수한 Advanced Distance Vector 프로토콜이다.
1) 주요 특징
- 빠른 수렴 속도 : 네트워크 변화시 즉시 업데이트
- 부분 업데이트 : 변경된 정보만 선택적으로 전송
- 멀티캐스트 업데이트 : 224.0.0.10 주소 사용
- 경로 선택 기준 : 대역폭, 지연, 신뢰도, 부하 등 다양한 요소를 종합하여 최적 경로를 선택
- 무한 홉 수 제한 : 홉 수 제한이 없어 대규모 네트워크에서도 사용 가능
- DUAL 알고리즘 사용 : 루프 없는 최적의 경로를 빠르게 계산하는 알고리즘으로 라우팅 루프를 방지
- 클래스리스 지원 : VLSM 및 CIDR을 지원하여 IP 주소를 효율적으로 사용
- 인증 기능 제공 : 보안성 높은 인증(MD5 등)을 지원하여 안전하게 정보 전송
- Cisco 전용 프로토콜
2) 동작 과정
- Hello 메시지 교환 및 인접 라우터와 이웃 관계 형성
- 인접 라우터와 전체 라우팅 정보 교환
- 받은 정보로 EIGRP 토폴로지 테이블 구성
- DUAL 알고리즘으로 최적 경로와 후속 경로 선정
- 최적 경로를 라우팅 테이블에 등록
- 최적 경로를 통해 실제 데이터 전송
- 변화 발생시 트리거드 업데이트 수행
- 주기적인 Hello 메시지로 이웃 상태 유지
3) 자동 요약과 수동 요약
EIGRP는 기본적으로 클래스풀 기준으로 자동 요약(auto-summary)을 수행한다.
이는 비연속 서브넷(discontiguous subnet)에서 잘못된 라우팅 정보 전파로 이어질 수 있으므로 no auto-summary 명령어로 비활성화한 후, 필요한 경우 수동 요약을 설정해야 한다.
4) 인증 기능
EIGRP는 인증 기능으로 외부의 인증되지 않은 라우터로부터의 접근 차단 및 라우팅 정보 위조 방지가 가능하다.
가장 일반적으로 MD5 해시 기반 인증을 사용하며, 설정된 key-string이 일치하지 않으면 이웃 관계를 형성하지 않거나 해지한다.
5) 로드 밸런싱
- 균등 로드 분산 (Equal-Cost Load Balancing)
- 기본적으로 같은 메트릭의 경로들끼리 트래픽 분산
- 기본 최대 경로 수 : 4개~16개
- 비균등 로드 분산 (Unequal-Cost Load Balancing)
- variance 명령어로 활성화
- 최적 경로 FD의 n배 이내 경로를 함께 사용
6) 메트릭 복합 사용
EIGRP는 기본적으로 대역폭(K1)과 지연(K3)을 메트릭으로 사용하며, 필요에 따라 K값을 조정할 수 있다.
(기본값: K1=1, K3=1, 나머지 K값은 0)
- 대역폭: 경로 상 가장 낮은 인터페이스 기준
- 지연값: 경로의 모든 지연값의 합
7) DUAL 알고리즘 (Diffusing Update Algorithm)
경로 선출을 위한 계산 알고리즘이다.
네트워크 변화가 발생해 Successor가 끊어지면 Feasible Successor로 즉시 전환하여 빠른 수렴과 안정성을 제공한다.
또 루프 없는 경로를 유지하고 장애 복구가 빠르다는 장점이 있다.
- Feasible Distance (FD) : 실행 가능 거리. 라우터에서 목적지까지 최적 경로의 전체 메트릭 값
- Advertised Distance (AD) : 공지 거리. 인접 라우터에서 목적지까지의 메트릭 값
- Successor : 최적 경로. 가장 낮은 FD 값을 가진 최적의 경로로 실제 라우팅 테이블에 등록됨
- Feasible Successor : 후속 경로. 최적 경로에 문제가 생기면 즉시 사용할 수 있도록 준비된 백업 경로로 AD가 현재 Successor의 FD보다 작아야 함
8) 토폴로지 상태 코드
- P (Passive) : 현재 라우터가 경로 계산을 완료했고 문제 없는 최적의 상태
- A (Active) : 현재 라우터가 경로 변경을 감지하여 최적 경로를 다시 계산하고 있는 상태
- U (Update) : 현재 이웃 라우터로부터 새로운 라우팅 정보를 받고 처리 중인 상태
- Q (Query) : 경로가 Active 상태일 때, 이웃 라우터에게 최적 경로를 묻는 상태
- R (Reply) : Query를 받은 라우터가 다시 응답하여 경로 정보를 전달하는 상태
- r (reply Status) : 해당 경로에 대한 응답이 도착한 상태
- s (sia Status, Stuck In Active) : 경로가 Active 상태에서 장시간(3분) 동안 응답을 받지 못하고 멈춘 상태
9) 패킷 유형
- Hello : 인접한 라우터를 찾고 이웃 관계를 형성하고 유지하는 역할을 함. 기본적으로 멀티캐스트로 전송
- Update : 실제 라우팅 정보를 전달하기 위한 패킷
- Query : 특정 목적지 네트워크 경로가 끊겼을 때 새로운 경로를 찾기 위해 이웃 라우터에게 보내는 패킷
- Reply : Query를 받은 이웃 라우터가 자신이 알고 있는 경로 정보를 답장하는 패킷
- ACK : Update, Query, Reply 패킷을 수신한 후, 이를 정상적으로 받았음을 확인하기 위해 보내는 확인 응답
10) 경로 유형
- 내부 경로 (Internal Route)
- 자신의 로컬 AS 내의 EIGRP 라워들 사이에서 학습된 경로
- 라우팅 테이블에 D라는 코드로 등록됨
- 기본 신뢰도 90
- 외부 경로 (External Route)
- 외부 도메인이나 다른 라우팅 프로토콜에서 EIGRP로 재분배된 경로
- 라우팅 테이블에 D EX라는 코드로 등록됨
- 기본 신뢰도 170
💡기본 신뢰도 (Administrative Distance, AD)란?
동일한 목적지로 가는 경로가 여러 라우팅 프로토콜에서 학습되었을 때, 가장 신뢰할 수 있는 프로토콜의 경로를 선택하기 위한 우선순위 값이다.
숫자가 낮을수록 신뢰도가 더 높다.
11) EIGRP 설정 확인 명령어
- show ip eigrp neighbors : EIGRP로 연결된 인접 라우터 목록 출력. 각 라우터와의 연결 상태와 인터페이스 확인
- show ip eigrp interfaces : EIGRP가 활성화된 인터페이스 목록 출력. 인터페이스별 EIGRP 상태와 정보 확인
- show ip protocols : 현재 설정된 라우팅 프로토콜 정보 출력. EIGRP AS 번호, 네트워크 설정, Passive 인터페이스 확인
- show ip route eigrp : EIGRP로 학습한 경로만 출력. 경로의 메트릭과 다음 홉 정보 확인
- show ip eigrp topology : 전체 토폴로지 출력. 최적 경로와 후속 경로 정보 확인
- debug eigrp packets : EIGRP 패킷이 전송되는 과정을 실시간으로 보여줌. 인접 관계 형성, 정보 교환, 문제 발생 시 원인 분석에 사용
- debug ip eigrp neighbor : EIGRP의 인접 라우터 간 관계 형성 상태를 실시간으로 보여줌. 인접 라우터 간의 문제 확인
- undebug all : 모든 디버깅 중단
12) 기타 팁
- AD 값을 의도적으로 증가시켜 경로 우선순위를 낮추고 싶다면 인터페이스의 delay 값을 증가시키면 된다.
- 모든 라우터는 K값이 동일해야 이웃 관계를 형성할 수 있다.
- SIA 상태는 토폴로지에 문제가 있음을 나타내므로 주의 깊게 확인해야 한다.
2. OSPF (Open Shortest Path First)
OSPF는 링크 상태 기반의 표준 개방형 라우팅 프로토콜로 모든 벤더에서 지원되며 다양한 규모의 네트워크 환경에서 널리 사용된다.
1) 주요 특징
- 빠른 수렴 속도 : 링크 상태 프로토콜로 네트워크 변화 발생시 즉시 반영하여 빠르게 수렴됨
- 홉 수 제한 없음 : RIP와 달리 홉 수 제한이 없어 대규모 네트워크에도 적합
- 효율적인 업데이트 : 주기적 업데이트가 없고 변화가 있을때만 업데이트를 보내 네트워크 자원 낭비가 없음
- 다계층적 구조 지원 : Area 개념을 활용해 큰 네트워크를 효율적으로 관리
- 뛰어난 확장성 : 다양한 규모의 네트워크 환경에 잘 맞고 확장성이 뛰어남
- 개방형 표준 : Cisco 독점 프로토콜인 EIGRP와 달리 모든 장비에서 표준 프로토콜로 사용됨
- SPF 알고리즘으로 최단 경로 계산
- Link-State 기반 IGP 라우팅 프로토콜
💡 IGP란?
IGP (Interior Gateway Protocol)는 자율 시스템(AS, Autonomous System) 내부에서 라우팅 정보를 교환하기 위해 사용도는 라우팅 프로토콜의 종류이다.
RIP, EIGRP, OSPF, IS-IS 등이 해당 프로토콜에 속한다.
반대되는 개념으로는 EGP (Exterior Gateway Protocol)이 존재한다. EGP는 자율 시스템 간 라우팅에 사용하는 프로토콜로 대표적인 예로는 BGP (Border Gateway Protocol)이 있다.
2) 계층형 구조 : Area
- Area : 논리적 네트워크 분할 단위
- Area 0 (Backbone Area) : 모든 Area는 반드시 Backbone을 통해 연결되어야 함
- ABR (Area Border Router) : Area 간 경계 라우터
- ASBR (Autonomous System Boundary Router) : 외부 라우팅 도메인 연결
- Internal Router : Area 내부에만 존재하는 일반 라우터
대규모 네트워크를 안정적이고 효율적으로 관리하기 위한 구조
3) OSPF 데이터 흐름 구조
- LSA (Link State Advertisement)
- 라우터가 링크 상태 정보를 다른 라우터에 알릴 때 사용하는 패킷
- 네트워크 변경시 LSA를 통해 모든 라우터가 정보 공유
- LSDB (Link State Database)
- 모든 라우터가 가진 OSPF 네트워크 전체의 링크 상태 정보를 저장하는 데이터베이스
- 모든 OSPF 라우터는 같은 Area 안에서 동일한 LSDB를 가짐
- SPF 알고리즘
- OSPF가 최적 경로를 계산할 때 사용하는 알고리즘
4) 라우터 식별 : Router ID
- 32비트 IPv4 형식
- 인접 라우터와 중복되면 이웃 관계를 성립할 수 없고 전체 네트워크에서 유일하게 유지되어야 하는 값
- 우선순위 :
- 수동 설정 (router-id 명령어)
- Loopback 인터페이스 IP (가장 큰 숫자)
- 물리적 인터페이스 IP (가장 큰 숫자)
5) 설정 요소
- 프로세스 ID : 라우터 내부 구분용으로 이웃 간 일치할 필요 없음
- network 명령어 : 광고할 로컬 서브넷 지정
- area 명령어 : 해당 서브넷이 속한 OSPF 영역 지정
- passive-interface : 불필요한 인터페이스에서 OSPF 패킷 차단
- 와일드카드 마스크 : 서브넷 마스크와 반대 개념으로 무엇을 무시할지를 정의 (0 = 고정, 1 = 허용)
기본적으로 자동 요약을 하지 않아 no auto-summary 명령어는 사용하지 않는다.
6) 메트릭: Cost
- Cost는 경로를 선택할 때 사용하는 메트릭으로 인터페이스 대역폭을 기준으로 결정됨
- 공식 : Cost = 100Mbps % Bandwith
- 소수점 이하는 버림, 최소 Cost는 1
- 여러 홉의 Cost는 합산
- 정밀한 경로 설정을 위해 Bandwidth Reference 확장 가능
7) DR/BDR 개념
- DR (Designated Router) : 다중 액세스 네트워크에서 업데이트를 대표로 받아 다른 라우터에게 전달하는 라우터
- BDR (Backup Designated Router) : DR이 문제가 발생했을 때 대신 역할을 수행할 백업 라우터
- 나머지 라우터는 DROTHER로, DR/BDR과만 인접 관계 형성
| 송신자 | 목적지 멀티캐스트 주소 |
| DROTHER -> DR | 224.0.0.6 |
| DR -> DROTHER | 224.0.0.5 |
8) 패킷 유형
- Hello : 이웃 관계 성립을 위해 초기 단계 때 교환하며 이웃 관계 성립 후에는 주기적인 교환으로 관계 유지
- DBD : LSDB 정보에 있는 LSA 광고 정보 요약
- LSR : 자신의 LSDB 정보에 없는 정보가 있을 때 이웃 라우터에게 상세한 LSA 정보를 요청할 때 사용
- LSU : 이웃 라우터에게 LSR 패킷을 수신하거나, 네트워크 상태가 변경될 경우 라우팅 정보를 업데이트할 때 사용
- LSAck : OSPF DBD, LSU 패킷을 수신하면 수신 확인을 알리기 위해 사용
9) 기본 신뢰도 및 로드 분산
- 기본 AD : 110
- 로드 분산 : 동일한 Cost의 경로 최대 4개까지 지원 (maximum-paths 명령으로 조정 가능)
10) Loopback /32bit 라우팅 업데이트
- Loopback 인터페이스는 항상 UP 상태이므로 Router ID 지정이나 안정적 경로 확인용으로 활용
- Loopback은 기본적으로 /32 Stub Host로 간주되어 광고됨 -> LSA 간단하게 표현할 수 있어 효율적으로 유지 및 관리 가능
- Point-to-Point 설정 시 다른 라우터와 연결된 실제 링크처럼 인식되어 전체 서브넷으로 광고됨
💡 stub host란?
단일 IP처럼 취급되는 인터페이스로 보통 /32로 처리되어 Loopback 인터페이스에 구성되어 있다. 이렇게 되면 라우팅 업데이트를 하지 않고 직접 연결된 라우터에서만 접근 가능하게 처리할 수 있다. 실제로는 하나의 인터페이스를 가지고 있기 때문에 연결된 라우터들에서 네트워크 자체는 가능하다.
11) OSFP 테이블 유형
- Neighbor Table : 이웃 관계를 성립한 인접 라우터와의 상태 정보를 관리
- Link-State Database (LSDB) : OSPF 링크-상태 정보 관리
- Routing Table : LSDB 정보를 기반으로 SPF 알고리즘을 통해 선출된 최적 경로가 등록
12) OSPF 경로 유형 및 라우팅 테이블 코드
| 경로 이름 | Intra-Area | Inter-Area | External-1 | External-2 |
| 경로 코드 | O | O IA | O E1 | O E2 |
| 메트릭 규칙 | 증가 | 증가 | 증가 | 증가되지 않음 |
| 구간 | 같은 Area 지역 | 다른 Area 지역 | 외부 도메인 | 외부 도메인 |
| 우선순위 | 1st | 2nd | 3rd | 4th |
13) Virtual Link와 인증
- Virtual Link : 특정 Area가 Area 0을 경우할 수 없는 환경일 경우 사용
- 인증
- 평문 인증과 MD5 인증 등이 있음
- 이웃 인증 : 인터페이스 구간에서 라우터간 교환하는 OSPF 패킷을 인증
- Area 인증 : Area 지역 구간에서 광고되는 OSPF 패킷인증을 실시하는 인증
14) Hello Interval / Dead Interval
- Hello Interval : OSPF에서 이웃 라우터와의 관계를 유지하기 위해 주기적으로 전송하는 Hello 패킷의 간격 (네트워크 유형별로 상이)
- Dead Interval : 상대방이 응답이 없을 때 이웃 관계를 끊는 기준 시간 (보통 Hello Interval의 4배)
15) Neighbor 상태
아래는 OSPF에서 이웃 라우터 간의 관계가 형성되고 LSDB를 동기화하기까지 거치는 8단계 상태이다.
- Down State
- OSPF 프로세스가 시작되어 인접 라우터에게 Hello 패킷을 전송하지만 아직 인접 라우터로부터 Hello 패킷을 수신하지 못한 상태
- 또는, 기존에 성립된 이웃 관계가 Dead Interval 동안 Hello 패킷을 수신하지 못해 종료된 상태
- Attempt State
- Non-Broadcast 환경(NBMA)에서만 사용
- neighbor 명령어로 수동으로 정의된 라우터에게 유니캐스트로 Hello 패킷을 전송하지만 아직 응답을 받지 못한 상태
- Init State
- 이웃 라우터로부터 Hello 패킷을 수신했으나 상대 라우터는 아직 나를 인식하지 못한 상태
- 수신한 Hello 패킷 안에 내 Router ID가 없음
- 아직 양방향 인식이 되지 않은 일방적인 상태
- Two-Way State
- 양쪽 모두 Hello 패킷을 수신하고, 서로의 Router ID를 인식한 상태
- 이웃 관계가 형성되었으며, 이 단계에서 DR/BDR 선출이 이루어짐
- 만약 DR/BDR 대상이 아닌 경우, 이 상태에서 머무름 (ex: DROTHER)
- Exstart State
- 마스터와 슬레이브 라우터를 선출하여 LSDB 동기화를 시작하는 초기 단계
- Router ID가 높은 라우터가 Master로 선출됨
- DBD(Database Description) 패킷 전송 준비
- Exchange State
- 양 라우터가 DBD 패킷을 주고받으며 LSDB에 어떤 LSA가 있는지 서로 비교
- DBD 패킷은 LSA의 헤더 정보만 포함하며, 실제 내용은 아직 전송되지 않음
- DBD 패킷 내용을 비교해 자신보다 선순위 정보가 있다면 그 상세 정보를 요청하기 위해 링크-상태 요청 리스트에 기록
- Loading State
- 링크-상태 요청 리스트에 요청 내용이 기록되어 있다면, 해당 라우터는 LSR 패킷을 이웃 라우터에게 전송하여 특정 LSA 상세 정보를 요청
- LSR 패킷을 수신한 라우터는 LSA 전체 정보를 LSU 패킷으로 응답하여 라우팅 업데이트 실시
- Full State
- 양쪽 LSDB가 완전히 동기화된 상태
- 이 상태부터 SPF 알고리즘으로 최적 경로를 계산하고 라우팅 테이블에 반영
16) 동작 과정
- Hello 패킷 교환 -> 이웃 관계 성립 시도
- Two-Way 상태 도달
- DR/BDR 선출 (멀티 액세스 네트워크에서)
- Exstart/Exchange/Loading 단계 -> LSDB 동기화
- Full 상태 도달 -> SPF 알고리즘 수행
- 최적 경로를 라우팅 테이블에 반영
- 주기적으로 Hello 교환하며 이웃 관계 유지
- 변화 발생 시 LSA로 링크 상태 정보 갱신
17) 이웃 성립 조건
- 같은 세그먼트를 공유하는 서브넷은 동일 Area에 포함되도록 구성
- 같은 세그먼트를 공유하는 인터페이스에 Hello 주기와 Dead 주기, MTU 사이즈 동일
- OSFP 인증 구현시 인증 내용이 동일
- 인접 라우터와 라우터 아이디가 중복되면 안됨
- Stub Area 구간에 포함된 라우터들은 Stub 플래그가 일치해야 함
✍️ 하루 회고
오늘은 EIGRP와 OSPF에 대해 학습했다.
두 프로토콜은 라우팅을 수행한다는 공통점이 있지만, 알고리즘 구조나 동작 방식에서 차이가 있기 때문에 헷갈릴 수 있는 개념들이 많았다.
그래서 오늘은 TIL을 작성하면서 각 프로토콜의 특징을 정리해보고, 핵심 개념들을 복습하는 시간을 가졌다.
한 프로토콜 안에도 정말 많은 세부 개념들이 들어 있어서 처음에는 어렵게 느껴졌지만, 반복적으로 정리하고 접하다 보면 자연스럽게 외워질 것이라 생각한다.
'TIL' 카테고리의 다른 글
| [에스넷시스템 부트캠프] TIL Day 15 - 리눅스 프로세스 모니터링, 장치 인식부터 마운트 디스크 관리 (0) | 2025.06.10 |
|---|---|
| [에스넷시스템 부트캠프] TIL Day 14 - diff, sort, file, 압축과 아카이빙, 프로세스 (0) | 2025.06.09 |
| [에스넷시스템 부트캠프] TIL Day 12 - RIP, RIPv2 (0) | 2025.06.05 |
| [에스넷시스템 부트캠프] TIL Day 11 - STP, EtherChannel (0) | 2025.06.05 |
| [에스넷시스템 부트캠프] TIL Day 10 - VLAN, VTP (0) | 2025.05.31 |