라우터

라우터(router) 또는 루터 혹은 공유기는 전 세계 인터넷과 같은 인터네트워킹을 포함하여 컴퓨터 망 간에 데이터 패킷을 전달하는 컴퓨터이자 네트워킹 장치이다.

라우터는 인터넷에서 "트래픽 지시" 기능을 수행한다. 라우터는 서로 다른 IP 네트워크의 두 개 이상의 데이터 회선에 연결된다. 데이터 패킷이 회선을 통해 들어오면 라우터는 패킷 헤더의 네트워크 주소 정보를 읽어 최종 목적지를 결정한다. 그런 다음 라우팅 테이블 또는 라우팅 정책의 정보를 사용하여 패킷을 다음 네트워크로 보낸다. 데이터 패킷은 목적지 노드에 도달할 때까지 인터네트워킹을 통해 한 라우터에서 다른 라우터로 전달된다.

가장 잘 알려진 IP 라우터 유형은 가정용 컴퓨터와 인터넷 간에 IP 패킷을 전달하는 가정 및 소규모 사무실 라우터이다. 기업용 라우터와 같은 더 정교한 라우터는 대기업 또는 ISP 네트워크를 강력한 코어 라우터에 연결하여 인터넷 백본의 광섬유 회선을 따라 고속으로 데이터를 전달한다.

라우터는 표준 컴퓨터 부품으로 만들 수 있지만 대부분 특수 목적의 전용 컴퓨터이다. 초기 라우터는 CPU에서 실행되는 소프트웨어 기반 포워딩을 사용했다. 더 정교한 장치는 성능을 높이거나 고급 필터링 및 방화벽 기능을 추가하기 위해 ASIC를 사용한다.

 역사 
섬네일|upright=0.8|최초의 아파넷 라우터인 인터페이스 메시지 프로세서는 1969년 8월 30일 UCLA에 납품되었으며 1969년 10월 29일에 온라인 상태가 되었다.

소프트웨어와 인터페이스 컴퓨터를 사용하는 스위칭 노드의 개념은 도널드 데이비스 (컴퓨터 과학자)가 1966년 NPL 네트워크를 위해 처음 제안했다. 같은 아이디어는 이듬해 웨슬리 클락이 아파넷에서 사용하기 위해 고안했으며, 이는 인터페이스 메시지 프로세서(IMP)라고 명명되었다. 최초의 인터페이스 컴퓨터는 1969년 초 영국 국립 물리학 연구소에 구현되었으며, 그해 말에는 미국 캘리포니아 대학교 로스앤젤레스, 스탠퍼드 연구소, 캘리포니아 대학교 샌타바버라, 유타 대학교 컴퓨터 공학과에 IMP가 설치되었다. 이 모든 것은 허니웰 516으로 구축되었다. 이 컴퓨터들은 오늘날 라우터와 기본적으로 동일한 기능을 가지고 있었다.

라우터(당시에는 게이트웨이라고 불렸다)에 대한 아이디어는 처음에 국제 네트워크 작업 그룹 (INWG)이라는 컴퓨터 네트워킹 연구자들의 국제 그룹을 통해 나왔다.Davies, Shanks, Heart, Barker, Despres, Detwiler and Riml, "Report of Subgroup 1 on Communication System", INWG Note No. 1. 이 게이트웨이 장치들은 두 가지 면에서 대부분의 이전 패킷 교환 방식과 달랐다. 첫째, 직렬 회선과 근거리 통신망과 같이 서로 다른 종류의 네트워크를 연결했다. 둘째, 이들은 비연결형 통신 장치였으며, 트래픽이 안정적으로 전달되도록 보장하는 역할이 없었고, 그 기능을 전적으로 호스트에게 맡겼다. 이 특정 아이디어, 즉 엔드 투 엔드 원칙은 도널드 데이비스의 연구에 포함되어 있었다.

이 개념은 인터네트워킹을 위한 작동 시스템을 구축하기 위해 다양한 그룹에 의해 실제로 탐구되었다. 세 가지 주목할 만한 동시대 프로그램이 있었다. 첫 번째는 루이 푸진이 1972-3년 동안 설계 및 개발한 CYCLADES 네트워크의 구현이었다. 두 번째는 새로운 네트워킹 기술을 탐구하기 위한 제록스 PARC의 프로그램으로, PARC 유니버설 패킷 시스템을 생산했다. 1974년 초 이후, 최초의 제록스 라우터가 작동하기 시작했다. 기업 지적 재산권 문제로 인해 수년 동안 제록스 외부에서는 거의 주목받지 못했다.David Boggs, John Shoch, Edward Taft, Robert Metcalfe, "Pup: An Internetwork Architecture", IEEE Transactions on Communications, Volume 28, Issue 4, April 1980, pp. 612- 624. 세 번째는 1973-4년 동안 시작된 방위고등연구계획국 주도 프로그램이었다. 이 프로그램은 다른 두 프로그램의 연구를 기반으로 했으며 크게 확장되어 오늘날 사용되는 TCP/IP 아키텍처를 만들었다. 유니버시티 칼리지 런던 (UCL)은 1973년부터 1980년대 후반까지, 나중에는 SATNET을 사용하여 영국 연구 그룹과 아파넷 사이에 게이트웨이를 제공했다.

최초의 진정한 IP 라우터는 BBN의 지니 트래버스(Ginny Travers)가 방위고등연구계획국 주도 프로젝트의 일환으로 1975-1976년에 개발했다. 1976년 말까지 3대의 PDP-11 기반 라우터가 실험 프로토타입 인터넷에서 작동 중이었다.Craig Partridge, S. Blumenthal, "Data networking at BBN"; IEEE Annals of the History of Computing, Volume 28, Issue 1; January–March 2006. 마이크 브레시아(Mike Brecia), 지니 트래버스(Ginny Travers), 밥 힌덴(Bob Hinden)은 2008년에 초기 IP 라우터에 대한 IEEE 인터넷상을 수상했다.

최초의 멀티프로토콜 라우터는 1981년 MIT와 스탠퍼드 대학교의 연구원들이 독립적으로 개발했으며, 이들 역시 PDP-11을 기반으로 했다. 스탠퍼드 라우터 프로그램은 윌리엄 예거가, MIT 라우터 프로그램은 노엘 치아파가 이끌었다.Valley of the Nerds: Who Really Invented the Multiprotocol Router, and Why Should We Care? , Public Broadcasting Service, Accessed August 11, 2007.Router Man , NetworkWorld, Accessed June 22, 2007.David D. Clark, "M.I.T. Campus Network Implementation", CCNG-2, Campus Computer Network Group, M.I.T., Cambridge, 1982; pp. 26.Pete Carey, "A Start-Up's True Tale: Often-told story of Cisco's launch leaves out the drama, intrigue", San Jose Mercury News, December 1, 2001. 현재 거의 모든 네트워킹은 TCP/IP를 사용하지만 멀티프로토콜 라우터는 여전히 제조되고 있다. 이들은 TCP/IP 외의 프로토콜이 사용되던 컴퓨터 네트워킹 성장 초기 단계에서 중요했다. IPv4와 IPv6를 모두 처리하는 최신 라우터는 멀티프로토콜이지만 AppleTalk, DECnet, IPX, Xerox 프로토콜을 처리하는 라우터보다 간단한 장치이다.

1970년대 중반부터 1980년대에는 범용 미니컴퓨터가 라우터 역할을 했다. 최신 고속 라우터는 네트워크 프로세서 또는 패킷 전달과 같은 일반적인 라우팅 기능과 IPsec 암호화와 같은 특수 기능을 가속화하기 위해 추가 하드웨어 가속이 추가된 고도로 전문화된 컴퓨터이다. 리눅스 및 유닉스 소프트웨어 기반 머신이 연구 및 기타 애플리케이션을 위해 오픈 소스 라우팅 코드를 실행하는 경우가 많다. 시스코 IOS 운영 체제는 독립적으로 설계되었다. Junos 및 NX-OS와 같은 주요 라우터 운영 체제는 유닉스 소프트웨어의 광범위하게 수정된 버전이다.

 동작 
상호 연결된 네트워크에서 여러 라우터가 사용될 때 라우터는 라우팅 프로토콜을 사용하여 목적지 주소에 대한 정보를 교환할 수 있다. 각 라우터는 상호 연결된 네트워크의 두 컴퓨터 시스템 간의 경로 목록인 라우팅 테이블을 구축한다.

라우터를 실행하는 소프트웨어는 동시에 작동하는 두 개의 기능 처리 장치(플레인)로 구성된다.
 제어 플레인: 라우터는 데이터 패킷을 전달하는 데 사용해야 할 경로와 어떤 물리적 인터페이스 연결을 통해 전달해야 하는지를 나열하는 라우팅 테이블을 유지한다. 이는 정적 경로라는 내부 사전 구성 지시어를 사용하거나 라우팅 프로토콜을 사용하여 동적으로 경로를 학습함으로써 수행된다. 정적 및 동적 경로는 라우팅 테이블에 저장된다. 제어 플레인 논리는 테이블에서 필수적이지 않은 지시어를 제거하고 포워딩 플레인에서 사용할 포워딩 정보 베이스 (FIB)를 구축한다.
 포워딩 플레인: 이 장치는 들어오고 나가는 인터페이스 연결 간에 데이터 패킷을 전달한다. 각 패킷이 들어올 때 헤더를 읽고, 제어 플레인에서 제공하는 FIB의 항목과 목적지를 일치시키고, FIB에 지정된 나가는 네트워크로 패킷을 전달한다.

 응용 
섬네일|right|DSL 라우터는 인터넷에 연결하기 위한 전화 소켓(왼쪽, 흰색)과 가정용 컴퓨터 및 프린터에 연결하기 위한 이더넷 잭(오른쪽, 노란색)을 보여준다섬네일|10G/40G/100G 인터페이스와 중복 프로세서/전원/팬 모듈을 갖춘 캐리어급 라우터

라우터는 구리 케이블, 광섬유 또는 무선 통신 전송과 같은 여러 유형의 물리 계층 연결을 위한 인터페이스를 가질 수 있다. 또한 여러 네트워크 계층 전송 표준을 지원할 수 있다. 각 네트워크 인터페이스는 데이터 패킷을 한 전송 시스템에서 다른 전송 시스템으로 전달할 수 있도록 하는 데 사용된다. 라우터는 또한 각각 고유한 네트워크 접두사를 가진 서브넷이라고 알려진 두 개 이상의 논리적 컴퓨터 장치 그룹을 연결하는 데 사용될 수 있다.

라우터는 기업 내, 기업과 인터넷 간, 또는 인터넷 서비스 제공자 (ISP) 네트워크 간에 연결성을 제공할 수 있으며, 서로 다른 네트워크 간에 데이터를 지시하는 역할도 담당한다. 가장 큰 라우터(예: 시스코 CRS-1 또는 주니퍼 PTX)는 다양한 ISP를 상호 연결하거나 대규모 기업 네트워크에서 사용될 수 있다. 소규모 라우터는 일반적으로 일반 가정 및 사무실 네트워크에 연결성을 제공한다.

모든 크기의 라우터는 기업 내에서 찾을 수 있다. 가장 강력한 라우터는 일반적으로 ISP, 학술 및 연구 시설에서 발견된다. 대기업 또한 지속적으로 증가하는 인트라넷 데이터 트래픽 수요를 처리하기 위해 더 강력한 라우터가 필요할 수 있다. 대규모 네트워크에서 라우터를 상호 연결하기 위한 계층적 인터네트워킹 모델이 일반적으로 사용된다. 일부 라우터는 직렬 포트를 통해 데이터 서비스 유닛에 연결하여 T1 연결을 제공할 수 있다.

 액세스, 코어 및 분배 
섬네일|OpenWrt에서 사용되는 LuCI 웹 인터페이스의 스크린샷이다. 이 페이지는 DDNS를 구성한다.
계층적 인터네트워킹 모델은 기업 네트워크를 코어, 분배, 액세스 세 계층으로 나눈다.

소호 모델을 포함한 액세스 라우터는 자체 계층적 라우팅이 필요 없는 지점 사무실과 같은 가정 및 고객 사이트에 위치한다. 일반적으로 저비용에 최적화되어 있다. 일부 소호 라우터는 Tomato, OpenWrt 또는 DD-WRT와 같은 대체 리눅스 기반 펌웨어를 실행할 수 있다.

분배 라우터는 여러 액세스 라우터에서 트래픽을 집계한다. 분배 라우터는 종종 광역 통신망 (WAN) 전반에 걸쳐 QoS를 강제하는 역할을 하므로 상당한 메모리, 여러 WAN 인터페이스 연결 및 상당한 온보드 데이터 처리 루틴을 가질 수 있다. 또한 파일 서버 그룹 또는 다른 외부 네트워크에 연결성을 제공할 수도 있다.

기업에서 코어 라우터는 여러 캠퍼스 건물 또는 대규모 기업 위치에서 분배 계층 라우터를 상호 연결하는 콜랩스드 백본을 제공할 수 있다. 이들은 높은 대역폭에 최적화되는 경향이 있지만 에지 라우터의 일부 기능은 부족하다.

 보안 
외부 네트워크는 로컬 네트워크의 전반적인 보안 전략의 일부로 신중하게 고려되어야 한다. 라우터는 방화벽, 가상사설망 처리 및 기타 보안 기능을 포함할 수 있거나, 별도의 장치에서 처리할 수도 있다. 라우터는 또한 일반적으로 네트워크 주소 변환을 수행하는데, 이는 외부 연결에서 시작된 연결을 제한하지만 모든 전문가에게 보안 기능으로 인식되지는 않는다. 일부 전문가는 오픈 소스 라우터가 사유 소프트웨어 라우터보다 더 안전하고 신뢰할 수 있다고 주장하는데, 이는 오픈 소스 환경에서 오류 및 잠재적으로 악용 가능한 취약점이 발견되고 해결될 가능성이 더 높기 때문이다.

 다른 네트워크 라우팅 
라우터는 종종 작동하는 네트워크를 기준으로도 구별된다. 단일 조직의 근거리 통신망 (LAN)에 있는 라우터는 내부 라우터라고 불린다. 인터넷 백본에서 작동하는 라우터는 외부 라우터로 설명된다. LAN을 인터넷 또는 광역 통신망 (WAN)에 연결하는 라우터는 경계 라우터 또는 게이트웨이 라우터라고 불린다.

 인터넷 연결 및 내부 사용 
ISP 및 주요 기업 연결을 위한 라우터는 일반적으로 경계 경로 프로토콜 (BGP)을 사용하여 라우팅 정보를 교환한다. 은 기능에 따라 BGP 라우터 유형을 정의한다.
 에지 라우터 또는 AS 간 경계 라우터: ISP 네트워크의 에지에 위치하며, 라우터는 업스트림 IP 트랜짓 제공업체와 피어링하거나, IXP를 통한 양자 피어링, 사설망 상호 연결 (PNI)을 통한 사설 피어링 (또는 정산 없는 피어링)을 광범위한 외부 경계 게이트웨이 프로토콜 (eBGP)을 통해 수행하는 데 사용된다.
 프로바이더 라우터 (P): 프로바이더 라우터는 트랜짓 라우터라고도 불리며, MPLS 네트워크에 위치하며 PE 라우터 간에 레이블 전환 경로를 설정하는 역할을 한다.
 프로바이더 에지 라우터 (PE): 네트워크의 액세스 계층에 있는 MPLS 특정 라우터로, 고객 에지 라우터와 상호 연결하여 레이어 2 또는 레이어 3 VPN 서비스를 제공한다.
 고객 에지 라우터 (CE): 가입자 네트워크의 에지에 위치하며, L2VPN 서비스의 경우 PE 라우터와 상호 연결하거나, 전용 인터넷 액세스의 경우 직접 레이어 3 IP 핸드오프를 수행한다. IP 트랜짓 서비스가 MPLS 코어를 통해 제공되는 경우, CE는 각 네트워크의 공용 ASN을 사용하여 eBGP로 PE와 피어링한다. L3VPN 서비스의 경우, CE는 eBGP를 사용하여 PE와 경로를 교환할 수 있다. 이는 일반적으로 서비스 제공업체 및 기업 또는 데이터 센터 조직 모두에서 사용된다.
 코어 라우터: 자율 시스템 내에 백본으로 존재하여 에지 라우터 간에 트래픽을 전달한다.
 ISP 내: ISP의 자율 시스템 내에서 라우터는 내부 BGP를 사용하여 다른 ISP 에지 라우터, 다른 인트라넷 코어 라우터 또는 ISP의 인트라넷 제공업체 경계 라우터와 통신한다.
 인터넷 백본: 인터넷은 더 이상 이전 네트워크와 달리 명확하게 식별 가능한 백본을 가지고 있지 않다. 기본 경로가 없는 영역 (DFZ)을 참조한다. 주요 ISP의 시스템 라우터는 현재 인터넷 백본 코어로 간주될 수 있는 것을 구성한다. ISP는 여기에 설명된 네 가지 유형의 BGP 라우터를 모두 운영한다. ISP 코어 라우터는 에지 및 경계 라우터를 상호 연결하는 데 사용된다. 코어 라우터는 또한 BGP와 다중 프로토콜 레이블 스위칭 프로토콜의 조합을 기반으로 하는 가상사설망에서 특수 기능을 가질 수 있다.
 포트 포워딩: 레거시 IPv4 및 NAT에 의존하는 일부 네트워크에서는 라우터(종종 NAT 박스로 레이블링됨)가 RFC 1918 주소 공간과 공개적으로 할당된 IPv4 주소 간의 포트 포워딩 구성을 위해서도 사용된다.
 음성, 데이터, 팩스 및 비디오 처리 라우터: 일반적으로 액세스 서버 또는 게이트웨이라고 불리는 이 장치들은 인터넷에서 음성, 데이터, 비디오 및 팩스 트래픽을 라우팅하고 처리하는 데 사용된다. 2005년 이후 대부분의 장거리 전화 통화는 음성 게이트웨이를 통해 IP 트래픽(음성 인터넷 프로토콜)으로 처리되었다. 액세스 서버 유형 라우터의 사용은 인터넷의 등장과 함께 확장되었으며, 처음에는 다이얼업 액세스로 시작하여 음성 전화 서비스와 함께 다시 부활했다.
 대규모 네트워크는 일반적으로 멀티레이어 스위치를 사용하며, 레이어 3 장치는 동일한 보안 영역 내의 여러 서브넷을 단순히 상호 연결하는 데 사용되고, 필터링, 변환, 부하분산, 또는 기타 고수준 기능이 필요한 경우, 특히 영역 간에 고수준 스위치를 사용한다.

 Wi-Fi 라우터 

Wi-Fi 라우터는 라우터 기능과 무선 액세스 포인트 기능을 결합한다. 일반적으로 주거용 표준 전원 공급 장치에서 작동하는 소형 폼 팩터 장치이다. 인터넷 서비스 제공자가 제공하는 인터넷에 연결되어 가정 또는 사무실 사용을 위한 무선망을 통해 인터넷 액세스를 제공한다.

 포워딩 

라우터의 주요 목적은 여러 네트워크를 연결하고 직접 연결된 네트워크 또는 더 먼 네트워크로 향하는 패킷을 전달하는 것이다. 라우터는 기본 전달 결정이 레이어-3 IP 패킷의 정보, 특히 목적지 IP 주소를 기반으로 하기 때문에 레이어-3 장치로 간주된다. 라우터가 패킷을 수신하면 라우팅 테이블을 검색하여 패킷의 목적지 IP 주소와 라우팅 테이블의 주소 중 가장 일치하는 것을 찾는다. 일치하는 것을 찾으면 패킷은 테이블 항목에 표시된 나가는 인터페이스에 대한 레이어-2 데이터 링크 프레임으로 캡슐화된다. 라우터는 일반적으로 패킷 페이로드에는 관심이 없으며, 전달 결정을 내리기 위해 레이어-3 주소만 본다. 또한 예를 들어 QoS에 대한 힌트를 얻기 위해 헤더의 다른 정보를 선택적으로 볼 수 있다. 순수 IP 전달의 경우 라우터는 개별 패킷과 관련된 상태 정보를 최소화하도록 설계되었다. 패킷이 전달되면 라우터는 패킷에 대한 이전 정보를 저장하지 않는다.

라우팅 테이블 자체는 수동으로 구성된 기본 경로 또는 정적 경로와 같은 다양한 소스에서 파생된 정보나 라우터가 다른 라우터로부터 경로를 학습하는 라우팅 프로토콜의 동적 항목을 포함할 수 있다. 기본 경로는 목적지가 라우팅 테이블에 나타나지 않는 모든 트래픽을 라우팅하는 데 사용되는 경로이다. 이는 가정이나 소규모 기업과 같이 모든 비로컬 트래픽을 단순히 인터넷 서비스 제공자에게 보내는 소규모 네트워크에서 일반적이고 심지어 필수적이다. 기본 경로는 수동으로 구성(정적 경로로)되거나, 동적 라우팅 프로토콜에 의해 학습되거나, DHCP에 의해 얻어질 수 있다.

라우터는 한 번에 두 개 이상의 라우팅 프로토콜을 실행할 수 있으며, 특히 다른 라우팅 프로토콜을 실행하는 네트워크 부분 간의 자율 시스템 경계 라우터 역할을 하는 경우 그렇다. 이 경우 동일한 라우터에서 실행되는 다른 프로토콜 간에 정보를 공유하기 위해 (일반적으로 선택적으로) 재분배를 사용할 수 있다.

패킷을 어떤 인터페이스로 전달할지 결정하는 것 외에도(주로 라우팅 테이블을 통해 처리됨) 라우터는 패킷이 라우터가 처리할 수 있는 속도보다 더 빠르게 도착할 때 혼잡을 관리해야 한다. 일반적으로 사용되는 세 가지 정책은 테일 드롭, 무작위 조기 검출 (RED), 그리고 가중 무작위 조기 검출 (WRED)이다. 테일 드롭은 가장 간단하고 쉽게 구현할 수 있다. 라우터는 버퍼 공간이 고갈되면 새롭게 들어오는 패킷을 단순히 버린다. RED는 큐가 버퍼의 미리 구성된 부분을 초과할 때 패킷을 조기에 확률적으로 버리며, 미리 결정된 최대치에 도달할 때까지 모든 들어오는 패킷을 버려 테일 드롭으로 돌아간다. WRED는 트래픽 유형에 따라 패킷을 더 쉽게 버리도록 구성할 수 있다.

라우터가 수행하는 또 다른 기능은 트래픽 분류와 어떤 패킷을 먼저 처리할지 결정하는 것이다. 이것은 음성 인터넷 프로토콜이 배치될 때 과도한 지연을 유발하지 않도록 중요한 QoS를 통해 관리된다.

라우터가 수행하는 또 다른 기능은 정책 기반 라우팅이라고 불리는데, 패킷 전달 결정이 내려질 때 라우팅 테이블에서 파생된 규칙을 재정의하기 위한 특별한 규칙이 구성된다.

일부 기능은 패킷 처리의 CPU 시간 오버헤드를 피하기 위해 ASIC를 통해 수행될 수 있다. 다른 기능은 ASIC가 처리할 수 없는 특별한 주의가 필요한 패킷이므로 CPU를 통해 수행해야 할 수도 있다.

 같이 보기 

 어바이어
 코어 라우터
 DSL 라우터
 무선 라우터
 액세스 포인트
 허브
 네트워크 브리지
 네트워크 스위치
 와이파이
 공유기
 BSD

 각주 
 내용주

 참조주


분류:컴퓨터 네트워크
분류:하드웨어 라우터