본문 바로가기
Switch/이론

[스위치] VTP(VLAN Trunk Protocol)란? feat. Trunking

by 재현짱 2024. 6. 13.
728x90

VTP(VLAN Trunk Protocol)란?

개요

  • 하나의 스위치에 설정된 VLAN 번호를 다른 스위치에게 알려줄 때 사용하는 프로토콜
  • CISCO 전용 프로토콜
  • VLAN 정보를 자동으로 주고 받아 동기화함

VTP 특징

  • VLAN 설정 정보는 받아오지만 스위치 Port 정보들은 받아오지 않음
  • 스위치의 기본 설정으로는 Server로 되어있고, 도메인값은 설정되어있지 않음
  • 확장 VLAN 사용시, Transparent 모드에서만 사용 가능
  • VLAN 정보가 한 번도 수신되지 않은경우 *Revision number "0"
  • Default VLAN Number는 "1"

VLAN Number

*Revision: VLAN이 새로 만들어지거나 지워질 경우 "1"씩 추가된다. 

 

장점

  • VLAN 설정 작업이 편리해짐
  • 한 대의 VTP 서버에서 새로운 VLAN 설정 시 해당 VLAN은 도메인의 모든 스위치를 통해 배포됨
  • VLAN 정보의 크기가 작고 정보가 모든 스위치에 쉽게 저장되는 소규모 네트워크에 적합
  • VLAN 구성이 변경될 때마다 VTP가 자동으로 해당 변경 사항을 모든 스위치에게 전파

단점

  • VTP 버전에 따라 스위치간의 호환이 불가능
  • 대규모 STP 도메인의 고유한 위험
  • STP의 잠재적 불안정성 및 위험성의 균형 유지 필요
  • 대규모 네트워크에선 네트워크 부하가 발생할 수 있음
  • 의도치 않게 서버 모드에서 VLAN을 삭제, 수정 했을 경우 클라이언트 스위치에서도 해당 VLAN이 삭제됨

동작 모드

 

Server Mode

  • VLAN을 생성 및 삭제할 때, VLAN 이름을 변경이 가능하며 자신의 VLAN 설정 정보를 다른 스위치에 전송함
  • VLAN을 만들고 변경이 가능, 설정은 NVRAM에 저장
  • 서버 모드에서 만들어진 내역은 Trunk를 통해 모든 VTP에 전파

[VTP 모드]

VLAN 생성 VLAN 삭제 VLAN 수정 VLAN 전달
O O O O

 

Client Mode

  • VTP 서버로부터 Update 받고 forward 함
  • VLAN 생성/변경/제거 하지 않음 -> 설정 내역이 없으면 저장되지 않음
  • 서버에서 VLAN을 만들어야, 클라이언트 스위치 포트에 VLAN을 할당

[VTP 모드]

VLAN 생성 VLAN 삭제 VLAN 수정 VLAN 전달
X X X O

 

Transparent Mode

  • 자신의 VTP 정보를 다른 스위치에게 전송하지 않음
  • 다른 스위치에게서 받은 정보와 일치시키지 않음
  • 설정한 VLAN은 자신에게만 영향을 미침
  • VTP 서버로 부터 받은 메세지를 자신의 NVRAM에 저장하지 않음

[VTP 모드]

VLAN 생성 VLAN 삭제 VLAN 수정 VLAN 전달
O O O X

 

 

동작 방식

 

1. 스위치에서 VLAN 추가/수정/삭제

  • 이 경우 새로운 VLAN 정보를 다른 스위치에 전송

2. 스위치는 VTP 설정 번호를 기존값보다 1을 증가시켜서 전송

  • 1을 증가시킬 때 같이 다른 스위치에서 변경된 VLAN 정보를 전송

3. VTP 정보를 수신받은 스위치는 자신이 원래 가지고있던 VTP 설정번호를 비교해서 교체

  • 수신한 정보의 VTP 설정 번호가 더 높으면 자신의 VLAN 정보를 새로운 정보로 대체
  • 수신한 정보의 VTP 설정 번호와 자신의 번호가 동일하면 수신한 정보 무시
  • 수신한 정보의 설정 번호가 자신의 번호보다 낮으면 자신의 VTP 정보 전송

VTP Domain

  • VTP는 VTP 도메인 이름이 같은 스위치간에만 정보 교환
  • VTP가 동작하기 위한 최소 조건은 VTP 도메인 이름이 동일, 트렁크 포트로 연결되는 것
  • 트렁크로 연결되어 있어도 도메인 이름이 설정되어 있지 않으면 VTP 동작하지 않음
  • 하나의 스위치에서 VTP 도메인 이름 지정하면 트렁크로 연결된 스위치들은 자동으로 VTP 도메인 이름이 설정됨
  • 도메인 이름이 다르면 상대가 전송한 VTP 정보 무시
  • VTP 정보는 라우터를 넘어가지 못함

 

VTP 버전

  • VTP 버전은 3가지가 존재
  • Version 2는 1과 달리 트랜스패런트 모드에서 도메인 이름과 버전을 확인하지 않음
  • 트랜스패런트 모드로 동작하는 스위치는 자신과 VTP 도메인 이름과 버전이 달라도 수신한 VTP 정보를 다른 스위치에게 전송함
  • Version 3는 버전 2에 비해 많은것이 개선됨 개선점은 다음과 같음
  • VLAN 정보를 받아 들일 인접 장비 지정에 대한 제어기능 향상
  • 확장 VLAN 정보 전송
  • 사설 VLAN 정보 전송
  • 일단 VLAN 외 MST 정보도 전송

VTP 광고

  • VTP 광고는 멀티캐스트 프레임 형태로 전송
  • 3가지 type의 메세지 

3가지 타입의 메세지

 

1. advertisement Request: 클라이언트가 정보요청

2. summary advertisement: 매 5분 간격으로 트렁킹 포트를 통해 전달(VTP Domain에 대한 Revision number를 보냄)

3. subset advertisement: VLAN 변경 시 전송, VLAN에 대한 세부적인 정보 보유, VTP 클라이언트로부터 메세지 회신

  • Management domain
  • Configuration Revision Number
  • Update identify (Switch ID -> MAC Addess)

VLAN Pruning

  • 필요 없는 브로드캐스트 트래픽이 트렁크 포트를 통하여 전송되는 것을 차단
  • 기본적으로 시스코 스위치에서는 비활성화
  • VTP 서버 모드에서만 설정 가능

출처 cisco 공식 사이트

Trunking

개요

  • 복수개의 VLAN 프레임을 전송할 수 있는 링크
  • 특정 포트를 트렁크 포트로 동작시키는 것
  • 하나의 VLAN에만 소속된 엑세스 포트와 달리 트렁크는 복수개의 VLAN에 소속됨

VLAN Tagging

 

Trunking Protocol

  • 트렁크 포트를 통하여 프레임을 전송할 때, 프레임이 속하는 VLAN 번호를 표시
  • 수신 포트를 제외한 동일한 VLAN에 소속된 모든 포트로 브로드캐스트 프레임을 플러딩 함
  • 트렁크 포트쪽으로도 이 프레임을 전송
  • 브로드캐스트 프레임을 수신한 스위치는 이 프레임이 속하는 VLAN 번호를 알아야 해당 VLAN에 소속된 모든 포트로 플러딩 시킬 수 있다.
  • 트렁크 포트로 연결된 스위치들간에 프레임을 전송할 때에는 VLAN 번호를 알려주어야함

Trunking Protocol

Trunking Protocol 동작방식

 

1. 엑세스 포트를 통하여 프레임을 수신하면 해당 프레임이 소속된 VLAN 번호를 알 수 있음

 

2. 스위치 1이 트렁크 포트를 통하여 해당 프레임을 전송하면서 VLAN 번호를 표시 트렁크 포트를 통해서 프레임을 수신한 스위치 2는 VLAN 표시를 확인, 이 프레임이 소속된 VLAN 번호를 알게됨

 

3. 스위치 2는 VLAN 1에 소속된 모든 포트로 프레임을 전송

 

*트렁킹 프로토콜은 트렁크로 연결된 스위치 사이에서만 동작

 

  • VLAN의 표시 방법은 트렁킹 프로토콜에 따라 다르다. 트렁킹 프로토콜을 Trunking Encapsulation 이라고도 한다.
  • 시스코 이더넷 스위치에서 사용되는 트렁킹 인캡슐레이션은 ISL과 802.1Q 두가지가 존재한다.
  • 스위치 모델에 따라 두 가지 방식을 지원하는 것과 한가지만 지원하기도 한다.
  • 글내에는 QoS 지원, 다른 스위치와의 호환성 및 확장 VLAN 지원등의 이유 때문에 ISL 보다는 *1EEE 802.1Q에 비중을 두고 있는 상황

*802.1Q 트렁킹: IEEE 802.1Q에서 정의된 표준 트렁킹 프로토콜. 4바이트 길이의 802.1Q 태그를 추가하여 VLAN 번호 및 기타 정보 표시

4802.1Q trunking

 

802.1Q 프레임 태그 내용

  • ethertype: 현재의 프레임이 802.1Q 프레임이라는 것을 표시
  • priority(우선순위): 프레임의 우선순위를 표시 이것을 802.1P 우선순위 필드 또는 CoS(class of service) 필드라고 함
  • CFI(Canonical Format Identifier): 토큰링에서 사용되는 MAC 주소 형태를 논캐노니컬(non-canonical)이라고 한다. 따라서 이 비트가 1로 설정되면 토큰링 프레임이 인캡슐레이션된 것임을 표시함
  • VLAN 번호(VLAN identifier): 프레임의 VLAN 번호를 표시

필드의 길이가 12비트이므로, 802.1Q 트렁킹 방식을 사용하면 4096개의 VLAN이 지원

 

ISL(Inter - Switch Link) 

  • Cisco사에서 개발한 트렁킹 인캡슐레이션 방식
  • 802.1Q와 달리 확장 VLAN을 지원하지 못하여 시스코 스위치에서도 점차 802.1Q로 대체되고 있는 추세
  • 이더넷 프레임은 변경하지 않고, 프레임 앞에 26바이트의 ISL 헤더를 추가
  • 이더넷 FCS 다음에 별도로 4바이트 길이의 ISL FCS를 추가함
  • FCS(Frame Check Sequence)는 수신한 프레임의 에러 발생여부를 확인하는데 사용

ISL

ISL 헤더 주요필드 설명
DA Ox01-00-0C-00--00 또는 Ox03-00-0C-00-00의 값을 가지며, 이 프레임이 ISL 프레임이라는 것을 나타냄(40비트)
Type 인캡슐레이션된 프레임의 종류를 표시한다. 0000이면 이더넷, 0001은 토큰링, 0010은 FDD1, 0011은 ATM 나타냄(4비트)
User 이더넷 프레임의 우선순위를 표시한다.(4비트)
SA 출발지 스위치의 MAC 주소를 나타냄(48비트)
LEN 프레임의 길이를 표시(16비트)
SNAP SNAP을 표시하며, OxAA - AA - 03의 값을 가진다.(24비트)
HSA 출발지 스위치의 MAC 주소중 상위 3 바이트, 제조회사 코드(vendor code) 또는 OUI(Organizationally Unique Identifier)를 표시함(24비트)
VLAN 번호 VLAN 번호를 표시하는 필드로 15비트가 할당되어 있으나 실제로 제 4장 VLAN, 트렁킹 및 VTP 115는 10비트만 사용 따라서, ISL은 1024개의 VLAN만 지원(15비트)
BPDU BPDU, VTP 또는 CDP 프레임을 전송할 때 이 필드를 1로 표시. BPDU 비트가 1로 설정된 프레임을 수신하면, 스위치는 이 프레임의 최종 목적지가 자신임을 알고, 그 내용을 해독하고, 적절한 동작을 취함

 

스위치 포트 DTP 모드

  • DTP(Dynamic Trunking Protocol)란 시스코 스위치에서 상대 스위치와 트렁크와 관련된 사항을 협상할 때 사용됨
  • DTP에 의해 결정되는 것은 트렁크 포트 전환여부와 트렁크 포트로 동작시 인캡슐레이션 방식이다.
DTP 모드 동작 방식 모드 형태
엑세스 항상 엑세스 포트로 동작 정적(Static) 포트
트렁크 항상 트렁크 포트로 동작
다이나믹 디자이어러블 상대가 엑세스 포트인 경우에만 엑세스 포트로 동작. 나머지 경우는 트렁크 포트로 동작 동적(Dynamic) 포트
다이나믹 오토 상대가 엑세스나 다이나믹 오토인 경우 엑세스 포트로 동작. 나머지 경우는 트렁크 포트로 동작

 

 

 

 

 

참고한 사이트

https://www.cisco.com/c/ko_kr/support/docs/lan-switching/vtp/10558-21.html

https://light-touch-fish.tistory.com/19