[Switch] Virtual LAN

  1. Virtual LAN
  2. Trunking
  3. VTP
  4. Switch Port 타입

1. Virtual LAN

논리적으로 분할된 Switch Network이다. VLAN이 다르면 서로 통신할 수 없다.

VLAN의 역할

(1) Broadcast Domain 분할
Broadcast를 수신하면 장비들은 본인의 것인지 확인하고 처리해야 하기 때문에 많은 Broadcast 패킷은 장비 성능에 변화를 주고, 네트워크 대역폭도 차지하기 때문에 좋지 않다. VLAN은 적절하게 구역을 나눔으로써 이러한 Broadcast 패킷을 줄여준다.

(2) 보안성 강화
서로 다른 VLAN은 L3 장비를 통해서만 통신할 수 있다.

(3) 부하 분산
Switch가 STP를 구성하면 링크 한 쪽이 꺼지면서 특정 링크로만 트래픽을 집중시키게 된다. 하지만 각 Switch에서 VLAN을 다르게 설정하면, VLAN마다 트래픽 경로가 달라지므로 L2 Load Balancing을 기대할 수 있다.

VLAN의 특징

사용가능한 VLAN 개수는 Switch 모델마다 다르다.

VLAN 하나 당 STP가 지원되는 Switch 수는 128개이다. 물론, 수량이 많아져도 MSTP나 루프 없는 네트워크를 구성하여 큰 제약이 되진 않는다.


2. Trunking

Trunk란, 여러 개의 VLAN 프레임을 전송할 수 있는 링크를 의미한다. 즉, Trunk 포트로 동작시키는 것을 Trunking이라고 한다. Tagged 포트라고 하기도 한다.

Trunking Protocol

Trunk 포트를 통해 프레임을 전송한다면, 반드시 VLAN 번호를 표시해야한다. 그래야 해당 VLAN에 속한 포트로 Flooding을 할 수 있기 때문이다. ‘Trunk Encapsulation’이라고도 한다. Cisco 기준으로 ISL과 802.1Q가 있다.

2-1) 802.1Q Trunking

IEEE 802.1Q에서 정의된 표준 프로토콜이다. Ethernet 프레임에서 Source MAC 뒤에 4 Byte의 ‘802.1Q Field’를 추가한다.

[Field 설명]
Ethertype | 값: 0x8100
– 이 프레임이 802.1Q라는 것을 표시한다. TPID(Tag Protocol Identifier)라고도 한다.

Priority | 값: 0~7
– 프레임의 우선순위를 표시한다. 높을수록 빨리 전송된다. CoS(Class of Service)라도고 한다.

CFI; Canonical Format Identifier | 값: 0 or 1
– 값이 1일 때, 토큰링 프레임이 Encapsulation된 것으로 간주한다.

VLAN Number | 값: 1~4094
– 프레임의 VLAN을 표시한다.

[Native VLAN]
VLAN 번호를 표시하는 VLAN이다.
802.1Q Trunking에서만 사용되며, 양쪽 Switch에서 설정된 Native VLAN이 동일해야 한다.
예를 들어, Native VLAN이 2일 때, VLAN 2에 속한 프레임은 별도의 Encapsulation 없이 Trunk로 전송한다. 상대측에서도 Encapsulation 되지 않은 프레임을 받는다면, 당연히 Native VLAN이라 간주한다.

2-2) ISL

Cisco에서 개발한 Trunking Encapsulation이다. 확장 VLAN을 지원하지 않아 점차 사용하지 않는다고 한다. Ethernet 프레임 앞에 ‘ISL Header(26 Bytes)’와 뒤에 ‘ISL FCS(4 Bytes)’를 추가한다.

2-3) Switch 포트의 DTP Mode

[Dynamic Trunking Protocol]
DTP란, Cisco Switch에서 상호 Switch간 Trunk 관련 사항을 협상할 때 사용하는 프로토콜이다. 협상 내용은 ⒧Encapsulation 방식, ⑵Trunk 포트로 전환여부이다.

⑴ Encapsulation 방식
Switch 모델마다 조금씩 다르나 보통 dot1q / ISL / Negotiate 이다.

⑵ Trunk 포트 전환 여부 = 포트Mode 설정
Access Mode
상대와 상관없이 항상 Access port로 동작한다.
Trunk Mode
상대와 상관없이 항상 Trunk port로 동작한다. Trunk port로 설정 전 Encapsulation 방식을 지정해야 한다.
Dynamic Desirable Mode
상대가 Trunk / Desirable / Auto → Trunk로 동작
상대가 Access → Access로 동작
Dynamic Auto Mode
상대가 Trunk / Desirable → Trunk로 동작
상대가 Access / Auto → Access로 동작
Nonegotiate Mode
본인이 Trunk로 동작할 때, 상대에게 DTP 패킷을 전송하지 않는 옵션(Mode 아님). Dynamic Mode에선 사용할수 없다. 상대가 Dynamic Desirable 상태에서 Nonegotiate로 설정하면, 상대의 DTP를 무시하므로 본인은 Trunk, 상대는 Access가 되는 상황이 벌어진다. 보통 서로 Trunk일 때, 트래픽 감소용으로 사용한다.

표1. Mode 별 Trunk 동작 여부

3. VTP

[VLAN Trunking Protocol]
여러 Switch들이 VLAN 설정 정보를 교환할 때 사용한다.
동일 VLAN끼리 통신할 때, 중간 스위치에 해당하는 VLAN이 없으면 해당 VLAN은 통신할 수 없다. 이러한 상황을 방지하고자 Switch 하나에서 VLAN 정보가 변경되었을 때 나머지 Switch들도 변경된 정보를 자동으로 전달해주는 것이다.

3-1) VTP 동작 과정

– 새로운 Switch를 연결할 때에는 VTP 번호를 확인하기 어렵기 때문에 반드시 VTP 설정번호를 초기화하고 연결해야 한다.

3-2) VTP Domain

Switch 간 VTP Domain 이름이 동일해야만 VTP 정보를 주고 받는다.
VTP 동작을 위한 최소 조건은 ⑴VTP Domain 이름 동일, ⑵Trunk 포트로 연결이다.

단, Trunk로 연결되어도 VTP 이름을 설정하지 않았다면 VTP가 동작하지 않는다. VTP Domain 이름이 다르다면 서로의 VTP 정보를 무시한다.
하나의 Switch에서 VTP Domain 이름을 지정하면 Trunk로 연결된 Switch의 VTP Domain 이름도 같이 바뀐다.

VTP 정보는 Router를 넘길 수 없다.

3-3) VTP Mode

Server, Client, Transparent 3가지로 나뉜다.

VTP Server Mode
기본 VTP 모드.
VLAN 정보를 생성/삭제/변경할 수 있다.
타 Switch로 자신의 VTP 정보를 전송한다.
타 Switch로부터 받은 정보와 자신의 정보를 동기화한다.
타 Switch로부터 받은 정보를 타 Switch에게 중계한다.

VTP Client Mode
VLAN 정보를 생성/삭제/변경할 수 없다.
타 Switch로 자신의 VTP 정보를 전송한다.
타 Switch로부터 받은 정보와 자신의 정보를 동기화한다.
타 Switch로부터 받은 정보를 타 Switch에게 중계한다.

VTP Transparent Mode
VTP 설정번호는 0으로 고정된다.,
자신만의 VLAN 정보를 생성/삭제/변경할 수 있다.
타 Switch로 자신의 VTP 정보를 전송하지 않는다.
타 Switch로부터 받은 정보와 자신의 정보를 동기화하지 않는다.
타 Switch로부터 받은 정보를 타 Switch에게 중계한다.

3-4) VTP Version

VTPv2는 v1과 달리 Transparent Mode에서 VTP Domain 이름과 버전을 확인하지 않는다. VTPv2는 토큰링 VLAN을 지원한다.

VTPv3는 확장 VLAN 정보, 사설 VLAN 정보, MST 정보를 전송한다. VLAN 정보를 받아들일 인접 장비 지정에 대한 제어 기능이 향상되면서 잘못된 VLAN 정보를 받아들임으로 인해 발생하는 네트워크 장애 가능성을 줄였다.

3-5) VTP Pruning

자신의 VLAN이 인접한 Switch에서 필요없는 VLAN일 경우 해당 VLAN 트래픽을 전송하지 않는 기능이다. 다시 말해, 필요없는 VLAN의 Broadcast 트래픽을 Trunk 포트를 통해 전송하지 않는 것이다.


4. Switch Port 타입

[Tunnel Port]

주로 네트워크 사업자 측에서 제한된 VLAN 번호를 이용해 많은 고객을 수용하기 위해 사용한다. 아래 그림을 보자.

고객A 와 B는 같은 VLAN 번호를 사용하지만, 서로 다른 망이어야 한다.
이럴 때, IEEE 802.1Q 터널링을 통해 고객을 구별할 수 있다. 각 고객마다 VLAN tag를 부착해 전송하는 것이다. 이것을 Metro tag라고도 한다.

고객 A의 SW11에서 SW12로 통신을 해야한다고 가정해보자.

① SW11 →SW1 → SW2
SW1에서 데이터를 받는다. 이 때, Metro tag 10 부착하여 SW2로 보낸다.
② SW2 → SW12
SW2는 Metro tag 10을 보고, 해당 tag에 소속된 SW12로 전송한다. 이 때, Metro tag는 제거하고 전송한다.

즉, 사업자 내부망에서 고객 별로 하나의 VLAN만 부여하고, 내부망에서만 참조하는 것이다.

답글 남기기

이메일 주소는 공개되지 않습니다.