Network Protocol (0) - EIGRP

 

이 카테고리에서는 동적 라우팅 프로토콜 위주로 다룰 예정입니다.


 

핵심정리 부터


EIGRP는 Cisco의 프로토콜로 사용되는 내부 게이트웨이 라우팅 프로토콜이다.

 

특징

1. 자가요구 메트릭 계산 = EIGRP는 경로 선택을 위해 자가요구 메트릭을 사용한다 ( 대역폭, 지연, 신뢰성, 부하 등 )

2. DUAL 알고리즘 = ( 4~4-2 / 6-2 )

3. 빠른수렴 = Hello 패킷을 통해 이웃 라우터의 상태를 주기적으로 확인, 변경이 감지되면 빠르게 경로 재계산과 업데이트

4. VLSM 지원 = 서로 다른 서브넷에서 동일한 네트워크 번호로 다른 서브넷 마스크를 지정할 수 있는 특성

//가변길이서브넷마스크(Variable Length Subnet Mask)은 가용 주소 공간을 최적화하는데 도움이 된다.

5. CIDR 지원

// 클래스 없는 도메인간 라우팅 기법(Classless Inter-Domain Routing) 많이 접하는! 사이더라고 불리는..

6. 경로 요약 = 경로 요약을 통해 대규모 네트워크에서 라우팅 테이블 크기를 제어 할 수 있다.

7. Equal-cost Load Balancing = 여러 경로를 동시에 사용하여 네트워크 트래픽을 분산

8. VRRP(Virtual Router Redundancy Protocol)와의 통합

= 라우터의 가동 중단시, 다른 라우터가 가상 IP를 제공하여 네트워크 연결을 유지시킴

 

자세히 알아보면 좋은것

더보기

메트릭 및 경로선택

 - 자가요구 메트릭 계산과 경로 선택 알고리즘에 대한 이해

~목차 6번에 서술~


구성 및 이웃 관계

- EIGRP의 구성단계, 인터페이스 구성, 이웃 관계 설정에 대한 지식

실습,패킷분석을 통해 알 수 있다.


경로 요약

- EIGRP 프로토콜에서 경로 요약 설정과 그 효과에 대한 이해

자동요약(Auto-summarization) = 기본적으로 자동 요약 활성화 되어있음 

ex) 192.168.0.0/16와 192.168.0.0/24가 있으면 192.168.0.0/16으로 자동으로 요약 되는 것을 뜻함

수동요약(Manual-summarization) = 네트워크 관리자가 수동으로 요약 경로를 설정하는 것

우리가 원하는 서브넷 범위를 지정하는것을 뜻함

효과는

라우팅 테이블 크기 제어 - 서브넷들이 요약되서 테이블 크기가 줄어드니까 메모리사용량 줄이고 전체성능 향상

라우팅 업데이트 감소 - 요약된 경로만 전파되니까 업데이트의 크기가 줄어드니까 대역폭을 절약할 수 있음

네트워크 보안 강화 - 라우팅 정보의 노출을 줄이는데 도움이됨. 요약된 경로만 외부에 공개되니까


보안 및 인증

- EIGRP에서 인증 및 보안 설정, 암호화 기술에 대한 이해와 구성 방법

9-5 더보기를 이용


트러블 슈팅 - > 후에 자세히 알아보자~~~

- EIGRP 네트워크에서 발생하는 문제를 식별하고 해결하는 기술과 도구의 사용법

인터페이스 모니터링 ( show interface )

라우팅 테이블 확인 ( show ip route )

이웃 관계 확인 ( show ip eigrp neighbors )

EIGRP 패킷분석 ( 와이어샤크 등 분석도구 이용 )

오류 메시지 및 로그 분석 ( show logging )

EIGRP 디버깅 ( debug eigrp )

 

시스코 TAC소환..?

 

 

 


소개

안녕하세요 오늘은 주로 기업네트워크에서 많이 사용되는 EIGRP에 대해 알아보려고 합니다.

EIGRP는 Enhanced Interior Gateway Routing Protocol의 약자로

직역하면 "향상된 내부 게이트웨이 라우팅 프로토콜"

Cisco에서 개발한 거리 벡터 라우팅 프로토콜 입니다.

 

EIGRP는 거리 벡터와 링크 상태정보 라우팅 프로토콜(Link-state)의 장점을 결합한 하이브리드 프로토콜입니다.

= EIGRP는 빠른 수렴 시간과 최적 경로 계산을 가능

 

또, 자가수리 기능을 제공합니다. 네트워크 장애가 발생하면

EIGRP는 자동으로 경로를 복구하여 네트워크 연결을 유지합니다.

= 네트워크 장애 시간을 최소화하고 신뢰성을 향상

 

= 마지막으로 가변성과 확장성을 가지고 있습니다.

네트워크의 크기와 구성에 따라 자동으로 가변적으로 작동할 수 있으며,

새로운 라우터가 추가되거나 제거될 때도 자동으로 최적 경로를 계산해 전체 네트워크의 효율성을 유지합니다.

 

정리하면 EIGRP 프로토콜은

빠른 수렴 시간과 최적 경로 계산 가능, 네트워크 장애 시간 최소화, 높은 신뢰성과 안정성 제공, 가변성과 확장성 우수라는

특징을 가지고 있네요

 

구성요소

라우터 : EIGRP를 실행하고 설정하는 핵심요소

인터페이스 : 라우터 간의 통신을 위해 EIGRP 패킷을 주고받는 경로

이웃(neighbor) 라우터 : EIGRP 패킷을 교환하고 인접 관계를 형성하는 라우터

AS : 자율 시스템(AS) 내에서 동작하는 EIGRP

데이터베이스 : 라우팅 테이블, 인접 이웃 정보 등을 저장하고 최적 경로를 계산하는 EIGRP의 기반 데이터.

 

위 5가지를 충족해야만 EIGRP를 완전히 활용하고, 최적의 성능과 기능을 얻을 수 있다.

(이 중 하나가 없더라도 EIGRP를 사용할 수는 있지만 제한된 기능과 성능을 가질수 있다.)

 


장점과 이점

  1. 빠른 수렴 시간 : 네트워크 장애 시간을 최소화하고 최적 경로를 신속하게 선택할 수 있다.
  2. 유연한 경로 선택 : 다양한 요인을 고려하는 메트릭을 사용하여 최적 경로를 선택하므로 네트워크 조건에 맞게 유연하게 경로를 선택할 수 있다.
  3. 자가수리 기능 : 경로 문제 발생 시 자동으로 경로를 복구하여 네트워크 연결을 유지하고, 장애 시간을 최소화, 신뢰성을 향상시킨다.
  4. 확장성 : 자동으로 확장 가능하며, 새로운 라우터의 추가 또는 제거 시 네트워크 변경을 자동으로 감지하고 최적 경로를 계산하여 네트워크의 효율성을 유지한다.
  5. 분활 호환성 : EIGRP는 네트워크를 여러 개의 영역으로 분할하여 복잡성을 감소시키고 관리를 용이하게 한다.

단점

  1. 벤더 종속성 : Cisco의 사유지 프로토콜이라 다른 벤더의 장비와 상호 운용성에 제약이 있을 수 있다. 따라서 Cisco 장비를 사용하는 환경에서만 EIGRP를 사용할 수 있다.
  2. 복잡성 : 다른 프로토콜에 비해 구성 및 관리가 상대적으로 복잡할 수 있다. 특히 대규모 네트워크에서 구성하고 유지하는것은 도전적일 수 있음. ( *Stuck In Active(SIA)발생 가능, 구성 및 설정 복잡, 경로 통제 및 필터링, 디자인 복잡 )
  3. 리소스 사용 : 다른 프로토콜에 비해 CPU와 메모리 등의 리소스를 더 많이 사용할 수 있다. 특히 네트워크가 규모가 크고 복잡한 경우 리소스 부담이 더 커진다.
  4. 기타 프로토콜과의 상호 운용성 : 벤더 종속성과 같은 이유로 Cisco의 프로토콜로 다른 프로토콜과의 상호 운용성에서 제한될 수 있고 다른 벤더의 장비나 다른 라우팅 프로토콜과의 통합이 어려울 수 있다.

*SIA = 대규모 네트워크에서 EIGRP가 경로 선택에 문제를 겪어 일부 패킷이 무한히 재전송되는 상황

 


실습

Topology 

EIGRP Topology

더보기

* 자세히 보면 R5의 대역대빼고 다른 모든 PC - Router는 Cross over cable을 이용한 것을 볼 수 있다.

이는 UTP케이블 특성으로 Switch는 Tx(3,6) Rx(1,2)를 사용하기 때문에 Auto MDI-X를 사용하지 않는 라우터에서는

같은 유형의 장비를 연결 할 시 크로스 오버 케이블을 사용해야한다.

(최근에 나오는 장비엔 모두 Auto MDI-X를 사용해서 상관없음)

Tx(1,2)/Rx(3,6) = Router, Firewall , PC / Tx(3,6)/RX(1,2) = Switch

1. 토폴로지를 보고 PC와 Router에 IP설정을 해준다.

더보기

R1

R1# configure terminal
R1(config)# interface FastEthernet0/0
R1(config-if)# ip address 192.168.0.254 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface GigabitEthernet1/0
R1(config-if)# ip address 10.10.10.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface GigabitEthernet2/0
R1(config-if)# ip address 20.20.20.1 255.255.255.0
R1(config-if)# no shutdown

R2

R2# configure terminal
R2(config)# interface FastEthernet0/0
R2(config-if)# ip address 192.168.1.254 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
R2(config)# interface GigabitEthernet1/0
R2(config-if)# ip address 30.30.30.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
R2(config)# interface GigabitEthernet2/0
R2(config-if)# ip address 20.20.20.2 255.255.255.0
R2(config-if)# no shutdown

R3

R3# configure terminal
R3(config)# interface FastEthernet0/0
R3(config-if)# ip address 192.168.2.254 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# exit
R3(config)# interface GigabitEthernet1/0
R3(config-if)# ip address 30.30.30.3 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# exit
R3(config)# interface GigabitEthernet2/0
R3(config-if)# ip address 40.40.40.3 255.255.255.0
R3(config-if)# no shutdown

R4

R4# configure terminal
R4(config)# interface FastEthernet0/0
R4(config-if)# ip address 192.168.2.254 255.255.255.0
R4(config-if)# no shutdown
R4(config-if)# exit
R4(config)# interface GigabitEthernet1/0
R4(config-if)# ip address 50.50.50.4 255.255.255.0
R4(config-if)# no shutdown
R4(config-if)# exit
R4(config)# interface GigabitEthernet2/0
R4(config-if)# ip address 40.40.40.4 255.255.255.0
R4(config-if)# no shutdown

R5

R5# configure terminal
R5(config)# interface FastEthernet0/0
R5(config-if)# ip address 192.168.3.254 255.255.255.0
R5(config-if)# no shutdown
R5(config-if)# exit
R5(config)# interface GigabitEthernet1/0
R5(config-if)# ip address 50.50.50.4 255.255.255.0
R5(config-if)# no shutdown
R5(config-if)# exit
R5(config)# interface GigabitEthernet2/0
R5(config-if)# ip address 40.40.40.4 255.255.255.0
R5(config-if)# no shutdown

각 PC의 IP설정

Gateway는 각PC에 연결되어있는 Router의 IP를 적어주면 된다.

나머지 PC의 IP설정은 생략

2. 기본적인 EIGRP 설정.

EIGRP 설정을 할때, 우리는 AS(Autonomous System Number)를 사용합니다

*AS = EIGRP 프로세스를 식별하는데 사용되고, 동일한 AS번호를 가진 라우터들은

같은 EIGRP 네트워크 도메인에 속한다.

 

인터넷이 확산되고 네트워크가 커지면 라우팅 정보가 방대해져 하나의 라우팅 프로토콜로 관리가 불가능해진다.

네트워크의 관리 범위를 계층적으로 체계화하고 단위별로 라우팅 정보를 효율적으로 관리하기 위해

AS 체계가 도입되어 사용되고 있다.

 

저는 AS를 100으로 설정하도록 하겠습니다.

R1(config)# router eigrp 100 // EIGRP프로토콜 AS 100번으로 지정.
R1(config-router)# network 192.168.0.0 // 직접 연결되어있는 네트워크 지정 
R1(config-router)# network 10.10.10.0 0.0.0.255 // 와일드카드 설정
R1(config-router)# network 20.20.20.0 0.0.0.255
R1(config-router)# no auto-summary // 자동 요약기능 비활성화 (모든 서브넷을 개별적으로 전파)
R1(config-router)# end
R2(config)# router eigrp 100
R2(config-router)# network 192.168.1.0
R2(config-router)# network 20.20.20.0 0.0.0.255
R2(config-router)# network 30.30.30.0 0.0.0.255
R2(config-router)# no auto-summary
R2(config-router)# end
R3(config)# router eigrp 100
R3(config-router)# network 192.168.2.0
R3(config-router)# network 30.30.30.0 0.0.0.255
R3(config-router)# network 40.40.40.0 0.0.0.255
R3(config-router)# no auto-summary
R3(config-router)# end
R4(config)# router eigrp 100
R4(config-router)# network 192.168.3.0
R4(config-router)# network 40.40.40.0 0.0.0.255
R4(config-router)# network 50.50.50.0 0.0.0.255
R4(config-router)# no auto-summary
R4(config-router)# end
R5(config)# router eigrp 100
R5(config-router)# network 192.168.4.0
R5(config-router)# network 50.50.50.0 0.0.0.255
R5(config-router)# network 10.10.10.0 0.0.0.255
R5(config-router)# no auto-summary
R5(config-router)# end

3. Ping 테스트

PC1에서 PC5로 핑이 나가는것을 확인할 수 있다.

4. 패킷분석

더보기
CPT의 시뮬레이션을 이용해 패킷을 분석해보자

 

 

4-1. 이웃과의 첫번째 연결 설정

(1-1) R3~R4로 가는 패킷

1. R3가 GigabitEthernet2/0에서 EIGRP Hello 패킷을 멀티캐스트로 전송한다

2. R3는 데이터를 IP패킷에 캡슐화한다

3. 대상 IP주소는 브로드캐트 또는 멀티캐스트 주소이다. 기기는 대상 주소를 다음 홉으로 설정한다.

// 보면 대상 주소가 224.0.0.10인 것을 확인할 수 있다.

이는 EIGRP 패킷 전송을 위해 할당된 정해져있는 멀티캐스트 주소이다 //

(1-2) R3 -> R4로 도착한 패킷

1. 목적지 IP 주소는 브로드캐스트 또는 멀티캐스트 주소이다. 기기는 패킷을 상위계층으로 전달한다.

2. R4는 EIGRP 패킷을 수신한다.
3. EIGRP 패킷은 Hello 패킷이다.

4. Hello패킷은 기존 neighbor으로부터 온것이다. 기기는 이 neighbor에 대한 타이머를 재설정한다.

(첫 이웃결성이 아니라서 타이머를 재설정하는것을 볼 수있다. )

 

4-2.연결을 끊고 다시 연결하여 새로운 이웃결성에서의 패킷을 따라가보았다

(1-3) 처음 결성 됬을때는 4번의 결과가 다른 것을 볼 수 있다.

1~3은 같음

4. Hello 패킷은 새로운 neighbor으로부터 온것이다. 기기는 이 새로운 neighbor을 neighbor테이블에 추가한다.

(1-4) R4가 새로운 neighbor에게 자신의 토폴로지 테이블의 완전한 업데이트를 전송한다.
(1-5) R4가 40.40.40.3(R3)로 EIGRP 승인 패킷을 보내는 모습

1. 40.40.40.3으로 EIGRP 승인 패킷을 보낸다

2. 데이터를 IP패킷으로 캡슐화

3. 라우팅 테이블에서 대상 IP주소를 조회

4. 라우팅 테이블에서 대상 IP주소에 대한 라우팅 항목 찾기

5. 대상 네트워크가 직접 연결됨. 장치가 목적지를 next-hop으로 설정

(1-6) R3가 R4에게 EIGRP 승인 패킷을 보내는 모습

목적지만 40.40.40.4로 바뀌었을 뿐, 위와 같다.

 

위 과정을 통해 처음 이웃을 결성하는 것을 볼 수 있다.

 

 

 이웃 관계 유지 및 패킷교환 

 

이후 처음에 보았던 이웃 관계 유지를 위해 Hello 패킷을 주기적으로 교환하여 연결 상태를 유지하는것을 볼 수 있었다.

주기적으로 Ack 패킷을 사용하여 패킷 수신 확인을 보낸다

1. 40.40.40.4로 ACK 패킷을 보낸다

2. IP패킷으로 캡슐화

3. Routing table 조회

4. 라우팅 엔트리 찾기

5. 연결확인완료, next-hop으로 목적지 설정

토폴로지 테이블 업데이트, 라우팅 테이블 업데이트

(2-1) R3가 R4에게 업데이트 패킷을 작성하여 보내는것을 볼 수 있다.

1. 장치가 업데이트 패킷을 작성, 40.40.40.4에게 보냄

2~10 패킷에 추가

11. 패킷을 neighbor의 output queue에 추가

12. 패킷에 이웃으로부터 마지막으로 수신한 시퀀스 번호를 함께 첨부

13. 데이터를 IP패킷에 캡슐화

14. 라우팅 테이블에서 목적지 IP주소 조회

15. 라우팅 테이블은 목적지 IP주소에 대한 라우팅 엔트리 찾음

16. 목적지 네트워크와 직접 연결되어있다. R3는 next-hop(R4)으로 목적지를 설정한다.

 

(2-2) 연결되어있는 토폴로지의 모든정보를 받다보니 33까지 있다.

1. 목적지 IP주소가 인터페이스의 IP주소와 일치한다 (물리적,논리적 연결확인) 패킷을 상위계층으로 전달

2. R4가 R3에게 받은 EIGRP 패킷을 수신

3. EIGRP패킷의 시퀀스 번호가 저장된 시퀀스 번호보다 크다. 이웃의 시퀀스 번호를 업데이트

4. 이웃의 출력 큐에 보류중인 패킷이 없다. 이웃에게 확인 응답 패킷을 보낸다

5. EIGRP 패킷은 업데이트 패킷이다.

6. 패킷의 TLV로 topology table을 업데이트한다.

7~33 업데이트 내용 

(라우팅 테이블 업데이트)

(2-3) 라우팅 테이블 업데이트 이후 R4가 R3에게 보내는 패킷

1. 새로운 neighbor에게 자신의 토폴로지테이블의 전체 업데이트를 전송

2. 네트워크 50.50.50.0/24에 대한 새로운 경로 정보로 neighbor를 업데이트

3. 업데이트 패킷 생성

4. G2/0을 제외한 모든 EIGRP 인터페이스로 패킷을 멀티캐스트

5. 모든 이웃의 출력 큐가 비어있음, 패킷을 각 이웃의 출력 큐에 추가하고 각 인터페이스로 패킷을 멀티캐스트

★ 6. 학습한 경로가 있는 인터페이스로 Poison Reverse업데이트 패킷을 생성하여 전송

2~6을 반복하는데 192.168.3.0/24, 192.168.4.0/24의 정보로 업데이트한다

 

확인해보니 위의 내용들을 반복하며 라우팅 테이블과 토폴로지 테이블을 업데이트하는 모습을 볼 수 있었다.

 

이후 패킷을 순서대로 읽어보니 출력 대기열을 관리하는 모습을 볼 수 있었다.

 

R4에서 queue를 확인하고 대기열에 추가하는 모습

 

4-3 패킷 분석 결과

위의 과정을보면 EIGRP패킷을 순서는 이렇다.

 

1. 이웃과의 첫 번째 연결 설정

- Hello 패킷을 사용하여 이웃 후보를 탐색하고 이웃 관계를 형성

 

2. 이웃 관계 유지 

- Hello 패킷을 주기적으로 교환, 이웃과의 연결 상태 유지

- 시퀀스 번호를 사용하여 최신 업데이트 내용이 있는지 추적

 

3. 패킷 교환

- Update 패킷을 사용, 경로정보를 교환하고 네트워크 업데이트를 전파

- ACK 패킷을 사용, 패킷 수신 확인을 보낸다

 

4. 토폴로지 테이블 업데이트

- 수신한 업데이트 패킷의 정보를 사용하여 토폴로지 테이블을 업데이트

- 각 네트워크의 메트릭을 평가하고 최적 경로를 선택

 

5. 라우팅 테이블 업데이트

- 업데이트된 토볼로지 테이블을 기반으로 라우팅 테이블을 업데이트

- 더 나은 경로가 발견되거나 기존 경로와 동등한 메트릭인 경우, 라우팅 테이블을  갱신

 

6. 이웃의 출력 관리

- 이웃이 보류중인 패킷이 있는 경우, ACK 패킷을 사용하여 이웃의 출력 대기열에서 패킷을 제거한다

 

 

 

5. EIGRP 정보 확인 명령어

R1# show ip eigrp neighbors // EIGRP 이웃 라우터의 정보와 연결상태를 확인
R1# show ip eigrp topology // EIGRP 토폴로지 테이블의 정보, 경로 및 메트릭 값 확인
R1# show ip eigrp interfaces // EIGRP가 구성된 인터페이스의 정보, 네트워크 연결 및 상태 확인
R1# show ip route eigrp // EIGRP 라우팅 테이블을 통해 EIGRP가 알고 있는 라우팅 정보를 확인
R1# show ip eigrp topology all-links // EIGRP에서 경로 필터링을 적용한 모든 링크의 정보를 확인

show ip eigrp neighbors

 

Hold - 이웃 라우터와 마지막 Hello 패킷 수신 이후로 남은시간

Uptime - 이웃 라우터와의 연결 유지 시간

SRTT(Smooth Round Trip Time) - Hello 패킷의 왕복 시간의 평활화된 값

RTO(Retransmission Timeout) - 패킷 재전송을 위한 시간 제한

Q Cnt(Output Queue Count) - 이웃 라우터에 보류 중인 패킷의 수

Seq Num - 이웃 라우터의 마지막으로 수신한 Hello패킷의 시퀀스 번호

 

show ip eigrp topology

*이 명령어에 나와있는 내용으로 SIA가 발생했는지 알 수 있다.

codes에(P라고 적혀있는 부분) S라고 되있을 경우 경로가 Active 상태에 갇혔음을 나타낸다.

 

첨부한 사진에 있는 정보들을 통해

저장된 경로의 상태, 메트릭 값, 다음 홉 정보, 인터페이스, 경로의 age 등을 확인할 수 있다.

 

show ip eigrp interfaces

Peers : 해당 인터페이스와 연결된 EIGRP 이웃의 수

 

Xmit Queue Un/Reliable : 인터페이스의 송신 큐에 대기중인 EIGRP의 패킷의 수,

Unreliable은 미신뢰성, Reliable은 신뢰성을 뜻함

 

Mean SRTT : SRTT의 평균값으로, Hello패킷의 왕복 시간을 나타냄

Pacing Time Un/Reliable : 인터페이스의 전송 간격 Unreliable은 미신뢰성, Reliable은 신뢰성을 뜻함

Multicast Flow Timer : 멀티캐스트 플로우 타이머, 멀티캐스트 트래픽을 관리하는데 사용됨

Pending Routes : 처리 대기중인 경로의 수

 

show ip route eigrp(EIGRP 라우팅 테이블에 대한 정보를 제공해준다.)

EX )

D 192.168.3.0/24 [90/28672] via 10.10.10.5, 00:37:09, GigabitEthernet1/0:


D: EIGRP 도메인 내에 있는 경로임을 나타냄
192.168.3.0/24: 해당 경로가 대상인 네트워크 주소
[90/28672]: 경로의 Administrative Distance 값은 90이며, 메트릭 값은 28672이다.
via 10.10.10.5: 경로의 다음 홉인 IP 주소는 10.10.10.5
00:37:09: 경로가 마지막으로 업데이트된 시간. 이 경우, 37분 9초 전에 업데이트되었다.
GigabitEthernet1/0: 경로가 전송되는 인터페이스

 

추가로 경로가 'D EX'라고 표시되는 경우 외부 경로인 경우이며, EIGRP 도메인 외부에서 배운 경로로

다른 AS로부터 경로 정보를 받았을 수 있다.

EX) D EX 10.0.0.0/8 [170/284160] via 192.168.1.1, 00:42:15, Serial0/0

 

show ip eigrp topology all-links

예를들어 "P 10.10.10.0/24, 1 successors, FD is 2816, via Connected, GigabitEthernet1/0"에서는

10.10.10.0/24 네트워크가 패시브 상태이고, 최적 경로가 하나 있으며, 현재 최적 경로까지의 거리(FD)가 2816이며,

해당 경로는 직접 연결되어 있는 것을 나타낸다. 패킷은 GigabitEthernet1/0 인터페이스를 통해 전송

 

 

-상태코드 P A U Q R r-

더보기

해당 경로의 상태 코드를 확인해서 경로의 활성화, 업데이트, 쿼리, 응답또는 재시도 상태를 파악할 수 있다.

 

P: 패시브 (Passive): 경로가 패시브 상태이며, 해당 경로는 동작하지 않는 상태

이는 경로가 최적 경로로 선택되었고, 더 이상 변경이 필요하지 않음을 나타낸다.

경로의 정보는 주기적으로 유지되며, 업데이트가 발생하지 않는다.

패시브 상태의 경로는 안정화된 경로로 간주된다.

 

A: Active (활성): 경로가 활성화되었지만, 아직 수신한 응답이 없는 상태.

경로 탐색이 진행 중이며, 경로가 성립되면 P 상태로 전환


U: Update (업데이트): 경로가 최적 경로로 확정되어 업데이트되었으며, 현재 활성화된 상태.

경로가 안정화되면 P 상태로 전환


Q: Query (쿼리): 경로에 대한 쿼리 요청이 전송된 상태.

이는 경로의 장애 또는 변경을 확인하고, 새로운 경로를 찾는 데 사용


R: Reply (응답): 경로에 대한 쿼리 요청에 대한 응답을 수신한 상태.

이는 경로의 안정성을 확인하고, 최적 경로로 결정하는 데 사용

 

r: Retry (재시도): 경로가 이전에 실패했으며, 재시도 중인 상태.

경로가 안정화되면 P 상태로 전환됩니다.

 

6. EIGRP 네트워크 메트릭과 경로 선택

EIGRP 메트릭 값의 의미와 계산 방법

 

메트릭값에는 대역폭, 지연, 신뢰성, 부하가 있음.

 

대역폭 : 네트워크 링크의 대역폭은 경로의 용량을 나타낸다. 높은 대역폭은 더 빠른 전송 속도를 의미하고

메트릭 계산에는 대역폭의 역수가 사용된다.

 

지연 : 네트워크 링크의 전파 지연은 데이터가 전송되는 시간을 의미한다. 낮은 지연은 빠른 응답시간을 제공하고 

메트릭 계산에는 지연값을 사용한다.

 

신뢰성 : 신뢰성은 링크의 안정성을 나타낸다. 안정적인 링크는 패킷 손실이 적고 에러가 적게 발생함.

메트릭 계산에는 256에서 에러 및 패킷손실의 비율을 곱한 값을 사용한다.

 

부하 : 링크의 현재 트래픽 부하 상태를 나타낸다. 낮은 부하는 높은 처리량을 의미함.

메트릭 계산에는 링크 부하 값을 사용한다.

 

메트릭 계산식 : metric = 256*((K1*Scaled Bw) + (K2*Scaled Bw)/(256 – Load) + (K3*Scaled Delay)(K5/(Reliability + K4)))

출처 : cisco.com 공식문서
더보기

EX )

대역폭 (Bandwidth): 128 kbps

지연 (Delay): 55000 microseconds

부하 (Load) : (기본 값)

신뢰성 (Reliability): (기본 값)

 

K1 = Weight fot Bandwidth  
K2 = Weight fot Load       
K3 = Weight fot Delay
K4 & K5 = Weight fot Reliability

 

K1 = 1 (default value) // 대역폭에 대한 가중치, 기본값은 1이다.

- 현재 사용률을 나타내며, 높은 값이 설정하면 대역폭이 메트릭 계산에 더 큰 영향을 미침

K2 = 0 (default value) // 부하에 대한 가중치, 기본값은 0이다.

- Load는 인터페이스의 현재 사용률을 나타냄. 일반적으로 Load는 무시되어 0으로 설정됨

K3 = 1 (default value) // 지연에 대한 가중치, 기본값은 1이다.

- 지연은 데이터가 네트워크를 통과하는 데 걸리는 시간을 나타냄.
K4 = 0 (default value) // 신뢰성에 대한 가중치

- 신뢰성은 경로의 안정성을 나타냄 높은 값이 설정되면 신뢰성이 메트릭계산에 더 큰 영향을 끼침.

  일반적으로 0으로 설정됨
K5 = 0 (default value) // 향후 추가적인 기능을 위해 예약된 값 현재는 무시됨 그래서 0을 기본값으로 이용

1 0 1 0 0

 

 

 

EIGRP Metric = 

256 * 

((K1 * Scaled Bandwidth) + (K2 * Scaled Bandwidth) / (256 - Load) + (K3 * Scaled Delay) * (K5 / (Reliability + K4)))

-----default K value check-----

K1,K3 = 1

K2,4,5 = 0

=>공식이 단순화 됨

 

Scaled Bandwidth = {(10^7) / Bandwidth}  => { (10^7) / 128 } = 78125
Scaled Delay = Delay / 10 => { 55,000 / 10 } => 5500


EIGRP Metric = 256 * (Scaled Bandwidth + Scaled Delay)
EIGRP Metric = 256 * (78125 + 5500)
EIGRP Metric = 256 * 83625
EIGRP Metric = 21,398,400

 

6-2 EIGRP에서의 경로 선택 알고리즘 DUAL(Diffusing Update Algorithm)

DUAL은 EIGRP에서 경로선택을 위해 사용되는 알고리즘입니다

 

 

1. 네트워크 상태 정보 교환

- EIGRP 라우터는 이웃 라우터들과 경로,메트릭,상태정보를 교환. EIGRP 패킷에 포함

 

2. 경로 유지

- 각 라우터는 자신이 알고있는 경로들을 유지. 이러한 경로들은 주 경로와 후보 경로로 구분되고 주 경로는 현재 최적

경로로 선택된 경로이고, 후보 경로는 다른 경로 중에서 주 경로로 대체될 수 있는 경로이다.

 

3. 새로운 경로 발견

- 이웃 라우터로부터 새로운 경로 정보를 수신하면, DUAL은 이 정보를 기존의 경로와 비교하여 더 나은 경로인지 확인.

새로운 경로가 더 나은 경우, 주 경로를 업데이트하고 후보 경로를 대체

 

4. 경로 재계산

네트워크 상태가 변경될때, (경로 메트릭 변경이나 링크 장애로인해) DUAL은 경로를 재계산하여 최적 경로를 유지한다.

이 과정에서 경로장애에 대한 Loop방지를 위해 안정성 조건이 만족되지 않는 경로는 폐기된다.

 

우리는 위의 패킷분석에서 진행했을때, 아래와 같은 알고리즘을 통해 통신하는것을 볼 수 있었다.

 

이 알고리즘을 통해 EIGRP는 빠른 수렴속도, 안정적인 경로선택을 제공해 네트워크의 성능을 향상시킨다.

 

 

7. 네트워크 설계 원칙과 가이드라인

나는 위의 실습에서는 패킷분석을 위해 만들어진 토폴로지로, 설계원칙과 가이드라인을 따르진 않았다.

하지만 나중에 대규모의 토폴로지를 구축해보려고 하기 때문에 ( Protocol에 대해 거의 완벽히 정리가되면 )

나중을 위해 정보를 수집했다.

 

 

라우팅 도메인 분할 : 큰 네트워크를 여러개의 EIGRP 도메인으로 구성하여 복잡성을 감소시키고 확장성을 향상시킨다

// OSPF처럼 area나 Level에 따른 분할은 없다. 도메인들간의 요약과 필터링으로 복잡성을 감소시킨다. //

 

네트워크 분석 및 계획 : 네트워크 요구 사항을 분석하고 경로, 인터페이스, 서브넷 구성 등을 계획하여

효율적인 설계를 구축

 

네트워크 L3 스위치 사용 : EIGRP를 사용하는 네트워크에서는 레이어3 스위치를 사용하여 라우팅을 효율적으로 처리.

 

경로 필터링과 요약 : 필요한 경우와 불필요한 경로를 필터링해 라우팅 테이블의 크기를 줄이기 위해 경로 요약을 사용한다

 

인터페이스 대역폭 및 지연 설정 : EIGRP는 대역폭과 지연값을 사용해 메트릭을 계산하므로,

인터페이스의 설정이 중요하다

 

 

7-2 네트워크 최적화 방법과 팁

 

경로 요약 :

- 대규모 네트워크에선 불필요한 라우팅 엔트리를 줄이기 위해 경로 요약을 사용해 네트워크의 크기를 최적화한다

 

부하 분산 :

- EIGRP는 ECMP를 지원해 여러 경로를 효과적으로 활용하고 부하를 분산시킨다.

 

재전송 제어 :

- EIGRP는 재전송을 제어하여 네트워크의 대역폭을 효율적으로 활용하고 네트워크 지연을 감소시킨다.

 

트러블슈팅과 모니터링 :

- 네트워크의 성능 및 문제를 모니터링하고, EIGRP 이벤트 및 로그를 분석해 잠재적인 문제를 조기에 식별하고 해결

더보기

경로 불안정성:

- 이웃 라우터와의 연결 문제, 링크 장애, 잘못된 경로 설정 등이 경로 불안정성을 유발할 수 있다.

이 경우, 이웃 관계 확인, 링크 상태 검사, 경로 재설정 등을 통해 문제를 해결한다.

 

느린 수렴: 

- EIGRP 네트워크의 수렴이 느릴 경우, 인터페이스 설정, 경로 요약, 스플릿 호라이즌 등의 최적화 기법을 적용하여 수렴 속도를 개선한다.


라우팅 루프: 

- 라우팅 루프가 발생할 경우, 루프 원인 식별, 경로 필터링, 라우팅 구역 분리 등을 통해 루프를 제거한다.


메트릭 불일치: 

- 메트릭 값이 예상과 다를 경우, 메트릭 계산 파라미터, 대역폭 설정, 지연 값 조정 등을 확인하여 메트릭 일치성을 유지한다.

 

보안 구성 : EIGRP 메시지의 인증과 암호화 설정을 통해 네트워크 보안을 강화

 

8. 다른 프로토콜과의 비교 ( 차이점 )

EIGRP와 OSPF, BGP, RIP, IS-IS 등 다른 대표적인 라우팅 프로토콜과의 다른점이 뭘까?

먼저 비교를 해야 할 요소부터 정해보았다.

 

경로선택 알고리즘, 네트워크 유형(운영 환경), 확장성, 경로정보 교환, 메트릭 등?

 

알고리즘

EIGRP = DUAL 알고리즘

OSPF = SPF 알고리즘

BGP = Routing Vector(경로 벡터) 알고리즘

RIP = Distance Vector(거리 벡터) 알고리즘

IS-IS = SPF 알고리즘

 

운영 환경

EIGRP = 주로 기업 내부 네트워크에서 적합한 IGP

OSPF =  대규모 네트워크에서 주로 사용되는 IGP

BGP = 인터넷과 외부 연결에 사용되는 EGP

RIP = 간단한 네트워크에서 사용되는 IGP

IS-IS = ISP 및 대규모 네트워크에서 사용되는 IGP

* IGP와 EGP는 무엇인가?

더보기

IGP ( Interior Gateway Protocol )

- 기업 내부 네트워크와 같이 *AS내에서 라우팅 정보를 교환하는 프로토콜을 의미한다.

- AS내에서 내부 라우팅을 수행하고, 예를들어 기업의 사내 네트워크에서 사용되는 프로토콜들이 IGP에 해당한다.

ex ) EIGRP,OSPF,RIP,IS-IS 등이 IGP의 예시

EGP ( Exterior Gateway Protocol )

- AS간 라우팅 정보를 교환하기 위한 프로토콜이다.

- AS간 경계를 넘어 외부 네트워크로 연결되는 경우 외부 라우팅을 수행하는 프로토콜로 EGP가 사용된다.

 

ex) BGP (인터넷과 같이 다수의 AS로 구성된 대규모 네트워크에서 사용되어 인터넷 경로를 결정하고 교환한다.)

 

요약하자면 IGP는 AS내부에서 사용되고 EGP는 AS간의 외부 라우팅에 사용됨

 

*AS(Autonomous System)은 인터넷에서 라우팅을 관리하는 단위로 사용되는 개념

- 하나 이상의 IP 주소 블록과 해당 주소들을 관리하는 네트워크들의 집합

- 내부 AS (IGP) / 외부 AS (EGP)

 

-  AS번호는 고유한 번호를 할당받는다. 이는 전 세계적으로 고유해야하고, 16비트또는 32비트 AS번호 체계를 사용
할당받은 AS번호는 BGP에서 사용되어 AS간 경로교환 및 라우팅 결정에 필요하다.

 

-  AS는 경계로 구분됨 AS경계는 '라우터와 라우터간의 연결지점'을 나타낸다.

외부라우팅과 내부라우팅을 연결하는 경계 라우터가 작동함.

 

-  AS 관계 

Peer AS :  동등한 관계로 서로 직접 연결되어 라우팅 정보를 교환.

Customer AS : 고객 관계로 하나의 AS가 다른 AS에 라우팅 서비스를 제공

Provider AS : 공급자 관계로 다른 AS로부터 라우팅 서비스를 받는다.

 

정리하면, AS는 인터넷에서 라우팅을 조직화 + 관리하는 단위로 사용된다.

AS간 라우팅은 BGP로 사용하여 수행되고 AS번호와 관계를 기반으로 경로 결정이 이루어진다.

확장성

EIGRP : 비교적 확장성이 높으며, 대규모 네트워크에서도 사용 가능하지만 OSPF보다는 제한적이다.
OSPF : 대규모 네트워크에서 높은 확장성을 가지고 있으며, 복잡한 네트워크 구조에 적합하다.
BGP : 대규모 인터넷 라우팅에 사용되며, 인터넷의 확장성과 라우팅 테이블 크기를 처리하는 데 용이함
RIP : 작고 단순한 네트워크에 적합하며, 대규모 네트워크에는 적절하지 않다.
IS-IS : OSPF와 유사한 확장성을 가지며, 대규모 ISP와 통신 사업자 네트워크에서 널리 사용된다.

 

경로 정보 교환

EIGRP, OSPF, IS-IS : Link-State 프로토콜로서 네트워크의 상태 정보를 주기적으로 교환

BGP : Path Vector 프로토콜로서 BGP 라우터는 경로 정보를 주로 BGP Update 메시지를 사용하여 교환

 

메트릭

EIGRP : 대역폭, 지연, 신뢰성, 부하 등 다양한 요소들을 고려한 자가요구 메트릭을 사용

OSPF : 비용(cost)를 사용하여 경로를 선택하는데, 기본적으로 링크 대역폭을 기준으로 계산

BGP : AS-PATH 길이, 미터링 등의 메트릭을 사용하여 경로 선택

RIP : 홉 수(Hop count)를 메트릭으로 사용

IS-IS : OSPF와 유사하게 비용(cost)를 사용하여 경로를 선택

9. EIGRP를 사용할 때 주의할 점

1. AS 번호 일치

- EIGRP 네트워크에서 모든 라우터는 동일한 AS번호를 가져야한다.

 

2. 네트워크 구간의 서브넷마스크 일치 (VLSM를 지원하기 때문에 무조건은 아니지만 구성에따라 다름)

- EIGRP 네트워크 구성 시 네트워크 구간의 서브넷 마스크가 일치해야한다.

 

3. 인터페이스 상태 확인

- EIGRP를 구성한 후 네트워크 인터페이스의 상태를 주기적으로 확인해야 한다. 

 

4. 네트워크 부하 고려

- EIGRP를 사용할 때, 네트워크 부하에 주의해야한다

* EIGRP는 네트워크의 대역폭을 사용해 경로 메트릭을 계산하니까

* 네트워크 부하가 과도하게되면 성능이 저하되고 지연될 수 있다.

 

5. 보안 및 인증 설정 

- EIGRP 네트워크에서는 보안과 인증에 대한 적절한 설정을 고려해야 한다.

인증되지 않은 라우팅 업데이트, 이웃 라우터 스푸핑, 비밀 정보노출(암호화), 인가되지 않은 라우터 액세스, 데이터 무결성

더보기

보안 설정을 강화하기 위해 접근할 수 있는 방법?

 

1. 인증 설정:

EIGRP 인증 기능을 사용하여 이웃 라우터 간의 상호 인증을 수행할 수 있다.

인증은 EIGRP 패킷을 보내고 받는 데 사용되는 키를 공유함으로써 이루어지고

MD5 알고리즘을 사용하여 패킷의 무결성을 보장하고 패스워드를 암호화한다.

각 라우터의 인터페이스에 인증 키를 구성하여 라우터 간 인증을 활성화할 수 있다.

(MD5가 무결성이 보장이 되던가)

2. ACL (Access Control List) 활용

네트워크에서 EIGRP 패킷의 전송을 제어하기 위해 ACL을 사용할 수 있습니다.

EIGRP 패킷을 특정 IP 주소 또는 네트워크로 제한하는 ACL을 구성함으로써

불필요한 패킷 전송을 방지하고, 인가되지 않은 라우터의 접근을 차단할 수 있습니다.

3. 도메인 네이밍 시스템(DNS) 활용

EIGRP에서 도메인 네이밍 시스템(DNS)을 사용하여 이웃 라우터의 호스트 이름을 사용할 수 있다.

호스트 이름을 사용하면 IP 주소 대신 호스트 이름을 기반으로 인증 및 접근 제어를 설정할 수 있다.

4. 암호화 기술 적용
EIGRP 패킷의 암호화를 위해 IPsec (Internet Protocol Security) 등의 암호화 기술을 사용할 수 있다.

IPsec를 구성하여 EIGRP 패킷의 기밀성과 무결성을 보호할 수 있다.

5. 로그 및 감사 설정
EIGRP에서 로그 및 감사 설정을 활성화하여 EIGRP 관련 이벤트 및 활동을 기록하고 분석할 수 있다.

이를 통해 이상 징후나 보안 위협에 대한 조기 경고를 받을 수 있다.

6. 정기적인 보안 검토: EIGRP 네트워크의 보안 설정을 주기적으로 검토하고 업데이트해야 합니다.

새로운 보안 취약점에 대한 정보를 수시로 확인하고, 필요한 조치를 취하여 네트워크 보안을 강화해야 합니다.

 

6. 네트워크 변화 시 수동 구성

- 네트워크 구성이 변경되거나 추가되는 경우, EIGRP 네트워크에서는 수동으로 구성 변경을 수행해야 할 수도있다.

 자동 구성이 적용되지 않을 수 있으므로 네트워크 변경시 주의가 필요하다

 

7. EIGRP 트러블슈팅 능력 강화 

- 문제가 발생할 경우를 대비해 EIGRP 트러블 슈팅에 필요한 기술과 도구에 대한 이해와 능력을 갖추는 것이 중요하다.

EIGRP 이벤트 로그 확인, 인접 이웃(라우터) 검사, 경로 테이블 분석 등 

 


10. 정리

EIGRP는 Cisco의 프로토콜로 사용되는 내부 게이트웨이 라우팅 프로토콜이다.

 

특징

1. 자가요구 메트릭 계산 = EIGRP는 경로 선택을 위해 자가요구 메트릭을 사용한다 ( 대역폭, 지연, 신뢰성, 부하 등 )

2. DUAL 알고리즘 = ( 4~4-2 / 6-2 )

3. 빠른수렴 = Hello 패킷을 통해 이웃 라우터의 상태를 주기적으로 확인, 변경이 감지되면 빠르게 경로 재계산과 업데이트

4. VLSM 지원 = 서로 다른 서브넷에서 동일한 네트워크 번호로 다른 서브넷 마스크를 지정할 수 있는 특성

//가변길이서브넷마스크(Variable Length Subnet Mask)은 가용 주소 공간을 최적화하는데 도움이 된다.

5. CIDR 지원

// 클래스 없는 도메인간 라우팅 기법(Classless Inter-Domain Routing) 많이 접하는! 사이더라고 불리는..

6. 경로 요약 = 경로 요약을 통해 대규모 네트워크에서 라우팅 테이블 크기를 제어 할 수 있다.

7. Equal-cost Load Balancing = 여러 경로를 동시에 사용하여 네트워크 트래픽을 분산

8. VRRP(Virtual Router Redundancy Protocol)와의 통합

= 라우터의 가동 중단시, 다른 라우터가 가상 IP를 제공하여 네트워크 연결을 유지시킴

 

자세히 알아보면 좋은것

더보기

메트릭 및 경로선택

 - 자가요구 메트릭 계산과 경로 선택 알고리즘에 대한 이해

~목차 6번에 서술~


구성 및 이웃 관계

- EIGRP의 구성단계, 인터페이스 구성, 이웃 관계 설정에 대한 지식

실습,패킷분석을 통해 알 수 있다.


경로 요약

- EIGRP 프로토콜에서 경로 요약 설정과 그 효과에 대한 이해

자동요약(Auto-summarization) = 기본적으로 자동 요약 활성화 되어있음 

ex) 192.168.0.0/16와 192.168.0.0/24가 있으면 192.168.0.0/16으로 자동으로 요약 되는 것을 뜻함

수동요약(Manual-summarization) = 네트워크 관리자가 수동으로 요약 경로를 설정하는 것

우리가 원하는 서브넷 범위를 지정하는것을 뜻함

효과는

라우팅 테이블 크기 제어 - 서브넷들이 요약되서 테이블 크기가 줄어드니까 메모리사용량 줄이고 전체성능 향상

라우팅 업데이트 감소 - 요약된 경로만 전파되니까 업데이트의 크기가 줄어드니까 대역폭을 절약할 수 있음

네트워크 보안 강화 - 라우팅 정보의 노출을 줄이는데 도움이됨. 요약된 경로만 외부에 공개되니까


보안 및 인증

- EIGRP에서 인증 및 보안 설정, 암호화 기술에 대한 이해와 구성 방법

9-5 더보기를 이용


트러블 슈팅 - > 후에 자세히 알아보자~~~

- EIGRP 네트워크에서 발생하는 문제를 식별하고 해결하는 기술과 도구의 사용법

인터페이스 모니터링 ( show interface )

라우팅 테이블 확인 ( show ip route )

이웃 관계 확인 ( show ip eigrp neighbors )

EIGRP 패킷분석 ( 와이어샤크 등 분석도구 이용 )

오류 메시지 및 로그 분석 ( show logging )

EIGRP 디버깅 ( debug eigrp )

 

시스코 TAC소환..?

 

 

 


마치며

EIGRP 트러블슈팅과 보안에 대해 궁금해지는 글이 되었다. 자료찾고 토폴로지 구성해서 직접 해봐야겠다.

 

 

 

'Network > Protocol' 카테고리의 다른 글

Network Protocol (1) - RIP_NAT_DHCP  (0) 2023.08.07