핵심 인사이트 (3줄 요약)
- 본질: L2 스위치의 포트는 연결 대상이 누구냐에 따라 **접근 포트(Access Port)**와 트렁크 포트(Trunk Port) 두 가지 모드 중 하나로 동작해야 하며, 이는 VLAN 환경을 구성하는 뼈대다.
- 접근 포트(Access): 일반 PC나 프린터 같은 엔드포인트 장비가 꽂히는 포트로, 단 하나의 특정 VLAN에만 소속되며, 802.1Q 태그(이름표)가 전혀 없는 순수한 프레임(Untagged)만을 주고받는다.
- 트렁크 포트(Trunk): 스위치와 스위치, 또는 라우터처럼 여러 네트워크를 한 번에 다뤄야 하는 장비끼리 연결되는 포트로, 단 한 가닥의 선으로 여러 개의 VLAN 트래픽을 동시에 섞어 보내기 위해 802.1Q 태그를 프레임에 달았다 뗐다(Tagged) 하는 다중화 통로다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: 스위치 내부의 포트를 논리적으로 설정하는 모드(Mode)다.
-
필요성:
- 내 자리의 PC는 자신이 어느 VLAN에 속해 있는지 전혀 알지 못한다. PC는 단순히 순수한 이더넷 프레임을 스위치로 보낼 뿐이다. 이때 PC가 꽂히는 포트는 **"이 선으로 들어오는 건 전부 VLAN 10번이야"**라고 미리 지정해 두어야(Access) 통신이 성립된다.
- 반면, A 스위치와 B 스위치를 선 하나로 이을 때는, 그 선을 통해 VLAN 10, VLAN 20, VLAN 30 등 수많은 데이터가 동시에 건너가야 한다. 따라서 짐을 섞어 싣고 꼬리표를 확인하는 특수한 고속도로(Trunk) 모드가 필요하다.
-
💡 비유:
- 접근 포트(Access): 각 부서(VLAN) 방으로 들어가는 **"개별 방문"**입니다. 이 문을 나서는 사람은 누구나 당연히 그 방(영업부) 소속이므로 굳이 가슴에 소속 명찰(태그)을 달 필요가 없습니다.
- 트렁크 포트(Trunk): 여러 부서 사람들이 다 함께 타는 건물 중앙의 **"공용 엘리베이터"**입니다. 여기서는 영업부, 인사부 사람들이 섞여 있으므로, 내릴 층을 헷갈리지 않게 반드시 가슴에 소속 명찰(VLAN 태그)을 달고 타야 합니다.
📢 섹션 요약 비유: 접근 포트는 PC와 스위치를 잇는 **"1차선 골목길(태그 없음)"**이고, 트렁크 포트는 여러 스위치를 하나로 이어주는 **"다차선 고속도로(태그 있음)"**입니다.
Ⅱ. 두 포트 모드의 프레임 처리 알고리즘 (Deep Dive)
1. Access Port의 동작 (Untagged Traffic)
액세스 포트는 단일 VLAN ID(PVID: Port VLAN ID)에 매핑되어 있다.
- 수신 시(Rx): PC에서 태그 없는 순수한 프레임이 들어오면, 스위치는 "이 포트는 VLAN 10 전용이니까, 들어온 프레임은 무조건 VLAN 10이야!"라고 인식하여 스위치 내부 칩셋으로 올릴 때 VLAN 10 꼬리표를 몰래 붙인다.
- 송신 시(Tx): 스위치 내부에서 목적지를 찾아 해당 액세스 포트로 나갈 때는, PC가 꼬리표를 이해하지 못하므로, 꼬리표를 떼어내고(Untag) 순수한 오리지널 프레임 상태로 PC에게 넘겨준다.
2. Trunk Port의 동작 (Tagged Traffic)
트렁크 포트는 스위치 간 대동맥 역할을 하며, 통과가 허용된 여러 VLAN 트래픽을 모두 허용한다.
- 송신 시(Tx): 스위치 A 내부의 버퍼에 있던 프레임이 다른 스위치 B로 넘어가야 할 때, 스위치 A는 프레임 헤더에
0x8100으로 시작하는 4바이트짜리 802.1Q 태그를 강력하게 박아 넣고(Tagging) 트렁크 선로로 쏴버린다. - 수신 시(Rx): 스위치 B는 트렁크 선로에서 프레임이 들어오면 태그를 읽어보고 "아! VID가 20이네. 그럼 인사부(VLAN 20) 포트들 쪽으로만 포워딩해야지!" 하고 인식한 뒤 스위칭을 수행한다.
┌─────────────────────────────────────────────────────────────┐
│ Access 포트와 Trunk 포트의 프레임 변환 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ PC 1 (영업) ] [ 스위치 1 ] │
│ │ (Untagged) │ │
│ │ │ Access Port (VLAN 10)│
│ [ 순수 프레임 ] ──────입력─────▶ (스위치 내부에서 Tag 10 부착) │
│ │ │
│ ▼ Trunk Port (Tagging)│
│ [ 스위치 2 ] ◀──────출력────── [ Tag 10 + 순수 프레임 ] │
│ │ (Tagged) │
│ Access Port (VLAN 10) │
│ │ (스위치가 Tag를 떼어냄) │
│ ▼ │
│ [ 순수 프레임 ] ──────────────▶ [ PC 2 (영업) ] │
│ │
└─────────────────────────────────────────────────────────────┘
📢 섹션 요약 비유: 스위치의 포트는 PC 앞에서는 모른 척 꼬리표를 떼어주는 **"접근(Access)의 가면"**을 쓰고, 다른 스위치를 만날 때는 철저하게 꼬리표를 달아 다중화를 처리하는 **"트렁크(Trunk)의 가면"**을 바꿔 쓰는 양면성을 지녔습니다.