본문 바로가기

네트워크/네트워크 좀 더 알아보기-라우팅

Path Control

Floating Routing

- 일반적으로 Static Routing을 사용하는 경우, 목적지로 향하는 경로의 장애가 발생시 자동으로 경로를 우회할 수 없다.

- 이 경우 관리자가 직접 AD 값을 조정하여 Backup Path를 설정하는 Floating Routing을 사용하면 우회가 가능하다.

- 평소에는 AD 값이 낮은 Best Path를 이용하다 Best Path에 장애가 발생시 자동으로 Backup Path를 라우팅 테이블에 등록하는 것이 가능하다.

 


위와 같은 구성도에서 R2의 LoopBack인 2.2.2.2로 가는 경로를 R1의 테이블을 확인해보면




F0/0을 통해서 가는 것을 확인 가능하다.


여기에서 다음과 같은 명령어를 추가하자.

R1(config)#ip route 2.2.2.0 255.255.255.0 f0/1 100

 2.2.2.2로 가는 경로는 metric 값 100으로 f0/1로 내보낸다는 뜻  

R1(config)#int f0/0

R1(config-if)#sh

기존에 사용하던 인터페이스를 다운 시키고 다시 한번 Routing Table을 확인하면


위와 같이 F0/1로 자동으로 우회하는 것을 확인 가능하다.


Floating Static and IP SLA(Service Level Agreement)


간혹 Floating Static으로는 우회가 불가능한 경로가 있다.

위와 같은 구성도에서는 Floating Static으로 우회가 불가능하다.

1.1.1.1에서 3.3.3.3으로 가는 경로가 두가지가 있다. 하나는 FastEthernet을 이용하는 경로와 다른 하나는 Serial을 이용하는 경로이다.

당연히 FastEthernet이 속도가 훨씬 빠르니 BestPath로 등록하였고, Floting Static을 통해 serial을 Backup Path로 등록하였다.

R1의 라우팅 테이블을 확인하면 


3.3.3.3으로 갈때 FastEthernet을 이용하는 것을 확인할 수 있다.

여기서 FastEthernet을 끊어보자.

끊고 다시 라우팅 테이블을 확인해보면

 





다음과 같이 FastEthernet이 Serial로 바뀐 것을 확인 가능하다.

그러나 실제로는 통신이 되지 않는 것을 확인할 수 있다.. 그 원인은 R3의 라우팅 테이블을 확인하면 된다.






R3의 라우팅 테이블에는 아직도 FastEthernet이 라우팅 테이블에 등록되어있다.



R1과 R2에 연결된 FastEthernet이 장애시 R1은 당연히 Backup Path로 경로를 바꿀 것이다. 그러나 R3의 경우, 본인과 연결된 인터페이스가 아니어서 장애가 났는지 확인할 수 없다. 따라서 계속해서 평상시 경로인인 FastEthernet 경로를 사용하게 된다.

즉 Floating Static은 위의 경우처럼 하나의 Router에 복수개의 Link가 연결되어있는 경우에 효과적으로 사용이 가능하다.

이런 경우 사용하는 것이 IP SLA이다.

IP SLA는 특정 서비스가 일정 수준의 Level까지 정상적으로 동작하고 있는지 확인할 수 있는 기능이다.

Router에 IP SLA를 구성하면 Router가 특정 서비스에 대한 패킷을 만들어서 동작여부를 확인할 수 있다.

즉, 웹서버/FTP/ICMP 등등 여러가지 프로토콜이 제대로 동작하고 있는지 Router가 감시하는 기능이다.


지금부터 R3가 R1의 인터페이스의 연결성을 확인하는 방법을 알아볼 것이다.

R3가 지속적으로 R1에게 핑을 보내 연결성을 확인하기위해서 서로의 인터페이스를 라우팅 테이블에 등록시켜줄 필요가 있다.

R1(config)#ip route 1.1.23.0 255.255.255.0 f0/0 1.1.12.2

R3(config)#ip route 1.1.12.0 255.255.255.0 f0/1 1.1.23.2



R3(config)#ip sla 1

 임의의 번호를 지정해준다.

R3(config-ip-sla)#icmp-echo 1.1.12.1

 핑으로 서비스 타입을 선택, 1.1.12.1의 연결성을 감시한다는 뜻.

R3(config-ip-sla-echo)#frequency 5

 빈도수를 지정해준다.

R3(config-ip-sla-echo)#exit

R3(config)#ip sla schedule 1 life forever start-time now
 Schedule을 지정해준다. 지금부터 영원히 감시한다는 뜻.
R3(config)#track 10 rtr 1 reachability
 앞서 만든 sla 1번의 도달성을 감시하는 track 10번을 생성해준다. 
R3(config-track)#ip route 1.1.1.0 255.255.255.0 f0/1 1.1.23.2 track 10
 ip rotue에 track 10을 추가시켜준다.
 만일 track 10이 제대로 동작하지 않는다면 f0/1 경로을 삭제한다는 뜻.


R3(config)#no ip route 1.1.1.0 255.255.255.0 f0/1 1.1.23.2 

 마지막으로 원래 경로는 지워준다.(track 10과 중복되는 명령어)


이제 R1의 fastethernet shutdown시 R3 또한 경로가 바뀌는 것을 확인할 수 있다.





Route-map을 이용한 PBR(Policy Based Routing)

Router는 일반적으로 AD값과 metric을 이용하여 경로를 결정한다.

그러나 Route-map을 사용하면 관리자가 특정 트래픽을 분류하여 해당 트래픽의 전송 경로를 변경하는 것이 가능하다.


다시 R1의 f0/0을 살리면 라우팅 테이블은 다음과 같다.


next-hop이 1.1.12.2, FastEthernet을 통해서 통신을 하고 있다.



traceroute를 써도 다음과 같이 1.1.12.2로 경로가 나온다.




여기서 Route-map을 사용하여, 목적지가 3.3.3.3인 모든 패킷들은 Serial 인터페이스로 전송하는 방법을 알아보자.


1. 우선 다음과 같은 ACL을 하나 만든다.  

    R1(config)#access-list 100 permit ip any host 3.3.3.3

    ACL은 정책이 적용될 트래픽을 분류하는 역할이며, 여기서는 3.3.3.3이 목적지인 모든 IP를 뜻한다.


2. Route-map을 만든다.

   R1(config)#route-map PBR_TEST permit 10

     Route-map의 이름을 PBR_TEST로 만들었다. 여기서 10은 default 값이다.


3. match 명령어를 사용하여 생성한 ACL을 불러온다.

  R1(config-route-map)#match ip address 100

   생성한 ACL(100번)을 route-map과 연동시킨다.


4. set 명령어를 사용하여 정책을 설정한다.

  R1(config-route-map)#set ip next-hop 1.1.13.3

         next-hop IP를 Serial 인터페이스인 1.1.13.3으로 만들어준다.

5. 인터페이스에 적용시켜준다.

 R1(config)#int f0/1

  pc1의 패킷이 들어오는 인터페이스인 f0/1에 들어가서

 R1(config-if)#ip policy route-map PBR_TEST

       앞서 만든 Route-map을 적용시켜준다.

Routing table에서는 3.3.3.0 대역으로 가기 위해서는 1.1.12.2로 패킷을 보내라고 되있었다. 그러나 실제 PC 1에서 확인해보면

serial 인터페이스인 1.1.13.3으로 패킷이 가는 것을 확인 가능하다.



라우팅 프로토콜 AD 변경

AD 값을 변경할 때는 distance 옵션을 사용하며, 기본 AD 값을 바꾸는 것도 가능하고 부분 AD값 변경 또한 가능하다.


1. 기본 AD 값

R1(config)#router eigrp 1

R1(config-router)#distance eigrp 50 70 

eigrp 내부의 AD를 50, 외부를 70으로 광고 받겠다는 뜻.


라우팅 테이블을 확인해보면 바뀌어있는 것을 확인 가능하다.


2. 부분 AD  값

R2(config)#access-list 1 permit 1.1.1.0 0.0.0.255

목적지 IP가 1.1.1.0 대역인 트래픽들을 선택.

R2(config)#router eigrp 1

R2(config-router)#distance 100 1.1.12.1 0.0.0.0 1

1.1.12.1(상대방의 next-hop)로부터 받는 광고 중 access-list 1에 해당하는 모든 트래픽들의 AD 값을 100으로 변경해서 받겠다는 뜻.


라우팅 테이블을 확인하면 metric이 100으로 바뀐 것을 확인 가능하다.





재분배 + Route-map을 통한 metric 변경
Route-map은 metric을 변경하는 옵션 또한 가지고 있으며, 이것을 통해 재분배할 때 특정 대역만 metric을 변경할 수 있다.


R2(config)#access-list 10 permit 1.1.1.0 0.0.0.255
트래픽 대역을 지정해준다.
R2(config)#route-map redistribute_metric permit 10
route-map을 만들어주고
R2(config-route-map)#match ip address 10
ACL과 route-map을 연동시켜준다.
R2(config-route-map)#set metric 1
마지막으로 metric을 1로 지정해준다.

R2(config-route-map)#router ospf 1
R2(config-router)#redistribute eigrp 1 subnets route-map redistribute_metric
기존 OSPF의 재분배방식에다가 route-map 명령어를 통해 만든 route-map을 더해준다.

다른 Router의 라우팅 테이블을 확인해보면




위와같이 metric값이 1인 것을 확인 가능하다.