네트워크, 보안

네트워크 기초 - 라우팅 (Routing)

daengsik 2021. 11. 30. 11:40

이번엔 라우팅에 대한 내용입니다.

스위치, 스위칭, 라우터, 라우팅,, 아마도 네트워크에서 가장 많이 듣는 단어들이 아닐까 싶은데 스위칭은 내부망에서 행해지는 전달이고 라우팅은 외부망을 거치는 전달이다 보니 아무래도 스위칭보다 더 복잡하고 고려할 사항이 많으며 중요한 내용들이 많습니다.

 

 

1. 라우팅 (Routing)

 

Router가 수행하는 기능입니다. 말 그대로 Route(경로)를 선택하여 데이터가 전달될 수 있게 하는 것을 말하는데 이 경로를 최단거리, 최단시간에 전달될 수 있게 하는 것이 핵심적인 내용입니다. 결국엔 전달한다는 키워드가 같으니 라우팅도  스위칭이지만 최적의 전달 경로(Path)를 선택한다는 점이 가장 중요한 차이점입니다. 

 

거실에 있는 내가 안방에 있는 부모님에게 선물을 드리기 위해서는 그냥 안방으로 가서 드리면 끝날 일이지만, 다른 지역에 사는 사람에게 물건을 전달하기 위해서는 가는 길도 찾아봐야하고, 어떻게 갈지도 선택해야합니다.

기차를 타던지, 자동차를 타던지, 국도로 갈건지, 고속도로로 갈건지... 당연히 이러한 경로 선택에도 정해진 규약들이 매우 많고, 이러한 내용들을 숙지해야 라우팅에 손을 댈 수 있습니다. 

 

라우터는 L3에서 동작하기 때문에 당연히도 IPv4와 CIDR 또한 완벽하게 이해하고 있어야합니다.

 

 

2. 경로 선택 (Path Determination)

당연히도 라우터는 특정 데이터(패킷)의 목적지인 IP주소에 대한 정보를 갖고 있어야 스위칭이 가능합니다. 내가 부산에 사는데 서울이 어딘지도 모른다면 어디로 가야하는지 모를수밖에 없겠죠. 또, 길이 어떻게 생겨먹었는지도 알아야 할 것이고, 어디가 교통량이 많고 적은지, 어떤 톨 게이트를 거쳐야 하는지 등 알아야 할 정보가 많을겁니다. 

 

라우팅 또한 최적의 경로를 선택하기 위해서는 이러한 정보들을 알고, 활용해야 합니다. 다음과 같은 요소들이 라우팅 경로 결정에 사용됩니다.

  • 토폴로지
  • 트래픽
  • 링크 비용
  • 메시지
  • 라우팅 테이블

 

 

3. 라우팅 프로토콜의 구분과 종류

 

종류가 굉장히 많고 프로토콜 동작방식도 복잡합니다. 프로토콜은 앞으로 하나씩 다루면서 동작방식과 구성에 대해 알아 보겠고, 이번에는 대략적인 용어의 설명과 개념정도만 짚겠습니다.

 

 

정보 갱신 방법에 따른 구분

구분 특징
정적 라우팅
(Static Routing)
 -  네트워크 관리자가 경로를 수동으로 직접 지정해 주는 방식.
 -  구성이 간단하고, 원하는 경로로 패킷을 보낼 수 있음.
 -  단일 경로에 적합하여 Stub Network 에 주로 적용.
 -  네트워크 구성 변화에 수동적임.
 -  관리 부담의 증가 및 경로 장애 발생시에 라우팅이 불가능함.
동적 라우팅
(Dynamic Routing)
 -  장비가 자동으로 경로를 지정함.
 -  네트워크 변화를 인지하여 경로를 재구성할 수 있음.
 -  다중경로 네트워크에 적합함.

수동(고정) 경로 설정과 적응 경로 설정의 차이입니다. 부산→서울 이동 경로를 생각했을때, 나는 무조건 정해진 길로만 가겠다! 와 차막히면 돌아가지 뭐,, 네비게이션이 안내 해 주는대로 가자~~ 정도의 차이라고 생각하시면 됩니다.

 

 

내/외부에 따른 구분

같은 네트워크 관리자가 관리하는 라우터들과 일정 규모의 집합을 AS(Autonomus System) 이라 칭하는데, 이 규모에 따라 구분하는 방식입니다.

구분 특징
IGP
(Interior Gateway Protocol)
 -  AS 내에서의 라우팅을 담당하는 프로토콜.
EGP
(Exterior Gateway Protocol)
 -  서로 다른 AS간 사용되는 프로토콜.

마치 내부망, 외부망을 구분짓는 것과 느낌이 비슷한데, 이 구분이 망 구성이 중점이 되는것이 아니고 관리자나 관리 업체가 중점이 되는것이 차이점입니다. 예를들어 KT가 관리하는 라우터들은 KT 입장에서는 IGP를 사용하고 SK가 관리하는 라우터들과는 EGP를 사용하게 되는겁니다. 

 

 

테이블 관리 방법에 따른 구분

구분 특징
Distance Vector
Algorithm
 -  최단 거리를 홉 수로 판단함.
 -  주기적으로 라우팅 테이블을 교환함.
Link State
Algorithm
 -  대역폭, 지연시간, 토폴로지를 참고하여 Cost를 책정함.
 -  라우터가 목적지까지 가는 경로를 모든 라우팅 테이블에 기록함.
Hybrid Routing
Algorithm
 -  거리벡터, 링크상태를 복합적으로 사용한 방식.
 -  Cisco 독점 프로토콜.

부산→서울 이동을 생각했을 때, 나는 톨 게이트를 최대한 적게 지나가는 경로로 가겠다! 하는것이 거리벡터, 나는 교통량이 적은 곳으로 최대한 빨리 가보겠다! 하는것이 링크상태방식입니다.

 

링크상태 방식에서 말하는 비용(Cost)은 금전적 의미가 아니고 통신 속도를 의미합니다. 비용이 낮을수록 대역폭이 크다던가, 지연시간이 낮다던가 하는 것으로 빨리 전달할 수 있으면 비용이 낮다고 판단합니다.

 

거리 벡터는 거리, 방향을 중점으로 최단거리 계산을 위해 Bellman-Ford 알고리즘을 사용합니다.

링크 상태는 라우터들이 정보를 주고받아 전체 토폴로지를 그리며 Dijkstra's 알고리즘을 사용합니다.

 

 

대표 프로토콜의 간략한 설명

구분 프로토콜 설명
IGP RIP  -  Routing Information Protocol
 -  최저 홉 수의 경로로 패킷 전달
 -  30초마다 전체 라우팅 정보를 브로드캐스팅
IGRP  -  Interior Gateway Routing Protocol
 -  Cisco 개발 프로토콜
 -  대역폭, 지연율 등 여러 Metric 지원
EIGRP  -  Enhanced Interior Gateway Routing Protocol
 -  Cisco 개발, IGRP 개량 프로토콜
 -  토폴로지 변경 후, 불안정 라우팅 최소화
IS-IS  -  Intermediate System-Intermediate System
 -  링크 품질 평가 Metric 등을 이용하여 최단경로를 계산, 패킷전달
 -  ISP 등에서 주로 사용, 일반적으로 접하기 어려움
OSPF  -  Open Shortest Path First
 -  링크 상태(대역폭, 지연율)를 OSPF Area내에 전달하여 최단경로 계산
 -  자주 사용되는 프로토콜
EGP BGP  -  Border Gateway Protocol
 -  AS간 라우팅 경로 설정(eBGP, iBGP)
 -  AS내부 IP주소 정보를 인접 AS에 광고
 -  인접 AS로부터 IP정보 수신/저장

마찬가지로 네비게이션이 경로를 지정하는 방법과 일맥상통한다 볼수 있겠습니다. 추후에 이 프로토콜들은 개별 포스팅으로 나누어 하나씩 설명할 예정이니 간단하게만 알아두셔도 일단은 무관하겠습니다.

 

 

4. 여담

 

10월 25일 KT에서 네트워크 장애가 발생했었죠. 원인으로 KT 부산국사에서 라우터 교체작업 도중 명령어 입력 실수로 전국의 KT망이 90분 가까이 다운되는 큰 사건이었는데, 이 장애가 라우팅 설정 관련 장애였습니다.

 

물론 작업 프로세스 자체에 문제가 좀 있었던 상황이지만 부산에서 장비 한대의 명령어 오입력으로 전국 망이 내려앉을 정도로 라우팅관련 설정은 통신에 있어서 아주 민감하게 다루어야 할 부분이며 이를 위해서 기본적인 이해가 뒷받침 되어야 하겠습니다. 물론 작업 프로세스 또한 준수해야 하겠지만요.