본문으로 바로가기

1. IP 라우팅이란...?

 

 - 그림에서 13.13.20.0(목적지경로)  255.255.255.0 13.13.12.2 R2로 패킷을 전송하는것.


 - 서로 다른 네트워크 통신에서 여러개의 라우터를 경유하여 수신지에 도달하게 되는데 우터에서 수신지까지 경로 설정하는 과정
 - 패켓의 라우팅 테이블에 있는 목적지IP주소를 보고(참조하여) 출력 인터페이스로 패킷을 전송하는 과정이다.

 

 


show ip route

R이 3개 보임.....


2. IP 라우팅을 하기 위한 3가지 기본 요소


 1) 경로 학습


   - 정적 : 관리자가 목적지 네트워크, 넥스트-홉/인터페이스 정보를 파악하여 수동으로 경로를 설정하는 방식
   - 동적 : 라우팅 프로토콜을 이용하여 라우터 간에 네트워크 정보를 교환하는 방식 = 라우팅 업데이트



 2) 경로 선출


   - 정적 : 관리자대역폭, 라우터 개수를 파악하여 수동으로 경로는 선출 및 설정하는 방식
   - 동적 : 라우팅 업데이트 정보에 포함되어 있는 메트릭 값을 비교하여 경로를 자동 선출하는 방식

              라우팅 업데이트 할때 라우터끼리 메트릭 값을 비교해서 메트릭이 작은값으로 경로를 지정한다..

 

여기가려면 여기가 next hop이고 메트릭이 얼마야라고 알려준다......(구체적으로)

서로 라우터끼리 교환


 


 3) 경로 관리


   - 정적 : 관리자가 네트워크 변경 및 갱신에 대해서 수동으로 경로를 수정하는 방식
   - 동적 : 라우팅 프로토콜 동작 특징에 의해서 자동으로 변경 및 갱신되는 방식




3. 라우팅 프로토콜 유형


 - 용도 : 라우팅 업데이트 및 동적 경로 선출/관리

 - 사용 권장 X : RIPv1, IGRP-----> classsful routing
 - 사용 권장 O : RIPv2, EIGRP, OSPF, ISIS, BGPv4-----> classless routing

 

 

1) 라우팅 업데이트 방식 및 관리


 - Distance Vector : 다른 라우터들에게 주기적으로 (Rip은 30초, IGRP는 90초) 브로드캐스트 주소를 사용하여 전송한다.... EIGRP제외

이러한 라우팅 정보 업데이트는 네트워크 상태 변화 여부에 관계없이 이루어지며 네트워크 규모가 커지면 업데이트 정보의 양이 증가될 수 밖에 없다.
 
    RIPv1, RIPv2, IGRP, EIGRP는 제외  
    라우팅 업데이트시 네트워크 정보, 메트릭, 넥스트-홉 IP 정보를 알려줌
    ex)R1----------R2--------- R3

         12.1       12.2 23.2    23.3        

    R1라우터에서 R2라우터로 데이터를 전송할때 네트워크 정보, 메트릭, 넥스트-홉을 전달받는다...

   하지만 R1라우터는 R3의 라우터 정보(네트워크 정보, 메트릭, 넥스트-홉 ip)를 모른다....
 

- Link-State : 다익스트라 알고리즈무 또는 최단 경로 우선(SPF)shortest path first알고리즘을 사용하여 목적지까지 최단경로를 계산하여 패킷을 전달하는 과정이다.


    OSPF, ISIS
    라우팅 업데이트시 네트워크 정보, 메트릭, 넥스트-홉 IP 정보뿐만 아니라 다음과 같은 정보가 더 추가됨


         '목적지 (네트워크를 갖고 있는) 라우터 정보'
         '라우터와 라우터의 링크 정보'

 

   distance vector랑 똑같은데  예를 들어 R1입장에서 R3(30)번의 네트워크는 R3에 있습니다.....라고 하나 더 추가가 된다.
   R1--> R2로 받으면 next hop은 12.2가 되고 R3랑 연결되어있으며 또 R3는 R3랑 연결되어있습니다라고 상세히 알려준다....R1----->R2------>R3

 

강남역 ------역삼역---선능역-------------삼성역------종합운동장역----잠실야구장
-distance Vector: 강남===역삼,, 역삼역===선능, 선능===삼성역 끼리만 정보를 알수있다.....
- Link state : 강남역에서 잠실야구장위치를 안다...왜냐하면 목적지 라우터 정보가 있고 링크정보가 있기 때문이다.

 


 2) 서브넷 처리 방식


 - Classful Routing Protocol


    RIPv1, IGRP
    네트워크을 클래스로 처리하는 라우팅 프로토콜
    라우팅 업데이트시 서브넷 마스크가 포함되지 않는다. 
    VLSM X, CIDR 기능 X  

    VLSM : variable length subnet mask ,,,,,한마디로 서브넷팅을 또 서브넷팅해주는 개념..... ip 주소를 낭비없이 사용하기 위한 것.

    CIDR : 네트워크 주소 재할당 기능

  

예) 172.11.0.0                   10101100.00001011.00000000.00000000

      172.11.1.0                  10101100.00001011.00000001.00000000

 

     255.255.255.0              11111111.11111111.11111111.00000000

 

서브넷 마스크를 기준으로 1로 되어있는부분을 검사하므로 172.11.0.0 과 172.11.1.0은 24비트 부분이 0과 1로 서로 다르기 때문에 네트워크가 분리되었다.

두 개 네트워크를 하나로 합치기 위해선 24비트 부분만 검사 안하면 된다.

서브넷 마스크를 하나 빼서 검사하면

 

255.255.254.0                   11111111.11111111.11111110.00000000

                                                                          1부분을 0으로 고친다....

172.11.0.0과 172.11.1.0을 비교하면 합칠수가 있게 된다.

 

=>172.11.0.0/23 172.11.1.0/23

 

    Ex) 13.13.10.0/24 -> 13.0.0.0/8(현재는 부적절...ip만 보고 A클래스, B클래스,C클래스로 처



 - Classless Routing Protocol<현재 사용)


    RIPv2, EIGRP, OSPF, ISIS, BGPv4
    네트워크를 서브넷 마스크를 보고 서브넷으로 처리하는 라우팅 프로토콜
    라우팅 업데이트시 서브넷 마스크가 포함된다.    
    VLSM O, CIDR 기능 O  


    Ex) 13.13.10.0/24 -> 13.13.10.0/24



 3) 자동 클래스풀 요약 라우팅 프로토콜


 - RIPv2, EIGRP, BGPv4
 - 서브넷 경계에서 자동 클래스풀 요약을 실시한다.


172.16.1.0/24
172.16.2.0/24     -> 172.16.0.0/16         -> 172.16.0.0/16
172.16.3.0/24
-------------------R1---------------------R2------------------------R3
                                      13.13.12.0/24                     13.13.23.0/24



 -

172.16.1.0/24                                                                                           172.16.8.0/24
172.16.2.0/24     -> 172.16.0.0/16                                 172.16.0.0/16  <-       172.16.9.0/24
172.16.3.0/24                                                                                           172.16.10.0/24
-------------------R1---------------------R2------------------------R3------------------
                                      13.13.12.0/24                    13.13.23.0/24


 - 해결책 : 자동 요약 해지 -> no auto-summary

 

 


 4) 사용하는 지역


 

 IGP

 EGP

 종류

 IPv1, RIPv2, IGRP, EIGRP, OSPF, ISIS

 BGPv4

 장점

 컨버전스가 빠르다. 

 대용량 라우팅 업데이트 가능

 단점

 대용량 라우팅 업데이트 불가능

 컨버전스가 느리다.

 용도

 AS 안에서 사용   

 AS와 AS 사이에서 사용



[참고] AS


 - ISP 업체가 기업 고객/사용자에게 네트워크 & 인터넷 서비스를 제공하기 위해서 구축/운영하는 망




4. 라우팅 프로토콜 정리


 1) RIPv1, IGRP


 - Distance Vector
 - Classful Routing Protocol
 - IGP

 


 2) RIPv2, EIGRP


 - Distance Vector
 - Classless Routing Protocol
 - auto-summary -> no auto-summary
 - IGP



 3) OSPF, ISIS


 - Link-State
 - Classless Routing Protocol
 - IGP



 4) BGPv4


 - Path Vector
 - Classless Routing Protocol
 - auto-summary -> no auto-summary
 - EGP





 


[참고] 균등 로드 분산


 - 메트릭이 동일한 최적 경로가 있을 경우, 자동으로 균등 로드 분산 처리를 실시한다.


R 172.16.1.0/24 [120/2] via 13.13.12.2, Serial1/0
                      [120/2] via 13.13.14.4, Serial1/1

 


 

RIPv1

 

0. RIPv1 : 라우터 업데이트시 네트워크 정보와 서브넷 마스크를 사용하지 않는다. 전송할때 브로드캐스트(255.255.255.255)를 사용


 - Distance Vector
 - Classful Routing Protocol
 - IGP

 

rip v1 사용방법


Router(config)#router rip
Router(config-router)#network A.0.0.0----> 라우터 밑에 연결되어 있는 네트워크 주소를 입력하면 된다.
Router(config-router)#network B.B.0.0
Router(config-router)#network C.C.C.0

 

 

※ Rip V1은 클래스 풀 라우팅 프로토콜으로서 라우팅 업데이트시 네트워크 정보와 서브넷 마스크 정보를 내보내지 않고 자동 요약을 실시 하기 때문에

가령. 1.1.1.0/24 1.1.2.0/24가 명백히 다른 네트워크 임에도 불구하고 Ripv1은 자동요약을 실시하기 때문에 1.0.0.0/8로 처리 하므로 불편할 수 있다. 그래서 version 2가 출시 되었다.

 

2. Classful Routing Protocol


 - 네트워크를 클래스로 처리하며, 라우팅 업데이트시 서브넷 마스크가 포함되지 않는다.
 - VLSM X, CIDR X




3. 메트릭


 - 메트릭 단위 : Hop (라우터 개수)
 - Hop 범위 : 0~16 (실제 사용 가능한 범위 : 1~15)




4. 라우팅 업데이트 방식


 - 브로드케스트 (목적지 : 255.255.255.255)
 - 주기적인 라우팅 업데이트 실시 (업데이트 주기 : 30초)
 - 'passive-interface' 명령어를 이용하면, RIP 업데이트가 나가는것을 차단할 수 있다.


R1(config)#router rip
R1(config-router)#passive-interface fa0/0
R1(config-router)#passive-interface lo172
R1(config-router)#end


R1#debug ip rip
RIP protocol debugging is on
R1#
*Mar  1 00:31:52.479: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (13.13.12.1)
*Mar  1 00:31:52.483: RIP: build update entries
*Mar  1 00:31:52.483:   subnet 13.13.10.0 metric 1
*Mar  1 00:31:52.487:   network 172.16.0.0 metric 1
R1#
*Mar  1 00:31:56.375: RIP: received v1 update from 13.13.12.2 on Serial1/0
*Mar  1 00:31:56.375:      13.13.20.0 in 1 hops
*Mar  1 00:31:56.379:      13.13.23.0 in 1 hops
*Mar  1 00:31:56.379:      13.13.30.0 in 2 hops
R1#
*Mar  1 00:32:18.179: RIP: sending v1 update to 255.255.255.255 via Serial1/0 (13.13.12.1)
*Mar  1 00:32:18.183: RIP: build update entries
*Mar  1 00:32:18.183:   subnet 13.13.10.0 metric 1
*Mar  1 00:32:18.187:   network 172.16.0.0 metric 1
R1#
*Mar  1 00:32:25.343: RIP: received v1 update from 13.13.12.2 on Serial1/0
*Mar  1 00:32:25.343:      13.13.20.0 in 1 hops
*Mar  1 00:32:25.347:      13.13.23.0 in 1 hops
*Mar  1 00:32:25.347:      13.13.30.0 in 2 hops
R1#
R1#undebug all
All possible debugging has been turned off



Ex) R2, R3 'passive-interface' 설정 실시


R2(config)#router rip
R2(config-router)#passive-interface fa0/0
R2(config-router)#end


R3(config)#router rip
R3(config-router)#passive-interface fa0/0
R3(config-router)#passive-interface lo172
R3(config-router)#end


R2,R3#show run
R2,R3#show ip protocol




5. 균등 로드 분산


 - 목적지 네트워크에 대한 최적 경로가 다수가 있을 경우, 자동으로 구현됨

 

 



0. RIPv2 : 라우팅 업데이트시 네트워크 정보와 서브넷 마스크 정보를 전달, 멀티캐스트 주소(224.0.0.9)주소를 사용


 - Distance Vector
 - Classless Routing Protocol
 - auto-summary -> no auto-summary
 - IGP




1. RIPv2 설정


Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#no auto-summary
Router(config-router)#network A.0.0.0
Router(config-router)#network B.B.0.0
Router(config-router)#network C.C.C.0


@ R1, R3


router rip
 version 2
 no auto-summary
 network 13.0.0.0
 network 172.16.0.0


@ R2


router rip
 version 2
 no auto-summary 자동 요약을 꺼야한다.
 network 13.0.0.0


R1,R2,R3#show run
R1,R2,R3#show ip route


R1#ping 13.13.20.1
R1#ping 13.13.30.1
R1#ping 172.16.3.1


R2#ping 13.13.10.1
R2#ping 172.16.1.1
R2#ping 13.13.30.1
R2#ping 172.16.3.1


R3#ping 13.13.20.1
R3#ping 13.13.10.1
R3#ping 172.16.1.1




2. Classless Routing Protocol


 - 네트워크를 서브넷 마스크를 이용하여 처리하며, 라우팅 업데이트시 서브넷 마스크가 포함된다.
 - VLSM O, CIDR O




3. 메트릭


 - 메트릭 단위 : Hop (라우터 개수)
 - Hop 범위 : 0~16 (실제 사용 가능한 범위 : 1~15)



4. RIP 타이머


 - RIP 경로를 라우팅 업데이트 및 관리하는 타이머


R1#show ip protocols
Routing Protocol is "rip"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Sending updates every 30 seconds, next due in 13 seconds
  Invalid after 180 seconds, hold down 180, flushed after 240 

~ 중간 생략 ~


 - update(30초)  : 라우팅 업데이트 주기  
 - invalid(180초) : update 타이머 이내에 라우팅 업데이트를 못받으면, 기회를 더 제공하는 시간 
 - hold down(180초) : invalid 타이머 이내에 라우팅 업데이트를 못받으면, 경로를 삭제 대기 시간
 - flushed(240초) : 경로를 라우팅 테이블에서 삭제하는 타이머


0               30                                   180 0                                    180 
|─────|─────────────||─────────────|
   update                  invalid                               hold down


0                               240
|────────────────────────|
                              flushed


Ex) '13.13.30.0/24'는 현재 invalid 타이머 180초가 만기가 되었다. 그럼 라우팅 테이블에서 몇 초 뒤에 삭제되는가? 60초




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


 - RIP 라우팅 업데이트 변조 방지
 - MD5 해시 함수, 키 정보

 

@인증
- 데이터 무결성 보장
- 데이터 변조 방지
- 인증 도구: 해시 함수(인증 알고리즘),키

 

갑                                                                        을

ABC           XYZ                      

MITM 중간에 데이터를 가로채는 변조기법             123&^|ABC
해시함수 :MD5                                               해시 함수: MD5
키 :19                                                          키:19
해시값 : 123$%^                                            해시값 : 123$%&


 - RIP 라우팅 업데이트 변조 방지
 - MD5 해시 함수, 키 정보

 

@암호화
 - 데이터 기밀성 보장
- 데이터 유출 방지
- 인증 도구: 해시 함수(인증 알고리즘),키

 

갑                                                   을

평문: ABC ---->                                  xxx->ABC(다시 복호화)
암호화 알고리즘: AES   암호화 알고리즘: AES
키:19        

                                                       키:19

@보안 CIA 3대 요소
- 기밀성, 무결성,가용성

 

@네트워크 설계 3대 요소
-확장성,이중성(안전성),가용성

가용성::: 서비스가 중단되지 않게 하는것.., ups

 


 

R1[S1/0]--------------------------------[S1/1]R2


R1(config)#key chain RIP_K
R1(config-keychain)#key ?
  <0-2147483647>  Key identifier

R1(config-keychain)#key 13
R1(config-keychain-key)#key-string cisco
R1(config-keychain-key)#
R1(config-keychain-key)#int s1/0
R1(config-if)#ip rip authentication key-chain RIP_K
R1(config-if)#ip rip authentication mode md5
R1(config-if)#end

R1#show run
R1#clear ip route *


R1#debug ip rip
RIP protocol debugging is on
R1#
*Mar  1 01:14:29.007: RIP: ignored v2 packet from 13.13.12.2 (invalid authentication)
R1#
R1#show ip route

     172.16.0.0/24 is subnetted, 1 subnets
C       172.16.1.0 is directly connected, Loopback172
     13.0.0.0/24 is subnetted, 2 subnets
C       13.13.10.0 is directly connected, FastEthernet0/0
C       13.13.12.0 is directly connected, Serial1/0



R2(config)#key chain RIP_K
R2(config-keychain)#key 13
R2(config-keychain-key)#key-string cisco
R2(config-keychain-key)#
R2(config-keychain-key)#int s1/1
R2(config-if)#ip rip authentication key-chain RIP_K
R2(config-if)#ip rip authentication mode md5
R2(config-if)#end

R2#

R2#show run



R1#
*Mar  1 01:15:47.807: RIP: received packet with MD5 authentication
*Mar  1 01:15:47.807: RIP: received v2 update from 13.13.12.2 on Serial1/0
*Mar  1 01:15:47.811:      13.13.20.0/24 via 0.0.0.0 in 1 hops
*Mar  1 01:15:47.815:      13.13.23.0/24 via 0.0.0.0 in 1 hops
*Mar  1 01:15:47.819:      13.13.30.0/24 via 0.0.0.0 in 2 hops
*Mar  1 01:15:47.823:      172.16.3.0/24 via 0.0.0.0 in 2 hops


R1#show ip route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 2 subnets
C       172.16.1.0 is directly connected, Loopback172
R       172.16.3.0 [120/2] via 13.13.12.2, 00:00:03, Serial1/0
     13.0.0.0/24 is subnetted, 5 subnets
C       13.13.10.0 is directly connected, FastEthernet0/0
C       13.13.12.0 is directly connected, Serial1/0
R       13.13.20.0 [120/1] via 13.13.12.2, 00:00:03, Serial1/0
R       13.13.23.0 [120/1] via 13.13.12.2, 00:00:03, Serial1/0
R       13.13.30.0 [120/2] via 13.13.12.2, 00:00:03, Serial1/0


R1#undebug all
All possible debugging has been turned off




6. RIP 컨버전스(RIPv1, RIPv2 동일한 내용)


 - RIP 경로를 관리 및 삭제, 갱신

 

만약 G0/0 인터페이스가 다운된다면 RIP은 어떤 동작을 하게 될까?? R1은 R2에게 그 사실을 전달한다. RIP은 평상시에는 30초를 주기로 라우팅 업데이트를 하지만 긴박한 상황일때에는 바로 이웃 라우터에게 전달한다.

이동작을 확인하려면 debug ip rip 명령어를 입력하면 된다. R1과 R2에게 debug ip rip를 입력한다.

 


 1) 루트 포이즌(Route Poison)


 - 장애가 발생한 RIP 네트워크 정보에 대해서 Hop=16 정보를 업데이트하는 동작
 - Hop=16인 RIP 네트워크는 더이상 도달 불가능하다.

R2>en
Router#debug ip rip
RIP protocol debugging is on
Router#RIP: sending  v1 update to 255.255.255.255 via GigabitEthernet0/0 (1.1.1.2)
RIP: build update entries
      network 203.230.7.0 metric 1
RIP: sending  v1 update to 255.255.255.255 via Serial0/2/1 (203.230.7.2)
RIP: build update entries
      network 1.0.0.0 metric 1
RIP: received v1 update from 203.230.7.1 on Serial0/2/1
      1.0.0.0 in 1 hops
RIP: received v1 update from 203.230.7.1 on Serial0/2/1
      1.1.1.0 in 16 hops  -----> 더이상 도달 불가능


 2) 리버스 포이즌(Reverse Poison)


 - 루트 포이즌에 대한 응답
 - Hop=16에 대한 응답이며, 네트워크 도달 불가능한 정보를 역으로 업데이트하는 동작

여기서는 R2가 R1에게 메트릭값 16을 전달하여 네트워크 경로가 없음을 알려주는것.....

    장애 발생                                 hop=16 ->          hop=16 ->
13.13.10.0/24----[F0/0]R1[S1/0]-----------------R2-------------------[S1/1]R3
                                                  <- hop=16         <- hop=16           


R3#debug ip rip
RIP protocol debugging is on



R1(config)#int fa0/0
R1(config-if)#shutdown

R3#
*Mar  1 01:19:23.427: RIP: received v2 update from 13.13.23.2 on Serial1/1
*Mar  1 01:19:23.427:      13.13.10.0/24 via 0.0.0.0 in 16 hops  (inaccessible)
R3#
R3#
*Mar  1 01:19:25.431: RIP: sending v2 flash update to 224.0.0.9 via Serial1/1 (13.13.23.3)
*Mar  1 01:19:25.435: RIP: build flash update entries
*Mar  1 01:19:25.435:   13.13.10.0/24 via 0.0.0.0, metric 16, tag 0
R3#



R1(config)#int fa0/0
R1(config-if)#no shutdown




9. RIP 라우팅 업데이트 루프 방지


 1) Split-Horizon


 - RIP 라우팅 업데이트 루프 방지 기능
 - 라우팅 정보를 수신한 인터페이스로, 라우팅 업데이트가 나가는 것을 차단하는 기능


R3#show ip int s1/1
~ 중간 생략 ~

  Local Proxy ARP is disabled
  Security level is default
  Split horizon is enabled

~ 중간 생략 ~



R3#
*Mar  1 01:23:33.619: RIP: received v2 update from 13.13.23.2 on Serial1/1
*Mar  1 01:23:33.619:      13.13.10.0/24 via 0.0.0.0 in 2 hops
*Mar  1 01:23:33.623:      13.13.12.0/24 via 0.0.0.0 in 1 hops
*Mar  1 01:23:33.623:      13.13.20.0/24 via 0.0.0.0 in 1 hops
*Mar  1 01:23:33.627:      172.16.1.0/24 via 0.0.0.0 in 2 hops
R3#
*Mar  1 01:23:45.227: RIP: sending v2 update to 224.0.0.9 via Serial1/1 (13.13.23.3)
*Mar  1 01:23:45.231: RIP: build update entries
*Mar  1 01:23:45.231:   13.13.30.0/24 via 0.0.0.0, metric 1, tag 0
*Mar  1 01:23:45.235:   172.16.3.0/24 via 0.0.0.0, metric 1, tag 0



 2) Hop Count Limit


 - Hop 범위 = 0~16 (실제 사용은 1~15)

 - 라우팅 업데이트 루프가 발생하여, Hop=16으로 된 RIP 경로를 라우팅 테이블에 삭제하는 기능

 

※ 기본 경로 라우팅 업데이트 설정: 라우팅 테이블을 간소화하기위해 사용


@ R1
conf t
int fa0/1
 ip address 61.41.162.129 255.255.255.252
 no shutdown
!
ip route 0.0.0.0 0.0.0.0 61.41.162.130 ----> 외부인터넷망
!
router rip
 default-information originate (RiP 기본 경로 설정 RIP업데이트 정보를 통해 로컬 LAN 내의 모든 라우터들에게 알리게 된다.
 end

 

@R1
int lo 1
ip add 168.126.63.1 255.255.255.0

R2,R3#show ip route

R* 0.0.0.0/0

R2,R3#ping 168.126.63.1