가상 랜

컴퓨터 네트워크에서 여러 개의 구별되는 브로드캐스트 도메인을 만들기 위해 단일 2계층 네트워크를 분할할 수 있는데, 이렇게 분리되면 패킷들은 하나 이상의 라우터들 사이에서만 이동할 수 있다. 이러한 도메인을 가상 랜()으로 부르며, 가상 근거리 통신망(), 가상 LAN(), 또는 간단히 VLAN으로도 표기한다.
일반적으로 스위치나 라우터 장비에서 수행된다. 더 단순한 장비들은 포트 수준에서의 분할만 지원하므로 장비를 넘나들며 VLAN을 공유하는 일에는 개별 VLAN을 위한 전용 케이블 설비가 필요하다. 더 복잡한 장비들은 태그 추가 작업을 통해 패킷을 표시함으로써 하나의 상호 연결 (트렁크)이 여러 VLAN을 위한 데이터 전송에 사용될 수 있다.
VLAN의 기능을 물리적으로 복제하려면 별도의 병렬의 네트워크 케이블과, 주 네트워크로부터 분리된 장비가 필요하다. 그러나 물리적으로 분리된 네트워크와 달리 VLAN은 대역을 공유하므로 VLAN 트렁크는 링크 애그리게이션 및 QoS 우선 순위가 요구된다.
VLAN에 의한 물리적 위치에 관계 없이 공통의 요구사항을 갖춘 호스트 컴퓨터들을 하나로 묶으면 네트워크 디자인을 더욱 상당히 단순하게 만들 수 있다. VLAN은 물리적인 근거리 통신망(LAN)과 동일한 특성을 지니고 있으나 종단국(end station)이 동일 네트워크 스위치에 존재하지 않더라도 더 쉽게 묶일 수 있게 한다는 차이점이 있다. VLAN 멤버십은 물리적으로 재할당하는 장치나 연결 대신 소프트웨어를 통해 구성할 수 있다. 오늘날 대부분의 기업망들은 가상 랜의 개념을 사용하고 있다. VLAN이 없으면 스위치는 스위치 상의 모든 인터페이스가 동일한 브로드캐스트 도메인에 위치한 것으로 간주한다.
이용.
네트워크 설계자들은 LAN 구성에서 VLAN을 구축하여 라우터가 전통적으로 제공했던 세그멘테이션 서비스를 제공한다. VLAN 토폴로지에서 라우터들은 브로드캐스트 필터링, 보안, 주소 축약, 트래픽 흐름 관리를 제공한다. 정의한 바처럼 스위치들은 VLAN 간 IP 트래픽을 브리지(bridge) 처리하지 않으므로 VLAN 브로드캐스트 도메인의 무결성을 방해할 수 있다.
VLAN은 동일 2계층 스위치 상의 다수 3계층 네트워크를 만드는 일을 도와준다. VLAN을 사용함으로써 네트워크를 쉽게 분할할 수 있으므로 일부 호스트들은 DHCP 서버를 사용하지 않고 링크 로컬 주소를 얻거나, 다른 DHCP 서버로부터 주소를 얻을 것이다. DHCP를 이용할 수 없는 경우 호스트들은 DNS 서버를 사용할 수도 있다.
VLAN은 3계층 구조인 IP 서브넷과 비교하면 2계층 구조이다. VLAN을 이용하는 환경에서는 하나의 VLAN에 여러 개의 서브넷을 소유할 수 있음에도 불구하고 VLAN과 IP 서브넷 사이에 일대일 관계가 이따금 존재한다. VLAN과 IP 서브넷들은 다른 하나로 매핑할 수 있는 독립적인 2계층, 3계층 구조를 제공하며, 이러한 일치는 네트워크 설계 시 유용하다.
VLAN을 이용함으로써 사용자는 트래픽 패턴을 제어하고 재배치(relocation)에 빠르게 대응할 수 있다. VLAN은 네트워크 요구 사항의 변화에 대한 유연성을 제공하며 단순화된 관리를 가능하게 한다.
또, VLAN은 학교나 노동 환경에서도 사용할 수 있으므로 근거리 통신망에 더 쉬운 접근이 가능하며, 쉬운 관리를 가능하게 할 뿐 아니라 네트워크의 붕괴를 방지한다.
클라우드 컴퓨팅 VLAN에서 IP 주소, MAC 주소는 최종 사용자가 관리할 수 있는 리소스이다. 보안 문제를 피하기 위해서는 클라우드 기반 가상 머신을 인터넷 보다는 VLAN에 위치시키는 것이 선호된다.
역사.
1983년부터 1984년까지 VoE(Voice over Ethernet)의 실험을 성공적으로 마친 W. 데이비드 신코스키 박사는 벨코어에 합류하여 이더넷 네트워크의 확장 문제에 대해 언급하기 시작했다. 초당 10 메가비트의 이더넷은 당시의 대부분의 대안들보다 속도가 빨랐다. 그러나 이더넷은 브로드캐스트 네트워크였고 여러 개의 이더넷 네트워크를 하나로 연결하기에 적합하지 않았다. 이더넷 네트워크의 제한된 전체 대역폭이 초당 10 메가비트였고, 두 노드 간 최대 거리는 몇 백피트일 뿐이었다.
이와 반대로 개별 연결에 대한 기존의 전화망의 최고 속도는 초당 56 킬로비트 (이더넷 속도의 1/100)로, 총 네트워크 대역은 초당 1 테라비트로 추산되었다.
IP 라우팅을 사용하여 여러 개의 이더넷 네트워크를 한데 묶는 것이 가능했지만 당시 VAX-11/780 컴퓨터들은 각 대수마다 공통적으로 400,000 달러의 라우터들을 사용했고 전체 처리량은 이더넷 속도보다 상당히 낮았다. 신코스키는 패킷 당 처리량을 덜 요구하는 대안들을 찾기 시작했다. 이 과정에서 그는 스스로 학습하는 이더넷 스위치를 독자적으로 재발명하였다.
그러나 실패 방지 방식으로 여러 개의 이더넷 스위치를 연결하기 위해 스위치를 사용하면 네트워크를 통한 과잉의 경로가 필요하게 되므로 신장 트리 구성이 필요했다. 이는 어떠한 노드로부터 네트워크의 도착지에 이르기까지 하나의 활성화된 경로만 있어야 했다. 이로 말미암아 중심에 위치한 스위치들은 병목 현상을 겪게 되어, 더 많은 네트워크가 상호 연결될수록 망의 크기 확장에 제약이 생기게 되었다.
이 문제를 완화하기 위해 신코스키는 각 이더넷 패킷에 태그를 추가함으로써 VLAN을 발명하였다. 이러한 태그들은 빨강, 초록, 파랑 따위의 여러 색들로 간주할 수 있었다. 그 뒤 각 스위치는 하나의 색의 패킷들을 관리하고 나머지를 무시하는데 할당되었다. 이 네트워크들은 세 개의 각기 다른 신장 트리들과 상호 연결할 수 있었다. (빨간 신장 트리, 초록 신장 트리, 파랑 신장 트리) 여러 패킷 색들을 송신함으로써, 총 대역폭은 개선될 수 있었다. 신코스키는 이를 다중 트리 브리지(multitree bridge)로 불렀다. 그와 체이스 커튼(Chase Cotton)은 시스템을 편리하게 만드는데 필수적인 이러한 알고리즘(대형 네트워크를 위한 확장된 브리지 알고리즘: Extended Bridge Algorithms for Large Networks)을 만들어 다듬었다.
이 "색"이라고 하는 것은 현재 이더넷 프레임에서 802.1Q 헤더, 곧 VLAN 태그로 알려져 있다. VLAN들은 현대의 이더넷 네트워크에서 일반적으로 사용되지만, 가상랜의 원래의 취지로는 잘 사용되지 않는다.
VLAN 도입의 동기.
과거의 네트워크에서는 사용자들이 지리를 기준으로 네트워크에 할당되었으므로 물리적 토폴로지와 거리에 제약을 받았다. VLAN은 논리적으로 네트워크들을 묶을 수 있으므로 사용자들의 네트워크 위치는 더 이상 물리적 위치에 팽팽히 연결할 필요가 없다. VLAN을 도입하는 것이 가능한 기술은 다음과 같다:
프로토콜.
오늘날 VLAN을 구성하는데 가장 널리 사용되는 프로토콜은 IEEE 802.1Q이다. 802.1Q가 도입되기 이전에는 몇 가지 사유 프로토콜이 존재했는데, 이를테면 시스코의 ISL(인터-스위치 링크)와 3Com의 VLT (가상 랜 트렁크) 등이 있다.
시스코 VLAN 트렁킹 프로토콜 (VTP).
시스코 장비에서 VTP (VLAN Trunking Protocol)는 전체 네트워크에 걸쳐 VLAN 구성의 일관성을 유지시킨다. VTP는 2계층 트렁크 프레임을 사용하여 VTP 서버 모드의 핵심 스위치로부터의 네트워크 측에 존재하는 VLAN들의 추가, 삭제, 이름 변경을 관리한다. VTP는 VTP 도메인 내의 VLAN 정보를 동기화할 뿐 아니라 각 스위치의 동일한 VLAN 정보를 구성할 필요성을 줄여준다.
VLAN 멤버십의 확립.
VLAN 멤버십을 할당하는 두 가지 접근은 다음과 같다:
정적 VLAN은 포트 기반 VLAN으로도 부른다. 정적 VLAN 할당은 VLAN에 포트를 할당함으로써 만들어진다. 장치가 네트워크에 진입할 때 장치는 자동으로 포트의 VLAN을 추측한다. 사용자가 포트를 변경하여 동일한 VLAN에 접근이 필요하면 네트워크 관리자는 새로운 연결을 위해 수동으로 포트 대 VLAN 할당을 해 주어야 한다.
동적 VLAN은 소프트웨어를 사용하여 만들어진다. VMPS(VLAN 관리 정책 서버)를 사용하여 관리자는 포트에 연결된 장치의 출발지 MAC 주소나, 장치에 로그온하기 위해 사용된 사용자 이름 등의 정보에 기반하여 스위치 포트를 VLAN에 동적으로 할당할 수 있다.