본문 바로가기
네트워크 개요

3.2 라우터

by 배굿맨 2020. 1. 23.

각기 독립된 네트워크들을 연결 또는 네트워크를 분할/구분 시켜주는 장치로서 게이트웨이의 역할을 한다.

브릿지가 동종 네트워크 사이에서 프레임의 MAC 어드레스만을 읽어 네트워크와 네트워크의 이동 통로를 제공하여 주는데 반하여 라우터는 LAN과 LAN, LAN과 WAN에서 데이터의 이동 경로를 최적화하기 위한 경로 검사를 수행하여, 라우팅 테이블에 저장하고 있어 패킷이 라우터로 전송되어지면 라우팅 테이블을 참조하여 최적화된 경로로 패킷을 전송시킨다.

3.2.1 라우터의 기능

(1) 네트워크의 인터네트워킹

각기 독립된 네트워크들을 연결 또는 네트워크를 분할 시켜준다. 게이트웨이의 역할 을 수행한다.

(2) 패킷 스위칭 기능

한 포트로 패킷을 받아서 다른 포트로 전송하여 줌.

(* 패킷: 제 3계층 네트워크 계층에서 사용되는 데이타 단위이다. 이더넷 상의 프레임을 IP 주소를 덧붙여 전송해 주는 형태를 가진다고 보면 된다.)

 

스위칭 허브가 프레임의 MAC 주소를 가지고 있어 하드웨어적으로 고속처리가 가능하나 라우터는 소프트웨어상에서 이러한 기능을 해 준다.

(*참조. L3 스위치는 스위칭 허브에 라우터 기능을 접목한 것이다.)

(3) 경로 설정 기능

라우터끼리 상호 연결된 복잡한 망에서 경로의 배정 및 제어를 자동적으로 수행한다. 라우터 간에 라우팅 정보를 주고 받으며, 동적으로 라우팅 테이블을 만들어 감. 이것을 Dynamic Routing이라고 한다. 단, Static Routing, Default Routing 도 지원한다.

다음은 라우터와 브리지의 비교 표이다.

라우터 동종 또는 이종 네트워크간의 트래픽을 담당한다.
네트워크 계층에서 테이터 전송을 담당한다.
WAN 커넥션을 제공한다.
독립적인 물리적 네트워크를 상호 연결한다.
장치 어드레스와 IP를 가지고 있어 효율적인 네트워크의 구분이 가능하여 데이터의 브로드캐스팅이 가능하다.
브릿지 동종의 네트워크간의 트래픽을 담당한다.
테이터링크 계층에서의 테이터 전송을 담당한다.
WAN 커넥션을 제공한다.
하나의 논리적 네트워크를 만든다.
장치 어드레스만을 가지고 있어 효율적인 네트워크의 구분이 불가능하다.

3.2.2 라우팅

라우팅이란 수신 호스트까지 패킷이 경유할 경로를 결정하는 것으로 Static 라우팅, Default 라우팅, 그리고 Dynamic(동적) 라우팅이 있으며 라우팅 우선 순위는 Static 라우팅, Dynamic 라우팅, Default 라우팅 순으로 경로를 결정한다는 것에 주의한다.

 

더 쉽게 이야기한다면 다른 네트웍에 있는 IP 어드레스를 찾는 경우 그 위치가 스태틱 라우팅 방법으로 정의된 라우팅 테이블을, 그 다음으로 Dynamic 라우팅 테이블을 그리고, 여기서도 못 찾으면 최종적으로 Default 라우팅 테이블을 참조하여 IP 어드레스를 찾는다는 것이다.

 

즉, 일반으로 소규모 회사에서 인터넷을 사용하기 위하여 전용선으로 연결하는 경우에는 바로 Default 라우팅 테이블만을 설정하면 충분하다는 것으로 그 테이블에 적히는 숫자는 바로 ISP와 회사와 연결된 IP 주소를 적으면 된다는 것이다.

◆ Static 라우팅

관리자가 입력한 라우팅 테이블을 이용하여 패킷을 통과시킨다.

◆ Default 라우팅

상대방 네트워크를 지정하지 않고 라우터에 패킷이 수신되면 라우팅 테이블에 등록되어 있는 대상으로 테이터를 전송한다.

◆ Dynamic 라우팅

각각의 인접한 라우터들 사이에서 네트워크 정보를 교환하고, 라우팅 테이블을 자동적으로 작성한다. 이 때 라우터들 사이에서 라우팅 테이블을 작성하고 제어하는 절차를 규정하고 있는 것이 라우팅 프로토콜이 된다.

3.2.3 라우팅 프로토콜

라우팅 프로토콜은 네트워크 그룹 범위에 따라 AS(Autonomous System)내에서의 라우팅 프로토콜인 IGP(Internal Gateway Protocol)와 AS 간 라우팅 프로토콜인 EGP (External Gateway Protocol)로 나누어진다.

* AS(Autonomous System)이란?

라우팅을 위해서 자율적으로 관리 할 수 있는 네트워크 그룹과 게이트웨이를 AS라고 한다. AS는 내부 라우팅 구성을 자유롭게 할 수 있고, 모든 AS의 네트워크 정보를 수집하고 다른 AS의 네트워크 정보를 통과시킬 하나 이상의 게이트웨이를 지정해야 한다. 보통 ISP(Internet Service Provider)들이 관리한다.

ex) ELIMNET의 AS 번호와 연결 상태

aut-numAS4663, inverse

descrJCHyun Systems, INC.

descr Internet Service Provider

as-in from AS1792 100 accept AS1792

as-in from AS3608 110 accept AS3608

as-out to AS1792 announce ANY

as-out to AS3608 announce ANY

default AS1792 10

default AS3608 20

admin-c JH1-KR, inverse

tech-c MK1-KR, inverse

notify mhkim@star.elim.co.kr, inverse

mnt-by MAINT-JCHYUN-KR, inverse

changed mhkim@star.elim.co.kr 951228

source APNIC

(1) IGP(Internal Gateway Protocol)

AS 내에서 경로 정보를 교환하여 통신하는 라우팅 프로토콜

종류) RIP, HELLO, IGRP, EIGRP, OSPF

(2) EGP(External Gateway Protocol)

AS와 AS 간 경로 정보를 교환하여 통신을 하는 프로토콜

종류) EGP, BGP, BGP4

3.2.4 경로 설정 알고리즘

Dynamic 라우팅 방법을 의미하는 경로 설정 알고리즘은 크게 거리 벡터(Distance-Vector)와 링크 상태(Link-States)로서 나눌 수 있다.

Distance-Vector Link-States
IGP RIP, HELLO, IGRP OSPF
EGP 해당없음 EGP, BGP, BGP4

(1) Distance-Vector

각 라우터가 인접해 있는 라우터와 경로 설정 정보를 교환하여 네트워크 구성에 관한 정보를 교환하는 구조를 의미한다. 각 라우터는 새로운 정보를 받게 될 경우 주위의 라우터에게 이를 알려주어 이것이 전체 네트워크로 확산되게 한다.

 

그러나, 이러한 정보의 제공이 소규모에서는 문제점을 나타내지 않지만 대규모인 경우에는 이러한 정보 교환이 전체 네트워크의 효율을 저하시킨다. 또한 단순히 다른 네트워크의 위치정보만을 가지고 있기 때문에 네트워크 내부의 상태가 변경될 경우에 있어서 정보 갱신 속도가 느려 전체 네트워크의 성능저하를 가져올 위험이 크다.

(2) Link-States

라우터는 먼저 각각의 독립된 네트워크 영역을 바라보는 방법을 결정하며 그 정보를 다른 모든 라우터들에게 전달하는 구조를 가진다. 각 라우터가 주위의 독립된 네트워크를 다른 라우터로 전송하므로 각 라우터는 다른 라우터가 어디에 존재하고 어느 네트워크에 접속되어 있는지 알 수 있게 된다.

 

즉, 하나의 라우터가 모든 연결점에 대한 최단 전송로에 대한 정보를 모두 알고 있다는 의미이다. 이것에 기반하여 라우팅 테이블을 만들고 어떠한 상태의 변환이 있으면 그 정보만을 테이블에서 업데이트하여 경로 탐색 시간 단축효과와 라우터와 라우터와의 주기적인 정보교환으로인한 네트워크의 부하 증가를 줄일 수 있다.

3.2.5 RIP(Routing Information Protocol)

RIP는 XEROX사의 XNS(Xerox Network System)에서 사용하기 위하여 개발되어졌고, 후에 BSD UNIX의 routed라는 프로세스에 이 프로토콜이 구현된 후 RFC 1058 규정에 의하여 IGP 표준 라우팅 프로토콜로 자리잡고 있다.

 

RIP는 Vector-Distance 알고리즘을 이용하여 도달할 목적지까지의 거리를 홉수(Hop count; 도약 계수)로서 정의하며 이러한 홉수를 Metric이라는 테이블에 저장하여 최단 거리를 제공한다. RIP에서 홉수는 16이상을 넘지 못하게 설정되어 있으며 30초에 한번씩 자신의 Metric 정보를 이웃 라우터로 전송한다. 그리고 이웃 라우터로 부터 특정 라우터에 대한 정보가 전송되지 않으면 이 라우터를 Metric에서 제거한다.(300초 후)

 

RIP는 단순히 네트워크의 연결 정보만을 가지고 있기 때문에 네트워크내부에 대한 문제점을 파악하여 이웃 라우터로 전달하는 시간이 많이 걸리게 되어 네트워크의 효율성을 저하시키기 때문에 이러한 문제점을 해결하기 위한 많은 방법이 연구되어졌다.

(1) 홉수 제한(Hop Count Limit)

RIP에서는 거리값을 계산하기 위한 것으로서 홉(Hop)을 사용하는데 이 홉은 망을 하나씩 통과할 때마다 1씩 증가하게 된다. 이 홉계수에 제한이 없는 경우에는, 라우터의 어떤 특정 인터페이스가 고장 났을 때, 그 인터페이스에 연결된 목적지에 대한 정보는 다른 이웃 라우터와 무한히 홉계수를 증가시키면서 교환하게 되는 경우가 발생한다. 따라서 RIP에서는 이를 방지하기 위해 증가할 수 있는 최대 홉 크기를 15로 제한하고 있다.

 

홉계수 제한을 통해 홉계수가 무한히 증가하는 라우팅 순환을 막을 수는 있지만, 이것은 홉 계수가 15를 넘어서는 망과는 연결할 수가 없다는 제한을 가져오므로, 대규모 망에서 RIP의 사용을 제한하는 중요한 단점이 된다.

(2) Hold Down

어떤 한 경로가 무효가 되었을 때, 이 경로의 무효를 검출한 라우터는 이를 이웃한 라우터에게 알려주게 된다. 그러나 이는 전 네트워크를 통하여 동시에 이루어지는 것이 아니므로, 무효화된 경로에 대한 정보는 어느 일정시간 동안 갱신하지 않고 유지하고 있어야 한다.

 

예를 들면, 라우터 A가 무효가 된 경로 X를 발견하고 이를 이웃한 라우터 B에게 알려 준다고 했을 때, 무효경로 X에 대한 통보를 받지 못한 라우터 C는 경로 X에 대한 정보를 라우터 B에게 전송할 수 있다. 이때, 라우터 B는 C로부터 수신한 X에 대한 정보를 유지할 경우, 이미 무효된 경로 X를 유효한 것으로 판단하게 되는 오류를 범하게 되는 것이다. 따라서 이러한 무효경로의 갱신 보류 시간은 전체 네트워크의 라우터를 갱신하는 데 필요한 시간보다 커야 한다.

 

덧붙여 설명을 하면 A-B-C-D 가 있을 때 C와 D 경로가 무효가 되면 C는 B로 이 정보를 알려주게 되고 B는 D로 가는 라우팅 테이블을 업데이트시키고 Hold Down 상태로 되어서 다른 라우터로부터 오는 D경로의 업데이트 신호를 무시하게 되며 A로 C에서 받은 D 경로 무효 정보를 보내게 되는 것이다.

 

그리고 A는 다시 B와 같이 동작하게 된다. 이렇게 해서 전 네트워크에 C에서 D로 가는 경로가 무효화 됐다는 정보가 갱신되기까지 무효경로의 보류 시간이 커야 한다는 것이다.

(3) Split Horizon

어떤 네트워크 N에 인접한 라우터 A가 N에 대한 정보를 라우터 B에게 전송했을 때, 라우터 B는 이 정보를 다시 라우터 A에게 전송할 필요가 없다는 것으로 이 규칙을 적용하면, 인접한 두 라우터가 라우팅 loop에 빠지는 것을 방지할 수 있다.

(4) Poison Reverse Update

Poison Reverse는 무효화된 경로를 삭제하고 Hold-Down 상태로 있게 하기 위해 전송된다.

앞의 예에서처럼 A-B-C-D로 연결이 되어 있을 때 C와 D경로가 무효화되면 C는 D로의 hop count를 16으로 설정하여 B로 보내게 된다. 그러면 B에서는 C에서 D로의 경로가 무효화 된 것으로 판단하여 그 경로를 라우팅 테이블에서 삭제하게 된다.

 

Split Horizon 규칙이 인접한 라우터 사이의 라우팅 순환을 방지한다면 Poison Reverse 갱신 전문은 보다 큰 라우팅 순환을 방지할 수 있다.

(5) Timeouts

RIP를 사용하는 모든 라우터들은 사용자가 설정한 시간 간격에 기초해서 Update 메시지를 보내는데 이 시간 간격은 디폴트값으로 한 번에 매 30초마다 update 정보를 broadcasting 한다.

 

그런데 만약 이 업데이트 간격의 6배 (기본이 30초일 때 180초)에 업데이트 메시지를 받지 못한다면 라우터는 source 라우터가 이상이 있거나 연결상태가 사용할 수 없는 것으로 가정하게 되며 기존에 있던 라우터 경로를 존재하지 않은 것으로 표시하고 라우팅 테이블에서 제거하게 된다.

 

그리고 다른 라우터로부터 새로운 경로 정보를 받으면 삭제한 경로를 대신해 업데이트가 되는 것이다

3.2.5 IGRP(Interior Gateway Routing Protocol)

IGRP는 Cisco사에서 만든 경로 설정 프로토콜로서 Cisco 라우터들 사이에서 사용되며 거리 벡터형 프로토콜에 속한다. IGRP는 RIP과 마찬가지로 인접한 Cisco 라우터간에만 경로 설정 정보를 교환하지만 여기에는 네트워크의 요약 정보도 포함되어 있다.

 

네트워크의 요약 정보란 토폴로지 상의 지연 시간(Delay), 매체의 대역폭(Bandwidth), 채널 점유도(Loading), 신뢰성(Reliability)으로 구성된다. 토폴로지 상의 지연 시간이란 부하가 걸려 있지 않은 네트워크를 가정할 경우, 특정 경로를 통해 목적지까지 걸리는 시간을 말한다. 물론 네트워크에 부하가 걸려 있으면 거기에 지연 시간을 더하게 된다. IGRP에서는 이것을 채널 점유도 값으로 추측하게 되며 따라서 채널 점유도는 그 대역폭이 현재 어느 정도 사용되고 있는지를 나타내며 부하에 따라 갱신된다.

 

신뢰성은 한 시점에서의 오류율을 나타내는 것으로 패킷이 손상되지 않고 목적지에 도착한 비율을 의미한다. 이들 요약 정보를 바탕으로 특정 경로에 대한 척도를 계산하고 이 척도를 최적 경로 결정의 기준으로 삼게 된다.

3.2.6 BGP(Border Gateway Protocol)

BGP는 EGP의 경로 설정 프로토콜에 포함된 EGP의 개정판 프로토콜로서 Link-States 알고리즘을 가진다. EGP가 네트워크의 도착 가능성을 알리기 위한 역할만을 가지고 있어 어느 경로의 데이터 전송이 최적화된 경로인가를 알 수 없으나, BGP는 가중치라는 개념을 도입하여 여기에 우선 순위를 주게 되어 융통성 있는 경로 설정제어가 가능하다.

 

'네트워크 개요' 카테고리의 다른 글

3.1 인터네트워킹  (0) 2020.01.23
2.5 DSU/CSU  (0) 2020.01.23
2.4 허브(HUB)  (0) 2020.01.23
2.3 UTP 케이블과 인터페이스 방법  (0) 2020.01.23
2.2 이더넷 토폴로지(Topology)  (0) 2020.01.23