|
|
VTP (VLAN Trunking Protocol)
- VLAN 생성, 수정 삭제하는 프로토콜
- VLAN ID는 1~1005 에 대해 인식
| 모드 | 설명 |
| 서버모드 (Server Mode) | 모든 스위치는 디폴트로 서버 모드로 동작 VLAN의 생성, 수정, 삭제를 자유롭게 할 수 있는 모드 |
| 트랜스패런트 모드 (Transparent Mode) | 독립적으로 동작하는 모드이며 서버로부터 받은 VLAN 정보를 자신은 반영하지 않지만 이정보를 이웃 스위치에 전달함 |
| 클라이언트 모드 (Client Mode) | 오직 서버로부터 받은 VLAN 정보만 반영하며, 직접 VLAN을 생성, 수정, 삭제 불가 |
| 단계별 | 예제 코드 | 설명 |
| SW1 설정(Server 모드) | Switch>en Switch# conf t Switch(config)# hostname SW1 SW1(config)# vtp version 2 SW1(config)# vtp mode server SW1(config)# vtp domain infocomm SW1(config)# vtp password infocomm SW1(config)# int fa0/1 SW1(config-if)# switchport mode trunk | VTP 버전 설정 모드 설정 도메인 설정 암호 설정 인터페이스 trunk 설정 |
| SW2 설정(Client 모드) | Switch>en Switch# conf t Switch(config)# hostname SW2 SW2(config)# vtp version 2 SW2(config)# vtp mode client SW2(config)# vtp domain infocomm SW2(config)# vtp password infocomm SW2(config)# int range fa0/1-2 SW2(config-if)# switchport mode trunk | |
| SW3 설정(트랜스패어런트 모드 | Switch>en Switch# conf t Switch(config)# hostname SW3 SW3(config)# vtp version 2 SW3(config)# vtp mode transparent SW3(config)# vtp domain infocomm SW3(config)# vtp password infocomm SW3(config)# int range fa0/1-2 SW3(config-if-range)# switchport mode trunk | |
| SW4 설정(Client 모드) | Switch>en Switch# conf t Switch(config)# hostname SW2 SW2(config)# vtp version 2 SW2(config)# vtp mode client SW2(config)# vtp domain infocomm SW2(config)# vtp password infocomm SW2(config)# int range fa0/1-2 SW2(config-if)# switchport mode trunk | SW2와 동일 |
| VTP 설정 확인(SW1) | SW1>en SW1# sh vtp status | |
| VTP Pruning | SW1(config)# vtp pruning SW1(config)# do show vtp status VTP Pruning Mode : Enable | SW2는 VLAN 20번 PC가 없으므로 VLAN 20번으로 보내지는 브로드캐스트 트래픽을 SW2가 전달 받아야 할 필요는 없음 |
* STP(Spanning Tree Protocol) STP 이해하기 참고
- 루프가 발생할 수 있는 경로를 논리적으로 차단함으로써 목적지로 가는 경로를 하나로 만들어 경로가 이중화(redundancy) 되었을 때 발생하는 루핑 문제를 해결하기 위해 사용
- SW1->SW2->SW4 플러딩
- SW1->SW3->SW4 플러딩
- 다시 SW4->SW2/SW3->SW1로 플러딩 되어 PC1은 이미 받은 동일한 프레임을 다시 계속 받는 문제가 발생한다.
STP를 설정하면 위 그림에서 Fa0/3은 황색이 되어 데이터를 주고 받지 않는다.
- SW1->SW2->SW4 (경로 차단)
- BPDU (Bridge Protocol Data Unit)으로 STA (Spanning-Tree ALgorithm)을 통해 어떤 포트가 차단될지 결정
- Root Bridge를 선출한 후 최단 경로를 계산하여 최단 경로를 결정하고 나머지는 차단한다.
* Root Bridge 선출
- Bridge ID가 낮은 순서로 선출 (2 바이트 Priority + VLAN 번호 + 6 바이트 MAC 주소)
* Root Bridge 선출 후 최단경로 계산
- 경로 비용 (Path Cost) 및 포트 비용 (Port Cost)를 사용하여 루트 브리지를 목적지로 하는 전체 경로 비용을 계산하고 최단 경로를 결정한다.
- 위 그림의 토폴로지에서 루트 포트 선정 결과
PC0->PC1 데이터 전송시 전송비용 (Fa0/2는 19, Fa0/3은 19)은 같다.
포트우선순위 (Fa0/2는 128.2, Fa0/3은 128.3)가 낮은 Fa0/2가 선택된다.
실습 코드
| 단계별 | 예제 코드 | 설명 |
| Spanning Tree | SW1> en SW1# sh spanning-tree SW2> en SW2# sh spanning-tree SW3> en SW2# sh span SW4> en SW2# sh span | 루트의 MAC과 브리지의 MAC주소가 서로 다름. 따라서 SW1은 루트 브리지로 선출되지 않았음 |
| SW1을 루트 브리지로 설정방법 1(우선순위 조정) | SW1# conf t SW1(config)# spanning-tree vlan 1 priority ? <0-61440> bridge priority in increments of 4096 SW1(config)# spanning-tree vlan 1 priority 2096 % Bridge priority must be in increments of 4096 % Allowed values are: 0 4096 8192 12288 16384 20480 24576 28672 32768 36864 40960 45056 49152 53248 57344 61440 SW1(config)# spanning-tree vlan 1 priority 4096 SW1(config)# do show spanning | 루트 MAC 주소와 브리지 MAC 주소가 동일하다. (메시지를 통해 Bridge priority 값은 반드시 4096씩 증가하여야 함을 인지) |
| SW4를 루트 브리지로 설정방법 2(primary 선언) | SW4>en SW4# conf t SW4(config)# spanning-tree vlan 1 root ? primary Configure this switch as primary root for this spanning tree secondary Configure switch as secondary root SW4(config)# spanning-tree vlan 1 root primary SW4(config)# exit SW4# show spanning | |
| 포트 패스트(Port Fast) | SW1(config)# int fa0/1 SW1(config-if)# spanning-tree portfast %Warning: portfast should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc... to this interface when portfast is enabled, can cause temporary bridging loops. %Portfast has been configured on FastEthernet0/1 but will only have effect when the interface is in a non-trunking mode. SW1(config-if)# ^Z SW1# wr | 스위치와 PC간 연결 후 포트가 주황색->초록색으로 변경시 지연시간발생 단축 |
* 스위치에서 PVST+의 동작
| 단계별 | 예제 코드 | 설명 |
| SW1 설정 | SW1(config)# vlan 10 SW1(config-vlan)# name VLAN_10 SW1(config-vlan)# vlan 20 SW1(config-vlan)# name VLAN_20 SW1(config-vlan)# exit SW1(config)# int fa0/1 SW1(config-if)# switchport mode access SW1(config-if)# switchport access vlan 10 SW1(config-if)# exit SW1(config)# int fa0/2 SW1(config-if)# switchport mode access SW1(config-if)# switchport access vlan 20 SW1(config-if)# exit SW1(config)# int range fa0/3-4 SW1(config-if-range)# switchport mode trunk SW1(config-if-range)# exit SW1(config)# exit SW1# wr | |
| SW2 설정 | SW2# conf t SW2(config)# vlan 10 SW2(config-vlan)# name VLAN_10 SW2(config-vlan)# vlan 20 SW2(config-vlan)# name VLAN_20 SW2(config-vlan)# exit SW2(config)# int fa0/1 SW2(config-if)# switchport mode access SW2(config-if)# switchport access vlan 10 SW2(config-if)# int fa0/2 SW2(config-if)# switchport mode access SW2(config-if)# switchport access vlan 20 SW2(config-if)# int range fa0/3-4 SW2(config-if-range)# switchport mode trunk SW2(config-if-range)# exit SW2(config)# exit SW2# wr | |
| SW3 설정 | SW3# conf t SW3(config)# vlan 10 SW3(config-vlan)# name VLAN_10 SW3(config-vlan)# vlan 20 SW3(config-vlan)# name VLAN_20 SW3(config-vlan)# exit SW3(config)# int fa0/1 SW3(config-if)# switchport mode access SW3(config-if)# switchport access vlan 10 SW3(config-if)# int fa0/2 SW3(config-if)# switchport mode access SW3(config-if)# switchport access vlan 20 SW3(config-if)# int range fa0/3-4 SW3(config-if-range)# switchport mode trunk SW3(config-if-range)# exit SW3(config)# exit SW3# wr | |
| VLAN별 루트 브리지 확인 | SW1> end SW1# sh span | SW1의 경우 VLAN 1, VLAN 10, VLAN 20번 모두에 대하여 루트브리지로 동작하고 있음 |
| VLAN별 루트 브리지 지정 | SW1(config)# spanning-tree vlan 1 root primary SW1(config)# spanning-tree vlan 20 root secondary 또는 SW1(config)# spanning-tree vlan 1 priority 4096 SW1(config)# spanning-tree vlan 20 priority 28672 SW2(config)# spanning-tree vlan 10 root primary SW2(config)# spanning-tree vlan 1 root secondary 또는 SW2(config)# spanning-tree vlan 10 priority 4096 SW2(config)# spanning-tree vlan 1 priority 28672 SW3(config)# spanning-tree vlan 20 root primary SW3(config)# spanning-tree vlan 10 root secondary | |
| 사용자 지정 후 VLAN별 루트 브리지 확인 | SW2# sh span | |
| Rapid PVST+ 설정 | SW1(config)# spanning-tree mode rapid-pvst SW1(config)# vlan 10 SW1(config-vlan)# name VLAN_10 SW1(config-vlan)# vlan 20 SW1(config-vlan)# name VLAN_20 SW1(config-vlan)# int fa0/1 SW1(config-if)# switchport mode access SW1(config-if)# switchport access vlan 10 SW1(config-if)# spanning-tree portfast SW1(config-if)# int fa0/2 SW1(config-if)# switchport mode access SW1(config-if)# switchport access vlan 20 SW1(config-if)# spanning-tree portfast SW1(config-if)# exit SW1(config)# int range fa0/3-4 SW1(config-if-range)# switchport mode trunk SW1(config-if-range)# spanning-tree link-type point-to-point SW1(config-if-range)# exit SW1(config)# exit SW1# wr | |
| SW2(config)# spanning-tree mode rapid-pvst SW2(config)# vlan 10 SW2(config-vlan)# name VLAN_10 SW2(config-vlan)# vlan 20 SW2(config-vlan)# name VLAN_20 SW2(config-vlan)# int fa0/1 SW2(config-if)# switchport mode access SW2(config-if)# switchport access vlan 10 SW2(config-if)# spanning-tree portfast SW2(config-if)# exit SW2(config)# int fa0/2 SW2(config-if)# switchport mode access SW2(config-if)# switchport access vlan 20 SW2(config-if)# spanning-tree portfast SW2(config-if)# exit SW2(config)# int range fa0/3-4 SW2(config-if-range)# switchport mode trunk SW2(config-if-range)# spanning-tree link-type point-to-point SW2(config-if-range)# exit SW2(config)# exit SW2# wr | ||
| SW3(config)# spanning-tree mode rapid-pvst SW3(config)# vlan 10 SW3(config-vlan)# name VLAN_10 SW3(config-vlan)# vlan 20 SW3(config-vlan)# name VLAN_20 SW3(config-vlan)# int fa0/1 SW3(config-if)# switchport mode access SW3(config-if)# switchport access vlan 10 SW3(config-if)# spanning-tree portfast SW3(config-if)# int fa0/2 SW3(config-if)# switchport mode access SW3(config-if)# switchport access vlan 20 SW3(config-if)# spanning-tree portfast SW3(config-if)# int range fa0/3-4 SW3(config-if-range)# switchport mode trunk SW3(config-if-range)# spanning-tree link-type point-to-point SW3(config-if-range)# ^Z SW3# wr | ||
| Rapid PVST+ 설정 확인 | SW1# show spanning-tree SW2# show span SW3# show span |
|
|
