본문 바로가기

Contact English

【정보기기운용기능사】 4-2강. 거리 벡터 라우팅 프로토콜

 

4-2강. 거리 벡터 라우팅 프로토콜

 

추천글 : 【정보기기운용기능사】 4강. 경로 설정 개요 


1. 개요 [본문]

2. RIP [본문]

3. EIGRP [본문]


 

1. 개요 [목차]

⑴ 정의 : Bellman-Ford 알고리즘을 사용하여 라우팅 테이블을 자신과 직접적으로 연결된 다른 이웃 라우터들에게 주기적(RIP : 30초,  IGRP : 90초)으로 브로드캐스트 주소(255.255.255.255)를 사용하여 전송(EIGRP 제외)

⑵ 기본 동작

 

 

① 1st. R1의 업데이트 타이머 만료 : R1은 203.230.7.0/24와 203.230.8.0/24의 정보를 R2로 전달, 그 뒤 R2는 자신의 라우팅 테이블을 업데이트

 

 R1 라우팅

테이블
R2 라우팅

테이블
R3 라우팅
테이블
  R1 라우팅
테이블
R2 라우팅
테이블
R3 라우팅
테이블
 203.230.7.0 203.230.8.0
203.230.9.0
203.230.7.0
203.230.8.0
203.230.9.0
 203.230.8.0 203.230.10.0
203.230.10.0
203.230.8.0
203.230.10.0
203.230.10.0
        203.230.7.0  
           

 

② 2nd. R2의 업데이트 타이머 만료 : R2는 203.230.8.0/24, 203.230.10.0/24, 203.230.7.0/24를 R1과 R3로 전달, 그 뒤 R1과 R3는 자신의 라우팅 테이블을 업데이트 

 

 R1 라우팅 

테이블
R2 라우팅 

테이블
R3 라우팅
테이블
  R1 라우팅
테이블
R2 라우팅
테이블
R3 라우팅
테이블
203.230.7.0 203.230.8.0
203.230.9.0
203.230.7.0
203.230.8.0
203.230.9.0
203.230.8.0 203.230.10.0
203.230.10.0
203.230.8.0
203.230.10.0
203.230.10.0
  203.230.7.0   203.230.10.0
203.230.7.0 203.230.8.0
          203.230.7.0

 

③ 3rd. R3의 업데이트 타이머 만료 : R3는 203.230.9.0/24, 203.230.10.0/24, 203.230.8.0/24, 203.230.7.0/24를 R2로 전달, 그 뒤 R2는 자신의 라우팅 테이블을 업데이트

 

 R1 라우팅 

테이블
R2 라우팅 

테이블
R3 라우팅
테이블
  R1 라우팅
테이블
R2 라우팅
테이블
R3 라우팅
테이블
203.230.7.0 203.230.8.0
203.230.9.0 
203.230.7.0
203.230.8.0
203.230.9.0
203.230.8.0 203.230.10.0
203.230.10.0
203.230.8.0
203.230.10.0
203.230.10.0
 203.230.10.0 203.230.7.0
203.230.8.0  203.230.10.0 203.230.7.0 203.230.8.0
    203.230.7.0
  203.230.9.0
203.230.7.0

 

④ 4th. R1의 업데이트 타이머 만료 : R1이 R2에 자신의 라우팅 정보를 전달, 그 뒤 R2는 자신의 라우팅 테이블을 업데이트

 

 R1 라우팅 

테이블
R2 라우팅 

테이블
R3 라우팅
테이블
  R1 라우팅
테이블
R2 라우팅
테이블
R3 라우팅
테이블
203.230.7.0 203.230.8.0
203.230.9.0
203.230.7.0
203.230.8.0
203.230.9.0
203.230.8.0 203.230.10.0
203.230.10.0
203.230.8.0
203.230.10.0
203.230.10.0
 203.230.10.0 203.230.7.0 203.230.8.0
203.230.10.0
203.230.7.0 203.230.8.0
  203.230.9.0
203.230.7.0   203.230.9.0
203.230.7.0

 

⑤ 5th. R2의 업데이트 타이머 만료 : R2가 R1과 R3에 자신의 라우팅 정보를 전달, 그 뒤 R1과 R3는 자신의 라우팅 테이블을 업데이트(수렴)

 

 R1 라우팅 

테이블
R2 라우팅 

테이블
R3 라우팅
테이블
  R1 라우팅
테이블
R2 라우팅
테이블
R3 라우팅
테이블
203.230.7.0 203.230.8.0 
203.230.9.0
203.230.7.0
203.230.8.0
203.230.9.0
203.230.8.0 203.230.10.0
203.230.10.0
203.230.8.0
203.230.10.0
203.230.10.0
203.230.10.0
203.230.7.0 203.230.8.0
203.230.10.0
203.230.7.0 203.230.8.0
  203.230.9.0 203.230.7.0 203.230.9.0 203.230.9.0 203.230.7.0

 

⑥ 실제로는 라우터들 간에 동시다발적으로 업데이트가 이루어져 수렴이 보다 빨리 달성됨 

⑶ 수렴(Convergence)

① 정의 : 동일한 라우팅 프로토콜을 사용하는 라우터들이 모두 같은 라우팅 테이블을 가지는 상태

② 필요성 : 수렴 상태에 도달하지 못하면, 라우터가 패킷을 목적지 장치에 정상적으로 전달하지 못함

③ 문제점 : 수렴 시간이 상당히 소요, 네트워크가 클수록 더욱 심화

 

 

2. RIP(Routing Information Protocol) [목차]

⑴ RIP의 역사 

① 1982년 : RIP 공개 

② RIP는 초창기에 GWINFO(Gateway Information Protocol)를 시점으로 발전 

③ 1994년 : RIPv2로 발전 

④ 1997년 : IPv6를 지원하는 RIPng로 발전

⑵ RIPv1 

① 특징 

클래스풀 라우팅 프로토콜 

 정의 : 서브넷 마스크 없이 IP 주소 클래스를 기반으로만 네트워크를 주고받는 프로토콜 

 특징 : 네트워크 정보에 대한 자동 요약(Automatic Summarization)을 수행  

 라우팅 정보 전달 시 브로드캐스트 주소(255.255.255.255)를 사용

 라우팅 정보 업데이트 시 UDP 포트 520번 사용 

 RIP의 특징 : 홉 수(Hop Count)를 메트릭으로 사용하여 목적지 네트워크 경로 결정 

즉, 네트워크 상황을 고려하지 않고 무조건 홉 수가 적은 경로로 패킷 전달

 15보다 큰 홉 카운트를 지원하지 않음; 즉 어떤 패킷이 16번째 라우터에 도달한다면 더이상 전달되지 않고 폐기됨

 매 30초 주기로 라우팅 테이블을 이웃 라우터들에게 브로드캐스트함

 복잡한 네트워크의 경우 라우팅 정보 업데이트로 인한 상당한 오버헤드 트래픽이 발생 

② 설정

 

 

○ R1의 인터페이스 설정 

참고. R2, R3의 인터페이스 설정도 진행 

 R1의 RIPv1 설정

 

 R1>enable  R1>en으로 축약 가능 
 R1#conf t   
 Enter configuration commands, one per line. End with CNTL/Z.   
 R1(config)#router rip  #route rip로 축약할 수 있음
 R1(config-router)#network 203.230.7.1   
 R1(config-router)#network 203.230.10.2  
 R1(config-router)#network 203.230.11.2  
 R1(config-router)#exit  

 

참고. R2, R3의 RIPv1 설정도 진행 

포트 불활성화 : 특정 포트(예. fa0/0)로 라우팅 정보 또는 라우팅 프로토콜 데이터가 전송되지 않도록 할 때

예 : Router(config-router)#passive-interface fa0/0 

 유용한 #show 명령어 

 #show ip route 

 

 R1#show ip route  
 (중략)   
 R 203.230.8.0/24 [120/1] via 203.230.11.1, 00:00:04, Serial0/2/1   R 203.230.8.0/24 : RIP을 통해 203.230.8.0/24 네트워크를 학습함
 [120/1] : RIP의 AD 값 120과 203.230.8.0/24로의 메트릭 값 1
 via 203.230.11.1 : 목적지 네트워크로 가기 위한 이웃 라우터 인터페이스의 ip 주소
 00:00:04 : 경로 업데이트를 한 이후의 경과 시간
 Serial0/2/1 : 목적지 네트워크로 가기 위해 사용한 출구 인터페이스
 (중략)   

 

 #show ip int brief : Interface, IP-Address, OK?, Method, Status에 대한 테이블을 보여줌

 #show run 

 

 R1#show run  
 router rip   
   network 203.230.7.0   
   network 203.230.10.0   
   network 203.230.11.0   
 !   

 

 #show ip protocols : 경로 설정 프로토콜의 종류, 작동 방식, 최대 경로, 정보의 흐름 등을 표시

 #debug ip route : 모든 RIP 동작 상태를 실시간으로 확인 가능

 기타 명령어 

 #passive-interface 

 

 R1(config-router)#pass-interface giga0/0  giga0/0에 라우팅 업데이트 정보를 보내지 않도록 설정하여 네트워크 자원을 절약
 (중략)  

 

③ 클래스풀 라우팅 프로토콜 문제점

 

 

 요약 : ping 테스트가 실패하는 상황 발생 

 인터페이스 설정 

 PC0과 PC1 간의 ping 테스트(RIPv1)

 

 Packet Tracer PC Command Line 1.0
 PC>ping 1.1.2.2
 
 Pinging 1.1.2.2 with 32 bytes of data:
 
 Reply from 1.1.1.1: Destination host unreachable.
 Reply from 1.1.1.1: Destination host unreachable.
 Reply from 1.1.1.1: Destination host unreachable.
 Reply from 1.1.1.1: Destination host unreachable.
 
 Ping statistics for 1.1.2.2:
     Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
 
 PC>

 

 이유 : 1.1.1.0/24와 1.1.2.0/24가 명백히 서로 다른 네트워크 주소임에도 불구하고 둘을 동일한 1.0.0.0/8로 처리

⑶ RIPv2 

① 특징 

 클래스리스 라우팅 프로토콜 : 라우팅 업데이트 시 네트워크 정보와 함께 서브넷 마스크도 전달 

 자동 요약은 설정할 수도 해제할 수도 있음 

 라우팅 정보 전달 시 멀티캐스트 주소(224.0.0.9)를 사용 

 RIP의 특징 : 홉 수(Hop Count)를 메트릭으로 사용하여 목적지 네트워크 경로 결정 

② 설정

 

 

 R1의 인터페이스 설정 

참고. R2의 인터페이스 설정도 진행 

 R1의 RIPv2 설정

참고. R2의 RIPv2 설정도 진행

 

 R1>en  
 R1#conf t   
 Enter configuration commands, one per line. End with CNTL/Z.  
 R1(config)#router rip  
 R1(config-router)#version 2  
 R1(config-router)#no summary  2-⑵-③의 문제점을 해결
 R1(config-router)#exit  

 

⑷ 라우트 포이즈닝(포이즌)과 포이즈닝 리버스

① 가정 : R1의 gi0/0 인터페이스가 다운되는 경우

 

 R1(config)#int gi0/0  
 R1(config-if)#shutdown   
 %Link-5-CHANGED: Interface GigabitEthernet0/0, changed state to administratively down  

 

② 라우트 포이즈닝(Router Poisoning) : 독을 바른 경로 혹은 독(Poison), R1은 gi0/0 인터페이스의 매트릭 값을 16ㅇ으로 설정하여 R2를 업데이트, 그 결과 RIP 프로토콜을 사용하는 R2는 PC0로 도달할 수 없음 

③ 포이즈닝 리버스(Poisoning Reverse) : R1 자신도 1.1.1.0/24 네트워크에 도달할 수 없음을 반영하기 위해 R2로부터 1.1.1.0/24 네트워크에 대한 매트릭 값 16을 전달받는 것, 라우팅 루프 이슈 해결 

⑸ 디폴트 경로(Default Route) 

① 정의 : 동적 경로 설정에서 디폴트 정적 경로(참고)를 설정하는 것 

② 목적 : 라우팅 테이블 간소화 

③ 설정 : 라우터 R1과 연결된 loopback 0을 통해 외부 인터넷과 연결된다고 가정

 

 R1(config)#interface loopback 0  loopback 0 인터페이스 생성
   
 %LINK-5-CHANGED: Interface Loopback0, changed state to up  
   
 %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up  
   
 R1(config-if)#ip address 10.10.10.1 255.255.255.0  10.10.10.1 : 임의로 지정한 디폴트 ip 주소
 255.255.255.0 : 서브넷 마스크
 R1(config-if)#exit   
 R1(config)#ip route 0.0.0.0 0.0.0.0 loopback 0  
 R1(config)#default-information originate  loopback 0라는 디폴트 경로가 있다는 것을 RIP 업데이트 정보를 통해 로컬 LAN 내의 모든 라우터들에게 알림 
 R1(config)#exit  

 

 

3. EIGRP(Enhanced IGRP) [목차]

⑴ IGRP(Interior Gateway Routing Protocol) 

① IOS 12.2 이후로 지원을 하지 않음 

② 현재 라우터는 거의 대부분 12.4 또는 15.0의 IOS를 사용하므로 사실상 단종 

⑵ 특징 

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

② 224.0.0.10의 멀티캐스트 주소를 사용하고 88번 프로토콜 사용 

③ 자동 요약(Auto-summary) 기능 수행

④ Process-ID로 반드시 자율 시스템 번호를 사용해야 함 

 이웃하는 라우터와 이 번호가 다르면 통신이 되지 않음

 자율 시스템(AS; Autonomic System) 번호 : 동일한 관리를 받는 라우터들의 집합 번호

 RIP와 달리 Process-ID가 다른 여러 개의 EIGRP가 한 라우터 상에서 동작할 수 있음

⑤ RTP(Reliable Transport Protocol) 사용

 RTP의 신뢰성 패킷 전달 기능 : 송신측은 수신측으로부터 수신 확인(ACK)을 필요로 함 

 RTP의 비신뢰성 패킷 전달 기능 : 수신 확인이 필요하지 않으며, 멀티캐스트나 유니캐스트 방식으로 패킷 전달 기능 

⑥ 대역폭과 지연값을 메트릭으로 사용하여 목적지 네트워크의 경로 결정

⑥ DUAL(Diffusing Update Algorithm) 사용 

 토폴로지 테이블 : 특정 네트워크에 도달할 수 있는 여러 가지 경로 정보를 저장

 DUAL 알고리즘 : 토폴로지 테이블로부터 가장 좋은 경로를 찾아 라우팅 테이블에 등록

 네트워크가 변화하면 우회 경로를 찾아 라우팅 테이블의 빠른 수렴(Fast Convergence)을 가능케 함 

 동작 순서

 

 

 1st. R1의 Gig0/0 구간이 다운되면 R1은 이 사실을 자신과 직접 연결된 R2에게 바로 알림

 2nd. R2는 R1에게 메시지를 받았다는 의미로 ACK를 전송 

 3rd. R1은 R2에게 자신과 연결된 Gig0/0 구간으로 도달할 수 있는지를 질의하는 EIGRP Query 메시지 전송

 4th. R2는 R1에게 EIGRP Query를 수신하였다는 ACK를 보내고, 이에 대한 응답으로 경로에 도달할 수 있는지 여부를 포함한 EIGRP Reply 메시지를 전송

 5th. R1은 R2에게 EIGRP Reply를 수신하였다는 ACK를 보냄

⑦ 네트워크 자원 소요 최소화 전략 : RIP와의 차별성

 부분적 업데이트(Partial Update) : 특정 경로에 변화가 생겼을 경우, 그 특정 경로의 변화된 부분만을 업데이트 하는 것

 제한된 업데이트(Bounded Update) : 부분적 업데이트에 영향을 받는 라우터들에게만 업데이트가 전달되는 것

⑧ 라우터 ID 

 EIGRP에서는 라우터 ID를 설정할 수 있음 

 라우터 ID 미설정 시 루프백 인터페이스 중 가장 높은 것이 라우터 ID가 됨 

 루프백 인터페이스도 없다면 물리적인 인터페이스 IP 중 가장 높은 주소가 라우터 ID가 됨

⑨ 헬로(Hello) 패킷 : EIGRP로 동작하는 라우터는 상호 간에 라우팅 정보를 교환하기 전에 네이버(Neighbor)를 확인하기 위해 사용  

 헬로 패킷은 IP 주소 224.0.0.10을 사용

 EIGRP 헬로 패킷 전송 주기 

참고. 유지 시간 : 활성화되어 있는 이웃을 비활성 상태로 간주하기 전에 헬로 패킷 수신을 위해 최대한으로 기다리는 시간 

 

 네트워크(링크)  헬로 주기   유지 시간
 1.544 Mbps 이하
 (멀티포인트 프레임 릴레이) 
 60초   180초 
 1.544 Mbps 이상
 (이더넷, T1, PPP, HDLC) 
 5초   15초 

 

⑶ EIGRP 설정

 

 

① R1의 인터페이스 설정 

참고. R2, R3의 인터페이스 설정도 진행

 

 Router>en  
 Router#conf t   
 Router(config)#hostname R1   
 R1(config)#int loopback 0   
 R1(config-if)#ip add 1.1.1.1 255.255.255.0   
 R1(config-if)#exit   루프백 인터페이스는 논리적인 인터페이스이므로 활성화를 시키지 않아도 인터페이스가 만들어지면 자동으로 활성화됨
 R1(config)#int gi0/0   
 R1(config-if)#ip add 203.230.7.1 255.255.255.0   
 R1(config-if)#no shutdown   
 R1(config-if)#exit   
 R1(config)#int s0/2/0   
 R1(config-if)#ip add 203.230.10.2 255.255.255.0   
 R1(config-if)#no shutdown   
 R1(config-if)#bandwidth 1024   EIGRP 특성을 알아보기 위해 bandwidth 명령어를 사용하여 대역폭 조정
 R1(config-if)#exit   
 R1(config)#int s0/2/1  
 R1(config-if)#ip add 203.230.11.2 255.255.255.0   
 R1(config-if)#bandwidth 64   
 R1(config-if)#clock rate 64000   
 R1(config-if)#no shutdown   

 

② R1의 EIGRP 설정

참고. R2, R3의 EIGRP 설정도 진행

 

 R1#conf t  
 Enter configuration commands, one per line. End with CNTL/Z.   
 R1(config)#router eigrp 7   7 : Process-ID
 R1(config-router)#network 203.230.7.0   
 R1(config-router)#network 203.230.10.0   
 R1(config-router)#network 203.230.11.0   
 R1(config-router)#network 1.0.0.0   이는 와일드카드 마스크를 사용하지 않았을 경우로 와일드카드 마스크를 사용할 경우 다음과 같이 됨
 R1(config-router)#network 1.1.1.1 0.0.0.0
 와일드카드 마스크를 사용하는 것이 좋음
 R1(config-router)#no auto-summary  자동 경로 요약 기능 해제

 

#show 명령어 

#show ip route 

 #show ip protocols 

 #show ip eigrp neighbors 

 

 R1#show ip eigrp neighbors  
 IP-EIGRP neighbors for process 7   7 : Process-ID
 H  Address  Interface  Hold  Uptime  SRTT  RTO  Q   Seq   H : 네이버가 학습된 순서
 Address : 이웃하는 라우터의 주소
 Interface : 이웃하는 라우터와 연결되어 있는 자신의 인터페이스
 Hold : 헬로 패킷을 수신할 때마다 이 값은 해당 인터페이스에 최대 시간으로 다시 리셋
 Uptime : 네이버를 맺은 이후의 시간
 SRTT(Smoothed Round Trip Timer) : 패킷이 네이버에 갔다가 다시 되돌아오는 시간
 RTO(Retransmit Timeout Interval) : EIGRP의 신뢰성 패킷 관리를 위해서 사용하는 재전송 타임아웃 정보
 Interface Queue Count : 전송 대기 중인 EIGRP 패킷, 즉 0이 아닌 다른 숫자가 있다면 그 숫자만큼 전송 대기 중인, 즉 전송하지 못한 EIGRP 패킷이 있음을 나타내므로 정상값은 0
 Sequence Number : 패킷 추적을 위해 사용하는 일련번호
 H  Address  Interface  (sec) Uptime  SRTT  (ms) Cnt Num  sec : Hold의 단위 
 ms : RTO의 단위
 0  203.230.10.1  Se0/2/0  13  00:10:04  40   1000  0  76  
 1  203.230.11.1  Se0/2/1  12  00:07:38  40  1000  0  186  

 

 #show interface : 인터페이스의 하드웨어, ip 주소, 최대 전송 단위(MTU; Maximum Transmission Unit), 대역폭, 지연, 신뢰도, 부하 값 표시

 #show ip eigrp topology

 

 #show ip eigrp topology  
 IP-EIGRP Topology Table for AS 7/ID(1.1.1.1)   
   
 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status   
    
 (중략)   
 P 3.0.0.0/8, 1 seccessors, FD is 3651840   P : DUAL에 의한 경로 등록 과정이 완료된 수렴 상태의 경로 정보임을 의미
 3.0.0.0/8 : 목적지 네트워크
 1 successors : 목적지 네트워크로 패킷을 전송할 수 있는 1개의 후속 라우터가 존재함을 나타냄
 FD is 3651840 : R1으로부터 목적지 네트워크까지의 메트릭 값
 참고. 후속 라우터(Successor) : 목적지로 가는 여러 경로 중에서 가장 최적의 경로로 가는 데 사용하는 바로 이웃 라우터 유효거리(FD; Feasible Distance) : 패킷을 목적지로 전달하는 데 있어 가장 작은 값을 갖는 메트릭
     via 203.230.10.1 (3651840/2297856), Serial0/2/0  203.230.10.1 : 후속 라우터의 주소
 2297856 : 후속 라우터로부터 보고 받은 RD 또는 AD
 Serial0/2/0 : 목적지 네트워크로 가기 위한 출구 인터페이스 정보
 참고.
 보고 거리(RD; Reported Distance) 또는 광고 거리(AD; Advertised Distance) : 이웃 라우터로부터 해당 목적지 네트워크까지의 메트릭 값
     via 203.230.11.1 (40640000/128256), Serial0/2/1   203.230.11.1 : 차기 후속 라우터의 주소
 참고.
 차기 후속 라우터(Feasible Successor) : 토폴로지의 변화가 생겼을 경우, 이전의 후속 라우터를 대신할 차기 후속 라우터 
 (중략)   

 

④ EIGRP 메트릭 값

 메트릭 계산식

 

 

 대역폭 계산식

 

 

 지연 계산식

 

 

 메트릭 설정

 

 R1(config)#router eigrp 7  
 R1(config-router)#metric weights 0 1 1 1 1 1   0 : TOS(Type of Service) 값
 1 : K1, 대역폭(Bandwidth), 디폴트 값은 1
 1 : K2, 부하(Load), 디폴트 값은 0
 1 : K3, 지연(Delay), 디폴트 값은 1
 1 : K4, 신뢰성(Reliability), 디폴트 값은 0, 범위는 0-255 1 : K5, 신뢰성(Reliability), 디폴트 값은 0, 범위는 0-255 만약 이 값들이 다를 경우 K값들이 다르다는 메시지가 표시되며, 네이버 관계는 이루어지지 않음 전문가가 아니면 건들지 말 것

 

⑤ 기타 

수동 경로 요약 

 여러 관련 프로세스의 대역폭 제한 

 헬로 패킷 주기 변경

 

 R1(config-if)#  
 R1(config-if)#ip hello-interval eigrp 7 5  7 : Process-ID
 5 : 헬로 주기를 1초에서 5초로 변경

 

 디폴트 경로 설정

 

 R2(config)#ip route 0.0.0.0 0.0.0.0 loopback 0  
 R2(config)#router eigrp 7   
 R2(config-router)#redistribute statec   EIGRP에서 재분배

 

입력: 2018.10.27 08:30