1. 한 개의 스위치 두 개의 네트워크, VLAN
우리는 그동안 브로드캐스트 도메인(네트워크) 분리를 위해 라우터에 연결된 스위치를 다르게 하는 물리적인 방법을 사용하였다. 그런데 만약 여러 층에 나눠진 PC들을 하나의 네트워크로 구성하려고 한다면 어떤 방법이 좋을까? 또 한 층의 네트워크를 효율 또는 보안의 이유로 여러 네트워크로 분리하려면 어떻게 하는게 좋을까?
리피터, 스위치 등 네트워크 장비를 추가로 연결하여 해결하는 방법도 있겠지만, 매번 필요할 때마다 새로운 장비를 구매하는 것은 비효율적이다. 이때 사용되는 기능이 VLAN이다.
VLAN(Virtual LAN)은 L2 스위치부터 제공되는(Managed 스위치에서만 제공, 안되는 장비도 있음) 가상의 LAN을 구현하는 기능이다. 하나의 스위치 안에 여러 개의 VLAN을 구성하게 되면, 여러 대의 스위치가 존재하는 것처럼 네트워크가 분리된다. 그래서 VLAN을 논리적인 네트워크 분리 기술이라고도 한다(물리적인 분리 기술은 라우터를 이용한 분리이다). 당연하지만 VLAN들은 서로 다른 네트워크이기 때문에 하나의 스위치에 있다고 해도 라우터, L3 스위치 같은 L3 장비가 없으면 통신되지 않는다.
VLAN을 구성하는 목적은 다음과 같다.
보안
- VLAN을 이용해 네트워크를 논리적으로 분리하여 특정 장치나 사용자만 VLAN에 접근 가능하게 설정하여 보안성을 높힐 수 있음
유연한 네트워크 구성
- 물리적 위치와 관계없이 논리적으로 같은 네트워크를 구성할 수 있다
네트워크 성능 최적화
- 브로드캐스트 도메인을 분리하여 트래픽을 줄이고, 네트워크 성능을 향상시킬 수 있다
1) VLAN 구성 방법: 포트 기반 VLAN
일반적으로 VLAN은 스위치 포트에 VLAN을 할당하고, 해당 스위치에 호스트를 연결하여 VLAN를 구성하는 포트 기반 VLAN(Port Based VLAN) 방식을 사용한다. 포트 기반 VLAN에서 특정 포트로 프레임이 들어오면 해당 포트가 어떤 VLAN인지 확인하고 같은 VLAN으로만 프레임을 전송한다. 또한 VLAN의 정보는 VLAN-Database에 저장된다.
VLAN을 설정하는 방법에는 관리자가 직접 모든 포트에 VLAN 관련된 정보를 설정하는 Static 방식과 외부 장비(프로그램) 등을 사용하려 관련 정보를 자동으로 설정하는 Dynamic 방식이 있다. Static 방식은 모든 관리와 설정을 관리자가 직접 수행해야 하기 때문에 번거롭다는 단점이 있지만, 한 장비의 문제가 전체 네트워크에 영향을 미치지 않는다는 장점이 있다. Dynamic 경우 VMPS(VLAN Membership Policy Server)라는 장비를 통해 MAC주소를 기반으로 자동으로 VLAN 정보가 설정되지만, VMPS에 장애가 발생하면 VLAN을 이용하는 모든 네트워크 서비스에 장애가 발생한다는 단점이 존재한다.
VLAN은 식별자(번호)를 이용하여 구분하는데, VLAN으로 설정 가능한 번호는 다음과 같다.
번호 | 용도 |
1~1005 | 일반 VLAN |
1006~4094 | 확장 VLAN |
0, 4095 | 시스템 용으로 사용 |
1 | Native VLAN, 최초에 모든 포트가 가입되어 있는 기본 VLAN |
2) 효율적인 VLAN 활용: Trunking
앞서 언급한 상황처럼 3층의 스위치에 연결된 PC와 2층의 스위치에 연결된 PC를 하나의 VLAN으로 만들기 위해서는 어떻게 해야할까? 이때 사용되는 것이 VLAN Trunking이다.
기존의 호스트와 스위치를 연결하는 포트들은 하나의 VLAN이 할당된 포트로 액세스 포트(Access Port)라고 부른다. 반면 위의 상황처럼 한 포트에 여러 VLAN의 프레임이 전송될 수 있는 포트를 트렁킹 포트(Trunking Port) 또는 태그 포트(Tagged Port)라고 한다.
3) 그 프레임 어떤 VLAN이야? Tagging과 802.1Q
그렇다면 트렁크 포트를 지나가는 프레임들이 스위치에 도착해서 어떤 VLAN에 속하는지는 어떻게 식별할까? 그 방법이 바로 Tagging이다. Tagging에는 IEEE 802.1q(dot1q라고 부른다)과 Cisco 전용인 ISL이 있다. 802.1q는 표준 방식으로 스위치에 들어갈 때, 프레임 헤더의 Source Address 와 Type 필드 사이에 4byte VLAN정보 필드를 추가한다. 그리고 노드는 VLAN을 인식하지 못하기 때문에 노드로 들어갈 때는 Tag를 떼고 들어간다.
트렁킹 포트를 사용하는 경우, 아래와 같은 명령어를 통해 Tagging Protocol을 지정해줘야 한다.
Router1(config-subif)# encapsulation dot1Q 10
Cisco 스위치에서 확인할 수 있는 패킷을 보면 다음과 같이 Tagging이 이뤄진다.
위에 보이는 패킷의 Tag에서 TPID(Tag Protocol Identifier)는 프레임에 VLAN Tag가 포함되어 있음을 식별해주는 필드이고, TCI(Tag Control Information)은 VLAN 식별자를 의미한다(16진수).
4) VLAN 간의 통신: Inter-VLAN, Sub-Interface
VLAN으로 분리된 브로드캐스트 도메인 간 통신은 어떻게 이뤄질까? 가장 쉬운 방법은 스위치에 포트 2개를 연결하고 이를 L3 네트워크 장비인 라우터로 연결하는 것이다. 이렇게 2개의 인터페이스가 쓰이는 방법 외에 더 효율적으로 하나의 인터페이스만으로 VLAN을 연결하는 방법이 바로 Sub-Interface다. Inter-VLAN을 말할 때 주로 사용되는 기술이 Sub-Interface이다. 간단히 설명하자면, 하나의 인터페이스를 쪼개 가상으로 여러 개의 인터페이스로 사용할 수 있게 하는 기술이다.
위의 사진을 보면 기존에 있던 GigabitEthernet 0/0 밑에 0/0.1, 0/0.2의 가상의 인터페이스들이 생성된 것을 볼 수있다. 이것이 Sub-interface다. 참고로 Sub-Interface를 사용하는 경우 해당 포트에는 여러 VLAN의 프레임들이 통신되기 때문에 당연하게도 트렁크 포트이다.
2. 라우터보다 저렴하게, L3 스위치
L3 스위치는 L2 스위치의 기능에 라우터의 기능인 라우팅, 브로드캐스트 도메인 분할 등의 기능을 추가한 네트워크 장비이다. L2 스위치에서 MAC주소는 식별할 수 있지만, IP주소를 식별할 수 없어 서브넷, 라우팅 등을 할 수 없던 것과 달리 L3 스위치는 3계층 장비이기 때문에 SVI(Switched VLAN Interface)와 같은 기술을 통해 기존의 포트에서 IP를 부여할 수 있는 인터페이스로 변환할 수 있고, 라우팅도 가능하다. 또한 라우터에 비해 저렴하다고 기능이 단순히 패킷 처리가 빠르다는 장점이 있다. 하지만 라우터의 라우팅 프로토콜(OSPF, BGP..), WAN 연결(NAT), 방화벽 등 고급 기능들을 지원하지 않고, 기능 추가 및 업그레이드가 힘들다는 단점이 있다. 그래서 L3 스위치는 주로 내부 VLAN 연결에 사용되고, 라우터는 인터넷 연결에 사용된다.
*SVI(Switched VLAN Interface): VLAN 번호로 가상의 인터페이스를 만드는 기술
힘들지만 오늘도 해낸 나를 위한 한 마디,
"현재의 순간을 극진히 환영하라, 그것이 우리가 가진 전부이기 떄문이다", 페마 초드론
'Network' 카테고리의 다른 글
[Network] Network ACL (0) | 2024.08.26 |
---|---|
[Network] 라우팅 프로토콜 실습 및 설정법 (1) | 2024.08.24 |
[Network] OSI Layer 4(Transport) - TCP, UDP (0) | 2024.08.23 |
[Network] OSI Layer 3 - Router (0) | 2024.08.22 |
[Network] OSI Layer 3(Network) - ARP, ICMP (0) | 2024.08.20 |