본문 바로가기
공부/CCNA

04.14_네트워크기초_EIGRP

by kyoung-ho 2017. 5. 7.
반응형

## GNS3와 실장비 차이점 ##

 

1. Serial Cable에 DCE와 ETC 구분이 없다.별도의

   clock rate를 설정하지 않아도 통신이 가능하다.

2. hostname / no ip domain lookup / line console 0

   의 기본 명령어들이 자동으로 입력되어 있다.

    

3. Console 포트에 [privilege level 15] 명령어가

   기본적으로 입력되어 있기 때문에 user 모드(>)를

   거치지 않고 바로 Privileged 모드(#)로 들어온다.

 

## Encapsulation PPP 설정의 경우 ##

상대방의 32bit IP 정보가 추가로 보여져서 C가 추가적으로 보여진다.(Rip은 32bit정보가 나자신과 상대방 IP가 보여지기때문에 R이 두개 추가됨)

 

따라서 이 정보는 굳이 보여질 필요가 없기때문에 PPP설정을 한 slot포트로 들어가서

no peer neighbor-route =>인접장비의 PPP정보를 지운다.

do clear ip route * -> 3번 실행한다. 그럼 PPP정보가 사라져 C가 제대로 보여진다.

(현업에서 이걸 쓰면 인생이 바뀐다!)

 

GNS3 running-config 부분별로 확인가능

<Ex>

sh run int s1/1 ->해당 시리얼정보만 보여줌

sh run | section router rip -> rip정보만 보여줌

 

Rip의 경우 UDP포트 520번을 사용한다.

debug ip rip -> 와이어샤크를 사용할수 없을경우 콘솔상에서 립정보의 sending과recive 확인

undebug all-> debug 종료

sh ip protocols->router 프로토콜의 설정을 확인할 수 있다.

 

==================================================================

[1. Manual-Summary]

<Gwang_ju>

conf t

int lo 1

ip add 150.100.4.1 255.255.255.0

ip add 150.100.5.1 255.255.255.0 sec

ip add 150.100.6.1 255.255.255.0 sec

ip add 150.100.7.1 255.255.255.0 sec

!

router rip

network 150.100.0.0

!

int s 1/0

ip summary-address rip 150.100.4.0 255.255.252.0

!

int s 1/1

ip summary-address rip 150.100.4.0 255.255.252.0

!


 

<Busan>

conf t

int lo 1

ip add 150.100.8.1 255.255.255.0

ip add 150.100.9.1 255.255.255.0 sec

ip add 150.100.10.1 255.255.255.0 sec

ip add 150.100.11.1 255.255.255.0 sec

!

router rip

network 150.100.0.0

!

int s 1/0

ip summary-address rip 150.100.8.0 255.255.252.0

!

int s 1/1

ip summary-address rip 150.100.8.0 255.255.252.0

!

=> manual-summary 수행 후 각 router의 routing table에

    상대방의 상세 정보 대신 축약된 정보가 보인다.

 

    그래도 통신에 문제가 없는 것은 classless하게 summary를

    수행하였기 때문에 서로 식별이 가능하고, Longest match에

    의해서 상대방에 전송되기 때문이다.

 

[2. default-Route 생성]

<Seoul>

router rip

default-information originate

!

 

==================================================================

## Superneting##

150.100.4.1/24

150.100.5.1/24

150.100.6.1/24

150.100.7.1/24

 

150.100.00000100.00000000/24

150.100.00000101.00000000/24

150.100.00000110.00000000/24

150.100.00000111.00000000/24

=============================

150.100.00000100.00000000=>150.100.4.0/22


 

==================================================================

150.100.8.1

150.100.9.1

150.100.10.1

150.100.11.1

 

150.100.000010| 00.00000000

150.100.000010| 01.00000000

150.100.000010| 10.00000000

150.100.000010| 11.00000000

============================

150.100.000010| 00.00000000=>150.100.8.0/22

 

==================================================================

** Advance Distance Vector **

 

- 기존의 Cisco Routing protocol이였던 IGRP를 ‘EIGRP’ 개선하였고,

 해당 Routing protocol의 분류를 ‘Advance Distance Vector’로

 구분한다.(hybrid라는 표현도 사용)

 

- DUAL(Diffusing Update Alogrithm)을 사용한다.

 

- Distance Vector가 발전된 형태로 각 Device가 전체 Topology(구성도)를

 알고 있는 것은 아니다.

 

 특정 목적지 Network로 향하는 ‘Best Path’와 ‘Loop값이 없다고 확인된 Backup

 Path’ 정보를 자신의 ‘Topology Table’ 등록한다.(Routing table에는 가장좋은 경로만 등록)

 그 후 ‘Best Path’ 정보를 Routing Table에 등록하여 실제 Packet 전송

 경로로 사용하게 된다.

 => Fast Convergence(빠른 수렴)이 가능. Backup Path가 미리 준비되어

      있기 때문이다.

      항상 ‘Loop가 없는 Backup Path’를 Topology Table에 등록되어 있는

      것은 아니다. 출발지 Device에서 특정 조건을 만족시켜야 한다.


 

- Advance Distance Vector의 특징은 다음과 같다.

 

1) Periodic(주기적) Update 수행하지 않는다!

    => 자신과 인접한 EIGRP 장비와 Hello 메시지를 교환하여 Neighbor

          관계를 형성한다. 그 후 자신의 알고 있는 모든 정보를 Neighbor

          장비에게 Update를 수행한다.

    => 그 후 주기적인 Update는 수행하지 않고, Network에 변화가 발생

          됐을때 그 즉시(Flush) 해당 정보만(Partial) Update를 수행한다.

          (Flush update/Partial update)

 

 2) Hop-Count 제한

    => 기본 100개, 최대 255개로 증가 가능.

 

 3) Loop 발생의 위험이 없다!(100% Loop Free)

    => DUAL 알고리즘은 ‘Loop가 없다고 확인된 Backup Path’ 를 사용하거나

         혹은 출발지 장비에서 Backup Path에 Loop가 없다고 확인하지 못했을

         경우 자신의 neighbor에게 Query메시지를 전송하여 Loop가 없다는

         것을 확인받고 해당 경로를 사용하게 된다.

    => 뿐만 아니라 Distance Vector의 Loop 방지 솔루션도 같이 사용한다.

          (ex. split-horizon)

 

 4) Auto-Summary를 수행

     => IOS 버전에 따라 'auto-summary'가 기본적으로 사용되는 경우

           [no auto-summary] 명령어로 비활성화 시켜줘야 한다.

==================================================================

## EIGRP(Enhanced IGRP) ##

- EIGRP는 Cisco 전용 라우팅 프로토콜이었지만, 2016년 5월에

 RFC 표준으로 등록되었다. (RFC 7868)


 

- IP Protocol 88번을 사용, IP 헤더 뒤에 EIGRP 메시지가 따라온다.

 Multicast 주소 224.0.0.10을 사용하여 EIGRP Device만 정보를

 수신할 수 있도록 한다.

- EIGRP의 AD 값은 다음과 같다.

  => internal(내부) : 90

       external(외부) : 170

       summary(축약) : 5

 

- EIGRP의 Metric은 Composit Metric을 사용한다.

  => Bandwidth(대역폭) / Delay(지연) / Reliablity(신뢰성)/

        Load(부하)를 특정 공식에 대입한 값을 사용.


 

==================================================================

## EIGRP Metric ##

- 단순히 Hop-Count를 Metric으로 사용했던 RIP과 다르게 EIGRP의 경우

 다음과 같은 요소를 사용한다.

 

- Bandwidth(K1), Load(K2), Delay(K3), Reliability(K4/K5)를 특정

 공식에 대입한 결과.

    => 하지만 기본적으로 Metric 공식에 사용되는 요소는 Bandwidth(K1)과 Delay(K3)이다.

    => 결과적으로 Default K-Value는 [K1=1 , K2=0, K3=1, K4=0, K5=0]

          이다.

    => Load(K2)와 Reliability(K4/K5)의 경우 고정된 값이라 동적인

          값을 갖는다. 결과적으로 K2/K4/K5을 사용할 경우

          안정성에 문제가 있을 수도 있다.

=> EIGRP 설정 모드 안에서 [metric weight 0 <K1> <K2> <K3> <K4> <K5>]

     명령어로 K-Value 변경이 가능하다.


 

- 실제 EIGRP Metric 공식은 (10^7/가장 느린 BW)+(모든 Delay 합/10)*256

  이다. 이떄 Bandwidth 와 Delay는 출구 Interface의 값을 사용한다.

  1. (4882 + 4500 )* 256

=>2,401,792

     2)  (4882 + 2510 ) * 256

=>1,892,352 (Best Path)

sh interface f0/0 로 BW와 Delay를 찾아야한다.

 

- EIGRP의 경우 Metric 조건에 Bandwidth 와 Delay가 사용되기 때문에

  관리자가 Interface의 Bandwidth와 Delay를 현재 상황에 맞춰서

  변경해줘야 한다.

  => Interface의 Bandwidth와 Delay는 실제 대역폭과 지연 값에

    영향을 주지 않고, 단지 EIGRP와 OSPF의 Metric 공식에 사용될

    뿐이다.


 

빨간네모파란네모는 Metric 값을 구하기위한 출구인터페이스의 Bandwidth와 Delay값을

구 하기 위한 것이다. 만약 토폴로지상에서 Bandwidth와 Delay값을 확인 못하면

show interface s1/0 이나 f0/0 명령을 이용하여 확인하고 값을 구하면된다.

 

하지만 Metric값은 어차피 Router가 구하기 떄문에 위 방법은 Router가 어떻게 Metric값을 구하는지 이해하기위한 것 이다.

==================================================================

** EIGRP 특징 **

 

1) PDM(Protocol Dependent Module)을 지원하기 때문에 IP 주소

   뿐 아니라 다른 Network 계층(L3)의 Protocol 주소도 교환이

   가능하다. (ex. IPX / Apple talk . .)

   => 각 network 계층 protocol 마다 독립된 모듈을 사용할

         수 있다.

 

2) 인접 EIGRP Router와 hello 메시지를 교환하여 Neighbor 관계를

    형성한다. 그 후 주기적 Update 대신 가벼운 hello 메시지를

    반복적으로 교환하면서 keepalive 체크를 수행한다.

 

3) EIGRP는 AS로 구분하여 Bounded Update가 가능하다.

   => 모든 Router를 EIGRP로 설정하여도 서로 AS번호가 다른 경우

         모든 정보를 교환하지 않는다.

   => 관리자가 의도적으로 AS번호를 다르게 구성하여 EIGRP의

         Update 범위를 제한하는 것이 가능하다.

   => EIGRP의 AS는 BGP의 AS와 이름은 동일하지만 서로 다른 개념

        이다. EIGRP의 AS는 훨씬 작은 개념으로 관리자가 임의적으로

        할당한다.

 

   => EIGRP는 서로 인접장비만 Neighbor를 맺게 된다.

 

4) RTP(Reliable Transport Protocol), 즉 신뢰성 있는 전송이 가능하다.

   => EIGRP의 경우 IP base로 동작하기 때문에 별도의 EIGRP ACK 패킷을

        사용 하여 상대방 장비가 전송한 Update/Query/Reply 패킷을 수신

        했다는 것을 확인시켜준다.

 

**verify**

   =>show ip eigrp neighbor ->인접장비와 네이버 확인 가능 명령어!!!

   => 만약 EIGRP neighbor가 형성되지 않을 경우 다음을 확인

  1. 인접 구간 ping test, 실패시 interface 상태 및 설정 체크.

  2. 인접 구간 ping test, 성공시 EIGRP 설정 체크.


 

   => wireshak를 이용해 eigrp프로토콜의 상태를 확인할 수 있다.

        hello 메세지를 보내 서로 네이버관계를 맺고 있는걸 확인 가능하다.

 



 

   => eigrp의 경우는 IP헤더 바로 뒤에 따라온다 이때 Protocol number가 IP헤더 뒤에  

         eigrp라는 놈이 따라와요~ 라고 번호를 매긴다 eigrp넘버는 88번이다.

 

==================================================================

** 기존 RIPv2 설정 삭제 **

<R1/R2/R3/R4>

conf t

no router rip

==================================================================

## EIGRP Packet ##

- EIGRP는 5개의 EIGRP Packet을 사용하여 neighbor 관계를 생성하고,

 정보를 교환한다.

 

[1. Hello]

-> EIGRP 네이버 관계를 형성하고, keepalive체크하는 목적으로 사용.

-> 동일 link에 연결된 EIGRP Device들은 서로 Hello Packet을 교환하면

     상대방의 정보를 자신의 ‘EIGRP Neighbor Table’ 에 등록

     (EIGRP Neighbor Table 확인 => [show ip eigrp neighbor] 명령어)

-> 모든 EIGRP Device 의 네이버 관계를 형성하는 것이 아니라 다음

     조건이 일치해야 네이버 관계를 형성한다.

=> AS 번호 / K-value(상수) / Authentication(인증)

    동일 Subnet 대역

-> 네이버 관계를 형성한 장비들은 주기적으로 Hello Packet을 교환

     하면서 상대방 장비가 살아있는 것을 확인한다.

     이때 Hello Packet의 교환 주기는 다음과 같다.

  => Ethernet / Point-to-Point(PPP, HDLC) / T1 이상의 NBMA

          < Hello-interval : 5초 / Hold-Time : 15초 >

=> T1(1,544Kbps) 이하의 NBMA

          < Hello-interval : 60초 / Hold-Time : 180초 >

[2. Update]

-> EIGRP Neighbor 관계를 형성하고 자신의 Topology Table에 등록된

     정보를 Neighbor 장비에게 알려주는 목적으로 사용된다.

-> 또한 망에 변화가 발생했을 경우 변화된 내용을 알려주는 목적으로

     사용된다. (Flush Update)

 

[3. Query]

-> 특정 목적지에 대한 ‘Best Path 경로 (Successor)’에 장애가 발생되었고,

     EIGRP Topology Table에 ‘Loop가 없다고 확인된 Backup Path(Feasible

     Successor)’정보가 없는 경우 Query패킷을 인접 Neighbor에게 전송하여

     다른 경로가 있는지 물어본다.

 

-> 만약 ‘Loop가 없다고 확인된 Backup Path(Feasible Successor)’

     정보가 있는 경우에는 즉시 해당 경로로 변경하기 때문에 Query

     패킷이 발생되지 않는다.

 

[4. Reply]

-> 상대방이 요청한 Query 패킷에 대한 응답이다.

-> 만약 Query를 수신한 장비가 대체 경로를 모르는 경우에도 Reply로

     답변해야 한다.

-> 만약 Query 패킷을 수신한 후 3분 안에 Reply를 전송하지 않을

    경우 Neighbor 관계가 단절된다. (SIA-Stuck In Active 원인)

[5. Ack]

-> EIGRP의 경우 IP Base로 동작, 즉 신뢰성이 없다.

-> 때문에 EIGRP는 상대방 장비에게 Update/Query/Reply 패킷을

     수신했을 경우 별도의 EIGRP ACK 패킷을 사용하여 수신여부를

     확인시켜준다.

-> 만약 상대방 장비로부터 EIGRP ACK 패킷을 수신하지 못하는 경우

     최대 16회 동안 반복 전송을 수행한다.

-> 최대 16회 반복 전송될 동안 상대로부터 EIGRP ACK를 수신하지

     못한 경우에는 상대방 장비에 문제가 있다고 판단하여 EIGRP

      Neighbor 관계를 끊는다.

->  RTP(Reliable Transport Protocol)를 가능하게 해준다.


 

H->해당 네이버가 네이버 테이블에 생성된 순서를 표시한다.

     네이버가 리셋되어도 이 순서는 변하지 않는다.

Address->네이버의 IP주소를 표시한다.

interface->네이버와 연결되는 local 라우터의 인터페이스를 표시한다.

hold->네이버의 hold time을 나타낸다. 역타임한다. 시간이 갱신안되면 끊어버림

Uptime->네이버가 살아있는 시간을 표시한다. 네이버가 리셋되면 업타임도 리셋된다.

 

Smooth Round-Trip Timer(SRTT)

  Neighbor에 패킷을 보내고 받는 데 걸리는 평균 시간.  

  이 타이머는 재전송 간격(RTT)을 결정한다.

Queue Count(Q Cnt)

  전송을 위해 큐 안에서 기다리고 있는 패킷의 수.  

  이 값이 0보다 크면, 라우터에 혼잡으로 인한 문제가 발생할 것이다.

  0은 큐 안에 EIGRP 패킷이 하나도 없음을 뜻한다.

Sequence Number(Seq No)

  해당 네이버에서 받는 마지막 패킷의 번호.  

  EIGRP는 Neighbor의 전송에 응답하고 순서에 어긋나는 패킷을 인식하기

  위해 이 필드를 사용한다.

  Neighbor Table은 신뢰성 있고 순서에 어긋나지 않는 패킷 전달을 지원하며,

  IP Packet의 신뢰성 있는 전송에서 사용되는 TCP Protocol과 비슷하게  

  처리될 수 있다.

 

RTO-> 네이버에게 update packet,query packet, reply packet을 전송했을 때 ack

를 받지 못한경우 재전송 하기위해 기다리는 시간을 나타낸다.

           값을 받지 못한 경우 값이 점점커진다.(기본 200ms~최대 5000ms(최대로 차면

계속 5000ms로 유지한다.)

토폴로지 테이블을 보면 200.4.4.0/24로 가는 경로가 2가지가 있다 하나는 최적의 경로

다른 하나는 루프백경로 이며 두 경로 중 라우팅 테이블엔 최적의 경로가 올라가진다.

다음과 같이 확인할 수 있다.


 

router eigrp 10

network 170.100.6.0

=> 관리자가 [170.100.6.0/24] 대역만 광고하기를 원하는 경우

     위와 같이 network 명령어를 입력해도 자동으로 classful

     범위인 [170.100.0.0]으로 변경되기 때문에 모든 대역의

     광고 범위에 포함된다.

     때문에 특정 대역만 광고할 경우 wildcard mask를 사용하여

    해당 범위만 정확히 지정해줘야 한다!

 

=> 170.100.6.0 0.0.0.255  

                    or

      170.100.6.1 0.0.0.0

 

** wildcard mask(중요!!) **

 

- 특정 network의 범위를 지정할 수 있다. 표현방식은 subnet

  mask의 반대로 고정된 bit 자리에는 ‘0’을 채우고, 변경

  가능한 bit 자리에는 ‘1’을 채운다.

 

<Ex>

/24 => 11111111.11111111.11111111.00000000 (255.255.255.0)

00000000.00000000.00000000.11111111(0.0.0.255)


 

/30 => 11111111.11111111.11111111.11111100 (255.255.255.252)

00000000.00000000.00000000.00000011(0.0.0.3)

 

- RIP의 경우 wildcard mask를 지원하지 않는다.

 EIGRP의 경우 옵션, OSPF의 경우 wildcard mask가 필수 이다.

 


 

반응형

댓글