📚 네트워크 · 패킷 분석 › 04. 네트워크 장비 실습 — 159편
이전 글: 158. Load Balancer란 무엇인가 · 다음 글: 160. 네트워크 장비 연결 구조
152. Switch란 무엇인가와 153. Router란 무엇인가에서 두 장비를 각각 살펴봤습니다. 이 글은 둘을 나란히 놓고 관제자가 구분해야 하는 차이만 정리합니다. 한 문장으로 요약하면 다음과 같습니다.
| 비교 항목 | 스위치 (L2) | 라우터 (L3) |
|---|---|---|
| 판단 기준 | 목적지 MAC | 목적지 IP |
| 참조 테이블 | MAC 주소 테이블 (161. MAC Address Table) | 라우팅 테이블 (171. Router의 Routing Table) |
| 연결 범위 | 같은 서브넷(같은 VLAN) | 서로 다른 서브넷 |
| 모르는 목적지 | 같은 VLAN 전체로 Flooding | 경로가 없으면 폐기(기본 경로가 있으면 그쪽으로) |
| 브로드캐스트 | 전달함 | 전달하지 않음 |
| 호스트가 보는 장비 | 보이지 않음(투명) | 기본 게이트웨이로 직접 지정 |
같은 핑 요청이 스위치만 지날 때와 라우터를 지날 때를 비교합니다.
[경우 A] 같은 서브넷: PC-A 192.168.10.11 → 스위치 → PC-B 192.168.10.12
PC-A가 ARP로 PC-B의 MAC을 직접 조회
프레임: src MAC = PC-A, dst MAC = PC-B, TTL = 64
↓ 스위치 통과 (아무것도 바꾸지 않음)
PC-B 수신: src MAC = PC-A, TTL = 64
[경우 B] 다른 서브넷: PC-A 192.168.10.11 → 라우터 → 서버 10.10.20.21
PC-A가 ARP로 게이트웨이(라우터)의 MAC을 조회
프레임: src MAC = PC-A, dst MAC = 라우터, TTL = 64
↓ 라우터 통과 (L2 헤더 교체, TTL 감소)
서버 수신: src MAC = 라우터, TTL = 63
이 차이 때문에 Traceroute에는 라우터만 홉으로 나타나고 스위치는 나타나지 않습니다(37. Traceroute의 동작 원리).
두 장비는 네트워크를 나누는 방식도 다릅니다. 스위치는 포트마다 충돌 도메인을 나누지만 브로드캐스트 도메인은 VLAN 단위로 유지하고, 라우터는 인터페이스마다 브로드캐스트 도메인을 나눕니다. 자세한 내용은 168. Broadcast Domain과 169. Collision Domain에서 다룹니다.
실제 네트워크에서는 두 기능을 한 장비에 합친 L3 스위치가 많이 쓰입니다.
| 항목 | L2 스위치 | L3 스위치 | 라우터 |
|---|---|---|---|
| 주 용도 | 단말 연결 | 건물·데이터센터 내부 VLAN 간 라우팅 | WAN·인터넷 경계 연결 |
| 인터페이스 | 스위치 포트 | 스위치 포트 + VLAN 인터페이스(SVI) | 라우팅 인터페이스 |
| 강점 | 포트 수, 가격 | 내부 고속 라우팅 | 다양한 WAN 회선, NAT·VPN 등 부가 기능 |
| 로그 관점 | 포트·MAC 이벤트 | 포트·MAC + 라우팅 이벤트 | 인터페이스·라우팅·ACL·Flow |
관제자가 로그를 찾을 때의 차이입니다.
| 알고 싶은 것 | 스위치에서 | 라우터(또는 L3 장비)에서 |
|---|---|---|
| 호스트의 물리 위치 | MAC 테이블의 포트 | 알 수 없음 |
| IP ↔ MAC 대응 | 보통 없음 (L2 장비는 IP를 보지 않음) | ARP 테이블 |
| 서브넷 간 통신 흔적 | 없음 | ACL 로그, Flow 기록 |
실습 예시 — 152·153편의 실습망(브리지 VM, 라우터 VM)에서 "지나온 장비"를 구분하는 방법입니다(Rocky/Ubuntu 공통). 출력은 예시(값은 환경마다 다름)입니다.
# PC-A에서 같은 서브넷(PC-B)과 다른 서브넷(서버)으로 각각 핑
ping -c 1 192.168.10.12
ping -c 1 10.10.20.21
# PC-A의 ARP 캐시: 다른 서브넷 서버의 MAC은 없고 게이트웨이 MAC만 있음
ip neigh show
# 수신 측에서 출발지 MAC과 TTL 확인
sudo tcpdump -env -i ens33 icmp -c 2
192.168.10.12 dev ens33 lladdr 00:0c:29:aa:bb:02 REACHABLE
192.168.10.1 dev ens33 lladdr 00:0c:29:cc:dd:01 REACHABLE
# PC-B 수신 : 00:0c:29:aa:bb:01 > 00:0c:29:aa:bb:02 ... ttl 64 ... 192.168.10.11 > 192.168.10.12
# 서버 수신 : 00:0c:29:cc:dd:02 > 00:0c:29:ee:ff:21 ... ttl 63 ... 192.168.10.11 > 10.10.20.21
| 관찰 결과 | 해석 |
|---|---|
| 출발지 MAC = 송신 PC, TTL 그대로 | 스위치만 지남 |
| 출발지 MAC = 라우터, TTL 1 감소 | 라우터 1대 지남 |
| TTL이 여러 만큼 감소 | 라우터 여러 대를 지남 |
📷 [실습 화면 삽입 위치] PC-B와 서버에서 각각 캡처한 ICMP 요청의 Ethernet 출발지 MAC과 IP TTL을 비교한 화면(Wireshark Packet Details 두 개를 나란히)
관제자가 확인할 질문
의심 통신 발견
↓ 같은 서브넷인가?
예 → 스위치 MAC 테이블, 호스트 로그, (있다면) 내부 SPAN 캡처
아니오 → 라우터·L3 스위치 ACL 로그, Flow, 방화벽 로그
오탐 주의: 초기 TTL은 OS마다 다르고(예: 많은 Linux는 64, Windows는 128) 설정으로 바꿀 수 있으므로, TTL만으로 출발지를 단정하지 않습니다.