이더넷과 스위치
사무실 책상 밑의 랜선, 공유기 뒤의 노란 포트, 데이터센터의 수만 개 케이블은 모두 같은 언어를 쓴다. 바로 이더넷이다. 1973년 실험실의 동축 케이블 한 줄에서 시작한 이 규칙은 속도가 50만 배 빨라지는 동안에도 프레임 모양을 거의 바꾸지 않았다. 같은 건물 안의 컴퓨터들은 서로를 어떻게 찾을까? 스위치는 어떻게 누가 어느 포트에 있는지 알아낼까? 케이블 하나를 잘못 꽂으면 왜 회사 네트워크 전체가 멈출까? 이 장에서 답을 찾는다.
- 이더넷 프레임의 각 부분(프리앰블, MAC 주소, EtherType, 페이로드, FCS)의 역할을 안다.
- 48비트 MAC 주소를 OUI, 유니캐스트/멀티캐스트, 전역/로컬 비트로 해석한다.
- CSMA/CD와 이진 지수 백오프가 충돌을 다루는 법과, 전이중 스위치가 충돌을 없앤 이유를 설명한다.
- 스위치가 출발지 MAC을 배우고 모르는 목적지는 플러딩하는 과정을 단계별로 따라간다.
- 충돌 도메인과 브로드캐스트 도메인을 구분하고, VLAN과 802.1Q 태그를 이해한다.
- 고리(루프)가 브로드캐스트 폭풍을 만드는 이유와 STP가 이를 막는 법을 시뮬레이터로 확인한다.
- 10 Mbps에서 1.6 Tbps까지 이더넷 속도의 진화와 점보 프레임, 링크 집계를 안다.
동축 케이블 한 줄에서 시작하다
1973년 제록스 팰로앨토 연구소(PARC)의 로버트 멧커프와 데이비드 보그스는 연구소 안의 개인용 컴퓨터(Alto)들과 레이저 프린터를 잇는 방법을 찾고 있었다. 그들의 답은 건물 복도를 따라 굵은 동축 케이블 한 줄을 깔고, 모든 컴퓨터가 거기에 집게처럼 붙는 것이었다. 빛을 전한다고 믿었던 가상의 매질 “에테르(ether)”에서 이름을 따 이더넷(Ethernet)이라 불렀다. 첫 속도는 2.94 Mbps였다.
1980년 DEC·인텔·제록스가 10 Mbps 규격(DIX)을 발표했고, 1983년 IEEE 802.3 표준이 되었다. 이후 케이블은 굵은 동축(10BASE5) → 가는 동축(10BASE2) → 꼬임쌍선(10BASE-T, 1990, 4장)과 광섬유(5장)로 바뀌었고, 모양도 한 줄짜리 버스에서 가운데 장비로 모이는 별(스타) 모양으로 바뀌었다. 그래도 그 위에 실리는 프레임의 모양은 거의 그대로다. 이것이 이더넷이 50년 동안 살아남은 비결이다.
이더넷이 실어 나르는 데이터 한 덩어리를 이더넷 프레임(Ethernet frame)이라 한다. 3장에서 본 계층으로 말하면 2계층(데이터 링크)의 택배 상자다. IP 패킷(7장)은 이 상자 안에 담겨 바로 옆 장치까지 한 구간을 간다.
각 부분의 역할은 이렇다. 프리앰블은 10101010 반복으로 받는 쪽의 박자(클럭)를 맞추고, SFD(10101011)는 “이제 진짜 시작”을 알린다. 두 MAC 주소는 받는 장치와 보낸 장치, EtherType은 페이로드에 든 프로토콜의 종류다(값이 1536 이상이면 종류, 그 아래면 옛 802.3 방식의 길이로 해석한다). 끝의 FCS(Frame Check Sequence)는 프레임 전체로 계산한 32비트 CRC로, 전송 중 비트가 뒤집혔는지 확인한다.
MAC 주소: 48비트 이름표
MAC 주소(Media Access Control address)는 네트워크 인터페이스마다 붙는 48비트(6바이트) 번호로, 3c:5a:b4:12:34:56처럼 16진수 12자리로 쓴다. 248 ≈ 281조 개라 고갈 걱정이 거의 없다. 앞의 3바이트는 IEEE가 제조사에 파는 OUI(Organizationally Unique Identifier)이고, 뒤 3바이트는 제조사가 제품마다 겹치지 않게 매긴다. 택배로 치면 IP 주소(7장)가 최종 목적지의 집 주소라면, MAC 주소는 “이번 구간 트럭이 내려 줄 바로 다음 건물”의 이름표다.
첫 바이트의 맨 아래 두 비트에는 특별한 뜻이 있다.
- I/G 비트(첫 바이트의 최하위 비트): 0이면 한 장치를 가리키는 유니캐스트, 1이면 여러 장치가 받는 멀티캐스트다. 48비트가 모두 1인
ff:ff:ff:ff:ff:ff는 같은 네트워크의 모두에게 보내는 브로드캐스트(broadcast)다. 이더넷은 바이트마다 최하위 비트부터 내보내므로, 이 비트가 선 위를 지나는 첫 번째 주소 비트다. 스위치는 첫 비트만 보고 “여럿에게 갈 프레임”임을 안다. - U/L 비트(그 바로 위 비트): 0이면 제조사가 OUI로 정한 전역 주소, 1이면 누군가 임의로 정한 로컬 주소다. 그래서 두 번째 16진수 글자가 2, 6, A, E이면 로컬 주소다.
MAC 주소가 평생 고정이면 카페·지하철·쇼핑몰의 Wi-Fi가 “이 기기가 언제 어디에 왔는지” 추적할 수 있다. 그래서 iOS 14, 안드로이드 10, 윈도우 10 무렵부터 휴대폰과 노트북은 Wi-Fi 네트워크마다 무작위 MAC(U/L 비트 = 1)을 쓴다. 집 공유기에서 “모르는 기기”가 보이거나 MAC 주소 필터가 갑자기 안 먹는다면 이 기능 때문일 수 있다.
MAC 주소 해부기
ipconfig /all, 맥·리눅스 ifconfig 또는 ip link로 볼 수 있다. OUI 표는 이 시뮬레이터에 넣어 둔 몇 개 예시뿐이다(실제 IEEE 등록부에는 수만 개가 있다).모두가 한 줄을 쓸 때: CSMA/CD와 충돌
동축 케이블 한 줄, 또는 허브(들어온 신호를 모든 포트로 그대로 복사하는 단순한 중계기)에 여러 장치가 붙어 있으면, 한 번에 한 장치만 말할 수 있다. 원래 이더넷은 이 문제를 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)라는 예의 규칙으로 풀었다.
문제는 신호가 케이블 끝까지 가는 데 시간이 걸린다는 점이다. A가 “조용하네” 하고 보냈는데 반대편 B도 같은 순간 그렇게 판단하면 둘의 신호가 도중에 부딪친다. 그래서 10 Mbps 이더넷은 프레임을 최소 64바이트(512비트, 51.2 µs)로 정했다. 최대 약 2.5 km의 네트워크에서 신호가 끝까지 갔다 오는 동안 아직 보내는 중이어야 충돌을 알아챌 수 있기 때문이다. 이 512비트 시간을 슬롯 시간이라 한다.
충돌 뒤 기다리는 시간은 이진 지수 백오프(binary exponential backoff)로 정한다. n번째 충돌 뒤에는 0 ~ 2n−1(최대 1023) 슬롯 중 하나를 무작위로 골라 기다린다. 충돌이 잦을수록(=붐빌수록) 기다리는 범위가 두 배씩 늘어나 자연스럽게 서로 흩어진다. 16번 연속 실패하면 프레임을 포기한다.
사회자 없는 회의에서 모두가 말할 기회를 엿본다. 누가 말하는 중이면 기다리고(먼저 듣기), 조용해지면 말을 시작한다. 그런데 두 사람이 동시에 “저기…” 하고 입을 열면 둘 다 멈추고(충돌 감지) “먼저 하세요”라며 각자 다른 시간만큼 기다린다. 서너 명이면 잘 돌아가지만 50명이 모인 회의실에서는 “저기…” 소리만 겹치고 정작 대화가 진행되지 않는다.
공유 버스의 충돌과 처리율
CSMA/CD가 오늘날 거의 사라진 이유는 스위치와 전이중(full duplex) 때문이다. 스위치는 포트마다 장치 하나만 연결하고, 꼬임쌍선과 광섬유는 보내는 선과 받는 선(또는 방향)이 따로 있어 보내면서 동시에 받을 수 있다. 같은 선을 두고 다툴 상대가 없으니 충돌도 없다. 1997년 전이중 규격(802.3x)이 나왔고, 10 기가비트 이더넷부터는 반이중 모드 자체가 표준에서 빠졌다. 공유 매체의 다툼은 무선(Wi-Fi의 CSMA/CA, 13장)에서 다시 만난다.
스위치는 주소를 배운다
스위치는 아파트 우편실과 같다. 처음 문을 연 날에는 누가 몇 호에 사는지 모른다. 그래서 편지가 오면 모든 집 우편함에 복사본을 넣는다. 그러다 각 집에서 편지를 보낼 때 겉봉의 보낸 사람을 보고 “김철수 씨는 302호구나” 하고 장부에 적는다. 다음부터 김철수 씨 앞으로 온 편지는 302호에만 넣는다.
이더넷 스위치도 정확히 이렇게 동작한다. 프레임이 들어오면 (1) 출발지 MAC과 들어온 포트를 MAC 주소 테이블(MAC address table)에 기록하고(MAC 주소 학습), (2) 목적지 MAC을 테이블에서 찾는다. 있으면 그 포트로만 보내고, 없거나 브로드캐스트면 들어온 포트를 뺀 모든 포트로 복사해 보낸다. 이것을 플러딩(flooding)이라 한다. 장치가 옮겨 갈 수 있으므로 기록은 보통 300초 동안 소식이 없으면 지운다(에이징). 아무 설정도 없이 꽂기만 하면 동작하는 이유가 이 자동 학습이다.
스위치의 MAC 학습: 단계별로 따라가기
| MAC | 포트 |
|---|
스위치를 켠 직후, D는 아직 아무 프레임도 보낸 적이 없다. 이때 A가 D에게 프레임을 보내면 스위치는 어떻게 할까?
MAC 학습 시뮬레이터의 ‘처음부터’를 누르고 A → D를 직접 보내 보자.
충돌 도메인, 브로드캐스트 도메인, VLAN
네트워크를 나누는 경계는 두 가지다. 충돌 도메인(collision domain)은 동시에 보내면 신호가 부딪치는 범위다. 허브는 모든 포트가 하나의 충돌 도메인이고, 스위치는 포트 하나하나가 따로다(전이중이면 사실상 충돌이 없다). 브로드캐스트 도메인(broadcast domain)은 브로드캐스트 프레임 하나가 닿는 범위다. 스위치는 브로드캐스트를 모든 포트로 플러딩하므로 아무리 많은 스위치를 이어도 하나의 브로드캐스트 도메인이다. 이것을 끊는 것은 라우터(8장)다.
한 브로드캐스트 도메인에 수천 대가 있으면 ARP(7장)나 DHCP 같은 브로드캐스트가 모두에게 쏟아지고, 보안상으로도 경리팀과 손님 Wi-Fi가 한 동네에 사는 셈이다. 그렇다고 부서마다 스위치를 따로 사기는 아깝다. VLAN(Virtual LAN, 가상 LAN)은 스위치 한 대를 소프트웨어로 여러 대처럼 나눈다. 포트마다 VLAN 번호를 정해 두면, 스위치는 같은 VLAN 포트끼리만 프레임을 전달하고 플러딩도 그 안에서만 한다. VLAN끼리는 라우터를 거쳐야만 대화할 수 있다.
스위치끼리 연결된 선(트렁크)에는 여러 VLAN의 프레임이 섞여 지나가므로, 프레임마다 어느 VLAN 것인지 표시해야 한다. 이것이 IEEE 802.1Q 표준의 VLAN 태그(802.1Q tag)다. 출발지 MAC 뒤에 4바이트를 끼워 넣는다. 그중 12비트가 VLAN 번호(VID)라 212 = 4096개인데, 0과 4095는 예약되어 실제로 쓸 수 있는 것은 4094개다. 수백만 고객을 나눠야 하는 클라우드에서는 이것이 모자라 24비트 번호를 쓰는 VXLAN 같은 오버레이(21장)를 쓴다.
고리의 저주: 브로드캐스트 폭풍과 STP
중요한 네트워크는 선 하나가 끊겨도 멈추지 않도록 스위치 사이를 여러 길로 잇는다. 그런데 이더넷 프레임에는 IP 패킷과 달리 수명(TTL) 칸이 없다. 고리(루프)가 있으면 브로드캐스트 프레임은 스위치마다 플러딩되어 고리를 영원히 돌고, 갈림길마다 복사본이 늘어난다. 몇 초 만에 링크가 꽉 차고 스위치의 CPU가 마비되며, MAC 테이블은 같은 주소가 이 포트에서 저 포트로 계속 튀어 엉망이 된다. 이것이 브로드캐스트 폭풍(broadcast storm)이다. 누군가 회의실 바닥의 남는 케이블 양 끝을 같은 스위치에 꽂는 것만으로 층 전체가 멈출 수 있다.
해결책은 1985년 DEC의 래디아 펄먼이 고안한 STP(Spanning Tree Protocol, 신장 트리 프로토콜, IEEE 802.1D)다. 스위치들은 BPDU라는 작은 메시지를 2초마다 주고받으며 다음 순서로 고리 없는 나무(트리)를 만든다.
브로드캐스트 폭풍과 스패닝 트리 (연결선을 눌러 끊어 보세요)
STP 없이 브로드캐스트 프레임 단 1개를 보냈다. 프레임이 링크를 10번쯤 건넌 뒤(실제로는 1밀리초도 안 되는 시간) 링크 위의 사본은 몇 개쯤일까?
스패닝 트리 시뮬레이터에서 STP를 끄고 보내 보자.
원래 STP는 고장 뒤 새 트리를 만드는 데 30~50초가 걸렸다. 2001년의 RSTP(802.1w)는 이를 1~수 초로 줄였다. 다만 STP는 고리를 막느라 비싼 링크 일부를 놀린다는 한계가 있다. 그래서 대형 데이터센터는 2계층을 작게 나누고 그 위를 3계층 라우팅과 여러 경로 동시 사용(ECMP)으로 엮는다(20장).
50년의 진화: 10 Mbps에서 1.6 Tbps로
이더넷의 놀라운 점은 속도가 10만 배 넘게 빨라지는 동안에도 앞에서 본 프레임 모양과 MAC 주소 체계를 그대로 지켰다는 것이다. 1983년의 프레임이 오늘의 800 Gbps 포트에서도 그대로 통한다. 바뀐 것은 맨 아래 물리 계층, 즉 선과 신호 방식(4장, 5장, 16장)이다.
| 속도 | 표준화 | 대표 규격·매체 | 메모 |
|---|---|---|---|
| 10 Mbps | 1983 / 1990 | 10BASE5(동축), 10BASE-T(꼬임쌍선) | 공유 매체, CSMA/CD |
| 100 Mbps | 1995 (802.3u) | 100BASE-TX | “패스트 이더넷”, 스위치 보급 |
| 1 Gbps | 1998~1999 (802.3z/ab) | 1000BASE-T, 광 | 꼬임쌍선 4쌍 모두 양방향 사용 |
| 10 Gbps | 2002 (802.3ae) | 광, 2006년 10GBASE-T | 전이중만 남음 |
| 40 / 100 Gbps | 2010 (802.3ba) | 여러 레인을 묶음(4×10G, 10×10G 등) | 데이터센터·통신망 백본 |
| 25 Gbps | 2016 (802.3by) | 레인 하나 25G | 서버 연결의 표준이 됨 |
| 200 / 400 Gbps | 2017 (802.3bs) | PAM4 신호, 8×50G 등 | 하이퍼스케일 데이터센터 |
| 800 Gbps | 2024 (802.3df) | 8×100G PAM4 레인 | AI 클러스터 |
| 1.6 Tbps | 2026년 전후 (802.3dj) | 8×200G 레인 | 차세대 스위치·광 모듈 |
사무실과 집에서는 1 Gbps가 주류이고, 최근에는 기존 랜선으로 더 빠르게 가는 2.5/5 Gbps(802.3bz)와 10 Gbps가 퍼지고 있다. 데이터센터는 서버당 25~400 Gbps, 스위치 사이 400~800 Gbps를 쓴다.
점보 프레임과 프레임 효율
프레임마다 프리앰블, 헤더, FCS, 쉬는 틈을 합쳐 38바이트의 부가 비용이 붙는다. 1500바이트 페이로드에서는 2.5%에 불과하지만, 64바이트짜리 작은 프레임이 쏟아지면 비율이 커지고, 무엇보다 장비가 처리해야 할 초당 프레임 수가 폭증한다. 그래서 데이터센터와 스토리지 망은 페이로드를 9000바이트 정도로 키운 점보 프레임(jumbo frame)을 쓰기도 한다. IEEE 표준은 아니어서 경로의 모든 장비가 같은 크기를 지원해야 한다.
프레임 크기와 효율, 초당 프레임 수
링크 집계: 선 여러 가닥을 한 줄처럼
스위치 사이가 10 Gbps로 모자라면 더 비싼 장비로 바꾸는 대신 선 여러 가닥을 하나의 논리적 링크로 묶을 수 있다. 이것이 링크 집계(LAG, Link Aggregation, IEEE 802.1AX/옛 802.3ad)이고, 양쪽 장비는 LACP라는 프로토콜로 묶음 상태를 확인한다. STP 입장에서는 묶음 전체가 링크 하나이므로 차단되지 않고, 한 가닥이 끊겨도 나머지로 계속 동작한다. 단, 순서가 뒤섞이지 않도록 한 흐름(같은 출발지·목적지 주소와 포트 조합)은 해시로 정한 한 가닥으로만 보낸다. 그래서 10G 네 가닥을 묶어도 파일 하나 복사는 10G를 넘지 못한다. 여러 사용자의 흐름이 모여야 40G를 다 쓴다.
이더넷은 이제 사무실을 넘어 자동차(차량용 이더넷, 꼬임쌍선 한 쌍), 공장(시간 민감형 네트워킹 TSN), 휴대폰 기지국 연결(5G 프런트홀), AI 슈퍼컴퓨터의 GPU 연결(울트라 이더넷)까지 쓰인다. “싸고, 모두가 알고, 계속 빨라진다”는 장점이 다른 전용 기술들을 차례로 밀어냈다.
핵심 정리
- 이더넷은 1973년 제록스 PARC의 공유 동축 케이블에서 시작했다. 프레임은 프리앰블 · 목적지/출발지 MAC · EtherType · 페이로드(46~1500 B) · FCS(CRC-32)로 이루어지고 50년 동안 거의 그대로다.
- MAC 주소는 48비트이며 앞 3바이트가 제조사 OUI다. 첫 바이트의 최하위 비트는 유니캐스트/멀티캐스트(I/G), 그 위 비트는 전역/로컬(U/L)을 뜻한다. 모두 1이면 브로드캐스트다.
- 공유 매체에서는 CSMA/CD와 이진 지수 백오프로 충돌을 다뤘지만, 부하가 커지면 처리율이 떨어진다. 스위치와 전이중 링크가 충돌 자체를 없앴다.
- 스위치는 출발지 MAC으로 위치를 배우고, 아는 목적지는 그 포트로만, 모르는 목적지와 브로드캐스트는 플러딩한다.
- 스위치는 충돌 도메인을 포트마다 나누지만 브로드캐스트 도메인은 라우터나 VLAN이 나눈다. 802.1Q 태그는 4바이트이고 VLAN 번호는 12비트(실사용 4094개)다.
- 이더넷 프레임에는 TTL이 없어 고리가 있으면 브로드캐스트 폭풍이 생긴다. STP는 루트 브리지를 뽑고 일부 포트를 막아 고리 없는 트리를 만든다.
- 속도는 10 Mbps → 1.6 Tbps로 늘었고, 작은 프레임일수록 초당 프레임 수가 폭증한다. 점보 프레임은 효율을, 링크 집계는 대역과 이중화를 준다.
확인 퀴즈
이더넷 프레임 끝의 FCS(4바이트)는 무엇에 쓰이나?
MAC 주소 02:1a:2b:3c:4d:5e에 대한 설명으로 옳은 것은?
CSMA/CD에서 충돌이 반복될수록 기다리는 시간의 범위를 두 배씩 늘리는 이유는?
스위치가 MAC 주소 테이블을 채우는 방법은?
VLAN에 대한 설명으로 틀린 것은?
STP가 하는 일로 가장 알맞은 것은?