제 12장 Virtual-LAN
Contents 1 스위칭 기술 2 Catalyst 3550 Switch 설정모드
1 VLAN 개념 가상 LAN(VLAN)은 네트워크 사용자를 논리적으로 그룹화를 한 것이다. - 일반적인 스위치는 하나의 브로드캐스트 도메인을 갖는다. 즉 브로드케스트를 통하여 연결된 모든 장치를 볼 수가 있어, 보안상 문제가 일어날 수가 있다. 호스트 A 호스트 B
1 VLAN 개념 가상 LAN을 사용할 경우, 브로드캐스트 그룹을 만들어서 네트워크 관리자가 각각의 포트와 사용자를 제어를 할 수가 있어, 보안성이 높다. 3층 2층 1층 영업 부원 관리 기술 VLAN 1 VLAN 2 VLAN 3
1 LAN(subnet) = 1 broadcast domain = 1 VLAN 2 브로드캐스트 영역 일반적으로 LAN은 브로드캐스트 네트워크의 특징이 있으므로 네트워크에 연결된 모든 컴퓨터는 통신망으로 전달되는 모든 데이터를 수신할 수 있다. 따라서 LAN은 하나의 브로드캐스트 영역을 형성한다고 볼 수 있다. 1 LAN(subnet) = 1 broadcast domain = 1 VLAN LAN VLAN
3 VLAN의 효과 Broadcast Domain 1 Broadcast Domain 2 -VLAN을 사용하는 이유는 브로드캐스트 영역을 분리하여 쓸모없는 브로드캐스트 데이터로 인해 네트워크의 성능이 떨어지는 것을 막을 수 있기 때문이다. -VLAN은 기본적으로 그룹이 다를 경우에는 통신을 할 수 없기 때문에 브로드캐스트 트래픽도 VLAN으로 나눈다. 만약 서로 다른 VLAN간에 통신을 하려면 Inter-VLAN 라우팅을 구현해야 하며, 각각의 VLAN에 고유한 서브넷주소를 할당해야 한다. 그러면 라우터를 사용하여 VLAN을 구분하고 VLAN간 라우팅을 구현할 수 있다.
4 VLAN 동작 특성 -3개의 VLAN으로 구성된 스위치는 마치 3개의 다른 스위치가 존재하는 것처럼 보인다. Switch A Green VLAN Black Blue Switch B Trunk Fast Ethernet -3개의 VLAN으로 구성된 스위치는 마치 3개의 다른 스위치가 존재하는 것처럼 보인다. -VLAN은 여러 개의 스위치에서 설정할 수 있으며, 동일한 VLAN사이에서는 라우터 없이도 통신할 수 있다. -VLAN으로 구성된 스위치들을 연결하는 포트는 Trunk(Trunk)라고 하는데 여러 가지의 VLAN정보를 전송할 수 있다.
5 VLAN의 종류 (1) 정적 VLAN VLAN5 Static VLAN Port e0/4 정적 VLAN은 해당 스위치에 VLAN 데이터베이스를 생성한다. 포트를 직접 맵핑하고 VLAN을 생성하는 전형적인 방법으로 보안성이 뛰어나다. (2) 동적 VLAN 동적 VLAN은 호스트의 MAC 주소 또는 프로토콜을 이용하여 자동으로 VLAN을 할당하는 방법을 제공한다. 예를 들면 Cisco는 VMPS서버에 MAC 주소에 해당하는 VLAN정보 데이터베이스를 미리 구성해 놓고 스위치 포트에 호스트를 연결하면 스위치가 MAC주소를 확인하여 해당 VLAN에 포트를 동적으로 맵핑한다. VMPS 1111.1111.1111 = vlan 10 Dynamic VLAN MAC = 1111.1111.1111 VLAN10 Port e0/9
6 VLAN 프레임 식별 방식 VLAN1 VLAN2 VLAN3 Backbone A B VLAN1에 속한 호스트 A와 호스트 B간의 통신을 할 때, 호스트 A는 보통의 LAN프레임을 전송한다. 이때 실제 호스트는 VLAN정보를 모른다. 스위치는 호스트 A 에게 받은 프레임에 VLAN ID를 추가하며, 해당 VLAN으로 프레임을 전달한다. 프레임이 스위치 포트를 빠져 나올 때 VLAN ID는 제거된다. 각각의 프레임은 고유한 식별번호를 사용하여 호스트 A와 호스트 B간의 통신을 사용해 Multi-VLAN, Inter-Switch 통신에 유일하게 구별된다.
6 VLAN 프레임 식별 방식 Vlan1 Green Fast Ethernet vlan2 Blue Vlan3 Red Red Trunk 링크(Trunk Link)를 통과하는 프레임은 VLAN을 식별하는 정보를 전달한다. VLAN을 식별하는 방식은 시스코사의 ISL(Inter-Switch Link )과 IEEE 802.1q이 있다. 이중에서 IEEE 802.1q는 IEEE 가 프레임 Tagging을 위해 표준 방법을 제정한 것이며, VLAN을 구현하기 위해 실제로 필요한 필드값을 넣는다
7 ISL Trunk - ISL은 시스코에서 개발한 트렁크 프로토콜이며, 기본적으로 시스코 장치에서만 ISL이 동작을 한다. - ISL는 Inter-Switch Link의 약어이며, 여러 개의 스위치를 거쳐 VLAN을 구성할 수가 있는데 이러한 스위치간의 VLAN을 지원해 주는 프로토콜이 ISL 프로토콜 이다. - ISL 프로토콜은 스위치의 FastEhternet과 GigabitEthernet에서만 사용이 된다. Incoming Port에서 VLAN Tag가 추가된다. Output Port에서 VLAN Tag가 제거된다. ISL(Inter-Switch Link) VLAN identifier를 전달한다. ISL Tagging (1) ASIC을 사용하여 수행한다. (2) 사용자 Device들은 ISL Header를 볼 수 없다. (3) 스위치간, 라우터와 스위치간, 스위치와 서버간에 가능하다.
Encapsulated Ethernet frame 7 ISL Trunk (1)ISL 프레임 ISL Header 26 bytes Encapsulated Ethernet frame CRC 4 bytes FDDI Frame FC 필드처럼 추가적인 정보를 위해 사용되는 16비트의 예약 필드 RES 전송되는 포트 ID를 식별하는 16비트 설명자로 포트를 진단하기 위해서 사용 INDEX Frame이 Spanning tree BPDU인지를 식별하는데 사용되는 1bit 설명자 BPDU 15bit VLAN ID. 하위 10bit들 만이 1024개의 VLAN들로 사용 VLAN SA의 첫번째 3Byte (제조업체 ID 또는 조직의 유일한 ID) HAS 표준 SNAP 802.2 LLC Header AAAA03 DA Type, 사용자, SA, LEN 및 CRC를 제외한 16bit frame 길이 설명자 LEN 48bit 출발지 MAC 주소 SA Ethernet우선순위를 정의하는 4비트 설명자. 0 (최하위 우선 순위)_에서 (최상위 우선 순위) User 4비트로 캡슐화된 프레임 유형 (Ethernet-0000, Token Ring-0001, FDDI – 0010, ATM-0011) Type 48비트의 멀티캐스트 목적지 주소 DA ISL Header (26 bytes)
7 ISL Trunk (2) 802.1q 프레임 <802.1q 프레임 형식> Initial MAC Address Initial Type/Data New CRC 2-Byte TPID 2-Byte TCI -ISL은 프레임을 캡슐화하여 VLAN을 식별하는 정보를 전달하지만, 802.1q는 프레임 중간에 VLAN을 식별하는 정보를 끼워넣는 태깅(Tagging) 방식을 사용한다. -802.1q 프레임은 그림과 같이 4바이트 태깅 정보와 재계산되는 CRC로 구성되는데, 2바이트의 TPID (Tag Protocol Identifier)는 0x8100 으로 고정된 값으로, 이 프레임은 VLAN 식별자를 전달한다. -2바이트의 TCI (Tag Control Information )는 4비트의 XXX로 XXX를 제어하는데 사용하고, 나머지 12비트를 VLAN 식별자(4096개의 VLAN)로 사용한다. 4바이트의 CRC는 다시 계산되며, 기존 CRC 필드를 그대로 이용한다. 원래의 Ethernet 프레임은 1,518 바이트를 초과할 수 없으나 802.1q 프레임은 최대 1,522바이트(4바이트 추가)까지 수용할 수 있다.
VTP(VLAN Trunk Protocol) 8 VTP(VLAN Trunk Protocol) 시스코 스위치로 구성된 네트워크에서 VLAN을 관리하기 위해서 VTP를 시스코 독자적으로 개발한 프로토콜이다. VTP를 사용하여 네트워크 관리자가 VLAN을 추가하거나 삭제 및 이름을 변경을 할 수가 있다. 서버(server) 스위치에 새로운 VLAN을 추가한다.. VLAN과 관련된 정보를 광고한다 VTP 클라이언트(Client)는 수신한 정보가 새로운 것인지를 확인한다. 매 5분마다 또는 정보가 바뀔 때 이를 광고한다. VLAN정보가 새로운 것일 때는 갱신한다..
VTP(VLAN Trunk Protocol) 8 VTP(VLAN Trunk Protocol) (1) VTP 모드 Server Mode VTP 서버 모드로 동작하는 스위치는 VTP 도메인에 모든 VLAN 정보를 생성. 추가. 삭제하기 위해서 스위치가 반드시 서버 모드여야 한다. 스위치에 설정된 모든 사항은 NVRAM으로 저장이 된다. Client Mode VTP 클라이언트 모드로 동작하는 스위치는 VLAN을 만들거나 수정 및 삭제를 할 수가 없으며, 단지 VTP 서버로부터 받은 정보를 동기화 시키고, 이웃 스위치에게 TVP 서버로부터 받은 정보를 전송하는 역할을 한다. Transparent Mode 트랜스페어런트 모드에서는 VLAN을 만들고 변경하고 삭제할 수가 있지만, 트랜스페어런트 모드에서 만들어진 VLAN은 VTP 도메인과 아무런 관련이 없는 로컬 VLAN이다. 또한, 자신이 만든 정보를 다른 스위치에게 전송을 하지 않는다.
VTP(VLAN Trunk Protocol) 8 VTP(VLAN Trunk Protocol) (2) VTP 동작방법 VTP가 설정되면 서버는 개정 번호를 만든다. 또한 VTP에 변화가 생기거나 일정한 시간(5분)이 지나면 Trunk 링크를 통해 멀티캐스트 프레임으로 전송한다. 1.Add new VLAN 2.Rev 3 --> Rev 4 Server Client 4. Rev 3 --> Rev 4 5. Sync new vlan info 3 VTP 서버에서 새 VLAN을 추가를 한다. VTP 데이터베이스의 설정 번호가 수정이 되며, 수정할 때 마다 설정 수정은 1씩 증가를 하게 된다. VTP서버는 VTP 데이터베이스가 변경되면 멀티캐스트 프레임을 이용하여 네트워크에 즉시 전송을 하게 된다. VTP 클라이언트는 수신을 받고 번호를 비교한 후 갱신한다. VTP 데이터베이스를 동기화를 한다.
9 VTP Pruning VTP는 브로드캐스트, 유니캐스트 그리고 멀티캐스트 등 여러 가지 패킷의 수를 줄여 대역폭의 소모를 줄어야 하는데, 이것을 Pruning라고 한다. 즉, VTP Pruning는 필요로 하지 않는 정보를 트렁크 링크로 브로드캐스트를 전송하지 않으며, 필요로 하는 트렁크 링크로만 브로드캐스트를 전송하기 때문에 불필요한 대역폭의 낭비가 적다는 것입니다. Port 2 Port 1 Port 5 Port 4 C3500-6 C3500-3 C3500-1 C3500-5 C3500-2 C3500-4 Host B Host A Blue VLAN
9 VTP Pruning VTP Pruning이 설정되었을 경우 불필요한 브로드캐스트가 발생하는 것을 차단 한다. 호스트가 브로드캐스트를 발생할 경우 정보를 필요로 하는 트렁크 링크로만 브로드캐스트를 전송하며, 브로드캐스트를 필요로 하는 않는 트렁크 링크를 수신할 경우 자동적으로 제거를 하게 된다. Port 2 Port 1 Port 5 Port 4 C3500-6 C3500-3 C3500-1 C3500-5 C3500-2 C3500-4 Host B Host A Blue VLAN Blue VLAN에 Broadcast 트래픽 을 제거 한다.
10 VLAN 설정시 고려사항 스위치가 최대 몇 개의 VLAN을 지원하는지 확인한다. Catalyst 3500XL은 250개의 VLAN을 지원한다 2) VLAN1은 공장 초기화 값이므로 기본 관리용으로 사용한다. 3) CDP와 VTP통보는 모든 VLAN1에 전파되어야 한다. 4) Catalyst 3500XL의 IP주소는 인터페이스 VLAN1에 설정한다. 5) VLAN은 VTP 서버 또는 Transparent 에서 생성하거나 삭제한다. 6) VLAN간 통신을 하기 위해 VLAN당 하나의 서브넷을 할당한다. 7) VLAN을 구성하는 장비가 어떤 Trunk 프로토콜을 지원하는지 확인한다. Catalyst 1900은 ISL만 지원하므로 기종이 다르면 장비를 연결할 때 Trunk를 구성할 수 없다.
11 VLAN 설정 1) VLAN 설정 절차 (1) Enable VTP (optional) (2) Enable Trunking Trunking을 통해 VLAN정보를 전달할 수 있는 포트를 생성하고 VLAN사용자가 사용할 라우터와 서버를 연결한다 (3) Create VLANs VTP서버 모드 또는 Transparent 모드가 설정된 스위치에서 VLAN을 생성한다. (4) Assign VLAN to ports 각 포트에 VLAN을 지정한다
11 VLAN 설정 2) VTP 설정 방법과 확인 (1) VLAN설정모드 들어가기 VLAN을 설정하기 위해서는 관리자 모드에서 “vlan database” 명령어를 사용하여 아래와 같이 VLAN 설정모드로 전환을 할 수가 있다. Switch#vlan database Switch(vlan)#vtp ? client Set the device to client mode. domain Set the name of the VTP administrative domain. password Set the password for the VTP administrative domain. pruning Set the administrative domain to permit pruning. server Set the device to server mode. transparent Set the device to transparent mode. v2-mode Set the administrative domain to V2 mode.
11 VLAN 설정 2) VTP 설정 방법과 확인 (2) VTP 모드와 영역 이름 지정하기 ① Switch#vlan database ② Switch(vlan)#vtp domain Switchlab Switch(vlan)#vtp transparent ① 스위치 관리자모드에서 vlan database 명령어를 사용하여 vtp 모드로 전환을 하기 위한 것이다. ② VTP Domain 명령어를 사용하여 VTP 도메인 이름을 “Switchlab” 으로 지정한 것이다.
11 VLAN 설정 2) VTP 설정 방법과 확인 (3) VTP 설정 확인하기 설정했던 VTP 내용을 확인하기 위해서는 관리자 모드에서 Show vtp Status 명령어를 이용해서 VTP 설정 상태를 아래와 같이 확인을 할 수가 있다. Switch#sh vtp status VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 68 Number of existing VLANs : 5 VTP Operating Mode : Transparent VTP Domain Name : switchlab VTP Pruning Mode : Enabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0xCB 0xC4 0x21 0x6E 0xF1 0x3B 0x55 0x7F Configuration last modified by 172.16.1.254 at 3-1-93 00:06:50
11 VLAN 설정 3) Trunk 포트 설정 방법과 확인 (1) Trunk 설정 방법 해당 포트의 인터페이스 모드에서 설정 변경 한다. 802.1q 와 isl 중 하나를 선택하여 켑슐화 방법을 설정한다. Switch(config-if)#switchport trunk encapsulation [dot1q | isl] Switch(config-if)#switchport mode trunk (2) Trunk 설정 예제 Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#int f0/24 Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk
11 VLAN 설정 3) Trunk 포트 설정 방법과 확인 참고 DTP(Dynamic Trunking Protocol)란 시스코 스위치에서 상대 스위치와 트렁크와 관련된 사항을 협상할때 사용되는 프로토콜이다. DTP에 의해 결정되는 것은 트렁크 포트 전환여부와 트렁크 포트로 동작시 인캡슐레이션 방식이다. Switch(config-if)#switchport mode access 상대 포트와 상관없이 액세스 포트로 동작한다. Switch(config-if)#switchport mode trunk 상대 포트와 상관없이 트렁크 포트로 동작한다. 상대포트를 트렁크로 동작시키기 위하여 DTP 패킷을 전송한다. Switch(config-if)#switchport mode dynamic desirable 디폴트 DTP모드이다. 상대포트를 트렁크로 동작시키기 위해 DTP 패킷을 전송하지만, 상대포트가 트렁크, desirable, auto인 경우에만 자신도 트렁크로 동작한다. 상대방이 access 모드이면 자신도 액세스 모드로 동작한다. Switch(config-if)#switchport mode dynamic auto 상대측 포트가 트렁크 또는 desirable인 경우에만 트렁크로 동작한다. 상대포트가 동일한 오토이거나 액세스 모드이면 자신도 액세스 모드로 동작한다.
11 VLAN 설정 3) Trunk 포트 설정 방법과 확인 (3) Trunk 포트 설정 확인 특정한 인터페이스의 포트만 확인하고 싶을 경우 다음과 같이 show interface 명령어를 사용하여 확인할 수 있다 Switch#sh interface FastEthernet 0/24 Switchport Name: Fa0/24 Switchport: Enabled Administrative mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: isl Operational Trunking Encapsulation: isl Negotiation of Trunking: Disabled Access Mode VLAN: 0 ((Inactive)) Trunking Native Mode VLAN: 1 (default) Trunking VLANs Enabled: ALL Trunking VLANs Active: 1 Pruning VLANs Enabled: 2-1001 Priority for untagged frames: 0 Override vlan tag priority: FALSE Voice VLAN: none Appliance trust: none
12 VLAN 생성과 제거 및 등록정보 확인과 수정 (1) VLAN 생성과 제거 1. VLAN 생성 방법 Switch#vlan database Switch(vlan)#vlan [vlan ID] name [vlan name] Switch#vlan database Switch(vlan)#vlan 2 name sales VLAN 2 added: Name: sales 2. VLAN 제거 방법 Switch#vlan database Switch(vlan)#no vlan [vlan ID] Switch#vlan database Switch(vlan)#no vlan 2 Deleting VLAN 2...
12 VLAN 생성과 제거 및 등록정보 확인과 수정 (2) VLAN 등록정보 확인 Switch#sh vlan id 2 VLAN Name Status Ports ----- ---------------------- -------- ------------------------------- 2 sales active VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- --------- ---- ------ ------ -------- ---- -------- ------ ------ 2 enet 100002 1500 - - - - - 0 0 Switch#
13 VLAN 포트 지정 (1) Trunk 설정 방법 스위치 해당포트에 스위치포트모드을 access 설정한다. 스위치 해당포트에 설정하고자하는 VLAN ID 값을 설정한다. Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan [vlan id] (2) Trunk 설정 예제 Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#int f0/5 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 2 Switch(config-if)#
13 VLAN 포트 지정 (3) VLAN 등록정보 확인 설정된 VLAN의 등록정보 내용을 확인 하고 싶을 때는 아래와 같이 show vlan id 명령어를 사용하여 확인할 수 있다 Switch#sh vlan id 2 VLAN Name Status Ports ----- ---------------------- -------- ------------------------------- 2 marketing active Fa0/5 VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- --------- ---- ------ ------ -------- ---- -------- ------ ------ 2 enet 100002 1500 - - - - - 0 0 Switch#
13 VLAN 포트 지정 (4) VLAN 요약정보 확인 설정된 VLAN의 요약된 전체 내용을 확인 하고 싶을 때는 아래와 같이 show vlan brief 명령어를 사용하여 확인할 수 있다. Switch#sh vlan brief VLAN Name Status Ports ---- ----------------- ------ ------------------------- 1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4, 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/22, Fa0/23 2 marketing active Fa0/5 3 lab2 active Fa0/6 1002 fddi-default active 1003 token-ring-default active 1004 fddinet-default active 1005 trnet-default active Switch#