이전 글에서 스위치의 기능은 3가지가 있다고 했다.
- 기본 동작 : MAC 주소를 인식하고 패킷을 전달
- VLAN 기능 : 한 대의 장비에서 논리적으로 네트워크를 분리
- 스패닝 트리 프로토콜(STP) : 네트워크의 루프를 방지
이번엔 이 중 VLAN에 대해 알아보자!
VLAN(Virtual Local Area Network)이란?
- 물리적 배치와 상관없이 LAN을 논리적으로 분할, 구성하는 기술
👉🏻 VLAN을 나누면 하나의 장비를 서로 다른 네트워크를 갖도록 논리적으로 분할한 것이 된다. - 👉🏻 그냥 한마디로 물리적 스위치 하나를 그룹으로 나눠 여러 논리적 스위치를 만들어버리는 것
- 각 부서별로 네트워크를 분할하거나, 다수의 단말을 네트워크에 연결하는 등 분리가 필요할 때 사용
- 또는 과도한 브로드캐스트로 인한 단말들의 성능 저하, 보안 향상을 위한 차단 용도, 서비스 성격에 따른 정책 적용과 같은 이유로 네트워크 분리
- 유니캐스트뿐만 아니라 브로드캐스트도 VLAN 간에 통신할 수 없다.
- VLAN 간의 통신이 필요하다면 서로 다른 네트워크 간의 통신이므로 앞에서 배운 것처럼 3계층 장비가 필요함.
- VLAN을 사용하면 물리적 구성과 상관없이 네트워크 분리 가능
- 물리적으로 다른 층에 있는 단말을 하나의 VLAN을 사용해 동일한 네트워크로 묶을 수 있다.
- 서비스나 단말의 성격에 따라 네트워크를 분리할 수 있으며, 이렇게 분리된 단말 간에는 3계층 장비를 통해 통신한다.
- 같은 층에서 부서별로 네트워크를 분리하거나
- 일반 PC, IP 전화기, 무선 단말등으로 분리
VLAN의 종류와 특징
VLAN 할당 방식에는 포트 기반의 VLAN과 MAC 주소 기반의 VLAN이 있다.
포트 기반 VLAN
- VLAN 개념이처음 도입되었을 때는 스위치를 분할해 여러 네트워크에 사용하는 것이 VLAN 기능을 적용하는 목적
- 이렇게 스위치를 논리적으로 분할해 사용하는 것이 목적인 VLAN이 포트 기반 VLAN(Port Based VLAN)
- 즉, VLAN 선정 기준이 스위치의 포트
- 우리가 일반적으로 언급하는 대부분의 VLAN은 포트 기반 VLAN
- 어떤 단말이 접속하든지 스위치의 특정 포트에 VLAN을 할당하면 할당된 VLAN에 속함
- 위 그림처럼 AA PC가 1번 포트에 연결하면 VLAN 10에 속하고 4번 포트에 연결하면 VLAN 20에 속하게 되는 것
MAC 주소 기반 VLAN
- 사용자들의 자리 이동이 많아지면서 MAC 기반 VLAN(Mac Based VLAN)이 개발됨
- 스위치의 고정 포트가 아닌, 스위치에 연결되는 단말의 MAC 주소를 기반으로 VLAN을 할당하는 기술
- 즉, VLAN 선정 기준이 PC의 MAC 주소
- 단말이 연결되면 단말의 MAC 주소를 인식한 스위치가 해당 포트를 지정된 VLAN으로 변경
- 위 그림에서, 포트 기반 VLAN과 달리 AA PC는 어떤 스위치의 어떤 포트에 접속하더라도 동일한 VLAN 10이 할당
- 단말에 따라 VLAN 정보가 바뀔 수 있어 다이나믹 VLAN(Dynamic VLAN)이라고도 부른다.
* 앞으로 다룰 VLAN 관련 내용은 포트 기반 VLAN이다.
데이터 센터에서의 스위치 VLAN은 포트 기반 VLAN으로 구성하는 것이 일반적이다. 오피스나 캠퍼스 네트워크에서도 포트 기반 VLAN 구성이 일반적이지만 사용자의 이동성을 요구하는 최근 스마트 오피스의 요구로 MAC 기반 VLAN 구성이 점점 더 많이 사용되고 있다. 물론 이런 구분이 무조건 적용되는 것은 아니며 실제 각 구성 요건에 따라 구현 방식이 달라질 수 있다.
VLAN 모드(Trunk/Access) 동작 방식
스위치의 포트를 그룹으로 나눠 여러 논리적인 스위치로 만드는 게 포트 기반 VLAN이라고 했는데,
- 이 논리 스위치(VLAN)끼리도 로컬 네트워크 내 장비들처럼 통신할 수는 없다. (결국 별도 분리된 스위치와 같으므로)
- 서로 다른 VLAN이 설정된 포트(네트워크) 간에는 브로드캐스트인 ARP 리퀘스트가 전달될 수 없기 때문
- 따라서 3계층 장비를 사용해 통신해야 함.
물리적으로 스위치를 분리할 때 보다 효율적으로 장비를 사용할 수 있기 때문에 스위치 포트에 VLAN을 설정하여 네트워크를 분리하는데,
여러 개의 VLAN이 존재하는 상황에서 스위치를 서로 연결해야 하는 경우에는
- 각 VLAN끼리 통신하려면 VLAN 개수만큼 포트를 연결해야 함.
- VLAN으로 분할된 스위치는 물리적인 별도의 스위치처럼 취급
만약 위 그림처럼 두 스위치에 각각 3개의 VLAN이 구성되어 있는 경우,
각 VLAN이 스위치 간에 통신하려면 3개의 포트가 필요하다.
VLAN을 더 많이 사용하는 중·대형 네트워크에서 이렇게 VLAN별로 포트를 연결하면 장비 간의 연결만으로도 많은 포트가 낭비된다.
이 문제를 해결하기 위한 것이 VLAN 태그 기능이다.
- 하나의 포트에 여러 개의 VLAN을 함께 전송할 수 있게 해준다.
- 이 포트를 태그(Tagged) 포트 또는 트렁크(Trunk) 포트라고 함
- 여러 개의 VLAN을 동시에 전송해야 하는 태그 포트
- 통신할 때 이더넷 프레임 중간에 VLAN ID 필드를 끼워 넣어 이 정보를 이용
- 송신 : 태그 포트로 패킷을 보낼 때 VLAN ID를 붙임
- 수신 : 수신측에서는 이 VLAN ID를 제거
- 즉, VLAN ID의 VLAN으로 패킷을 보낼 수 있다.
아래와 같이 기존 이더넷 프레임에 VLAN ID 필드를 끼워넣으면 태그 프레임이 된다.
이러면 여러 개의 포트를 하나로 묶어 사용할 수 있으므로 포트 낭비 없이 네트워크를 더 유연하게 디자인할 수 있다.
태그 포트로 인해 MAC 주소 테이블(스위치의 패킷 전송에 사용)에도 VLAN을 지정하는 필드가 추가되었다.
- MAC주소와 Port정보를 담아뒀던 기존 MAC 테이블에 VLAN 필드 추가
- VLAN별로 MAC 주소 테이블이 존재하는 것처럼 동작
- 이로 인해 다른 VLAN끼리 통신하지 못함
정리하면,
- 일반적인 포트 : 언태그(Untagged) 포트 또는 액세스(Access) 포트
- 하나의 VLAN에 속한 경우에만 사용
- 하나의 네트워크에 속한 서버의 경우에는 언태그로 설정
- VLAN 정보를 넘겨 통신하도록 해주는 포트를 태그 포트 또는 트렁크 포트
- 태그포트는 여러 개의 VLAN, 즉 여러 네트워크를 하나의 물리적 포트로 전달하는 데 사용
- 여러 네트워크가 동시에 설정된 스위치 간의 연결에서 사용
- 언태그 포트로 패킷이 들어올 경우
- 같은 VLAN으로만 패킷을 전송
- 태그 포트로 패킷이 들어올 경우
- 태그를 벗겨내면서 태그된 VLAN 쪽으로 패킷을 전송
스위치 간의 연결이 아닌, 서버와 연결된 포트도 가상화 서버(VMware의 ESXi등)가 연결될 때는 여러 VLAN과 통신해야 할 수도 있는데, 이 경우에 서버와 연결된 스위치의 포트더라도 태그로 설정한다.
이 때는 가상화 서버쪽 인터페이스에서도 태그된(Tagged) 상태로 설정해야 한다.
👉🏻 가상화 서버 내부에 가상 스위치가 존재하므로 스위치 간 연결이나 마찬가지
참고: VLAN 간 통신
VLAN은 스위치 통신을 분할하는 기능 때문에 유니캐스트, 멀티캐스트, 브로드캐스트 모두 VLAN을 넘어가지 못한다.
일반적으로
VLAN이 다르다 👉🏻 별도의 네트워크로 분할 👉🏻 네트워크가 다르다. 👉🏻 IP 주소 할당도 다른 네트워크로 할당
앞 3계층 동작 시리즈에서 다룬 것처럼, 다른 네트워크끼리의 통신이 필요하다면 라우터와 같은 L3 장비의 도움이필요하다.
참고 | 🔗서브넷과 게이트웨이 : 원격지 네트워크 간의 통신은 게이트웨이라고 하는 장비를 써야 하며, 3계층 장비(🔗라우터, L3 스위치)가 이 역할을 할 수 있다.
참고
⌜IT 엔지니어를 위한 네트워크 입문⌟ 길벗, 2023
[4장] 스위치: 2계층 장비 | 4.2 VLAN (p.136~144)
* 책을 참고해 필요한 내용을 정리한 것이므로, 책의 내용과 다를 수 있습니다.
GitHub 댓글