Обновлено 1 месяц назад
이더넷 프레임은 스위치에 도달하는 순간 하나의 질문에 직면합니다. "당신은 어느 네트워크에 속해 있나요?"
단순한 네트워크에서는 답이 명확합니다. 네트워크가 하나뿐이니까요. 하지만 트래픽을 분리하기 위해 VLAN을 만드는 순간, 프레임에는 식별자가 필요해집니다. VLAN 10의 프레임과 VLAN 20의 프레임이 스위치 사이 같은 케이블을 통해 이동할 때, 무언가가 이 둘을 구분해야 합니다.
IEEE 802.1Q가 바로 그 무언가입니다. 모든 프레임에 삽입되는 4바이트 태그로, 지나치는 모든 스위치에게 자신이 어느 VLAN에 속하는지 조용히 알려줍니다.
802.1Q가 해결하는 문제
두 스위치가 하나의 케이블로 연결되어 있다고 상상해 보세요. 각 스위치에는 VLAN 10(엔지니어링)과 VLAN 20(마케팅)에 속한 장치들이 있습니다. 스위치 A의 엔지니어링 컴퓨터가 스위치 B의 엔지니어링 컴퓨터로 프레임을 보낼 때, 그 프레임은 공유 케이블을 통해 이동해야 합니다.
태깅이 없으면, 스위치 B는 해당 프레임이 어느 VLAN에 속하는지 알 수 없습니다. 엔지니어링 프레임이 마케팅 쪽으로 전달될 수도 있으며, 이는 별도의 VLAN을 두는 목적 자체를 무너뜨립니다.
802.1Q는 스위치 간에 프레임이 이동하기 전에 각 프레임에 VLAN 번호를 찍어두는 방식으로 이 문제를 해결합니다. 스위치 B는 태그를 읽고, 해당 프레임이 VLAN 10에 속한다는 것을 파악한 뒤, VLAN 10 포트에만 전달합니다.
트렁크 포트는 모든 언어를 동시에 구사하는 회선과 같습니다. 수십 개의 VLAN에서 온 프레임들이 각자의 정체성을 태그로 달고 동일한 구리선이나 광섬유 위를 함께 지나갑니다.
태그의 구성
802.1Q 태그는 출발지 MAC 주소와 EtherType 필드 사이에 삽입되는 4바이트입니다.
태그 프로토콜 식별자(TPID): 2바이트, 항상 0x8100. 스위치에게 "802.1Q 태그가 뒤따릅니다"라고 알려주는 값입니다.
VLAN 식별자(VID): 어느 VLAN인지 나타내는 12비트 (0~4095, 0과 4095는 예약됨, 실제 사용 가능한 VLAN은 4094개).
우선순위 코드 포인트(PCP): QoS 우선순위를 위한 3비트 (0~7). 스위치가 음성과 영상 트래픽을 대용량 데이터보다 먼저 처리할 수 있게 해줍니다.
폐기 우선 표시(DEI): 혼잡 시 먼저 폐기될 수 있는 프레임을 표시하는 1비트.
이 태그는 모든 프레임에 4바이트를 추가하여 최대 프레임 크기를 1518바이트에서 1522바이트로 늘립니다. 현대 장비는 이를 문제없이 처리합니다.
액세스 포트 vs. 트렁크 포트
스위치는 포트 유형에 따라 VLAN 태그를 다르게 처리합니다.
액세스 포트는 컴퓨터, 전화기, 프린터 같은 단말 장치에 연결됩니다. 이러한 장치들은 VLAN 태그를 이해하지 못하며, 그럴 필요도 없습니다.
- 노트북에서 태그 없는 프레임이 도착합니다.
- 스위치는 포트에 설정된 VLAN을 기반으로 802.1Q 태그를 추가합니다.
- 프레임은 태그를 달고 스위치 내부를 이동합니다.
- 같은 VLAN의 다른 액세스 포트로 나갈 때, 스위치는 태그를 제거합니다.
- 목적지 장치는 태그 없는 프레임을 받으며, VLAN의 존재를 알지 못합니다.
VLAN은 액세스 포트에 연결된 장치에게 보이지 않습니다. 태깅은 스위치가 모두 처리합니다.
트렁크 포트는 스위치끼리, 또는 VLAN 간 라우팅을 담당하는 라우터와 스위치를 연결합니다. 여러 VLAN을 동시에 전달합니다.
- 다른 스위치로부터 태그된 프레임이 도착합니다.
- 스위치는 VLAN 태그를 읽어 어디로 전달할지 결정합니다.
- 프레임은 트렁크 포트로 나갈 때는 태그가 유지되고, 액세스 포트로 나갈 때는 태그가 제거됩니다.
트렁크 포트는 태그를 보존하고, 액세스 포트는 태그를 제거합니다.
네이티브 VLAN의 예외
이 지점에서 802.1Q가 조금 이상해집니다. 우리는 VLAN 소속을 식별하기 위해 태깅 시스템을 만들었으면서, 즉시 하나의 예외를 만들었습니다. 바로 네이티브 VLAN입니다.
네이티브 VLAN의 트래픽은 트렁크 포트를 통과할 때 태그 없이 이동합니다. 왜냐고요? 802.1Q를 이해하지 못하는 장치와의 하위 호환성 때문입니다.
이는 몇 가지 문제를 만들어냅니다.
불일치 위험: 트렁크 양 끝은 네이티브 VLAN을 동일하게 설정해야 합니다. 스위치 A가 VLAN 1을 네이티브로 사용하고 스위치 B가 VLAN 99를 사용한다면, 각 스위치에서 오는 태그 없는 프레임은 반대쪽에서 서로 다른 VLAN에 도달합니다. 연결이 이해하기 어려운 방식으로 끊어집니다.
보안 구멍: 네이티브 VLAN은 "이중 태깅" 공격을 가능하게 합니다. 공격자가 두 개의 802.1Q 태그를 가진 프레임을 만들면, 첫 번째 스위치는 외부 태그를 제거하고(네이티브 VLAN 트래픽으로 인식), 두 번째 스위치는 내부 태그를 읽어 공격자가 접근해서는 안 되는 VLAN으로 프레임을 전달할 수 있습니다.
권장 사항:
- 기본 네이티브 VLAN(보통 VLAN 1)을 사용하지 않는 VLAN으로 변경하세요.
- 네이티브 VLAN에 사용자 트래픽을 두지 마세요.
- 일부 관리자는 네이티브 VLAN을 포함한 모든 VLAN에 태그를 붙이도록 트렁크를 설정합니다.
우선순위와 QoS
3비트 우선순위 코드 포인트 필드는 여덟 가지 우선순위 수준을 제공합니다.
| 우선순위 | 일반적인 용도 |
|---|---|
| 7 | 네트워크 제어 (라우팅 프로토콜) |
| 6 | 음성 (지연 10ms 미만) |
| 5 | 영상 (지연 100ms 미만) |
| 4 | 제어 부하 |
| 3 | 우량 처리 |
| 2 | 예비 |
| 1 | 백그라운드 |
| 0 | 최선형 전달 (기본값) |
스위치의 큐가 가득 차면, 우선순위가 높은 프레임을 먼저 처리합니다. 파일 전송이 혼잡을 흡수하는 동안에도 음성 통화는 깨끗하게 유지됩니다.
"802.1p"라는 이름이 별도로 언급되는 경우가 있는데, 이는 802.1Q의 우선순위 부분을 가리키는 것일 뿐 별개의 표준이 아닙니다.
이중 태깅 (Q-in-Q)
이중 태깅은 합법적인 목적으로 두 번째 802.1Q 태그를 추가합니다.
서비스 제공자 네트워크: 고객이 내부적으로 VLAN 1~100을 사용합니다. 서비스 제공자는 해당 고객의 모든 트래픽을 외부 태그(예: VLAN 500)로 감쌉니다. 고객의 VLAN 번호가 다른 고객이나 제공자 인프라와 충돌하지 않습니다.
메트로 이더넷: 고객 트래픽을 분리된 상태로 유지하면서 대도시 지역에 걸쳐 2계층 네트워크를 확장합니다.
외부 태그는 표준 802.1Q 태그와 구별하기 위해 TPID 0x88A8(802.1ad에서 정의)을 사용합니다.
단말 장치가 직접 태깅하는 경우
대부분의 장치는 액세스 포트에 연결되며 VLAN 태그를 볼 일이 없습니다. 하지만 일부 상황에서는 단말 장치가 직접 태깅해야 합니다.
IP 전화기는 작은 스위치처럼 동작합니다. 음성 트래픽을 음성 VLAN으로 태깅하면서, 컴퓨터 트래픽은 태그 없이 통과시킵니다. 케이블 하나로 전화기와 컴퓨터를 모두 연결하면서 트래픽을 올바르게 분리합니다.
가상화 호스트는 서로 다른 VLAN에 속해야 하는 수십 개의 가상 머신을 실행합니다. 하이퍼바이저는 단일 물리적 업링크에서 각 VM의 트래픽에 적절히 태그를 붙입니다.
다중 역할 서버는 관리 트래픽을 VLAN 10으로, 운영 트래픽을 VLAN 20으로, 스토리지 트래픽을 VLAN 30으로 태깅할 수 있으며, 이 모든 것이 하나의 물리적 인터페이스에서 이루어집니다.
모든 주요 운영 체제는 물리적 어댑터 위에 태그된 가상 인터페이스를 생성하는 기능을 지원합니다.
무선 네트워크와 VLAN 태깅
무선 네트워크는 802.1Q에 크게 의존합니다.
여러 SSID가 VLAN에 매핑됩니다: 기업 Wi-Fi → VLAN 10, 게스트 → VLAN 20, IoT → VLAN 30. 하나의 액세스 포인트, 세 개의 분리된 네트워크.
액세스 포인트는 스위치와 트렁크로 연결됩니다: AP는 클라이언트가 연결된 SSID를 기반으로 각 클라이언트의 트래픽을 적절한 VLAN으로 태깅합니다.
로밍 시 VLAN 소속이 유지됩니다: 노트북이 액세스 포인트 사이를 이동하면서도 동일한 VLAN에 머물러 IP 주소와 네트워크 연결을 유지합니다.
문제 해결
네이티브 VLAN 불일치: 태그 없는 트래픽이 잘못된 VLAN에 도달합니다. 일부 스위치는 경고를 표시하지만, 어떤 스위치는 조용히 실패합니다. 트렁크 양 끝의 설정이 일치하는지 확인하세요.
허용 VLAN 목록 불일치: 스위치 A가 트렁크에서 VLAN 10, 20, 30을 허용하지만 스위치 B가 10, 20만 허용한다면, VLAN 30 트래픽은 폐기됩니다. 양쪽 모두 통과해야 하는 모든 VLAN을 허용해야 합니다.
잘못된 포트 모드: 태그된 트래픽을 받는 액세스 포트는 그것을 폐기합니다. 트렁크 포트는 단말 장치에 대해 예상대로 동작하지 않습니다. 포트 모드가 용도에 맞는지 확인하세요.
패킷 캡처: 트렁크 포트에서는 캡처된 프레임에서 VLAN 태그를 볼 수 있습니다. 액세스 포트에서는 전송 전에 태그가 제거되므로 캡처에 나타나지 않습니다.
설정 예시
Cisco 트렁크 설정:
Linux 태그된 인터페이스:
VLAN 태깅에 관한 자주 묻는 질문
내 컴퓨터는 왜 VLAN 태그에 대해 알 필요가 없나요?
액세스 포트가 태깅을 보이지 않게 처리합니다. 스위치는 들어오는 프레임에 태그를 추가하고, 나가는 프레임에서 태그를 제거합니다. 컴퓨터는 일반적인 이더넷 프레임을 보내고 받으며, VLAN 인프라는 전적으로 스위치의 역할입니다.
컴퓨터를 트렁크 포트에 꽂으면 어떻게 되나요?
컴퓨터는 이해하지 못하는 태그된 프레임을 받아 폐기할 가능성이 높습니다. 나가는 프레임은 태그 없이 네이티브 VLAN으로 향합니다. 아무것도 제대로 작동하지 않습니다. 여러 VLAN을 처리해야 하는 특수한 경우가 아니라면, 단말 장치에는 항상 액세스 포트를 사용하세요.
VLAN ID가 부족해질 수 있나요?
802.1Q는 4094개의 VLAN을 지원합니다(ID 1~4094, 예약된 값 제외). 대부분의 네트워크는 이 한계에 근접하지 않습니다. 더 많은 VLAN이 필요한 서비스 제공자는 사용 가능한 공간을 배수로 늘리는 Q-in-Q 이중 태깅을 활용합니다.
VLAN 1이 왜 특별한가요?
VLAN 1은 대부분의 스위치에서 기본 VLAN으로, 모든 포트가 여기서 시작합니다. 또한 일반적으로 기본 네이티브 VLAN이기도 합니다. 예측 가능하기 때문에 공격자들의 표적이 됩니다. 권장 사항: 관리 트래픽과 네이티브 VLAN 역할을 다른 VLAN으로 옮기고, VLAN 1은 사용하지 않은 채로 두세요.
VLAN 태깅이 지연을 추가하나요?
무시할 수 있는 수준입니다. 스위치는 하드웨어에서 회선 속도로 802.1Q 태그를 처리합니다. 4바이트 태그는 의미 있는 지연을 추가하지 않으며, 현대 스위치는 땀 한 방울 흘리지 않고 초당 수백만 개의 태그된 프레임을 처리합니다.
Была ли эта страница полезной?