1. 개요

LAN(Local Area Network)은 라우터를 거치지 않고 MAC 주소만으로 프레임이 오가는 범위다. 한 기기가 브로드캐스트를 보내면 LAN 안의 모든 기기에 닿고, 라우터에서 멈춘다. 그래서 LAN 은 브로드캐스트 도메인과 같은 말로 쓰인다.

집에서는 공유기에 유선이나 와이파이로 붙은 기기 전체가 LAN 하나다.

노트북폰TV스위치 · AP라우터LAN — 브로드캐스트가 닿는 범위다른 네트워크 (통신사 쪽)주황 판: LAN스위치·AP 로 이어진 기기들MAC 만으로 프레임이 오간다물결: 노트북의 브로드캐스트판 위의 모든 기기에 닿는다(ARP 요청, DHCP Discover)빨간 벽: LAN 의 끝물결은 벽을 넘지 못한다문(라우터)은 IP 를 보고골라서만 내보낸다같은 판 위면 MAC 으로 바로, 벽 너머는 라우터를 거쳐야 한다

2. 구성 요소

LAN 을 이루는 장치는 셋이다. 기기의 네트워크 카드(MAC 주소를 가진 쪽), 기기들을 잇는 스위치, 무선 기기를 유선 쪽에 붙이는 AP(액세스 포인트). 라우터는 LAN 의 안쪽이 아니라 경계에 선다.

집 공유기는 이 셋과 라우터를 한 상자에 담은 장치다. 와이파이 이름이 하나여도, 유선 포트가 네 개여도 안쪽은 같은 스위치로 이어져 있어 LAN 은 하나다.

AP무선 프레임 ↔ 유선 Ethernet 프레임스위치MAC 을 보고 나갈 포트를 고른다라우터IP 를 보고 바깥과 잇는다 · NAT · DHCP 서버공유기 한 상자 — 펼치면 셋이 들어 있다LAN 쪽LAN 의 끝집 공유기 하나 안에서도 AP·스위치까지가 LAN 이고, 라우터가 그 끝이다

3. 스위치의 MAC 학습

스위치는 처음부터 누가 어느 포트에 있는지 알지 못한다. 프레임이 들어올 때마다 출발지 MAC 과 들어온 포트를 MAC 표에 적고, 목적지 MAC 을 표에서 찾아 나갈 포트를 고른다. 표에 없으면 들어온 포트를 뺀 모든 포트로 내보낸다(flooding).

① 처음 보는 출발지스위치1A2B3CA 가 B 에게 보낸다A 는 1번 포트에 있다고 적는다B 는 아직 모른다 → 모두에게MAC 표A → 1번 포트② 답장스위치1A2B3CB 가 A 에게 답한다B 는 2번 포트라고 적는다A 는 아니까 1번으로만MAC 표A → 1번 포트B → 2번 포트③ 브로드캐스트스위치1A2B3C받는 MAC 이 ff:ff:ff:ff:ff:ff표와 상관없이 모두에게ARP 요청 · DHCP DiscoverMAC 표A → 1번 포트B → 2번 포트파랑 실선: 한 곳으로만 · 주황 점선: 모든 포트로 (자기가 들어온 포트는 빼고)스위치는 출발지 MAC 으로 배우고, 목적지 MAC 으로 고른다 — 모르면 모두에게

MAC 표의 줄은 한동안 쓰이지 않으면 지워진다(보통 5분). 기기가 다른 포트로 옮겨 가도 다음 프레임에서 새 포트로 다시 적힌다.

4. 브로드캐스트 도메인

받는 MAC 이 ff:ff:ff:ff:ff:ff 인 프레임은 스위치가 언제나 모든 포트로 내보낸다. 이 프레임이 닿는 범위가 브로드캐스트 도메인이고, 곧 LAN 이다.

LAN 안에서 브로드캐스트를 쓰는 대표적인 경우는 둘이다. 상대의 MAC 을 모를 때 묻는 ARP 요청, 아직 IP 가 없는 기기가 주소를 구하는 DHCP Discover. 둘 다 “누가 답할지 모르니 모두에게 묻는다” 는 구조라 LAN 밖으로는 나갈 수 없다. 라우터는 브로드캐스트를 다른 쪽으로 넘기지 않는다.

4.1. 크기의 한계

LAN 을 크게 만들면 브로드캐스트가 닿는 기기도 함께 늘어난다. 그래서 LAN 은 일부러 작게 나눈다.

브로드캐스트 부담
기기가 1,000대면 ARP 요청 하나가 1,000대 모두에게 간다. 받는 기기는 자기 것이 아니어도 열어 봐야 한다
MAC 표 크기
스위치는 LAN 안의 모든 MAC 을 기억해야 한다. 표가 넘치면 모르는 목적지가 늘어 flooding 이 잦아진다
고장 범위
선이 고리(루프)로 이어지면 브로드캐스트가 끝없이 돈다. LAN 이 크면 그만큼 넓게 멈춘다. 스위치는 STP 로 고리를 끊는다

5. VLAN

VLAN 은 스위치 한 대를 설정만으로 여러 LAN 으로 나누는 기술이다. 포트마다 VLAN 번호를 정하면 같은 번호의 포트끼리만 하나의 LAN 이 되고, 브로드캐스트도 그 안에서만 퍼진다. VLAN 사이는 라우터를 거쳐야 한다.

반대로 라우터 너머로 떨어진 LAN 을 이어 붙이는 기술이 VXLAN 이다.

6. 서브넷과의 관계

LAN 은 선이 정하는 범위이고, 서브넷은 주소가 정하는 범위다. 보통 LAN 하나에 서브넷 하나를 짝지어 둘이 같은 범위가 되게 한다. VLAN 을 나누면 VLAN 마다 서브넷도 따로 둔다.

7. 집 사이의 경계

이웃집도 대개 192.168.0.0/24 같은 흔한 사설 대역을 쓴다. 주소가 같아도 두 집은 서로 다른 LAN 이다. 선이 각자의 공유기에서 끝나고, 공유기가 브로드캐스트를 밖으로 넘기지 않기 때문이다. 집 밖으로 나가는 패킷은 공유기가 NAT 로 공인 주소를 붙여 내보낸다.

192.168.0.112192.168.0.1우리 집 LAN192.168.0.112192.168.0.1옆집 LAN통신사두 집이 같은 대역을 쓴다192.168.0.0/24 · 공유기는 .1노트북 주소까지 같아도 된다그래도 서로 다른 LAN선이 각자의 공유기에서 끝난다물결은 우리 집 안에만 퍼진다집 밖으로 나갈 때는공유기가 NAT 로 주소를 바꾼다벽 하나 사이여도 공유기가 다르면 다른 LAN 이다

8. 쿠버네티스의 LAN

노드 안에서는 리눅스 브리지(cni0 등)가 가상 스위치 역할을 한다. 각 Pod 는 veth 라는 가상 선으로 이 브리지에 붙고, 같은 노드의 Pod 끼리는 한 LAN 안에서 MAC 으로 프레임을 주고받는다.

노드가 다르면 Pod 서브넷도 다르다(노드 A 10.244.1.0/24, 노드 B 10.244.2.0/24). 노드 사이는 flannel 같은 CNI 가 VXLAN 터널을 만들어, Pod 의 프레임을 UDP 패킷에 넣어 노드 네트워크 위로 나른다.

cni0Pod노드 A10.244.1.0/24cni0Pod노드 B10.244.2.0/24VXLAN노드 안: cni0 브리지리눅스가 만든 가상 스위치같은 노드의 Pod 끼리는 한 LAN노드 사이: VXLAN 터널 (보라)Pod 의 프레임을 UDP 봉투에 넣어노드 네트워크 위로 나른다노드마다 Pod 서브넷이 다르다노드 사이는 서로 다른 LAN쿠버네티스에서 LAN 은 노드 안의 가상 스위치로 시작하고, 노드 사이는 터널로 건넌다

9. 확인 명령

# macOS
arp -a                                  # 같은 LAN 에서 최근 주고받은 기기의 IP 와 MAC
ifconfig en0 | grep ether               # 내 네트워크 카드의 MAC
networksetup -listallhardwareports      # Wi-Fi, 유선 등 인터페이스 이름과 MAC
# Linux
ip neigh                                # arp -a 와 같은 이웃 표
ip link show type bridge                # 브리지(가상 스위치) 목록 — 쿠버네티스 노드면 cni0 이 보인다
bridge fdb show br cni0                 # 그 브리지의 MAC 표
ip -d link show type vlan               # VLAN 인터페이스와 번호 (vlan id 10)
ip -d link show flannel.1               # flannel 의 VXLAN 장치 (vxlan id 1)

10. 관련 문서

  • Subnet — 주소가 정하는 범위. LAN 과 짝을 이룬다
  • ARP — LAN 안에서 IP 로 MAC 을 찾는 브로드캐스트
  • DHCP — IP 가 없는 기기가 LAN 에 브로드캐스트로 주소를 묻는다
  • CNI — 노드 안의 브리지와 veth 를 만드는 플러그인 규격
  • VLAN — 스위치 하나를 여러 LAN 으로 나눈다
  • VXLAN — 프레임을 UDP 에 넣어 LAN 을 멀리 잇는다
  • Network & K8s.01-2 Across the Network — Ethernet 프레임, VLAN 과 VXLAN

11. 출처

VLAN 태그는 IEEE 802.1Q 에, 스위치의 MAC 학습과 표 유지는 IEEE 802.1D(브리지) 에 정의되어 있다. VXLAN 을 정의한 RFC 7348 이 VLAN 의 역할과 한계, MAC 표가 넘칠 때의 flooding 을 정리하고 있다.

“A key characteristic of Layer 2 data center networks is their use of Virtual LANs (VLANs) to provide broadcast isolation. A 12-bit VLAN ID is used in the Ethernet data frames to divide the larger Layer 2 network into multiple broadcast domains.”

“If the table overflows, the switch may stop learning new addresses until idle entries age out, leading to significant flooding of subsequent unknown destination frames.”