Trunk Port와 Access Port
- 참고 Topology
- Topology Setting - VLAN Setting
기본 설정, 및 IP 설정은 생략. (https://www.net-study.club/13 확인)
SW1#conf t Enter configuration commands, one per line. End with CNTL/Z. SW1(config)#vlan 10 SW1(config-vlan)#vlan 20 SW1(config-vlan)#vlan 999 SW1(config-vlan)#name Native_VLAN SW1(config-vlan)#exit SW1(config)# SW1(config)#int e1/1 SW1(config-if)#switchport mode access SW1(config-if)#switchport access vlan 10 SW1(config-if)#int e1/2 SW1(config-if)#switchport mode access SW1(config-if)#switchport access vlan 20 SW1(config-if)#exit SW1(config)# SW2#conf t Enter configuration commands, one per line. End with CNTL/Z. SW2(config)# SW2(config)#vlan 10 SW2(config-vlan)#vlan 20 SW2(config-vlan)#vlan 999 SW2(config-vlan)#name Native_VLAN SW2(config-vlan)#exit SW2(config)# SW2(config)#int e1/3 SW2(config-if)#switchport mode access SW2(config-if)#switchport access vlan 10 SW2(config-if)#int e2/0 SW2(config-if)#switchport mode access SW2(config-if)#switchport access vlan 20 SW2(config-if)#exit SW2(config)#
Setting 후 show vlan brief 명렁어로 설정을 확인한다.
Trunking Protocol - Summary
PC-1이 보낸 Frame이 Access Port인 SW1에 도착하면서 Trunk에 들어가기 전 SW1은 VLAN 10이라는 VLAN 표시를 붙여서 SW2로 보내게 되고, SW2는 VLAN 10이라는 VLAN 표시를 확인하게 되면서 VLAN 표시를 떼어서 Access Port인 e0/0을 통해 목적지인 PC-2로 Frame을 전달하게 된다.
※ 즉, Access Port에 접속된 장비들은 VLAN의 존재를 인식하지 못하게 된다.
전달 방법 중에 기재된 'VLAN 표시' 방법은 Trunking Protocol에 따라 다르다. Trunking Protocol을 Trunking Encapsulation이라고도 한다. Cisco에서는 대표적으로 ISL과 802.1Q가 사용되는데, ISL은 확장 VLAN을 지원하지 않으므로 802.1Q를 가장 많이 사용한다.
Trunking Protocol - 802.1Q
IEEE 802.1Q에서 정의된 표준 Trunking Protocol이며 Ethernet Frame의 출발지 주소 다음에 4Byte 길이의 802.1Q Tag(꼬리표)를 추가하여 VLAN 정보와 기타 정보를 표시한다.
이더타입 (TPID) (16bytes) | 우선순위 (PCP) (3bits) | CFI (DEI) (1bits) | VLAN 번호 (VID) (12bits) |
1. 이더타입 (Ethertype)
현재의 Frame이 802.1Q 프레임이라는 것을 표시한다. 항상 값은 0x8100이다.
2. 우선순위(Priority) (Priority Code Point)
우선순위를 표시하며, 802.1P 우선순위 필드 or CoS(Cost of Service)필드라고도 한다. 0~7사이 값을 가지며, 값이 클수록 우선순위가 높다.
3. CFI (DEI - Drop Eligible Indecator) 2
PCP와는 별도로, 또는 결합해서 쓰이며 트래픽이 혼잡해질 때 제거되기 적합한 프레임들을 가리키는데 사용된다.
4. VLAN 번호(VLAN Number)
프레임의 VLAN 번호를 표시할 수 있다. 0x000, 0xFFF값이 예비로 보존되며, 최대 4,094개(4,096-예비 2개)까지 허용된다.
Trunking Protocol(Encapsulation)을 802.1Q 방식으로 지정하려면 인터페이스에 switchport trunk encapsulation dot1q명령어를 입력해주고 switchport mode trunk로 포트를 트렁크로 동작시켜주면 802.1Q로 동작하게된다.
Trunking Protocol - Native VLAN
Trunking Protocol - ISL(Inter-Switch Link)
Cisco社에서 개발한 Trunking Protocol이다. 그러나 ISL은 Extended VLAN(확장 VLAN)을 지원하지 못하여 Cisco에서도 ISL보다는 802.1Q로 대체되고있다. Ethernet Frame 앞에 26Byte의 ISL Header, 뒤에 4Byte의 ISL FCS(Frame Check Sequence)를 추가한다.
ISL Header (26bytes) |
Ethernet Header (14bytes) |
Data (46-1500bytes) |
Ethernet FCS (4bytes) |
ISL FCS (4bytes) |
1. DA(Destination Address)
이 Frame이 ISL Frame이라는 것을 나타낸다.
2. Type
L2 Protocol을 알려준다. Ethernet이 기본 0000이다.
3. User
Ethernet Frame의 우선 순위를 알려준다.
4. VLAN 번호(VLAN Number)
VLAN의 번호를 표시하는 필드다.
5. BPDU (Bridge Port Data Unit)
BPDU, VTP or CDP Frame을 전송할 때 이 필드를 1로 표시한다. BPDU Bit가 1로 설정된 프레임을 받으면, 스위치는 받은 프레임의 최종 목적지가 자신임을 알고 내용을 해독하고, 적절한 행동을 취한다.
Trunking Protocol(Encapsulation)을 ISL 방식으로 지정하려면 인터페이스에 switchport trunk encapsulation isl 명령어를 입력해주고 switchport mode trunk로 포트를 트렁크로 동작시켜주면 ISL로 동작하게된다.
Trunking Protocol - Topology VLAN Setting
SW1(config)#int e5/0 SW1(config-if)#switchport trunk encapsulation dot1q SW1(config-if)#switchport mode trunk SW1(config-if)#switchport trunk native vlan 999 SW2(config)#int e5/0 SW2(config-if)#switchport trunk encapsulation dot1q SW2(config-if)#switchport mode trunk SW2(config-if)#switchport trunk native vlan 999
구성 후 show interface trunk, show interface status로 Trunking이 제대로 구성됐는지, Native VLAN, Port들이 VLAN에 제대로 입력됐는지 확인할 수 있다.
이제 R1에서 R3로, R2에서 R4로 정상적으로 ping이 가는지 ping을 때려보면 정상적으로 ping이 가는 것을 확인할 수 있다.
R1#ping 1.1.10.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.10.3, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 20/34/48 ms R2#ping 1.1.20.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.20.4, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 16/24/32 ms
DTP (Dynamic Trunking Protocol)
Cisco Switch에서 상대 스위치와 트렁크 관련 내용을 협상할 때 사용되는 Protocol이다. 트렁크 포트 전환여부, 트렁크 포트로 동작시 사용할 Protocol, 총 2가지를 협상하며 Switch의 DTP 모드에는 4가지가 있다.
DTP 모드 |
동작 방식 |
모드 형태 |
액세스(Access) |
항상 액세스 포트로 동작 |
정적(Static) Port |
트렁크(Trunk) |
항상 트렁크 포트로 동작 |
|
다이내믹 디자이어러블 (Dynamic Desirable) |
상대가 Access Port일때만 Access Port로 동작 나머지 경우에는 모두 Trunk Port로 동작 |
동적(Dynamic) Port |
다이내믹 오토 (Dynamic Auto) |
상대가 Access Port or Dynamic Auto일때만 Access Port로 동작 나머지 경우에는 모두 Trunk Port로 동작 |
- Access Port 설정하기
SW1(config-if)#switchport mode access
- Trunk Port 설정하기
SW1(config-if)#switchport trunk encapsulation dot1q // or isl SW1(config-if)#switchport mode trunk
- Dynamic Desirable Port 설정하기
SW1(config-if)#switchport mode dynamic desirable
- Dynamic Auto Port 설정하기
SW1(config-if)#switchport mode dynamic auto
VTP (VLAN Trunking Protocol)
하나의 스위치에 설정된 VLAN 번호와 이름을 다른 스위치에게 알려줄 때 사용하는 프로토콜로써, VTP를 사용하면 VLAN 설정 작업이 매우 편리하다.
VTP의 동작원리는 다음과 같다.
1. Switch에 VLAN을 추가, 수정 또는 삭제를 하면 VLAN 설정 정보가 변경되어 새로운 VLAN 설정 정보를 다른 스위치에게 전송해야한다.
2. Switch는 VTP 설정 번호(VTP Configuration Revision)를 기존값에서 1 증가시켜 다른 스위치에게 변경된 VLAN 정보와 함께 전달한다.
3. VTP 정보를 수신한 Switch는 자신의 VTP 설정 번호와 수신한 VTP 설정 번호를 비교한다.
1. 수신한 VTP 설정 번호가 자신의 번호보다 더 높으면 VLAN 정보를 새로운 정보로 교체한다.
2. 수신한 VTP 설정 번호가 자신의 번호보다 동일하면 VLAN 정보를 유지한다. (새로운 정보를 폐기한다.)
3. 수신한 VTP 설정 번호가 자신의 번호보다 더 낮으면 자신의 VLAN 정보를 보낸다.
vtp domain [NAME] 명령어로 VTP 도메인을 만들 수 있다. 위에 있는 Topology를 기반으로 SW1과 SW2 사이에 Trunking이 설정되어 있으므로 바로 VTP가 동작하게 된다.
SW1(config)#vtp domain MyVTP Changing VTP domain name from NULL to MyVTP SW1(config)# *Oct 26 16:27:14.958: %SW_VLAN-6-VTP_DOMAIN_NAME_CHG: VTP domain name changed to MyVTP.
show vtp status 명령어를 통해서 현재 만들어진 VTP를 확인할 수 있다.
SW1#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 ④VTP Domain Name : MyVTP ⑤VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc00.0100 Configuration last modified by 0.0.0.0 at 10-26-18 15:14:48 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------- ③VTP Operating Mode : Server Maximum VLANs supported locally : 1005 ②Number of existing VLANs : 8 ①Configuration Revision : 3 MD5 digest : 0xD6 0x5E 0x50 0x5C 0x6C 0xAA 0x51 0x5F 0xF7 0x64 0xCF 0x43 0xD5 0xF0 0x04 0xC6
① Configuration Revision : VTP 설정번호를 나타내며, VLAN을 추가, 수정, 삭제할 때 마다 이 번호가 1씩 증가한다.
② Number of existing VLANs : 현재 생성된 VLAN의 수를 알려준다.
③ VTP Operating Mode : VTP의 동작 모드를 알려주며, 현재 Server로 동작하는 것을 확인할 수 있다.
④ VTP Domain Name : 설정되어있는 VTP Domain의 이름이다.
⑤ VTP Pruning Mode : 인접 스위치에 VLAN [Number]이 설정된 포트가 없으면 VLAN [Number]에서 만든 브로드캐스트 프레임을 인접 스위치쪽으로 전송하게 하지 않는 것이 VTP Pruning Mode이다. vtp pruning 명령어를 사용하면 VTP Pruning이 동작하게 된다.
SW2에서 show vtp status 명령어로 확인한 결과 SW1에서 설정한 VTP Name이 자동으로 설정되어 있는 것을 확인할 수 있다.
결론적으로 Switch가 Trunk로 연결되어있고, 기존에 VTP Domain이 설정되어있지 않으면 자동으로 설정된 VTP Domain을 따라가게 된다.
SW2#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : MyVTP VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc00.0200 Configuration last modified by 0.0.0.0 at 10-26-18 15:14:48 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------- VTP Operating Mode : Server Maximum VLANs supported locally : 1005 Number of existing VLANs : 8 Configuration Revision : 3 MD5 digest : 0xD6 0x5E 0x50 0x5C 0x6C 0xAA 0x51 0x5F 0xF7 0x64 0xCF 0x43 0xD5 0xF0 0x04 0xC6
SW1에서 VLAN 100을 만든 뒤에 SW2에서 show vlan status로 VLAN을 확인해보면 VTP를 통해서 SW2에게도 VLAN 100이 전파가 된 것을 확인할 수 있다.
SW1(config)#vlan 100 SW1(config-vlan)#exit SW2#show vlan status VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Et0/0, Et0/1, Et0/2, Et0/3 Et1/0, Et1/1, Et1/2, Et2/1 Et2/2, Et2/3, Et3/0, Et3/1 Et3/2, Et3/3, Et4/0, Et4/1 Et4/2, Et4/3, Et5/1, Et5/2 Et5/3 10 VLAN0010 active Et1/3 20 VLAN0020 active Et2/0 999 Native_VLAN active 100 VLAN0100 active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup그 후 VLAN 100을 SW1에서 제거한 후 SW2에서 show vlan id 100으로 VLAN 100의 여부를 확인해보면 not found로 지워진 것을 확인할 수 있다.
SW1(config)#no vlan 100 SW1(config)#exit SW2#sh vlan id 100 VLAN id 100 not found in current VLAN databaseSW2에서 show vtp status로 VTP Configuration Revision, 설정 번호를 확인해보면 VLAN 추가, 제거로 2가 증가해서 5로 된 것을 확인할 수 있다.
SW2#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : MyVTP VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc00.0200 Configuration last modified by 0.0.0.0 at 10-29-18 13:21:46 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------- VTP Operating Mode : Server Maximum VLANs supported locally : 1005 Number of existing VLANs : 8 Configuration Revision : 5 MD5 digest : 0xAA 0xAF 0x5A 0x7E 0xCA 0xF1 0x93 0x75 0xAF 0x79 0xFF 0xA3 0x03 0xE5 0x4D 0xC3
VTP Mode
VTP Mode에는 Server, Client, Transparent, 세 종류가 있다.
1. Server
VLAN 생성, 변경, 삭제, VLAN 이름 변경이 가능하다. 자신의 VLAN 설정 정보를 전파할 수 있다. 자신의 정보와 다른 Switch에서 받은 정보를 일치시키고 다른 Switch에게 중계한다. 기본 VLAN 모드다.
2. Client
VLAN 생성, 변경, 삭제, VLAN 이름 변경이 불가능하다. 자신의 VLAN 설정 정보를 전파할 수 있다. 자신의 정보와 다른 Switch에서 받은 정보를 일치시키고 다른 Switch에게 중계한다.
3. Transparent
개인적으로 VLAN 생성, 변경, 삭제, VLAN 이름 변경이 가능하다. VTP 정보를 전파하지 않는다. 다른 Switch에서 받은 정보를 중계한다.
※ Transparent Mode는 개인적으로 사용할 VLAN을 생성, 변경, 삭제 할 수 있다. 또한 확장 VLAN을 만들 때에도 Transparent Mode에서 설정이 가능하다.
vtp mode client 명령어로 VTP Mode를 Client로 바꿀 수 있으며, Client Mode 변경 후 VLAN 생성 시도시 CLIENT라는 오류와 함께 생성되지 않는다(Not allowed).
SW1(config)#vtp mode client Setting device to VTP Client mode for VLANS. SW1(config)#vlan 200 VTP VLAN configuration not allowed when device is in CLIENT mode.vtp mode transparent 명령어로 VTP Mode를 Transparent로 바꿀 수 있다.
SW1(config)#vtp mode transparent Setting device to VTP Transparent mode for VLANS.
새로운 Switch를 추가할 때는 VTP 설정 번호, Configuration Revision Number를 초기화해야한다.
새로운 공장 초기화 되어있는 Switch라면 상관 없겠지만, 공장 초기화가 되어있지 않는 VTP가 설정되어있는 Switch라면 VLAN등을 다 삭제 후 연결 시 Revision Number가 설치되어있는 Switch들 보다 높아지므로 기존에 있던 VLAN들이 전부 삭제되어 다른 설정되어있는 VLAN이 초기화가 되어버리는 사태가 발생할 수 있다. 고로 Revision Number을 초기화시켜줘야 하는데 다음 방법으로 초기화를 할 수 있다.
1. VTP Domain Name을 다른 Name으로 변경한다.
2. VTP Mode를 Transparent Mode로 변경한다.
3. VLAN Database를 삭제하고 재부팅한다.
delete vlan.dat 명령어를 통해서 삭제할 수 있다.
SW1#delete vlan.dat Delete filename [vlan.dat]? Delete unix:/vlan.dat? [confirm] SW1#reload
'네트워크 > All about Network' 카테고리의 다른 글
RSTP, MSTP (Rapid-STP, Multiple-STP) (318) | 2018.11.01 |
---|---|
스패닝 트리 프로토콜(STP, Spanning Tree Protocol) (10344) | 2018.11.01 |
VLAN(Virtual LAN) (2) - Inter-VLAN Routing (0) | 2018.10.26 |
VLAN(Virtual LAN) (1) - VLAN 개요 (0) | 2018.10.26 |
트랜스패런트 브리징(Transparent Bridging) (0) | 2018.10.24 |