← posts/b.log()

blog92@web:~$ cat posts/network-02-link-layer.md

NETWORK2 min read

풀스택 개발자를 위한 네트워크 2장 — 링크 계층: MAC, 스위치, ARP, VLAN

MAC 주소가 "다음 홉"의 주소인 이유, 스위치의 MAC 학습, ARP로 IP에서 MAC을 찾는 과정과 ARP 캐시가 일으키는 실무 증상, 그리고 VLAN에 의한 논리적 분리를 다룬다.

1장에서 계층마다 주소 체계가 다르다는 점을 확인했습니다. 이번 장은 그중 가장 아래, 같은 링크 안에서 프레임이 오가는 계층을 봅니다.

개발자가 이 계층을 직접 다룰 일은 적지만, 서버 인프라와 컨테이너 네트워크를 이해하려면 기본 개념은 필요합니다.

2.1 MAC 주소

  • 네트워크 인터페이스(NIC)에 부여된 48비트 주소. 예: 00:1A:2B:3C:4D:5E
  • 같은 네트워크(같은 링크) 안에서만 의미가 있습니다.
  • 라우터를 넘어가면 MAC 주소는 매 구간마다 새로 바뀌고, IP 주소는 (NAT가 없다면) 유지됩니다.

이 차이를 기억하세요. MAC은 "다음 홉"의 주소, IP는 "최종 목적지"의 주소입니다.

2.2 이더넷과 스위치

  • 이더넷(Ethernet): 유선 LAN의 표준 프로토콜. 프레임의 최대 페이로드는 기본 1500바이트(= MTU).
  • 허브(Hub): 받은 신호를 모든 포트로 뿌림. 사실상 사라진 장비.
  • 스위치(Switch): MAC 주소 테이블을 학습해 목적지 포트로만 프레임을 전달. L2 장비.

2.3 ARP — IP 주소로 MAC 주소 찾기

A가 같은 네트워크의 B(192.168.0.20)에게 패킷을 보내려면 B의 MAC 주소가 필요합니다.

text
A → (브로드캐스트) "192.168.0.20 가진 사람 누구? MAC 알려줘"
B → (유니캐스트)   "나야. 내 MAC은 aa:bb:cc:dd:ee:ff"

A는 이 결과를 ARP 캐시에 저장합니다. 목적지가 다른 네트워크에 있으면 목적지의 MAC이 아니라 기본 게이트웨이(라우터)의 MAC을 ARP로 찾습니다.

bash
ip neigh        # Linux ARP 테이블 확인
arp -a          # macOS / Windows

실무 포인트: 서버 IP를 바꿨는데 일부 장비에서 한동안 접속이 안 된다면, 상대 장비의 ARP 캐시가 이전 MAC을 들고 있을 가능성이 있습니다. (VIP 페일오버 시 Gratuitous ARP를 보내는 이유)

2.4 VLAN

물리적으로 같은 스위치에 연결되어 있어도 논리적으로 네트워크를 분리하는 기술입니다. 사내망에서 "개발망 / 운영망 / 사무망"이 서로 안 보이는 이유가 대부분 VLAN + 방화벽 정책입니다. 개발자는 "같은 건물, 같은 스위치인데 왜 안 붙지?"라는 상황에서 VLAN 분리를 의심해볼 수 있으면 충분합니다.

COMMENTS (…)

댓글을 불러오는 중이에요.

NEW COMMENT0 / 1000
⌘↵ 전송

blog92@web:~$ cd ..