이더넷과 MAC — 데이터 링크 계층의 동작 원리
네트워크의 가장 기본은 같은 네트워크 안에서 장비끼리 통신하는 것입니다. 이더넷과 MAC 주소는 이 로컬 통신의 핵심입니다.
이더넷이란
이더넷(Ethernet)은 LAN(근거리 통신망)에서 장비 간 데이터를 주고받는 표준 기술 입니다. OSI 2계층(데이터 링크 계층)에 해당합니다.
MAC 주소
MAC(Media Access Control) 주소 는 네트워크 인터페이스 카드(NIC)에 부여된 고유한 물리 주소입니다.
MAC 주소 형식: 48비트 (6바이트)
AA:BB:CC:DD:EE:FF
앞 3바이트 (OUI): 제조사 식별 (AA:BB:CC)
뒤 3바이트: 제조사가 부여한 고유 번호 (DD:EE:FF)
| 유형 | 예시 | 설명 |
|---|---|---|
| 유니캐스트 | AA:BB:CC:DD:EE:FF | 특정 장비 하나에 전송 |
| 브로드캐스트 | FF:FF:FF:FF:FF:FF | 같은 네트워크 모든 장비에 전송 |
| 멀티캐스트 | 01:00:5E:xx:xx:xx | 특정 그룹에 전송 |
# MAC 주소 확인
ip link show
ifconfig # macOS
이더넷 프레임 구조
┌──────────┬──────────┬──────────┬──────┬──────────┬─────┐
│ Preamble │ 목적지MAC │ 출발지MAC │ Type │ Payload │ FCS │
│ 8바이트 │ 6바이트 │ 6바이트 │ 2바이트│46~1500바이트│4바이트│
└──────────┴──────────┴──────────┴──────┴──────────┴─────┘
Type: 상위 프로토콜 식별
0x0800 = IPv4
0x0806 = ARP
0x86DD = IPv6
FCS (Frame Check Sequence): CRC-32 오류 검출
- MTU (Maximum Transmission Unit): 페이로드 최대 크기 = 1500바이트
- MTU를 초과하면 IP 계층에서 단편화(fragmentation) 발생
스위치의 동작
L2 스위치는 MAC 주소 테이블 을 학습하여 프레임을 적절한 포트로 전달합니다.
학습 과정:
1. 포트 1에서 프레임 수신 (출발지: MAC-A)
→ MAC 주소 테이블에 기록: MAC-A → 포트 1
2. 목적지 MAC이 테이블에 있으면: 해당 포트로만 전송 (유니캐스트)
3. 목적지 MAC이 테이블에 없으면: 모든 포트로 전송 (플러딩)
MAC 주소 테이블:
| MAC 주소 | 포트 | 유효 시간 |
|-------------|------|----------|
| AA:BB:CC:... | 포트1 | 300초 |
| DD:EE:FF:... | 포트3 | 300초 |
스위치 vs 허브:
- 허브: 모든 포트에 프레임 전송 (브로드캐스트 도메인 = 콜리전 도메인)
- 스위치: MAC 테이블 기반 선택적 전송 (콜리전 도메인 분리)
CSMA/CD
초기 이더넷의 충돌 감지 방식입니다 (현대 전이중 스위치에서는 사용 안 함).
1. 전송 전 회선이 비어있는지 감지 (Carrier Sense)
2. 비어있으면 전송 시작
3. 충돌 감지 시 (Collision Detection)
→ 잼 신호 전송
→ 랜덤 시간 후 재전송 (Binary Exponential Backoff)
현대 이더넷은 전이중(Full-Duplex) 스위치 연결로 충돌 자체가 발생하지 않습니다.
핵심 포인트
- MAC vs IP: MAC은 같은 네트워크(L2) 통신, IP는 네트워크 간(L3) 통신
- 스위치 vs 라우터: 스위치는 MAC 기반 L2 전달, 라우터는 IP 기반 L3 전달
- 브로드캐스트 도메인: 같은 스위치/VLAN에 연결된 장비들이 하나의 브로드캐스트 도메인
정리
이더넷과 MAC은 네트워크의 기초 중의 기초입니다. MAC 주소로 같은 네트워크 내 장비를 식별하고, 스위치가 MAC 테이블을 학습하여 프레임을 효율적으로 전달합니다. IP 통신도 결국 마지막 홉에서는 이더넷/MAC으로 전달됩니다.