본문 바로가기

네트워크

스위칭 - VTP (VLAN Trunking Protocol)

VTP는 사실은 좀 계륵같은 프로토콜입니다. 사용자체는 관리 대상 스위치가 많을 때 사용해야 편리한데, 사용은 규모가 작은 네트워크에서 사용하는것이 추천되는.. 앞뒤가 안맞는 프로토콜이죠.

이 Cisco 독점 프로토콜들은 정말 괜찮은것들도 많지만 잘 사용되지 않는것도 많고, 밴더별로 호환성이 모자라다는 단점 때문에 사용하기 애매한 것들도 많습니다. 

그냥 대충 읽고 넘어가셨다가 필요할 때 다시 찾아보셔도 크게 문제되지않는 내용이니 부담없이 읽어보시기를 바랍니다.

 

 

VTP (VLAN Trunking Protocol)

VTP는 VLAN Dynamic Mode처럼 VLAN 설정에 도움이 되는 프로토콜입니다. 관리해야하는 스위치와 VLAN이 많을 경우에 유용하게 사용될 수 있지만 보안상의 문제로 잘 사용되지는 않는 편입니다. 그래도 관리해야할 스위치가 많은 경우에는 사람이 관리하다가 명령어 오입력이나 누락등의 실수로 발생하는 이슈들을 최소화 할 수 있다는 장점을 가집니다.

 

 

사용조건

1. VTP Domain name 설정

VTP는 스위치에서 기본적으로 항상 동작하고 있는 상태이며 종료할 수 없는 프로토콜입니다. 아무런 설정을 하지 않았을 때 VTP는 Domain name이 설정되어 있지 않으므로 VLAN 정보를 동기화하지 않는데, VTP 사용을 위해서는 Domain name을 같게 설정해주어야 할 필요가 있습니다.

 

2. Trunk Port 설정

VTP 메시지는 Trunk Port 에서만 전달될 수 있습니다.

 

3. VTP password 일치

VTP는 보안측면에서 취약한 프로토콜입니다. VTP 정보를 무분별하게 받아와 갱신하는것을 방지하기 위해 VTP password 설정이 필요하며 Domain name과 더불어 같은 password 를 설정해주어야 동기화가 진행될 수 있습니다.

 

 

동작원리

  1. 스위치에 VLAN 정보가 추가되거나 수정, 삭제가 이루어질 때 VLAN 설정 정보가 변경된 것을 다른 스위치에 알려야 함.
  2. 스위치는 1과 같은 작업이 이뤄질때 VTP 설정 번호(VTP Configuration Revision number)를 기존값에서 +1 하여 다른 스위치들에게 전송함.
  3. VTP 정보를 수신한 다른 스위치는 자신의 VTP 설정 번호와 비교하여 아래와 같은 방식으로 설정, 폐기함.
  • 수신한 설정 번호가 더 높으면 VLAN 정보를 갱신.
  • 수신한 설정 번호가 같으면 VLAN 정보를 유지하고 수신한 정보를 폐기.
  • 자신의 설정 번호가 더 높으면 자신의 VLAN 정보를 전송.

 

 

VTP Mode

Server - VLAN의 생성, 변경, 삭제 등의 작업이 가능하며 자신의 VLAN 정보를 전파할 수 있다.
- 자신의 정보와 다른 스위치에서 받은 VLAN 정보를 일치시키고 다른 스위치에게 중계한다.
기본 VLAN 모드.
Client - VLAN 생성, 변경, 삭제 등의 작업이 불가능하고 자신의 VLAN 정보를 전파할 수 있다.
- 자신의 정보와 다른 스위치에서 받은 VLAN 정보를 일치시키고 다른 스위치에게 중계한다.
Transparent - 개인적으로 VLAN 생성, 변경, 삭제 등의 작업이 가능하고 VTP 정보를 전파하지 않는다.
- 다른 스위치에서 받은 VLAN 정보를 중계한다.
Off - CatOS 에서만 구성 가능하며 위 3가지 모드에서 스위치가 관리 도메인 상태가 되는 즉시 VTP 정보를 수신하고 전송한다. 
- 이 모드에서 스위치는 VTP 알림이 중계되지 않는다는 점을 제외하고 Transparent 모드와 동일하게 동작한다.

 

 

VTP Message

Summary
Advertisement
VTP Server가 자신과 연결된 스위치에게 5분 간격으로 전달하는 메시지.
자신이 관리하는 VTP 도메인에 대한 Revision number를 전송.
VLAN 구성에 변화가 발생할 시 5분의 전송주기를 무시하고 즉시 전송.
Subnet
Advertisement
VLAN 구성이 변경될 경우 VTP Client로부터 Adventisement Request를 수신했을 경우에 전송.
실제 VLAN에 대한 정보를 담고 있는 메시지.
Advertisement
Request
VTP 클라이언트가 서버에게 Summary Adventisement 또는 Subnet Advertisement를 요청하는 경우에 사용하는 메시지로 Summary Adventisement를 수신하거나 VTP 도메인 변경, 스위치 리셋 등 여러 변화가 발생했을 경우에 이 메시지를 VTP Server 쪽으로 전송.

 

 

VTP 동작예시

위 사진과 같은 구성에서, Server는 Client와 Transparent 에게 VTP Domain name과 Revision number이 포함된 Summary Advertisement를 전달합니다.

 

Client는 자신의 VTP Domain name을 서버와 동일하게 변경하고 Revision number를 비교합니다.

SW2가 더 낮은 Revision number를 가질 경우 Server 에게 Advertisement Request를 전송해 VLAN 정보를 요청하고, Server는 Request를 수신하면 Summary Advertisement와 Subset Advertisement를 전송합니다. Client는 이 정보를 바탕으로 자신의 VLAN 정보를 Syncronization 합니다.

 

Transparent는 Summary Advertisement를 서버로부터 수신하더라도 자신의 VLAN 정보를 변경하지 않고 원상태를 유지하며, 자신의 VLAN 정보 또한 전송하지 않습니다.

다만 VTP가 동작하는 다른 스위치가 존재한다면, VTP message를 중계해주는 역할을 수행하게 됩니다.

 

 

VTP pruning

가지치기라는 의미를 갖는 프루닝은 VLAN을 조금 더 효율적으로 사용하기 위해 만든 기법입니다. 위 사진과 같은 구성에서, SW2에 연결된 VLAN3 에서 발생한 브로드캐스트 트래픽은 모든 Trunk Link 를 통해 전파됩니다.

SW1, 3은 VLAN3을 갖고 있지도 않은데 flooding 되는 어차피 폐기할 트래픽에 자신의 대역폭을 소모하게 되므로 비효율적입니다.

 

따라서 SW1, 3으로는 VLAN3이 flooding 되지 않도록 가지치기하겠다는 것입니다. 간단히 말해서 자신이 갖고 있지 않은 VLAN 정보에 대한 트래픽을 미리 확인하고, 차단하여 대역폭을 절약하겠다는 것이 VTP pruning 입니다. 

 

※ 단, VLAN 1은 pruning 할 수 없음.

 

 

주의사항

  • VTP version 1, 2는 Extended VLAN을 지원하지 않으므로 Transparent 모드에서만 생성 가능하다.
  • 스위치의 기본 모드는 Server 이며 Domain은 설정되어 있지 않다. 
  • VTP 기능을 종료할 수 없으므로 사용하지 않을 때에는 Transparent 모드로 설정하는 것이 권고된다.
  • VTP 설정시에 패스워드 → 도메인 → 모드변경 순으로 설정해야 설정 순서로 인한 문제가 발생하지 않는다.
  • 새 장비를 네트워크에 추가시킬 때, Revision number를 초기화시켜야 다른 장비의 VLAN 정보에 영향을 끼치지 않는다.
  • STP 를 고려하여 VTP 관리를 수행해야한다.

 

 

Command

VTP 설정

Switch(config)# vtp version [1-3]			//vtp version 설정
Switch(config)# vtp password [PASSWORD]			//vtp password 설정
Switch(config)# vtp domain [DOMAIN]			//vtp domain 설정
Switch(config)# vtp mode [server/client/transparent]	//vtp mode 설정 (default = server)
Switch(config)# vtp pruning				//vtp pruning 사용

 

VTP 구성 설정 확인

Switch# show vlan					//vlan 확인
Switch# show vtp counters				//vtp revision number 확인
Switch# show vtp devices				//vtp3 domain device 정보
Switch# show vtp interface [INTERFAECE]			//vtp 인터페이스 상태, 설정
Switch# show vtp password				//vtp password 확인
Switch# show vtp status					//vtp 도메인 정보