[ACSA 교육#20] Virtual LAN

LAN과 VLAN

LAN(Local Area Network)는 동일한 브로드캐스트 도메인에 있는 장치 그룹을 일컫습니다.

그림과 같이 LAN-A와 LAN-B가 있습니다. LAN-A에는 두 개의 장치가 연결되어 있습니다.
Host A는 Port 1에 연결되어 있고, Host B는 Port 2에 연결되어 있습니다.
다른 스위치 LAN-B도 비슷한 구성으로 되어 있습니다.

스위치가 임의의 포트에서 브로드캐스트 메시지를 수신하면 보낸 포트를 제외하고 다른 모든 포트로 브로드캐스트를 보냅니다(Flooding). 따라서 Host A가 브로드캐스트를 보내면 LAN-A 스위치가 다른 모든 포트로 브로드캐스트를 전달합니다. 하지만 Host D와 Host E는 이 프레임을 수신하지 않습니다.

이렇게 물리적으로 분리된 스위치이면서, 물리적으로 분리된 LAN일 때, 하나의 인터네트워크로 연결하려면 어떻게 해야 할까요? LAN간에 유니캐스트와 멀티캐스트 트래픽을 라우팅할 수 있는 라우터를 추가하면 될 것입니다.

그럼 물리적 LAN과 같은 기능을 하는 가상의 LAN(Virtual LAN, VLAN)을 한 번 살펴볼까요?
SW1이라는 Aruba 스위치가 있다고 가정해볼게요.

Host A와 B, D, E는 각각 SW1의 Port 1, 2, 11, 12에 연결되어 있습니다.
기본적으로 아무 설정을 하지 않았다면, 이 모든 장치는 동일한 브로드캐스트 도메인에 위치하게 됩니다.
Host A가 브로드캐스트 메시지를 보내면 나머지 3개의 호스트 모두 브로드캐스트 메시지를 받게 됩니다.

여기서 “VLAN10”이라는 가상의 LAN을 만들었다고 가정해보겠습니다.

물리적 스위치 내부에 작은 가상의 스위치를 만든 것과 같습니다.
이 가상 스위치는 스위치 내부에 존재하지만 물리적인 포트와 연결된 것은 아닙니다.
따라서 물리적으로 SW1의 Port 1과 Port 2를 VLAN 10의 구성원(Member)라고 정의하거나 매핑(Mapping)해야 합니다.

동일하게, VLAN20을 만들고 Port 11과 Port 12를 VLAN 20의 구성원(Member)로 지정합니다.

자, 물리적 스위치 하나에 두 개의 개별 브로드캐스트 도메인을 만들었습니다. – VLAN-10 / VLAN-20

이제 Host A가 브로드캐스트를 보낼 때 스위치는 보낸 포트(ingress port)를 제외하고 동일한 VLAN에 있는 모든 포트로만 프레임을 전달합니다. 즉, Host B만 브로드캐스트를 수신합니다. 하나의 물리적 스위치를 사용하여 동일한 시나리오를 효과적으로 재작성하였습니다.

물리적으로 구성한 것과 마찬가지로 서로 VLAN간에는 연결이 없습니다.
즉, 유니캐스트, 멀티캐스트, 브로드캐스트 트래픽 모두 VLAN 사이로는 전달되지 않습니다.
물론, 물리적 스위치 시나리오와 같이 라우터를 연결하여 인터네트워크를 만들 수 있습니다.

자, 그럼 동일하게 동작하는데 굳이 왜 VLAN을 쓸까요?
이제 VLAN에 대한 장점과 함께 어떻게 구성하는지 알아보겠습니다.

VLAN 생성

AOS-CX 스위치는 VLAN-ID로 VLAN을 확인합니다. VLAN ID는 1부터 4094사이의 숫자로 지정합니다.
기본적으로 VLAN 1이 생성되어 있고, 이는 제거할 수 없습니다. 그리고 모든 포트는 VLAN 1로 매핑됩니다.
AOS-CX 스위치 뿐만 아니라 대부분 스위치의 일반적인 기본값(Default)입니다.

VLAN 명령어(Command) 및 Syntax

VLAN 명령을 통해 VLAN을 생성하고 사용 가능하도록 합니다.

  • 다음은 VLAN 10을 생성하는 예시입니다.
SW1(config)# vlan 10
SW1(config-vlan-10)#
  • 단일 명령어를 통해 여러 개의 VLAN을 한 번에 생성할 수 있습니다.
SW1(config)# vlan 2-5, 10
  • VLAN을 더 이상 사용하지 않는다면, no 명령어shutdown 명령어를 통해 없앨 수 있습니다.
SW1(config)# no vlan 10
SW1(config)# vlan 10
SW1(config-vlan-10)# shutdown
  • name 명령어를 사용하여 VLAN의 이름을 지정하는 것은 관리 목적상 좋은 방법입니다.
SW1(config)# vlan 10
SW1(config-vlan-10)# name Sales

VLAN이라는 명령어를 통해 VLAN 10을 만들었다는 것은, 물리적인 스위치 안에 가상의 스위치를 하나 만든 것이라는 것을 알아두어야 합니다. VLAN을 만들었더라도 구성원(Member)을 아직 지정하지 않았습니다.
즉, 어떤 장치도 이 가상 스위치에 연결되지 않았다는 의미입니다.

액세스 포트 (Access Port)

그럼 VLAN을 생성하고 구성원을 지정해보겠습니다.

Define VLAN (VLAN 정의)

먼저 VLAN 10은 Sales라는 이름을 지정하고, VLAN 20은 Service라는 이름을 지정하여 생성해보겠습니다.

SW1(config)# vlan 10
SW1(config)-vlan-10)# name Sales
SW1(config)-vlan-10)# exit
SW1(config)# vlan 20
SW1(config)-vlan-20)# name Service
SW1(config)-vlan-20)# exit
VLAN에 포트 매핑

Global configuration context에서 한 번에 인터페이스 범위를 지정할 수 있습니다.
포트 1/1/1부터 1/1/2를 VLAN 10에 매핑하고, 포트 1/1/11부터 1/1/12까지 VLAN 20에 매핑하겠습니다.

SW1(config)# interface 1/1/1-1/1/2
SW1(config-if-<1/1/1/-1/1/2)# vlan access 10
SW1(config-if-<1/1/1/-1/1/2)# exit
SW1(config)# interface 1/1/11-1/1/12
SW1(config-if-<1/1/11/-1/1/12)# vlan access 20
SW1(config-if-<1/1/11/-1/1/12)# exit

여기서 하나의 인터페이스에는 오직 하나의 VLAN ID만 지정할 수 있다는 것을 꼭 기억해야 합니다.
즉, 인터페이스 1/1/1은 VLAN 10과 VLAN 20 모두의 구성원이 될 수 없습니다. 이것은 마치 영업팀 미팅과 기술팀 미팅을 동시에 참석하는 것과 같은 의미가 됩니다.

VLAN 확인

생성한 VLAN과 매핑된 포트의 확인은 show 명령을 통해 가능합니다.

SW1# show vlan
----------------------------------------------------------------
VLAN	Name		Status	Reason	Type	Interfaces
----------------------------------------------------------------
1	DEFAULT_VLAN_1	up	ok	default	<output omitted>
10	Sales		up	ok	static	1/1/1-1/1/2
20	Service		up	ok	static	1/1/11-1/1/12

다음 포스팅에는 802.1q 트렁크 포트에 대해 알아보도록 하겠습니다.