본문 바로가기
엔지니어링/네트워크 엔지니어(L3)

IP 라우팅 - EIGRP 01

by Raffin 2021. 3. 22.
반응형
SMALL

EIRGP(Enhanced Interior Gateway Routing Protocol)

EIGRP는 1986년에 개발된 IGRP 프로토콜에 확장형으로서  Cisco에서 개발한 디스턴스 벡터 라우팅 프로토콜이다.

RIP와 마찬가지로 스프릿 호라이즌이 적용되고, 서브넷 경계에서 자동 요약을 실시한다.

단, RIP에서 실시하던 주기적인 전체 라우팅 업데이트와 HOP을 이용한 메트릭 계산 방법을 개선시켰다. 개선된 대표적인 동작에는 인접 라우터와 네이버 관계를 성립하고, 네이버 관계를 성립한 라우터 간에 라우팅 업데이트를 실시하는 것이다. 또한, 주기적인 라우팅 업데이트 대신, 변화가 있을때만 변화된 부분만 업데이트를 실시한다. 이러한 이유로 EIGRP를 진보된 디스턴스 벡터(Advanced Distance Vector) 라우팅 프로코롤이라고 하며, 차후에 살펴보게될 OSPF와 더불어 대규모 네트워크 환경에서 많이 사용되고있는 IGP프로토콜이다.

 

EIGRP 설정

EIGRP는 프로세스를 시작할때, AS 주소를 설정한다. 만약, 인접 라우터 간에 AS 주소가 다르면, 네이버 성립이 불가능하기 때문에 라우팅 업데이트가 실시되지 않는다. EIGRP 프로세스에서 'network'명령어를 이용하여 라우팅 업데이트를 하고자 하는 로컬 서브넷을 클래스풀 형식으로 설정한다. 그리고 'no auto-summary'를 실시하여 자동 요약을 해지함으로서 비연속 서브넷 구간에서 라우팅 업데이트가 단절되는 문제점을 해결한다. 추가적으로 'passive-interface'를 이용하여 불필요한 인터페이스로 EIGRP 패킷(Hello, Update, Query, Reply Ack)이 전송되는 것을 차단할 수 있다.

또는, 와일드 마스크를 이용하여 길게 설정될 수 있는 EIGRP 설정을 짧게 하거나 지정 서브넷만 EIGRP로 설정할 수 있도록 구성할 수 있다.

 

클래스리스 라우팅 프로토콜

EIGRP는 클래스리스 라우팅 프로콜이다. 그렇기 때문에 라우팅 업데이트시 서브넷 마스크를 포함하며, 모든 서브넷은 동일한 서브넷 마스크를 사용할 필요가 없다. 즉, 다양한 서브넷 마스크 구간 및 VLSM 환경에서 라우팅 업데이트가 가능할 뿐만 아니라, CIDR 기능도 보장된다. 단, 서브넷 경계에서 자동 클래스풀 요약 업데이트를 하기 때문에 비연속 서브넷 구간에서는 자동 요약(no auto-summary)을 해지하여 라우팅 업데이트가 단절되는 문제점을 해결해야한다.

 

수동 요약 기능 지원

EIGRP는 수동 요약 기능을 지원한다. EIGRP에서 수동 요약을 설정하기 이전에는 기본적으로 자동 요약을 해지해야 하며, 요약을 실시한 라우터에는 요약 정보에 대한 Null 인터페이스 경로를 생성한다. 이는 기본 경로를 참조하여 루프가 발생하는 것을 방지하기 위해서다.

 

MD5 해시 함수를 이용한 인증 기능

EIGRP는 인가되지 않은 외부 라우터와 네이버를 성립하여 라우팅 정보를 수신하거나, 또는 라우팅 업데이트 정보의 변조를 방지하기 위해서 인증 기능을 지원한다. 만약, 수신한 EIGRP 패킷 정보에 인증 정보가 잘못되어 있다면, 라우터는 해당 라우터와 네이버 관계를 성립하지 않거나, 성립한 네이버 관계를 해지한다.

 

EIGRP 네이버 성립 조건

EIGRP는 인접 라우터와 Hello 패킷을 교환하여 네이버 관계를 성립할 때, AS 주소와 K-상수 값이 동일해야 한다.

만약, AS 주소와 K-상수 중에 하나라도 동일하지 않으면 네이버 관계를 성립할 수 없다. 이때, K-상수 값은 모든 라우터가 기본적으로 'K1=1, K2=0, K3=1, K4=0, K5=0'이라는 값을 사용하기 때문에 EIGRP 설정시 AS 주소만 동일하게 하면 네이버 성립에 아무런 문제가 되지 않는다. EIGRP AS 주소와 K-상수 값은 'show ip protocols' 명령어를 이용하면 확인할 수 있다.


EIGRP 패킷 유형

EIGRP는 Hello. Update, Query, Reply, Ack라는 5가지 유형의 패킷을 이용하여 동작한다.

 

Hello 패킷

네이버 관계를 성립하기 위해서 EIGRP 초기 단계때 교환하며, 네이버 관계가 성립되면 주기적인 교환으로 네이버 관계를 유지한다. 모든 네트워크 환경에서 멀티케스트 224.0.0.10 주소를 이용하여 전송한다.

[표 1-1] 네트워크 유형별 Hello 주기와 Hold 주기
네트워크 유형 Hello 주기 Hold 주기
Point-to-Point 5 15
Broadcast 5 15
Nonbroadcast 60 180

만약, Hello 주기와 Hold 주기 시간을 변경하려면 아래 명령어를 사용한다.

'ip hello-internal eigrp [AS Number] [1-65535 Hello Seconds]'

'ip hold-time eigrp [AS Number] [1-65535 Hold Seconds]'

 

Update 패킷

네이버 라우터 간에 라우팅 업데이트를 실시할 때 사용하며, EIGRP 네트워크가 추가된 경우에만 생성되어 전송한다.

[표 1-2] 네트워크 유형별 Update 패킷 전송 방식
네트워크유형 패킷 전송 방식
Point-to-Point 유니케스트 (네이버 IP 주소)
Broadcast 멀티케스트 (224.0.0.10)
Nonbroadcast 유니케스트 (네이버 IP 주소)

만약 Broadcast 환경에서 Update 패킷을 전송한 이후, 특정 네이버로부터 Ack 패킷을 수신하지 못하면, 유니케스트를 이용하여 해당 네이버에게만 Update 패킷을 재전송한다. 또한, Broadcast 환경에서 EIGRP Update 패킷을 유니케스트로 전송하려면, 로컬 라우터와 네이버 라우터 간에 'neighbor' 명령어를 이용하여 유니케스트가 가능하도록 설정한다.

'neighbor [Neighbor 주소] [라우팅 업데이트 출력 인터페이스]'

 

Query 패킷

EIGRP 토폴로지가 변경된 경우, 즉 EIGRP 로컬 네트워크 장애, 또는 최적 경로가 장애가 발생됐을 때, 네이버 라우터에게 목적지 도달 가능성과 대체 경로를 질의할 때 사용한다.

[표 1-3] 네트워크 유형별 Query 패킷 전송 방식
네트워크 유형 패킷 전송 방식
Point-to-Point 유니케스트 (네이버 IP 주소)
Broadcast 멀티케스트 (224.0.0.10)
Nonbroadcast 유니케스트 (네이버 IP 주소)

 

Reply 패킷

네이버로부터 수신한 Query 패킷에 대한 응답을 실시할 때 사용하는 패킷이며, 목적지 도달 가능성 정보와 목적지에 대한 대체 경로 정보가 포함된다. 이때, 네이버 라우터는 자신이 전송한 Query 패킷에 대한 Reply 패킷을 수신해야지만, 경로 상태가 Passive가 되어 라우팅 테이블에 등록이 가능하지만, 만약 Reply를 수신하지 못한 상태가 3분간 지속되면 EIGRP SIA (Stuck In Active)로 간주하여 해당 라우터와 네이버 관계를 해지한다. 이렇게 되면 Hello 패킷이 교환되는 순간 다시 네이버 관계가 성립되고, 대규모 네트워크 환경이라면 많은 양의 라우팅 업데이트가 실시되므로 부하가 발생하는 문제가 일어난다. EIGRP SIA를 해결하기 위해서는 재분배, 수동 요약, EIGRP Stub, SIA 타이머 조정이라는 방법을 이용하여 해결할 수 있다. 참고로 Reply 패킷은 Query 패킷을 전송한 라우터에게만 전송하면 되기 때문에 모든 네트워크 환경에서 유니케스트로 전송한다.

 

Ack 패킷

네이버 라우터로부터 수신한 Update, Query, Reply 패킷에 대해서 승인 확인을 알려줄 때 사용한다. EIGRP Ack 패킷은 Update, Query, Reply를 전송한 네이버 라우터에게만 승인해주면 되기 때문에 모든 네트워크 환경에서 유니케스트로 전송한다. 만약 Update 패킷을 전송한 이후, Ack 패킷을 수신하지 못하면, 해당 네이버에게 Update 패킷을 최대 16번까지 재전송하며, 16번이 초과된 이후에도 Ack 패킷을 수신하지 못하면, 해당 네이버와 네이버 관계를 해지한다. 이렇게 네이버가 해지되면, 불안정한 EIGRP 네트워크 환경으로 간주된다.

 

 

반응형

댓글