📚 네트워크 · 패킷 분석 › 04. 네트워크 장비 실습 — 152편
이전 글: 151. 네트워크 장비의 종류 · 다음 글: 153. Router란 무엇인가
스위치(Switch) 는 같은 네트워크 안의 장치들을 연결하고, 프레임의 목적지 MAC 주소를 보고 해당 장치가 연결된 포트로만 프레임을 보내는 장비입니다. MAC 주소 자체의 구조는 06. MAC Address란 무엇인가, Ethernet 프레임 구조는 27. Ethernet Frame을 참고합니다.
이 글은 스위치를 장비로서 봅니다. 어떤 종류가 있고, 네트워크의 어디에 놓이며, 관제자에게 어떤 기록을 남기는지가 중심입니다. MAC 주소 테이블과 프레임 전달 판단의 세부 동작은 161. MAC Address Table과 162. Switch의 Frame Forwarding에서 따로 다룹니다.
| 구분 | 설명 | 예 |
|---|---|---|
| 비관리형(Unmanaged) | 설정 기능 없음, 꽂으면 바로 동작 | 가정용·소형 사무실 스위치 |
| 관리형(Managed) | VLAN, 포트 보안, SPAN, Syslog 등 설정 가능 | 기업 Access·Core 스위치 |
| L2 스위치 | MAC 기준 전달만 수행 | 층별 접속 스위치 |
| L3 스위치 | L2 전달 + VLAN 간 IP 라우팅 | 건물 백본, Distribution 계층 |
스위치는 프레임 하나를 받으면 다음 순서로 처리합니다. 단계별 세부 판단은 161·162편에서 다루고, 여기서는 전체 흐름만 봅니다.
포트로 프레임 수신
↓
출발지 MAC + 수신 포트를 MAC 주소 테이블에 기록 (학습)
↓
목적지 MAC을 테이블에서 조회
├─ 있음 → 해당 포트로만 전달
├─ 없음 → 수신 포트를 뺀 같은 VLAN의 모든 포트로 전달 (Flooding)
└─ 브로드캐스트 → 같은 VLAN의 모든 포트로 전달
스위치는 IP 헤더를 보고 경로를 결정하지 않습니다(L3 스위치의 라우팅 기능 제외). 그래서 스위치로만 연결된 범위는 하나의 브로드캐스트 도메인이 되며, 이를 나누는 방법이 VLAN입니다(163. VLAN이란 무엇인가).
관리형 스위치는 SPAN(포트 미러링) 기능으로 특정 포트·VLAN의 트래픽을 다른 포트로 복사할 수 있습니다. IDS나 패킷 수집 장비가 트래픽을 받는 대표적인 방법입니다(156. IDS란 무엇인가).
스위치가 네트워크에서 놓이는 위치(계층형 구조)입니다. 연결 구조 전체는 160. 네트워크 장비 연결 구조에서 다룹니다.
| 계층 | 역할 | 연결 대상 |
|---|---|---|
| Access | 사용자 단말·서버를 직접 연결 | PC, 프린터, AP, 서버 |
| Distribution | Access 스위치들을 모으고 VLAN 간 라우팅·정책 적용 | Access 스위치, Core |
| Core | 건물·데이터센터의 고속 백본 | Distribution, 방화벽, 라우터 |
관리형 스위치가 남기는 대표 이벤트입니다. 메시지 이름은 Cisco IOS 계열의 예이며, 제조사마다 형식이 다릅니다.
| 이벤트 | Cisco 계열 메시지 예 | 관제 의미 |
|---|---|---|
| 포트 링크 변경 | %LINK-3-UPDOWN, %LINEPROTO-5-UPDOWN | 장치 연결·분리, 케이블 문제 |
| MAC 이동(Flapping) | %SW_MATM-4-MACFLAP_NOTIF | 같은 MAC이 여러 포트에 등장 — 루프 또는 위조 의심 |
| 포트 보안 위반 | %PORT_SECURITY-2-PSECURE_VIOLATION | 허용되지 않은 MAC 접속 |
| 설정 변경 | %SYS-5-CONFIG_I | 누가 설정을 바꿨는가 |
| STP 토폴로지 변경 | 제조사별 상이 | 루프 방지 경로 재계산 (170. STP 기초) |
실습 예시 — Linux bridge로 가상 스위치를 만들고 학습 결과를 확인하는 흐름입니다. VMware에서는 같은 Custom 네트워크(예: VMnet2)나 LAN Segment에 연결된 VM끼리 가상 스위치로 묶인 것과 비슷하게 동작합니다. 명령은 Rocky/Ubuntu 공통이며, 출력은 예시(값은 환경마다 다름)입니다.
# 1) 브리지(가상 스위치) 생성 후 두 인터페이스를 포트로 연결
sudo ip link add br0 type bridge
sudo ip link set ens37 master br0
sudo ip link set ens38 master br0
sudo ip link set br0 up
# 2) 브리지에 연결된 포트 상태
bridge link show
# 3) 학습한 MAC(포워딩 데이터베이스) 확인
bridge fdb show br br0
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding ...
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding ...
00:0c:29:aa:bb:01 dev ens37 master br0
00:0c:29:aa:bb:02 dev ens38 master br0
⚠️ 원격(SSH)으로 접속 중인 인터페이스를 브리지에 넣으면 연결이 끊길 수 있습니다. 실습 전용 인터페이스에서만 진행합니다. 위 설정은 재부팅하면 사라지며, 영구 설정은 NetworkManager(Rocky)·Netplan(Ubuntu)으로 합니다.
📷 [실습 화면 삽입 위치] 브리지 양쪽 VM(192.168.10.11, 192.168.10.12)이 ping을 주고받은 직후
bridge fdb show br br0에 두 MAC이 서로 다른 포트로 학습된 화면
GNS3를 쓴다면 관리형 스위치 이미지에서 show mac address-table, show interfaces status, show logging으로 같은 정보를 확인할 수 있습니다.
스위치 로그는 "누가 공격했는가"보다 "그 장치가 물리적으로 어디에 있는가" 를 알려 주는 데 강합니다.
| 흔적 | 확인할 수 있는 것 |
|---|---|
| MAC 주소 테이블 | 특정 MAC이 연결된 스위치·포트(→ 층·자리) |
| 포트 Up/Down 로그 | 미인가 장비가 꽂힌 시각 |
| MAC Flapping 로그 | 루프, 이중 연결, MAC 위조 가능성 |
| 포트 보안 위반 로그 | 허용 목록 밖 장치 접속 시도 |
| SPAN 설정 | IDS가 실제로 어떤 구간을 보고 있는가 |
관제자가 확인할 질문
오탐 주의: 가상화 호스트, 이중화 NIC(Teaming), 무선 로밍 환경에서는 정상적으로도 MAC이 포트 사이를 이동할 수 있습니다. MAC Flapping 로그 하나만으로 공격이라 판단하지 않습니다.
bridge fdb show를 쓰면 스위치의 MAC 학습 결과를 직접 확인할 수 있습니다.