본문 바로가기

와사비크래커 IT Tip/네트워크

[네트워크] 라우터 (Router)

728x90
반응형

1     라우터 (Router)

라우터

1.1    라우터의 정의

-      라우터는 이름 그대로 네트워크와 네트워크 간의 경로(Route)를 설정하고 가장 빠른 길로 트래픽을 이끌어주는 네트워크 장비이다.

1.2    라우터의 역할

-      동일한 전송 프로토콜을 사용하는 분리된 네트워크를 연결하는 장치로 계층 간을 서로 연결한다.

-      브리지가 가지는 기능에 추가하여 경로 배정표에 따라 다른 네트워크 또는 자신의 네트워크 내의 노드를 결정한다. 이러한 여러 경로 중 가장 효율적인 경로를 선택하여 패킷을 보낸다.

-      라우터를 사용하면 여러 컴퓨터가 서로 통신하고 두 개의 네트워크(: 홈 네트워크와 인터넷) 사이에서 정보를 전달할 수 있다.

-      라우터라는 이름은 네트워크 트래픽을 전송하는 기능에서 비롯되었다. 라우터는 유선(이더넷 케이블 사용) 또는 무선일 수 있다. 단지 컴퓨터, 허브 및 스위치를 연결하여 제대로 작동하게 하고 모든 컴퓨터에서 모뎀 하나를 사용하여 인터넷에 액세스 할 수 있도록 하려면 라우터나 기본 제공 라우터가 있는 모뎀을 사용해야 한다.

-      브리지와의 차이로는 라우터는 네트워크 계층까지의 기능을 담당하고 있으면서 경로 설정을 해주는 반면, 브리지는 데이터링크 계층까지의 기능만으로 목적지 주소에 따른 선별 및 간단한 경로 결정을 한다.

1.3    라우터의 장점

-      환경설정이 가능하다. 관리 방침에 따라 라우팅 방식이 결정되며, 전체 네트워크 성능이 개선된다.

-      유지보수가 용이하다. 알고리즘에 따라 자동으로 경로가 결정된다.

-      확장이 용이하다. 네트워크 형상에 구애 받지 않으므로 대규모 네트워크 구성이 용이하다.

1.4    라우터의 단점

-      초기 환경 설정이 어렵다.

-      특정 프로토콜이나 하위 프로토콜 지원이 불가능하고 복잡하므로 가격이 비싸다.

1.5    라우터의 구성

-    라우터는 다른 컴퓨터들과 동일한 컴퓨터이다. 그리고 일반 컴퓨터와 동일한 하드웨어와 소프트웨어 구성요소를 가지고 있다. (CPU, RAM, ROM, OS)

라우터의 내부 구성

1.5.1     RAM

-      CPU에 의해 처리되는데 필요한 명령어와 데이터를 저장한다.

-      휘발성 메모리로서 라우터의 전원이 꺼지거나 재부팅되면 그 속에 있던 내용이 지워지게 된다. 이러한 이유 때문에 라우터는 ROM이나 플래시, NVRAM[1]같은 영구적인 저장 장치를 가지고 있다.

1.5.2     ROM

-      영구적인 형태의 저장소이다. 라우터의 전원이 꺼지거나 재부팅되더라도 그 내용이 지워지지 않는다.

-      통합 서킷의 내부에 있는 펌웨어라는 소프트웨어를 사용한다.

1.5.3     플래시 메모리 (Flash Memory)

-      전기적으로 지우거나 다시 프로그램할 수 있는 비휘발성 컴퓨터 메모리이다. 운영 시스템을 위한 영구적인 저장소로 사용된다.

-      대부분의 라우터에서는 플래시 메모리에 영구적으로 저장되고 부팅 과정 동안 RAM으로 복사된다.

-      플래시 메모리는 ROM과 같이 라우터의 전원이 꺼지거나 재부팅되더라도 그 내용이 지워지지 않는다.

 

 

1.6    라우팅 알고리즘 (Routing Algorithm)

1.6.1     글로벌 라우팅 (Global Routing)

-      모든 라우터가 모든 완전한 토폴로지와 링크의 비용 정보를 알고 있다.

-      링크 상태 알고리즘(Link State Algorithms)이다.

1.6.2     분산 라우팅 (Decentralized Routing)

-      라우터는 physically-connected neighbors, link costs to neighbors에 대한 정보를 알고 있다.

-      계산의 반복과정, 이웃 노드와의 정보교환이 필요하다.

-      거리 벡터 알고리즘(Distance Vector Algorithms)이다.

1.6.3     정적 라우팅 (Static Routing)

-      라우터에 관리자가 고정적인 형태로 라우팅 테이블을 등록하는 기법이다.

-      Static은 정적인 프로토콜로 한번 정해 놓으면 무조건 그 경로로 전송한다.

-      CPU가 최적의 경로를 찾기 위한 계산을 하지 않기 때문에 라우팅 속도도 빨라지고 메모리도 적게 사용하기 때문에 라우터 성능이 좋아진다.

-      자신의 정보를 외부로 전송하지 않아 동적 라우팅보다 보안에 좋다.

-      네트워크 변화를 감지하기 어렵고 확장성이 낮기 때문에 대규모 네트워크에서는 사용하기 힘들다.

1.6.4     동적 라우팅 (Dynamic Routing)

-      라우터끼리 네트워크 정보를 주고받으면서 라우팅 테이블을 자동적으로 작성하는 기법이다.

-      구성형태나 트래픽의 상태를 변화에 따라 라우팅 결정을 동적으로 반영한다. 그렇기 때문에 라우터에 부담을 준다. (CPUMemory를 많이 사용한다.)

-      각 라우팅 프로토콜들은 최적의 경로를 선택하는 기준이 다르기 때문에 서로 다른 라우팅 프로토콜은 서로 정보를 교환하지 않는다.

-      목적지까지의 경로가 여러 개 존재할 경우 최적의 경로만 라우팅 테이블에 올라오고 나머지는 데이터 베이스에 저장한다. 최적의 경로에 문제가 생기면 다음 순의 경로가 라우팅 테이블에 올라온다.

1.6.5     디폴트 라우팅 (Default Routing)

-      라우팅 테이블에 등록되어 있지 않는 주소를 갖는 패킷들은 디폴트 라우터에서 지정된 경로로 전송된다.

-      네트워크에서 주소가 식별되지 않는 모든 패킷은 디폴트 라우터로 전송된다.

1.7    거리 벡터와 연결 상태 라우팅 알고리즘

1.7.1     거리 벡터 방식 (Distance Vector Advertisement)

-      네트워크 어드레스에 대해 거리(홉 수[2])와 경로설정 정보(네트워크 토폴로지 및 라우팅 메트릭 정보)를 다른 라우터로 보내 라우팅 테이블 정보를 변경하는 방법이다.

-      거리 벡터 알고리즘은 쉽고 간편하고 또 라우팅 테이블을 적게 사용하는 등의 여러 가지 장점이 있지만, 루핑이 발생하기 쉽다는 단점을 가지고 있다.

-      RIP, IGRP, EIGRP 등이 있다.

1.7.1.1      루핑(Routing Loops) 방지법

-      Maximum Hop Count 제한

s   라우팅 메트릭스를 제한한다. RIP의 경우 최대 홉 수를 15까지로 제한(16부터는 Unreachable)하면서 무한의 루핑을 방지한다.

-      홀드 다운 (Hold Down Timer)

s   한 번 다운된 경로에 대해서는 일정 시간 동안 라우팅 업데이트를 받지 않게 한다.

-      스플릿 호라이즌 (Split Horizon)

s   라우팅 정보를 받은 쪽으로는 같은 라우팅 정보를 보내지 않는다.

-      라우트 포이즈닝 (Route Poisoning)

s   다운된 네트워크의 메트릭 값을 사용할 수 없는 값으로 바꾸되 지우지는 않는다.

-      포이즌 리벌스 (Poison Reverse)

s   변형된 스플릿 호라이즌이다. 스플릿 호라이즌처럼 라우팅 정보를 보내온 쪽으로 내보내지 않는 것이 아니라 라우팅 정보를 되돌려 보내기는 하되 메트릭 값을 무한대 값으로 보낸다.

-      Triggered Update

1.7.1.2      RIP (Routing Information Protocol)

-      거리 계산 알고리즘에 기초하여 개발된 라우팅 프로토콜이다.

-      IGP(Interior Gateway Protocol)용이다.

-      소규모 또는 교육용 등 비교적 간단한 네트워크에 주로 사용된다.

-      수신된 네트워크 정보를 제외한 모든 네트워크 정보를 상대에게 알려준다. 수신 라우터는 네트워크 경로 항목에서 더 짧은 홉 수를 받았을 때만 해당 라우팅 경로 항목을 재작성한다.

-      최대 홉 수가 15로 제한되어 있다. 따라서 인터넷과 같은 큰 규모의 네트워크에는 적합하지 않고, 서브넷 마스크를 지원하지 않으므로 IP 주소 영역의 활용을 제한하는 단점이 있다.

-      라우터들끼리 주기적으로(30초 간격) 경로 업데이트를 하며 경로 재계산한다. 많은 라우터를 지날 경우 시간이 오래 걸린다. 또한, 주기적으로 브로드캐스트 함에 따라 트래픽 부하가 온다.

-      최적 경로를 산출하기 위한 정보로서 홉 수만을 고려하므로, RIP가 선택한 경로가 최적의 경로가 아닌 경우가 발생할 수 있다. 이러한 RIP의 단점들을 보완한 RIP 버전2가 개발되었다.

1.7.1.3      IGRP (Internet Gateway Routing Protocol)

-      시스코(Cisco)사의 경로 설정 프로토콜 시스코 라우터들 사이에 사용된다.

-      경로 설정 정보 전송 간격은 90초이며 인접 라우터 간 경로 설정 정보를 교환한다.

-      경로 선택 기준으로는 지연시간[3], 대역폭, 채널 점유도[4], 버스의 신뢰성 등이 있다.

 

1.7.2     연결 상태 방식(Link State Advertisement)

-      거리 계산 방식에 더해 대역폭, 전송지연, 회선 신뢰도, 부하 등을 고려해 최적의 경로를 선택한다.

-      라우터를 여러 개 거쳐서 홉 수가 많더라도 회선 속도가 빠른 쪽으로 경로를 설정할 수 있다.

-      OSPF, IS-IS, NLSP 등이 있다.

1.7.2.1      OSPF

-      라우터는 처음 부팅시, 헬로(Hello) 패킷의 교환에 의해 이웃한 라우터를 서로 인식한다.

-      어떤 네트워크에 접속된 복수개의 라우터 중에서, 그 네트워크를 대표하여 경로 정보의 생성 및 분배 책임을 지는 지명(Designated) 라우터를 선정하고, 이는 새로 인식된 라우터와 경로정보를 교환하여 동기화한다.

-      자신의 경로 테이블에 대한 정보를 LSA(Link State Advertisement)라는 자료 구조를 통하여 주기적으로 혹은 라우터의 상태가 변화되었을 때 전송한다. 이 때 LSA는 해당 영역의 모든 라우터에게 알려지게 된다.

-      한 영역에 속한 모든 라우터는 같은 정보를 공유한다.

1.7.3     장단점 비교

거리 벡터

연결 상태

이웃한 라우터의 시각에서 네트워크를 인식

네트워크 전체를 인식

라우터와 라우터 간의 거리를 더하여 계산

다른 라우터까지의 최단 거리 계산

주기적으로 경신 데이터를 교환

(컨버젼스 시간의 증가)

이벤트 기반의 경신 신호 교환

(빠른 컨버젼스 시간)

이웃한 라우터와 라우팅 테이블 교환

링크 상태 정보만을 교환

 

 

 


[1] NVRAM(Non-Volatile Random-Access Memory)은 비 휘발성 RAM으로서 전원이 꺼지더라도 그 속의 내용이 지워지지 않는다.

[2] Hop Count: 거쳐가는 라우터의 수

[3] 지연시간: 미디어를 통해 목적지까지 가는데 걸리는 시간

[4] 채널 점유도: 대역폭이 현재 어느 정도 사용되고 있는지를 나타냄

반응형