Chapter 06

이더넷과 스위치

사무실 책상 밑의 랜선, 공유기 뒤의 노란 포트, 데이터센터의 수만 개 케이블은 모두 같은 언어를 쓴다. 바로 이더넷이다. 1973년 실험실의 동축 케이블 한 줄에서 시작한 이 규칙은 속도가 50만 배 빨라지는 동안에도 프레임 모양을 거의 바꾸지 않았다. 같은 건물 안의 컴퓨터들은 서로를 어떻게 찾을까? 스위치는 어떻게 누가 어느 포트에 있는지 알아낼까? 케이블 하나를 잘못 꽂으면 왜 회사 네트워크 전체가 멈출까? 이 장에서 답을 찾는다.

동축 케이블 한 줄에서 시작하다

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년 동안 살아남은 비결이다.

1973~1990: 공유 동축 버스 오늘: 스위치 중심 스타 종단종단 AltoAlto프린터AltoAlto서버 한 줄을 모두가 나눠 씀 → 동시에 말하면 충돌 스위치 PC노트북프린터서버NAS공유기 장치마다 전용 선 · 송수신 동시(전이중) → 충돌 없음
그림 6-1. 이더넷 모양의 변화. 처음에는 모든 장치가 한 줄의 동축 케이블을 공유했다. 지금은 장치마다 스위치까지 전용 케이블이 있고, 보내기와 받기를 동시에 한다.

이더넷이 실어 나르는 데이터 한 덩어리를 이더넷 프레임(Ethernet frame)이라 한다. 3장에서 본 계층으로 말하면 2계층(데이터 링크)의 택배 상자다. IP 패킷(7장)은 이 상자 안에 담겨 바로 옆 장치까지 한 구간을 간다.

프리앰블7 B SFD1 목적지 MAC6 B 출발지 MAC6 B EtherType2 B 페이로드 (IP 패킷 등)46 ~ 1500 B FCS4 B 쉬는 틈12 B 프레임 본체 64 ~ 1518 바이트 박자 맞추기 받을 장치보낸 장치 안에 든 것 0x0800 = IPv4, 0x86DD = IPv6, 0x0806 = ARP CRC-32 오류 검사 수신 측은 FCS를 다시 계산해 한 비트라도 다르면 프레임을 조용히 버린다(재전송은 윗 계층 TCP의 몫, 9장).
그림 6-2. 이더넷 프레임. 목적지 주소가 맨 앞에 있어서 스위치는 6바이트만 읽고도 어디로 보낼지 결정을 시작할 수 있다. 페이로드가 46바이트보다 짧으면 0으로 채운다(패딩). 1500바이트 상한을 MTU라 한다.

각 부분의 역할은 이렇다. 프리앰블은 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 주소는 “이번 구간 트럭이 내려 줄 바로 다음 건물”의 이름표다.

첫 바이트의 맨 아래 두 비트에는 특별한 뜻이 있다.

무작위 MAC과 개인정보

MAC 주소가 평생 고정이면 카페·지하철·쇼핑몰의 Wi-Fi가 “이 기기가 언제 어디에 왔는지” 추적할 수 있다. 그래서 iOS 14, 안드로이드 10, 윈도우 10 무렵부터 휴대폰과 노트북은 Wi-Fi 네트워크마다 무작위 MAC(U/L 비트 = 1)을 쓴다. 집 공유기에서 “모르는 기기”가 보이거나 MAC 주소 필터가 갑자기 안 먹는다면 이 기능 때문일 수 있다.

SIMULATOR

MAC 주소 해부기

예시
I/G 개별(0) / 그룹(1)U/L 전역(0) / 로컬(1)작은 숫자 = 선 위로 나가는 순서
받는 대상—
관리 방식—
OUI (앞 3바이트)—
장치 번호 (뒤 3바이트)—
해볼 것: 첫 바이트를 3c → 3e로 바꾸면 U/L 비트가 켜져 “로컬 주소”가 된다. 3d로 바꾸면? 내 컴퓨터의 주소는 윈도우 ipconfig /all, 맥·리눅스 ifconfig 또는 ip link로 볼 수 있다. OUI 표는 이 시뮬레이터에 넣어 둔 몇 개 예시뿐이다(실제 IEEE 등록부에는 수만 개가 있다).

모두가 한 줄을 쓸 때: CSMA/CD와 충돌

동축 케이블 한 줄, 또는 허브(들어온 신호를 모든 포트로 그대로 복사하는 단순한 중계기)에 여러 장치가 붙어 있으면, 한 번에 한 장치만 말할 수 있다. 원래 이더넷은 이 문제를 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)라는 예의 규칙으로 풀었다.

먼저 듣기 (CS)선에 다른 신호가 흐르는지 들어 보고, 조용할 때만 보낸다.
누구나 (MA)정해진 순번도 중앙 관리자도 없이, 모두가 같은 규칙을 따른다.
충돌 감지 (CD)보내면서도 계속 듣는다. 두 신호가 겹치면 즉시 멈추고 잼 신호를 보낸다.
무작위로 기다리기충돌한 장치들은 각자 무작위 시간을 기다렸다가 다시 시도한다.

문제는 신호가 케이블 끝까지 가는 데 시간이 걸린다는 점이다. A가 “조용하네” 하고 보냈는데 반대편 B도 같은 순간 그렇게 판단하면 둘의 신호가 도중에 부딪친다. 그래서 10 Mbps 이더넷은 프레임을 최소 64바이트(512비트, 51.2 µs)로 정했다. 최대 약 2.5 km의 네트워크에서 신호가 끝까지 갔다 오는 동안 아직 보내는 중이어야 충돌을 알아챌 수 있기 때문이다. 이 512비트 시간을 슬롯 시간이라 한다.

충돌 뒤 기다리는 시간은 이진 지수 백오프(binary exponential backoff)로 정한다. n번째 충돌 뒤에는 0 ~ 2n−1(최대 1023) 슬롯 중 하나를 무작위로 골라 기다린다. 충돌이 잦을수록(=붐빌수록) 기다리는 범위가 두 배씩 늘어나 자연스럽게 서로 흩어진다. 16번 연속 실패하면 프레임을 포기한다.

불 꺼진 회의실의 대화

사회자 없는 회의에서 모두가 말할 기회를 엿본다. 누가 말하는 중이면 기다리고(먼저 듣기), 조용해지면 말을 시작한다. 그런데 두 사람이 동시에 “저기…” 하고 입을 열면 둘 다 멈추고(충돌 감지) “먼저 하세요”라며 각자 다른 시간만큼 기다린다. 서너 명이면 잘 돌아가지만 50명이 모인 회의실에서는 “저기…” 소리만 겹치고 정작 대화가 진행되지 않는다.

SIMULATOR

공유 버스의 충돌과 처리율

연결 방식
실제 처리율 (장기 평균)—
전송 시도 중 충돌—
평균 대기 (슬롯)—
버려진 프레임—
위: 버스와 장치들(숫자는 남은 백오프 슬롯), 가운데 띠: 최근 시간의 버스 상태(초록 = 성공 전송, 빨강 = 충돌, 빈칸 = 쉼), 아래: 부하에 따른 처리율 곡선과 현재 위치. 해볼 것: 부하를 1 이상으로 올리고 장치 수를 늘려 보자. 처리율은 링크 용량에 한참 못 미친 채 멈추고, 충돌과 버려지는 프레임만 늘어난다. 그다음 ‘스위치’로 바꿔 보자. 모델: 프레임 길이 10슬롯, 충돌 시 2슬롯 낭비, 1-지속(조용해지는 즉시 전송), 큐 최대 8개. 수치는 시뮬레이션 2만 슬롯의 평균이다.

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초 동안 소식이 없으면 지운다(에이징). 아무 설정도 없이 꽂기만 하면 동작하는 이유가 이 자동 학습이다.

SIMULATOR

스위치의 MAC 학습: 단계별로 따라가기

MAC 주소 테이블
MAC포트
정해진 이야기
보내는 호스트
받는 호스트
 
프레임(작은 상자)은 호스트 → 스위치 → 나가는 포트 순서로 움직인다. 받은 호스트 옆의 ✓는 “내 주소라 받아들임”, ✕는 “내 것이 아니라 버림”이다. 플러딩된 프레임은 대상이 아닌 호스트에도 도착해 네트워크와 그 호스트의 시간을 낭비한다. 해볼 것: ‘다음 단계’로 이야기를 끝까지 본 뒤, VLAN을 켜고 A에서 D로 보내 보자. 실제 스위치 테이블은 수천~수십만 개를 담고, 찾기는 전용 하드웨어(17장)가 나노초 단위로 한다.
예측해 보기

스위치를 켠 직후, D는 아직 아무 프레임도 보낸 적이 없다. 이때 A가 D에게 프레임을 보내면 스위치는 어떻게 할까?

MAC 학습 시뮬레이터의 ‘처음부터’를 누르고 A → D를 직접 보내 보자.

모르는 목적지는 플러딩한다. 동시에 출발지 A의 MAC과 포트를 배운다. D가 답장을 보내는 순간 D의 위치도 배우게 되어, 그 뒤로 A↔D 프레임은 두 포트 사이로만 오간다. 스위치는 대상에게 먼저 묻지 않는다. 그런 질문(ARP)은 IP 계층의 일이다(7장).

충돌 도메인, 브로드캐스트 도메인, VLAN

네트워크를 나누는 경계는 두 가지다. 충돌 도메인(collision domain)은 동시에 보내면 신호가 부딪치는 범위다. 허브는 모든 포트가 하나의 충돌 도메인이고, 스위치는 포트 하나하나가 따로다(전이중이면 사실상 충돌이 없다). 브로드캐스트 도메인(broadcast domain)은 브로드캐스트 프레임 하나가 닿는 범위다. 스위치는 브로드캐스트를 모든 포트로 플러딩하므로 아무리 많은 스위치를 이어도 하나의 브로드캐스트 도메인이다. 이것을 끊는 것은 라우터(8장)다.

브로드캐스트 도메인 1 브로드캐스트 도메인 2 충돌 도메인 하나 허브 스위치 포트마다따로 라우터 스위치
그림 6-3. 허브는 연결된 장치 전체를 하나의 충돌 도메인으로 묶는다. 스위치는 포트마다 충돌 도메인을 나누지만 브로드캐스트는 그대로 퍼뜨린다. 브로드캐스트 도메인을 나누는 것은 라우터다.

한 브로드캐스트 도메인에 수천 대가 있으면 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장)를 쓴다.

보통 프레임 목적지 MAC 출발지 MAC EtherType 페이로드 FCS 태그 붙은 프레임 목적지 MAC 출발지 MAC 802.1Q 4B EtherType 페이로드 FCS* TPID = 0x810016비트 · “태그가 있다” PCP3비트 DEI1 VID (VLAN 번호)12비트 · 1~4094 PCP = 우선순위 0~7 (음성·영상을 먼저, 23장의 QoS) · DEI = 혼잡하면 먼저 버려도 됨 * 태그를 끼우면 내용이 바뀌므로 FCS를 다시 계산한다. 최대 프레임은 1518 → 1522바이트.
그림 6-4. 802.1Q VLAN 태그. 원래 EtherType 자리에 0x8100을 넣어 “태그가 있음”을 알리고, 뒤 2바이트에 우선순위와 VLAN 번호를 담는다. 컴퓨터와 연결된 일반 포트(액세스 포트)에서는 태그를 떼고 주므로 컴퓨터는 VLAN을 모른다.

고리의 저주: 브로드캐스트 폭풍과 STP

중요한 네트워크는 선 하나가 끊겨도 멈추지 않도록 스위치 사이를 여러 길로 잇는다. 그런데 이더넷 프레임에는 IP 패킷과 달리 수명(TTL) 칸이 없다. 고리(루프)가 있으면 브로드캐스트 프레임은 스위치마다 플러딩되어 고리를 영원히 돌고, 갈림길마다 복사본이 늘어난다. 몇 초 만에 링크가 꽉 차고 스위치의 CPU가 마비되며, MAC 테이블은 같은 주소가 이 포트에서 저 포트로 계속 튀어 엉망이 된다. 이것이 브로드캐스트 폭풍(broadcast storm)이다. 누군가 회의실 바닥의 남는 케이블 양 끝을 같은 스위치에 꽂는 것만으로 층 전체가 멈출 수 있다.

해결책은 1985년 DEC의 래디아 펄먼이 고안한 STP(Spanning Tree Protocol, 신장 트리 프로토콜, IEEE 802.1D)다. 스위치들은 BPDU라는 작은 메시지를 2초마다 주고받으며 다음 순서로 고리 없는 나무(트리)를 만든다.

루트 선출브리지 ID(우선순위 + MAC 주소)가 가장 작은 스위치가 루트 브리지가 된다.
루트 포트루트가 아닌 스위치는 루트까지 비용(속도가 빠를수록 작음)이 가장 작은 포트 하나를 고른다.
지정 포트각 링크마다 루트에 더 가까운 쪽 포트 하나가 그 링크를 담당한다.
나머지는 차단어느 쪽도 아닌 포트는 데이터를 막는다(BPDU는 계속 듣는다). 링크가 끊기면 다시 계산해 막았던 포트를 연다.
SIMULATOR

브로드캐스트 폭풍과 스패닝 트리 (연결선을 눌러 끊어 보세요)

우선순위를 낮춰 루트로 만들 스위치
 
지금 링크 위의 프레임—
H2가 받은 사본—
H3가 받은 사본—
상태—
S2–S3 사이에는 이중화를 위해 선이 두 가닥 있다. 선 위의 ×숫자는 그 방향으로 지나가는 같은 프레임의 사본 수다. STP를 켜면 포트 옆에 R(루트 포트), D(지정 포트), ✕(차단)가 표시된다. 해볼 것: STP를 끈 채 브로드캐스트를 보내 사본이 한 단계마다 두 배로 느는 것을 보자. 그다음 STP를 켜고 다시 보내면 각 호스트가 정확히 한 번씩 받는다. 쓰이는 선을 눌러 끊으면 막혀 있던 포트가 열린다. 단순화: 모든 링크 비용은 같고, 한 단계 = 프레임이 링크 하나를 건너는 시간이다.
예측해 보기

STP 없이 브로드캐스트 프레임 단 1개를 보냈다. 프레임이 링크를 10번쯤 건넌 뒤(실제로는 1밀리초도 안 되는 시간) 링크 위의 사본은 몇 개쯤일까?

스패닝 트리 시뮬레이터에서 STP를 끄고 보내 보자.

갈림길(이중 링크)이 있으면 스위치가 플러딩할 때마다 사본이 늘어 2, 4, 8, … 211 ≈ 2,000개가 된다. 이더넷 프레임에는 TTL이 없고 스위치는 “이미 본 프레임”을 기억하지 않으므로, 링크가 꽉 찰 때까지 멈추지 않는다. 그래서 스위치 고리에는 반드시 STP(또는 그 개량판 RSTP)가 필요하다.

원래 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 Mbps1983 / 199010BASE5(동축), 10BASE-T(꼬임쌍선)공유 매체, CSMA/CD
100 Mbps1995 (802.3u)100BASE-TX“패스트 이더넷”, 스위치 보급
1 Gbps1998~1999 (802.3z/ab)1000BASE-T, 광꼬임쌍선 4쌍 모두 양방향 사용
10 Gbps2002 (802.3ae)광, 2006년 10GBASE-T전이중만 남음
40 / 100 Gbps2010 (802.3ba)여러 레인을 묶음(4×10G, 10×10G 등)데이터센터·통신망 백본
25 Gbps2016 (802.3by)레인 하나 25G서버 연결의 표준이 됨
200 / 400 Gbps2017 (802.3bs)PAM4 신호, 8×50G 등하이퍼스케일 데이터센터
800 Gbps2024 (802.3df)8×100G PAM4 레인AI 클러스터
1.6 Tbps2026년 전후 (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 표준은 아니어서 경로의 모든 장비가 같은 크기를 지원해야 한다.

SIMULATOR

프레임 크기와 효율, 초당 프레임 수

링크 속도
선 위 효율 (페이로드 비율)—
TCP 데이터 처리량—
초당 프레임 수—
프레임 하나 처리 시간—
위 막대는 선 위로 나가는 한 프레임의 바이트 구성, 아래는 페이로드 크기에 따른 효율 곡선이다. TCP 데이터 처리량은 IPv4·TCP 헤더 40바이트를 더 뺀 값이다. 해볼 것: 페이로드를 최소(46 B)로 하고 10G를 고르면 초당 약 1,488만 프레임이다. 스위치 칩은 이것을 모든 포트에서 동시에 처리해야 한다(17장). 100G에서는 프레임 하나에 겨우 6.7 ns가 주어진다.

링크 집계: 선 여러 가닥을 한 줄처럼

스위치 사이가 10 Gbps로 모자라면 더 비싼 장비로 바꾸는 대신 선 여러 가닥을 하나의 논리적 링크로 묶을 수 있다. 이것이 링크 집계(LAG, Link Aggregation, IEEE 802.1AX/옛 802.3ad)이고, 양쪽 장비는 LACP라는 프로토콜로 묶음 상태를 확인한다. STP 입장에서는 묶음 전체가 링크 하나이므로 차단되지 않고, 한 가닥이 끊겨도 나머지로 계속 동작한다. 단, 순서가 뒤섞이지 않도록 한 흐름(같은 출발지·목적지 주소와 포트 조합)은 해시로 정한 한 가닥으로만 보낸다. 그래서 10G 네 가닥을 묶어도 파일 하나 복사는 10G를 넘지 못한다. 여러 사용자의 흐름이 모여야 40G를 다 쓴다.

이더넷은 어디까지 가나

이더넷은 이제 사무실을 넘어 자동차(차량용 이더넷, 꼬임쌍선 한 쌍), 공장(시간 민감형 네트워킹 TSN), 휴대폰 기지국 연결(5G 프런트홀), AI 슈퍼컴퓨터의 GPU 연결(울트라 이더넷)까지 쓰인다. “싸고, 모두가 알고, 계속 빨라진다”는 장점이 다른 전용 기술들을 차례로 밀어냈다.

핵심 정리

  1. 이더넷은 1973년 제록스 PARC의 공유 동축 케이블에서 시작했다. 프레임은 프리앰블 · 목적지/출발지 MAC · EtherType · 페이로드(46~1500 B) · FCS(CRC-32)로 이루어지고 50년 동안 거의 그대로다.
  2. MAC 주소는 48비트이며 앞 3바이트가 제조사 OUI다. 첫 바이트의 최하위 비트는 유니캐스트/멀티캐스트(I/G), 그 위 비트는 전역/로컬(U/L)을 뜻한다. 모두 1이면 브로드캐스트다.
  3. 공유 매체에서는 CSMA/CD와 이진 지수 백오프로 충돌을 다뤘지만, 부하가 커지면 처리율이 떨어진다. 스위치와 전이중 링크가 충돌 자체를 없앴다.
  4. 스위치는 출발지 MAC으로 위치를 배우고, 아는 목적지는 그 포트로만, 모르는 목적지와 브로드캐스트는 플러딩한다.
  5. 스위치는 충돌 도메인을 포트마다 나누지만 브로드캐스트 도메인은 라우터나 VLAN이 나눈다. 802.1Q 태그는 4바이트이고 VLAN 번호는 12비트(실사용 4094개)다.
  6. 이더넷 프레임에는 TTL이 없어 고리가 있으면 브로드캐스트 폭풍이 생긴다. STP는 루트 브리지를 뽑고 일부 포트를 막아 고리 없는 트리를 만든다.
  7. 속도는 10 Mbps → 1.6 Tbps로 늘었고, 작은 프레임일수록 초당 프레임 수가 폭증한다. 점보 프레임은 효율을, 링크 집계는 대역과 이중화를 준다.

확인 퀴즈

이더넷 프레임 끝의 FCS(4바이트)는 무엇에 쓰이나?

FCS는 프레임 전체로 계산한 CRC-32다. 받는 쪽 계산 결과가 다르면 프레임을 버린다. 재전송은 이더넷이 아니라 TCP 같은 윗 계층이 맡는다.

MAC 주소 02:1a:2b:3c:4d:5e에 대한 설명으로 옳은 것은?

첫 바이트 0x02 = 00000010. 최하위 비트(I/G) 0 → 유니캐스트, 그 위 비트(U/L) 1 → 로컬 주소. 무작위 MAC이나 가상 머신이 이런 주소를 쓴다.

CSMA/CD에서 충돌이 반복될수록 기다리는 시간의 범위를 두 배씩 늘리는 이유는?

이진 지수 백오프는 충돌 횟수로 혼잡도를 짐작해, 후보 범위(0~2ⁿ−1 슬롯)를 넓힌다. 여럿이 같은 값을 고를 확률이 줄어든다.

스위치가 MAC 주소 테이블을 채우는 방법은?

보낸 사람이 어느 포트 너머에 있는지는 프레임이 들어온 포트로 알 수 있다. 목적지는 아직 어디 있는지 모르므로 배울 수 없다.

VLAN에 대한 설명으로 틀린 것은?

802.1Q 태그는 이더넷 프레임의 출발지 MAC 뒤에 끼워 넣는 4바이트다. 그래서 최대 프레임이 1518에서 1522바이트로 늘고 FCS도 다시 계산한다.

STP가 하는 일로 가장 알맞은 것은?

STP는 이중화된 링크를 남겨 두되 데이터는 트리 위로만 흐르게 한다. 쓰던 링크가 끊기면 차단했던 포트를 다시 열어 길을 복구한다.