네트워크 기초

이더넷과 MAC

meellon 2026. 7. 3. 05:10

학습 목표

링크 계층같은 링크(홉) 위에서 프레임MAC 주소로 전달함을 설명할 수 있다.

이더넷 프레임의 주요 필드(dst/src MAC, EtherType, payload, FCS)를 설명할 수 있다.

ARP같은 서브넷에서 IP → MAC을 해석하는 방식을 설명할 수 있다.

허브스위치전달 범위·충돌 도메인 차이를 설명할 수 있다.

문제 상황

  • ping 192.168.1.50은 되는데 Wireshark에는 MAC 주소만 보이고 IP는 같은 서브넷 안에서만 의미 있다
    • 네트워크 계층(IP)링크 계층(MAC)다른 식별자
  • 처음 통신할 때 ARP 패킷이 잠깐 튄다
    • “왜 IP만 알면 되지 않나?” — 프레임은 MAC으로 보낸다
  • 옛날 허브와 지금 스위치 — 둘 다 “연결 장치”인데 대역폭·보안이 다르다
  • ip neigh·arp -aSTALE, REACHABLE캐시가 있다

IP·라우팅·NAT까지는 호스트 간 경로다. 같은 LAN 안에서 실제로 누구에게 프레임을 던지는지는 링크 계층이더넷과 MAC이다.

1. 링크 계층과 이더넷

링크 계층인접 노드(같은 링크에 붙은 NIC)끼리 프레임을 주고받는다. 인터넷 LAN에서 사실상 표준은 이더넷(Ethernet, IEEE 802.3).

계층 단위 주소 예
네트워크 IP 패킷 192.168.1.10
링크 이더넷 프레임 aa:bb:cc:dd:ee:ff
App data  →  TCP/UDP  →  IP packet  →  Ethernet frame  →  bits on wire
  • 홉(hop) 마다 IP는 그대로, MAC은 다음 홉 NIC바뀜
  • 라우터는 IP dst를 보고 포워딩 — 출력 링크에서 새 src/dst MAC으로 프레임 재구성
  • MTU 1500 — 이더넷 payload 상한 (ICMP Path MTU와 연결)

2. MAC 주소

MAC(Media Access Control) 주소는 NIC(네트워크 인터페이스) 에 붙는 48비트 식별자. 보통 6옥텟 16진 표기.

종류 용도
유니캐스트 aa:bb:cc:11:22:33 특정 NIC 하나
브로드캐스트 ff:ff:ff:ff:ff:ff 같은 LAN 전체 (ARP 요청 등)
멀티캐스트 첫 옥텟 LSB=1 여러 수신자 (IPv4 멀티캐스트 MAC 매핑)
  • OUI — 앞 24비트는 제조사 할당, 뒤 24비트는 장비별
  • 로컬 관리 주소 — VM·컨테이너·가상 NIC에서 소프트웨어 할당 흔함
  • IP는 설정·DHCP로 바뀔 수 있음 — MAC은 인터페이스에 묶인다고 보면 됨
ip link show eth0
# link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff

3. 이더넷 프레임

이더넷 프레임은 링크에서 실제로 오가는 PDU. IP 패킷은 payload 안에 실린다.

필드 크기 설명
Preamble/SFD 8 B 동기 (캡처에 안 보이기도 함)
Dst MAC 6 B 수신 NIC
Src MAC 6 B 송신 NIC
EtherType / Length 2 B 상위 프로토콜 (0x0800 IPv4, 0x0806 ARP)
Payload 46–1500 B IP 패킷 등
FCS 4 B CRC — 오류 검출 (링크 계층)
  • 최소 프레임 — payload 46 B 미만이면 패딩
  • VLAN tag (802.1Q)0x8100 + VLAN ID — 스위치·클라우드 VPC에서 흔함
  • 캡슐화 — 한 IP 패킷이 한 이더넷 프레임에 실리는 경우가 일반 (단편화는 IP 계층)

4. ARP — IP를 MAC으로

ARP(Address Resolution Protocol)같은 서브넷에서 목적지 IP에 대응하는 MAC을 알아낸다. IP 패킷을 프레임으로 싸려면 먼저 MAC이 필요하다.

Host A  192.168.1.10  wants to send to  192.168.1.50
  1. Check ARP cache — miss
  2. ARP Request (broadcast)
       who has 192.168.1.50? tell 192.168.1.10
       dst MAC ff:ff:ff:ff:ff:ff
  3. Host B (192.168.1.50) ARP Reply (unicast)
       192.168.1.50 is at bb:bb:bb:bb:bb:bb
  4. A caches mapping, sends IP packet in Ethernet frame to bb:bb:...
항목 설명
ARP cache OS가 (IP → MAC) 일정 시간 보관 — ip neigh, arp -a
브로드캐스트 요청 대상 MAC 모를 때 LAN 전체에 질의
유니캐스트 응답 대상 호스트만 자기 MAC 알려줌
다른 서브넷 IP가 게이트웨이 쪽이면 ARP 대상은 게이트웨이 IP라우터 MAC
  • Gratuitous ARP — 자기 IP·MAC 알림 (IP 충돌 검사·MAC 변경)
  • Reverse ARP(RARP) — 거의 안 씀
  • IPv6Neighbor Discovery(NDP) 가 ARP 역할 (ICMPv6)
# Linux — 이웃(ARP) 테이블
ip neigh show
# 192.168.1.1 dev eth0 lladdr aa:aa:aa:aa:aa:01 REACHABLE
# 192.168.1.50 dev eth0 lladdr bb:bb:bb:bb:bb:bb STALE

# macOS
arp -a

5. 허브 vs 스위치

둘 다 여러 호스트를 물리적으로 묶지만, 프레임 전달 방식이 다르다.

  허브 (Hub) 스위치 (Switch, L2)
동작 계층 물리 계층에 가까움 (리피터) 링크 계층
전달 한 포트 수신 → 모든 포트복제 dst MAC 보고 해당 포트
충돌 도메인 전체가 하나 (half-duplex 시) 포트마다 분리 (full-duplex 일반)
MAC 학습 없음 MAC address table — src MAC → 포트
보안·효율 다른 호스트 트래픽도 다 보임 유니캐스트는 해당 포트만
Switch learns:
  frame from port 1, src MAC X  →  table: X on port 1
  frame to dst MAC Y
    Y known → forward that port only
    Y unknown → flood (like hub) except ingress port
  • 브로드캐스트·미지 MAC — 스위치도 플러딩(모든 포트) — ARP 요청이 전파되는 이유
  • L3 스위치 — IP 라우팅까지 — 라우터 + 고속 스위칭
  • Wi‑Fi AP — 무선 쪽은 공유 매체 — 이더넷 스위치와 충돌·도메인 개념이 조금 다름

6. IP·라우팅과 연결

IP와 라우팅에서 같은 서브넷 → direct (ARP) 를 언급했다. 전체 흐름:

Host A  192.168.1.10/24  →  dest 192.168.1.50
  same subnet → ARP 192.168.1.50 → frame to B's MAC

Host A  192.168.1.10/24  →  dest 8.8.8.8
  different subnet → ARP default gw 192.168.1.1 → frame to router MAC
  router forwards IP toward 8.8.8.8, new MACs on each hop
증상 링크 계층 관점
ping IP OK, 간헐적 지연 ARP 재요청·캐시 만료
같은 LAN인데 안 됨 다른 VLAN·스위치 ACL·MAC 필터
게이트웨이 ARP fail 라우터 down·잘못된 gw IP
Wireshark에 ARP storm 루프·장비 오류·스캔
# ARP 캐시 삭제 (Linux, 디버깅)
sudo ip neigh flush dev eth0

# 인터페이스 통계 — errors, dropped
ip -s link show eth0

7. 정리

  • 링크 계층MAC으로 프레임 전달, 홉마다 MAC 변경
  • 이더넷 프레임 — dst/src MAC, EtherType, payload, FCS
  • ARP — 같은 서브넷 IP → MAC, 브로드캐스트 요청
  • 허브 — 전 포트 플러드 / 스위치 — MAC 테이블로 선별 전달
  • IP는 엔드투엔드, MAC은 한 링크 — 둘 다 트러블슈팅에 필요

다음에 다룰 것

  • 물리 계층과 매체
  • 비트 전송, 대역폭·지연·처리량

해당 내용은 Computer Networking: A Top-Down Approach, 8/E (James Kurose, Keith Ross) 의 내용을 기반으로 합니다.

'네트워크 기초' 카테고리의 다른 글

Wireshark로 HTTP/TCP 보기  (0) 2026.07.05
물리 계층과 매체  (0) 2026.07.04
NAT와 IPv6 개요  (0) 2026.07.02
ICMP과 진단  (0) 2026.07.01
IP와 라우팅  (0) 2026.06.30