본문 바로가기

Ryu's Tech

VTP(vlan Trunking Protocol)의 데이터 전파 시기




Switch#sh vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/23, Fa0/24, Gig1/1
                                                Gig1/2
10   VLAN0010                         active   
20   VLAN0020                         active   
30   VLAN0030                         active   


위와 같은 VLAN을 생성하는 것은 매우 쉽다.

Switch(config)# vlan 10
Switch(config)# vlan 20
Switch(config)# vlan 30

이렇게만 해주면 끝나는 것이지만, 스위치의 개수가 많아지면 일이 한두가지가 아니다.
그렇다면 이런것을 편하게 지원해 주는 것이 VTP이다.

VTP는 vlan 정보를 domain으로 구분하여 같은 도메인에 vtp가 활성화 되어 있으면,
revision number를 보고 높은 값의 vlan.dat 를 낮은값으로 복사해 버린다.
(업데이트가 아닌 복사다.)

VTP에 대한 부분은 알아서 공부를 하도록 하고, VTP는 언제 vlan.dat 를 전파하는 지 알아보자


VTP_Server#sh vtp st
VTP Version                     : 2
Configuration Revision          : 0
Maximum VLANs supported locally : 255
Number of existing VLANs        : 5
VTP Operating Mode              : Server
VTP Domain Name                 : ryu

VTP_Client#sh vtp st
VTP Version                     : 2
Configuration Revision          : 0
Maximum VLANs supported locally : 255
Number of existing VLANs        : 5
VTP Operating Mode              : Client
VTP Domain Name                 : ryu

VTP_Server#debug sw-vlan vtp events
VTP_Server#

VTP_Client#debug sw-vlan vtp events
VTP_Client#

자 이렇게 debug를 올려놓고, vlan을 한번 생성해 보겠습니다.

Server에서 VLAN 10을 생성하는 순간 아래와 같이 메세지가 떳습니다.

VTP_Client#
VTP LOG RUNTIME: Summary packet received, domain = ryu, rev = 1, followers = 1

VTP LOG RUNTIME: Summary packet rev 1 greater than domain ryu rev 0

VTP LOG RUNTIME: Domain ryu currently not in updating state

VTP LOG RUNTIME: Subset packet received, domain = ryu, rev = 1, seq = 1, length = 156

VTP LOG RUNTIME: Transmit vtp summary, domain ryu, rev 1, followers 1
   MD5 digest calculated = 04 77 E0 5C C9 8C D4 0A 15 23 FE 38 68 45 59 AB


VTP_Client#

저도 처음봐서 신기하군요.. domain = ryu이고, rev는 넘어온 revision number 일거고, 지금 따르는 장비가 1개 있다는 소리인거 같군요.

그리고, Client 스위치가 가진 revision number가 0이니까 받은 1이 더 크다~ 이거 같구요, 그 다음은 업데이트 상태가 아니라는데요..음... 아무튼 넘어가겠습니다;;;;; 이걸 말하고자 하는게 아니니...


아무튼 이 상태로, 하나의 스위치를 VTP domain을 맞추고, Client로 셋팅하고 선을 연결해 봅니다.
그리고 이번엔 password를 통해서 인증을 하게 하고 Server와 Client의 Password를 다르게 해봅시다~

자 그렇다면 Server에서 vlan 10을 생성한다면
client에서는 password가 다르니 아래와 같이 변화가 없겠죠?

SW_Client(config)#do sh vtp st
VTP Version                     : 2
Configuration Revision          : 0
Maximum VLANs supported locally : 255
Number of existing VLANs        : 5
VTP Operating Mode              : Client
VTP Domain Name                 : ryu

전혀 변화가 없다는건... VTP를 받아오지 못하는 것인데요

이러한 이유는 VTP 의 경우에는 interval time 이 전혀 없습니다.

업데이트 하는 순간 퐉~ 뿌려버리고 마는 것이죠.

그렇다면 이를 제대로 받아오기 이해서는 VTP에서 revision number를 하나 더 올려 줘야 합니다.

그래야지만 vlan.dat 를 트렁크 포트로 뿌리는 것이죠.




아무튼... 간단한 걸 길게 풀어서 조잡하게 만들어봤는데요
결국 결론은 VTP의 vlan데이터가 제대로 넘어오지 못할때 server에서 revision number를 1 늘여보는 것도 좋은 방법입니다.