Network 13. Routing protocol

2024. 3. 18. 13:34Network

이전에 다뤘던 항목이지만 

조금 더 정리하며 보완해보자

 

라우팅 프로토콜은 네트워크 상에서

정말 중요한 항목중 하나이다.

 

주 기능은

1. 가능한 네트워크로의  최적의 경로를 결정하며

2. 해당 네트워크로 실제 트래픽을 전송한다.

 

즉, 다른 네트워크와의 통신을 가능케 하는 기능이다!

 

 

 

 

라우팅 프로토콜의 종류

라우팅 프로토콜은 위와 같이 분류되며

한 라우터에 여러 프로토콜이 존재할 수 있다!

 

 

라우팅 테이블 확인

라우팅 테이블 명령어 예시이다.

Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

R    1.0.0.0/8 [120/5] via 3.3.12.1, 00:00:07, FastEthernet0/1
     2.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
R       2.0.0.0/8 [120/7] via 3.3.12.1, 00:00:07, FastEthernet0/1
R       2.2.12.0/24 [120/4] via 3.3.12.1, 00:00:07, FastEthernet0/1
R       2.2.23.0/24 [120/3] via 3.3.12.1, 00:00:07, FastEthernet0/1
R       2.2.33.0/24 [120/2] via 3.3.12.1, 00:00:07, FastEthernet0/1
R       2.2.34.0/24 [120/2] via 3.3.12.1, 00:00:07, FastEthernet0/1
R       2.2.44.0/24 [120/2] via 3.3.12.1, 00:00:07, FastEthernet0/1
R       2.2.45.0/24 [120/1] via 3.3.12.1, 00:00:07, FastEthernet0/1
     3.0.0.0/8 is variably subnetted, 15 subnets, 3 masks
R       3.0.0.0/8 [120/11] via 3.3.12.1, 00:00:07, FastEthernet0/1
C       3.3.12.0/24 is directly connected, FastEthernet0/1
L       3.3.12.2/32 is directly connected, FastEthernet0/1
C       3.3.23.0/24 is directly connected, Serial0/0/0
L       3.3.23.1/32 is directly connected, Serial0/0/0
D       3.3.34.0/24 [90/2681856] via 3.3.23.2, 00:29:43, Serial0/0/0
D       3.3.35.0/24 [90/2174976] via 3.3.23.2, 00:29:43, Serial0/0/0
D       3.3.56.0/24 [90/2180096] via 3.3.23.2, 00:29:41, Serial0/0/0
D       3.3.67.0/24 [90/2692096] via 3.3.23.2, 00:28:55, Serial0/0/0
D       3.3.70.0/24 [90/3204096] via 3.3.23.2, 00:28:55, Serial0/0/0
.
.
.
.
이하 생략

위의 입력된 명령어로 각 라우팅 테이블에 입력된 경로를 확인할 수 있다!

어떤 프로토콜을 사용했느냐에 따라서 코드가 부여된다.

 

 

경로요약

라우팅 프로토콜에 네트워크 등록시

여러 경로의 공통된 부분으로 요약 할 수있다.

 

10.1.0.0 /24

10.1.1.0 /24

10.1.2.0 /24

위와 같은 경로가 테이블에 입력되어 있다면

10.1.0.0 /16 이라는 하나의경로로

요약할 수 있다!  ( ip route 10.1.0.0 255.255.0.0 )

 

 

하지만 무작정 요약하는 것은 좋지않다.

내가 작업중인 네트워크의 상황에 따라 잘 판단해서 사용하자

 

 

 

 

 

Longest Prefix Match (최장 프리픽스 대응 규칙)

하나의 라우터에는 여러 경로가 존재할 수 있다.

또한 하나의 목적지에 여러 경로가 존재할 수 있다.

 

최장 프리픽스 대응 규칙이란

이런 상황에서 트래픽을 전송할 경로를 정할때

가장 긴 접두어(Prefix) 를 가진 경로를 선택한다!

 

Router1(config)# ip route 10.1.0.0 255.255.0.0 10.0.0.2          1번 경로(위)
Router1(config)# ip route 10.1.2.0 255.255.255.0 10.0.3.2        2번 경로(아래)

Router 1에서 왼쪽 끝 라우터로 향하기 위해서

위의 정적 라우팅을 설정했다고 하자

 

두 경로 모두 왼쪽 끝의 라우터로 도달할 수 있다.

그러나 라우터는 255.255.255.0 의 접두어를 가진 2번 경로를 선택하게 된다!

 

 

만약 프리픽스도 같은 값이라면??

Router1(config)# ip route 10.1.0.0 255.255.0.0 10.0.0.2
Router1(config)# ip route 10.1.0.0 255.255.0.0 10.0.3.2

 

위와 같은 경로가 입력되면 라우터는 두개의 홉에 대해서

트래픽 부하의 균형을 맞춰서 전송하게 된다! 

 

 

 Default Gatewaty (기본 게이트웨이)

기본 게이트웨이를 사용하면

 지정하지 않은 곳으로 향하는 트래픽을 위한 경로를 추가할 수 있다.

Router(config)# ip route 0.0.0.0 0.0.0.0 (next hop IP 입력)

위와 같은 예시로 사용된다

입력한 직후 라우팅 테이블에 등록된 경로 외의 목적지를 가진 트래픽은

모두 next hop으로 보내진다.

 

최장 프리픽스 대응 규칙에 의해

해당 경로가 다른 라우팅 경로를 침범하지 않게 된다!

 

 

내부 게이트웨이 프로토콜 (IGP) 의  종류

IGP는 위 사진처럼

거리 벡터  ,  링크상태 프로토콜로 구분된다.

 

거리 벡터 라우팅

 

각 라우터가  직접 연결된 라우터들에게

자신이 아는 모든 네트워크 리스트, 네트워크와 자신 사이의 거리를 공유한다.

 

* 라우터는 직접 연결된 라우터( 이웃 )와 이웃에게 통보받은 네트워크 목록만 알고있게된다.

 

링크 상태 라우팅

 

라우터와 인터페이스를 직접 연결된 이웃 라우터에게 알려준다.

그 정보는 다른 라우터들에게도 전달되며

모든 라우터들이 모든 라우터와 그것의 인터페이스들이 어떻게 연결되었는지가 포함된

전체 정보를 학습하게 된다.

 

* 라우터들이 해당 라우팅 프로토콜의 큰그림을 알고있게 되는 것

 

 

동적 라우팅에 대해

먼저 메트릭 (metric) 에 대해 알고가자

라우터가, 목적지에 도달하기 위해서 최적의 경로를 결정할때,

그 기준이 되는 숫자로 환산하는 변수이다. 

 

동적 라우팅 프로토콜은 메트릭 값이 낮은 경로를 선호한다.

 

거리 벡터 라우팅은 알고있는 네트워크와 그 곳에 도달하기 위한 메트릭 값을 서로에게 통보한다.

링크 상태 라우팅은 네트워크 영역 내 모든 링크를 서로에게 통보한다.

각 라우터는 위의 정보를 사용해 최적의 경로를 독립적으로 계산하게된다.

 

만약 최적의 경로가 어떠한 이유로 사라지더라도

라우팅 테이블에서 제거한 뒤에 다음 최적의 경로로 대체된다.

이것이 동적 라우팅의 큰 장점이다.

 

동적 라우팅 프로토콜 내용
RIP 메트릭 값으로 홉 카운트만 사용하며 최대 15의 메트릭값을 가진다. (15 초과시 해당 패킷을 삭제)
위의 이유로 인해 확장성에 제한이 생기고 일반적으론 사용하지 않음
EIGRP 메트릭 값을 대역폭, 링크 지연시간등을 사용해 계산한다. 수동 설정으로 경로를 대체할 수도 있다. 
결과적으로 높은 대역폭 (빠른 경로)을 가진 경로를 선택하게 된다.
유지 보수가 쉽고 네트워크의 변화에 빠르게 대응한다. CISCO사의 전용 프로토콜이다.
OSPF 메트릭 값으로 Cost (비용)를 사용하며 직접 링크의 cost를 조절해 경로를 변경할 수 있다.
 EIGRP와 비슷하게 특정 계산식으로 메트릭을 산출하며 최적 경로를 선택한다.
모든 제조사의 라우터에서 지원되는 공개 표준 프로토콜이다.
IS-IS 메트릭 값으로 홉카운트를 사용하는데, 직접 구성하지 않으면 홉 카운트를 사용해 경로를 선택한다.
확장성이 좋기 때문에 MPLS를 가진 대규모 조직에서만 사용된다.

 

대부분 EIGRP, OSPF를 사용한다고 한다.

 

ECMP 등가 다중 경로 (Equal Cost Multi Path) 

다른 네트워크로 향할때 다수의 경로가

동일한 메트릭 값을 가지고 있는 경우가 발생하면

라우터는 라우팅 테이블에 그 모든 경로를 입력시킨 뒤

트래픽의 부하를 이용가능한 ECMP들로 분산 시킨다.

 

모든 IGP는 ECMP 라우팅을 수행하며

EIGRP는 수동 설정시 부등가 다중 경로 라우팅이 가능하다.

(즉, 다른 메트릭 값이여도 부하분산이 가능하다)

 

 

관리 거리 (Administrative  Distance)

동일 목적지 네트워크 경로를 여러 동적 프로토콜에서 학습했을때

 신뢰 또는 선호하는 정도를 나타내는 수치이다.

위의 사진을 보면

각 인터페이스에 존재하는 동적 라우팅 프로토콜을 색깔별로 나타낸 것이다.

그런데 f0/0 인터페이스에는 세가지 프로토콜의 경로가 존재하는 것을 볼 수 있다.

 

이럴 경우 라우팅 테이블에는 어떤 프로토콜의 경로가 올라올까??

정답은 EIGRP의 경로가 입력된다.

 

이유는

종류 AD 값
Connected Interface 0
Static route 1
External BGP 20
EIGRP 90
OSPF 110
IS-IS 115
RIP 120

위처럼 AD 값이 정해져 있는데

라우터는 최저의 AD값을 가진 프로토콜을 선호하기 때문에

90의 AD를 가진 EIGRP가 라우팅 테이블에 입력된다.

 

 

비고정 정적 경로 (Floating Static Route)

동적 라우팅은 링크가 다운되어 경로가 비활성화 되더라도

자동으로 다음 최적 경로를 사용한다.

그런데 만약 모든 링크 또는 라우팅 프로토콜 자체의 문제로 

모든 경로가 문제가 생기게 되면 연결성 자체가 끊어지게 된다.

 

이런 경우를 대비해 경로의 AD 값을 조정해 백업 경로를 설정할 수 있다.

Router(config)# ip route 192.168.0.1 255.255.255.0 192.168.10.2 111

정적 라우팅의 가장 마지막 부분에 AD 값을 입력할 수있는데

이 AD 값을 해당 라우팅 프로토콜의 AD 값보다 높은 값을 지정해 주는 것이다.

(위의 예시는 OSPF를 사용한다고 가정했다)

OSPF가 중지되면 해당 경로가 사용된다!

 

 

인접성 (Adjacency)

동적 라우팅 프로토콜은 설정한 뒤

각 인터페이스에서 활성화, 비활성화 되는데

활성화된 인터페이스는 직접 연결된 반대편 장치를 탐색하게 된다.

 

라우터는 설정된 특정 라우팅 프로토콜의 Hello 패킷을 전송하고 수신대기 상태에 들어간다.

그 후 대등한 라우터를 발견하게 되면 

라우터들은 인접성을 형성해 서로 정보를 교환해 라우팅 업데이트가 이뤄진다.

 

RIP v1은 Hello 패킷으로 브로드 캐스트를 이용하지만

현대의 라우팅 프로토콜들은 멀티 캐스트를 사용한다. 

 

수동 인터페이스 (Passive interface)

수동 인터페이스를 사용하게 되면

해당 인터페이스를 통해서 업데이트를 보내지 않으면서

라우팅 프로토콜 내에 IP 서브넷을 포함시킬 수 있다.

 

통신은 가능하지만 내부 네트워크의 정보를 공유하지 않게 되는 것이다.

 

Router(config)#router ospf 1
Router(config-router)#passive-interface f0/1

내부 네트워크 정보를 공개하고 싶지 않는 방향의 인터페이스를

해당 라우팅 프로토콜의 설정에서

수동 인터페이스로 지정해줄 수 있다.

 

위처럼 설정하면 f0/1 반대편의 라우터에선

라우팅 테이블에 내부 내트워크 정보가 업데이트 되지 않는다.

 

 

00:09:06: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.0.2 on FastEthernet0/1 from LOADING to FULL, Loading Done
Router(config-router)#passive-interface f0/1
Router(config-router)#
00:09:27: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.0.2 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached

수동 인터페이스를 설정하면 해당 인터페이스의 인접성 형성이 불가능해지는 것을 볼 수 있다.

 

 

 

 

 

 

 

'Network' 카테고리의 다른 글

Network 15 . VLAN  (0) 2024.03.27
Network 14. OSPF 심화  (0) 2024.03.19
Network 12. Access Control List  (0) 2024.03.17
Network 11. Etherchannel  (0) 2024.03.14
Network 10. Spanning-Tree Protocol  (0) 2024.02.25