라우터

 


[image]
[image]
코어 라우터.
1. 개요
2. 동작
3. 대상
4. 특별히 라우터에서 취급하는 동작들
5. 소프트웨어 방화벽, 라우터
6. 기타
7. 관련 문서


1. 개요


'''라우터'''(router)는 OSI 7계층에서 네트워크 계층에 포함되는 기기이다.
논리적으로 분리된 망, 혹은 물리적으로 분리된 망 사이를 지나가야 하는 패킷들에게 경로를 뽑아 자기가 아는 '''최상의 경로를 찾아낸 뒤'''(물론 안 되는 라우터가 더 많다.) '''다른 망으로 패킷을 보내주는 역할'''을 하는 기계이다. 비유하자면 택시기사 정도.[1]
좀 쉽게 풀이한다면, 상위 통신망과 하위 통신망 사이를 중계해주는 기계라고 보면 된다.
게이트웨이[2] 역할도 하지만, 좀 더 '''많이''' 똑똑해서 여러가지 프로토콜을 통해 다른 라우터나 네임서버들과 통신하여 동적 라우팅을 지원한다던지, 라우터도 엄청난 인터페이스 카드[3]을 제외하면 하드디스크부터 메모리에 X86 CPU 나 DSP 및 파워PC CPU 까지 잡다하게 들어간 컴퓨터라서 쉘 환경에 익숙하다면 그냥 컴퓨터 쓰듯이 프로그램을 올릴수도 있다.
라우터는 사실 반드시 전용 머신이 필요한 것이 아니다. 일반적인 데스크탑으로도 얼마든지 라우터를 구축할 수 있다. 단지 라우터는 처음부터 네트워크 통신망 중계에 필요한 부품을 위주로 특별 제작되었기 때문에 일반 데스크탑으로 구축된 라우터에 비해 전기를 적게 먹고, 좀 더 안정적인 서비스가 가능하다.
라우터의 종류는 크게 세 종류로,
  • 코어 라우터: 한국 통신등의 인터넷 서비스 제공자(ISP)가 상호 ISP 네트워크를 서로 연결하는 것.
  • 센터 라우터: 전국 네트워크 WAN 회선을 거쳐 회사의 본점과 회사의 지점을 서로 연결하는 장비로써 기업체등에서 센터장비로 사용하는 것.
  • 엣지 라우터: 전국 네트워크 또는 각각 지점, 영업소의 네트워크를 WAN 회선에 연결하는 단말 장비.
일반적으로는 서버용OS에 관련 서비스를 추가하면 가능한데 이쪽 방면에서는 리눅스가 유명하며 리눅스에는 라우팅, 방화벽만을 위한 배포판도 있다.

2. 동작


라우터의 구성요소에는 제어면(Router Control Plane)과 전달면(Forwarding Plane)이 있다.
[image]
제어 평면은 라우터 소프트웨어 상에 존재하는 것으로, 들어온 패킷을 어디로 보내야할지에 대한 처리과정 및 거기에 필요한 테이블들이 있어서 이 녀석을 어떻게 처리할지에 대한 작업순서를 찾아볼 수 있다.
[image]
그리고 전달면에선 실제로 보내야 될 패킷과 제어면에서 만들어준 요구사항에 따라 패킷을 전송하게 된다. 소프트웨어가 없는 것은 아니며, 좀 더 하드웨어에 가깝다.

3. 대상


[image]
Internet Service Provider(사진은 Cisco Carrier Routing System-1)
[image]
Middle Company(사진은 Cisco NCS 5000 라우터)
[image]
개인 용도 - 인터넷 공유기

4. 특별히 라우터에서 취급하는 동작들



4.1. NAT


'''N'''etwork '''A'''ddress '''T'''ranslation.
라우터가 WAN과 LAN의 경계에 위치하고 하위 서브넷의 게이트웨이 역할을 할 때, NAT를 사용할 수 있다. 이것은 내부에서 특정 컴퓨터가 요청하는 패킷을 전달한 이후, 외부 서버는 하위망을 볼때 라우터 하나밖에 안보이는데다가 라우터는 컴퓨터 같아보이기 때문에 컴퓨터에게 답신 패킷을 전달하게 된다. 그러나 실제로 요청을 한 컴퓨터는 라우터 아래에 있는 어떤 컴퓨터이기에 그 컴퓨터로 이 패킷을 전달하게 되는데, 이때 안에서 밖으로 나가는 패킷은 내부망 주소에서 외부 망 주소로 바뀌며, 밖에서 안으로 들어오는 것은 외부망 주소에서 내부망 주소로 바뀐다. 당연히 멋대로 바꾸는 것이 아니라, 라우팅 테이블을 형성할때 내부에서 외부로의 요청을 기억하여 어느 컴퓨터가 어느 외부망의 것에게 패킷을 보내었는지 기억한다. 흔히 말하는 공유기는 스위칭 허브에 NAT 기능이 추가된 것이다.
이 동작을 통해 보통 게이트웨이가 아닌 라우터가 게이트웨이 역할을 하는 하부망은 외부에서 접근하였을때 내부를 볼 수 없어 보안이 크게 향상되는 효과가 있다.[4] 특히, 라우터에는 DHCP 서버나 네임서버들도 심어서 작동할 수 있다.

4.2. DHCP


문서 참조.

4.3. FireWall


라우터는 일단 왔다갔다하는 패킷 모두를 전부 처리하는 형식으로 작동하기에 악의적인 공격의도가 있는 패킷들을 검사해 걸러낼 수도 있으며, 패킷의 헤더를 보고 어디에서 전송된 패킷인지도 알 수 있다. 만약 사용자가 특정 IP 에서 오는 패킷들을 막아내고 싶으면 ACL 기능을 이용하여 차단할 수 있다. 또한, 외부의 네임서버에 DNS 조회를 할 때에도 마찬가지로 나가는 패킷을 뜯어보아 내부망에서 naver.com 에 접속하려고 한다면 그 연결을 끊어버리는 식으로 자원제한을 걸 수 있다.
포트포워드나 포트차단은 NAT 의 동작이지만, 차단이나 포워딩 테이블은 방화벽 프로그램이 관리하여 수정할 수도 있다.

4.4. VPN


해당 문서 참조.

5. 소프트웨어 방화벽, 라우터


소프트웨어 라우터 참조.

6. 기타


한국에서는 미국의 영향으로 라우터라고 발음하지 않으면 컴퓨터와 네트워크의 기초도 모르는 것으로 취급받기 쉽지만 영미권에서도 지역에 따라 루터라고 발음하는 곳도 있다. 라우터의 원래 기능이 네트워크 상에서 최적의 경로(루트 - route)를 찾아 주는 것이다. 어원을 따진다면 오히려 루터가 더 올바른 발음이라고 할 수 있다. 결론은 루터라고 해도 틀린 발음은 아니다. 단지 영국식 영어의 발음일 뿐.
일본어에서는 영국식 발음을 받아 ルーター라고 한다.
코나미BEMANI 시리즈 리듬게임 기기에서 네트워크 이상이 있을 경우 ルーター를 확인해 보라고 하는데, 라우터 쪽을 확인해보면 된다.

7. 관련 문서



[1] 여기서 패킷은 손님, 분리된 망들은 도시이다.[2] 관문. 흔히 톨-게이트 라고 불리는것도 게이트웨이로, 이 지점을 기준으로 다른 두개의 장소로 나뉘며, 이 지점에서 출입통제가 가능하면 그게 게이트웨이. 네트워크의 게이트웨이도 똑같다.[3] Fowarding plane[4] 게이트웨이의 경우 이 동작이 제대로 안되는데, 그 이유는 게이트웨이 자체가 L3 라우팅을 한다고해도 게이트웨이는 내부망에 대한 자원관리능력이 없기 때문이다.