네트워크

[네트워크] EIGRP(Enhanced Interior Gateway Protocol)프로토콜

화이트해커 Luna 🌙 2022. 12. 7. 19:32
728x90
반응형

EIGRP(Enhanced Interior Gateway Protocol)프로토콜

EIGRP(Enhanced Interior Gateway Routing Protocol, 강화 내부 경로 제어 통신 규약)은 시스코의 IGRP프로토콜이 공공프로토콜이 되면서 업그레이드된 프로토콜이다. 좋은 프로토콜이지만 비싸서 잘 안쓴다. 

-목차-
1. EIGRP 개요
2. EIGRP 패킷
3. EIGRP 메트릭
4. EIGRP 경로 (DUAL)

1. EIGRP 개요

EIGRP(Enhanced Interior Gateway Routing Protocol, 강화 내부 경로 제어 통신 프로토콜)은 거리벡터방식의 라우터 프로토콜인데 링크 상태 라우팅 프로토콜처럼 네트워크 변화를 바로바로 업데이트 해준다. Rapid convergence를 지원해서 DUAL(Diffusing Update Algorithm)을 이용해 최적경로를 선택한다. 리소스발생이 적은데 네트워크변화에 즉시 반응하고, 최적 경로에 문제가 생길 시 대체 경로도 설정할 수 있어서 수렴 시간이 빠르다. 유사한 다른 프로토콜과 다른 점은 Feasible Successor가 있으면 경로를 두 개 사용할 수 있다. 


2. EIGRP 패킷

헬로패킷, 쿼리패킷, 업데이트패킷, 응답패킷, ACK패킷 5가지를 사용해서 네이버를 맺고 교류를 한다.

 

헬로 패킷(Hello Packet)

EIGRP 프로토콜의 형성 및 유지를 위해 교환되는 프로토콜로, 네이버 관계의 라우터가 일정 시간동안 응답을 하지 않으면 장애로 판단하고 이웃 관계를 끊어버린다. 

 

쿼리패킷

라우팅 정보를 요청하는 패킷이다. 최선경로에 장애가 발생되었는데 차선경로가 없는 경우에 사용된다. 

인접한 라우터들에게 대체경로를 확인하고, 경로에 대한 응답을 받으면 새로운 경로를 테이블에 등록한다. 

 

업데이트패킷

네이버들에게 자신의 토폴로지 테이블 정보를 알려주는 패킷이다. 토폴로지에 변화가 생기면 알려주기도 한다. 

 

응답패킷

쿼리를 수신하면 응답패킷을 보내준다. 이 때, 패킷의 개수가 동일해야하는데 3분 이내로 응답을 보내지 않으면 네이버를 끊는다. SIA현상이 발생할 수 있다. 

 

ACK패킷 

EIGRP 프로토콜은 IP기반으로 동작해서 신뢰성이 없다. 이웃들에게 전송한 패킷들이 정상 수신되었는지 여부를 확인시켜서 신뢰성있는 전송이 가능하게 해준다. 16번의 재전송을 하는데 그 안에 수신하지 못하면 이웃관계 단절이다. 하지만 헬로패킷과 ACK패킷은 수신을 확인하지 않는다. 

 

절차

이 패킷들이 EIGRP 프로토콜이 라우팅 경로를 계산하는 순서는 일단 헬로패킷이 인접 라우터들과 이웃 관계를 맺고, 테이블을 생성하는걸로 시작된다. 그리고 업데이트패킷이 라우팅 정보를 교환해서 토폴로지 테이블을 생성하고 라우팅 경로를 계산해 최적경로를 라우팅 테이블에 저장한다. 경로나 인접라우터에 문제가 생기면 일단 토폴로지테이블에서 차선 경로(DUAL)을 찾아본다. 그런데 없다면 쿼리패킷이 라우팅 정보 요청 및 응답 상태 테이블을 생성하고, 응답 패킷이 라우팅 정보 수신 및 토폴로지 테이블을 생성하고, 수신한 라우팅 정보들을 사용하여 경로를 계산하고 최적 경로를 라우팅 테이블에 저장한다.


3. EIGRP 메트릭

EIGRP 프로토콜은 K상수로 매트릭을 구한다. 매트릭 팩터의 종류는 Bandwidth,  Load, Delay,  Reliability, MTU의 다섯가지가 있는데 요샌 Bandwidth, Delay를 주로 이용한다. 

 

K상수

 

K상수 Metric factor 설명
K1 Bandwidth Dst로 가는 대역폭중에 가장 낮은 대역폭으로 107을 나눈 값
K2 Load 인터페이스의 부하
K3 Delay  Dst까지의 모든 지연의 합의 1/10
K4  Reliability  인터페이스의 에러 발생률
K5 MTU 최대 패킷의 크기

 

K상수는 아래 방정식의 상수로 각 메트릭 요소에 대한 비중에 차등을 주어 적용하기 위해 사용한다.

 

(K1*BW + (K2*BW)/(256‐load) + K3*delay)*256*(K5/(Reli+K4))

Default (K1=K3=1,  K2=K4=K5=0)값을 적용한 EIGRP의 메트릭
EIGRP Metric = (K1*BW + K3*delay) * 256

 

기본적인 Metric 계산

 

• BW는 목적지 까지 경로 중 가장 낮은 대역을 사용한다.

- bandwidth : kbs
BW = (10^7/banwidth) * 256


• Delay는 경로 까지의 모든 지연을 합한 값이다.

- delay : μs(micro‐second), usec로 표기, 1/1,000,000(백만분의1초)
- 모든 지연의 합을 10으로 나누고 256을 곱한 값
Delay = (sum(delay)/10)*256

 

 

Neighbor
• 동일 AS내에 동일 K상수를 갖는 Router들로 Routing info를 나눈다.

• 주기적으로 Routing table을 전송한다.
- 맨 처음 neighbor을 맺을 때 모든 routing 정보를 교환하고 이후 변경된 정보만 교환한다.
- 정상적인 경우 hello 패킷만 교환한다.

4. EIGRP 경로(DUAL)

최적 경로(Successor)와 차선경로(Feasible Successor)가 있다. 

 

경로결정과정

1. 네이버로 부터 받은 각각의 경로를 확인한다.
2. successor/feasible successor 경로를 결정한다.
3. successor에 문제가 생기면 feasible successor를 이용한다.
4. feasible seccessor가 없으면 새로운 successor를 찾는다.

최적 경로(Successor)

최적 경로는 목적지에 대한 최소 거리면서 라우팅 루프의 일부가 아닌 홉 라우터다. 토폴로지 테이블에 기록된다.

 

차선경로(Feasible Successor) 

특정 라우팅 루프의 일부가 아닌 라우터 중 선택된다. 모든 최적 경로는 차선 경로이기도 하다. Reported Distance가 최적 경로의 Feasible Distance보다 작아야 한다.  

 

분산 부하

다중 경로의 FD와 메트릭이 동일할 경우 라우터는 둘다 사용한다.

• 단 Feasible successor에 대해서만 제공한다.
• Variance 값을 이용 조정 가능하다.
- FD*variance > Feasible success's FD

 

728x90
반응형