Chapter 07무선과 이동 네트워크
지금까지의 6장은 사실상 케이블의 세계였습니다. 패킷이 라우터와 라우터 사이의 깔끔한 광섬유나 이더넷 위를 달리는 그림이었죠. 그런데 우리가 매일 손에 들고 다니는 기기들은 정작 케이블이 없습니다. 카페에 앉아 노트북을 펴면 와이파이 아이콘이 떡 하니 떠 있고, 지하철에서는 5G 안테나 그림이 깜빡입니다. 이 환경은 6장의 깔끔한 세계와 다르게, 신호가 벽에 부딪히고, 옆 테이블 전자레인지에 방해받고, 사용자가 걸어다니다 갑자기 다른 기지국으로 옮겨갑니다.
7장은 이 두 가지 골치 아픈 문제를 다룹니다. 하나는 무선(wireless)이라는 매체의 본질적 까다로움 — 신호가 약해지고, 반사되고, 충돌합니다. 다른 하나는 이동성(mobility) — 단말이 움직이면서 IP 주소가 바뀌거나 기지국이 바뀌어도 통신이 끊기지 않게 만들어야 합니다. 두 문제는 자주 같이 나오지만, 사실 별개의 문제입니다. 책상에 고정된 무선 데스크탑은 무선이지만 이동하지 않고, 위성 전화는 본인이 안 움직여도 위성이 움직이죠. 하지만 우리가 가장 흔히 만나는 스마트폰은 둘 다 해당됩니다.
이 장에서는 와이파이의 802.11 MAC, LTE/5G의 셀룰러 아키텍처, 모바일 IP의 간접/직접 라우팅, 그리고 마지막으로 무선·이동성이 위쪽 TCP에 어떤 짜증을 유발하는지까지 훑어봅니다. 한입씩 천천히 가봅시다.
7.1 무선 채널은 왜 까다로운가
유선 링크는 어찌 보면 평화롭습니다. 케이블이 한 번 깔리면 잡음이 거의 일정하고, 충돌 영역도 명확합니다. 무선은 정반대입니다. 같은 주파수를 동네 전체가 공유하는 단일 매체에서, 신호는 거리에 따라 약해지고, 벽에서 튕기고, 다른 장치들과 끊임없이 부딪힙니다. 무선 링크 계층 설계자가 머리를 싸매는 주된 이유는 이 채널 자체의 성질에 있습니다.
감쇠와 경로 손실
무선 신호의 세기는 거리의 제곱(자유 공간)이나 그 이상으로 빠르게 감소합니다. 송신기에서 1m 떨어진 곳과 10m 떨어진 곳의 신호 세기 차이는 수십 dB에 달합니다. 그래서 같은 AP라도 거실에서는 빵빵하게 잡히고 화장실에서는 끊깁니다. 게다가 벽, 유리, 사람의 몸은 추가로 신호를 흡수하거나 반사합니다. 와이파이가 안 잡히는 사각지대(dead zone)는 거의 항상 이 때문입니다.
다중 경로 페이딩
송신된 전파는 여러 경로로 갈라져 수신기에 도착합니다. 한 번은 직진해서 오고, 한 번은 벽에 부딪힌 뒤 0.1마이크로초 늦게 오고, 또 한 번은 책장에서 반사되어 더 늦게 옵니다. 이 사본들이 수신기에서 만나면 위상이 어긋나서 서로 상쇄되거나 강화됩니다. 결과적으로 같은 자리에서 단말을 5cm만 움직여도 신호 품질이 확 달라지는 일이 생깁니다. 이걸 다중 경로 페이딩(multipath fading)이라고 부릅니다.
다중 경로는 욕실에서 노래 부를 때와 비슷합니다. 직접 들리는 목소리에, 벽에서 반사된 메아리가 살짝 늦게 겹쳐 들리죠. 노래방에서는 좋지만 데이터 전송에서는 비트가 뭉개지는 재앙입니다.
간섭과 SNR/BER
2.4GHz 대역에는 와이파이만 있는 게 아닙니다. 블루투스, 무선 마우스, 전자레인지, 베이비 모니터까지 같은 대역을 씁니다. 이런 잡음과 신호의 비율을 SNR(Signal-to-Noise Ratio, 신호 대 잡음비)이라고 하고, 보통 dB로 표현합니다. SNR이 높을수록 비트 오류 확률 BER(Bit Error Rate, 비트 오류율)이 낮아집니다. 무선은 유선보다 BER이 보통 몇 자릿수 더 높아서, 링크 계층에서 적극적인 재전송과 ACK가 거의 필수입니다.
또 무선 네트워크는 보통 SNR에 따라 변조 방식(modulation)을 동적으로 바꿉니다. SNR이 좋으면 한 심볼에 더 많은 비트를 욱여넣어 처리율을 높이고, SNR이 나빠지면 심볼당 비트 수를 줄여서 안정성을 챙깁니다. AP에 가까이 갈수록 속도가 빨라지는 이유가 이것입니다.
숨은 단말 / 노출 단말 문제
무선 매체 공유는 이더넷보다 본질적으로 어렵습니다. 이더넷은 모두가 같은 케이블을 듣고 있어서 충돌 감지(CSMA/CD)가 가능했지만, 무선은 자기가 송신하는 동안 동시에 듣는 게 거의 불가능합니다(자기 신호가 너무 커서 다른 신호가 묻힘). 그래서 충돌 감지 대신 충돌 회피(CSMA/CA)를 씁니다. 그런데 이것마저도 두 가지 고질병이 있습니다.
숨은 단말(hidden terminal) 문제: A와 C는 둘 다 B에게 보내고 싶지만 서로의 신호가 닿지 않을 만큼 멀리 있습니다. 그러면 둘 다 "매체가 비어 있군!" 하고 동시에 송신하고, B에서는 충돌이 일어나서 둘 다 망가집니다.
노출 단말(exposed terminal) 문제: B가 A에게 보내고 있는 걸 C가 듣게 됩니다. C는 D에게 보내고 싶은데, 매체가 바쁜 걸로 인식해서 기다립니다. 사실 C → D 송신은 A의 수신을 방해하지 않는데도 말이죠. 결과적으로 처리율이 줄어듭니다.
이 두 문제를 보면, 무선에서는 송신자가 매체를 듣는 것만으로는 부족하고, 수신자 근처가 비어 있는지를 어떻게든 알아야 한다는 결론이 나옵니다. 이게 뒤에 나오는 RTS/CTS의 동기입니다.
7.2 WiFi (802.11)
IEEE 802.11은 우리가 와이파이라고 부르는 무선 LAN 표준 시리즈입니다. 802.11b/g/n/ac/ax 등 알파벳 뒤꼬리가 계속 늘어나는데, 핵심 MAC 동작은 의외로 변하지 않았습니다.
인프라스트럭처 모드 vs 애드혹 모드
802.11에는 두 가지 기본 모드가 있습니다.
- 인프라스트럭처(infrastructure) 모드: 모든 단말이 AP(Access Point, 접근점)를 통해 통신합니다. 단말끼리 직접 말하지 않고, 항상 AP를 거칩니다. AP는 보통 유선 백본에도 연결돼 있어서, 단말이 인터넷으로 나가는 출입구 역할을 합니다.
- 애드혹(ad hoc) 모드: AP 없이 단말끼리 P2P로 통신합니다. 캠핑장에서 노트북 두 대를 직접 연결하거나, 옛날 PSP 멀티플레이를 떠올리면 됩니다. 실생활에서는 거의 안 쓰이지만, 메시 네트워크나 IoT 일부에서 살아남아 있습니다.
802.11 프레임의 4-주소 필드
802.11 프레임에는 좀 신기한 점이 있습니다 — 주소 필드가 네 개입니다(이더넷은 보통 두 개죠, 출발지·목적지). 왜 네 개일까요? 인프라스트럭처에서 무선 단말과 유선 호스트가 통신하면, 프레임은 단말 → AP → 유선 → (목적지)로 흐릅니다. 무선 구간에서는 AP의 주소도 필요하고, 유선 너머의 진짜 목적지·출발지 주소도 필요합니다. 그래서 4-주소 필드를 통해 다양한 시나리오를 표현합니다.
802.11 프레임 헤더(요약)
| Frame Ctrl | Duration | Addr1 | Addr2 | Addr3 | Seq | Addr4 | Payload | FCS |
2B 2B 6B 6B 6B 2B 6B*
Addr1 = 수신자(receiver) — 이번 무선 hop의 목적지
Addr2 = 송신자(transmitter) — 이번 무선 hop의 출발지
Addr3 = AP 너머의 목적지/출발지 (BSS 식별 등에 사용)
Addr4 = AP 간 무선 백본(WDS) 같은 특수 시나리오에서만 사용
* Frame Control 안에 To-DS / From-DS 비트 두 개로
이 프레임이 어디서 출발해 어디로 가는지를 명시함.
(00: 같은 BSS 내, 01: AP→STA, 10: STA→AP, 11: AP↔AP)
To-DS / From-DS 비트 조합에 따라 Addr1~3의 의미가 바뀝니다. 핵심은 "이번 무선 한 홉의 송수신자"와 "전체 통신의 출발지/목적지"가 다를 수 있어서 둘 다 적어둔다는 것입니다.
MAC 동작: CSMA/CA + RTS/CTS
유선 이더넷은 CSMA/CD를 썼습니다. 무선은 충돌을 감지할 수 없으니 충돌을 회피합니다 — CSMA/CA(Collision Avoidance). 핵심 차이는 두 가지입니다.
- 매체가 비어 있어도 바로 안 쏜다. DIFS라는 짧은 시간 동안 비어 있는지 확인하고, 그 후 임의의 백오프 슬롯만큼 더 기다립니다. 다른 단말과 동시에 시작하지 않게 하려는 장치입니다.
- 모든 데이터 프레임은 ACK를 기다린다. 무선은 BER이 높아서 데이터가 사라질 가능성이 항상 있습니다. 수신자는 짧은 SIFS 후 ACK를 회신하고, 송신자는 ACK를 못 받으면 백오프 후 재전송합니다.
여기에 숨은 단말 문제까지 고려하면, 큰 프레임을 보내기 전에 RTS/CTS(Request to Send / Clear to Send)를 한 번 주고받는 옵션이 있습니다.
// 송신자 A가 큰 프레임을 B(또는 AP)에게 보내기 전 RTS/CTS
A: 매체 청취() → DIFS 동안 idle?
A: 백오프 카운터 = random(0, CW)
매 슬롯마다 idle이면 카운터 감소
카운터가 0이 되면 ↓
A → B: RTS (작음, 송신 예정 길이 포함)
B → ALL: CTS (작음, "이 시간 동안 모두 조용히")
// 숨은 단말 C도 CTS는 들을 수 있다면 CTS의 NAV(Net Allocation Vector)를 보고 침묵
A → B: DATA (큰 프레임)
B → A: ACK (성공 시)
A: ACK 못 받으면 → CW를 두 배로 늘리고 재전송 시도
RTS/CTS는 작은 프레임 두 개를 추가로 주고받는 오버헤드가 있어서, 짧은 데이터에는 잘 안 씁니다. 임계값(예: 일정 길이 이상의 프레임)을 넘을 때만 발동하도록 설정하는 게 일반적입니다.
연결 과정: 스캔 → 인증 → 결합
스마트폰을 카페에 들고 들어가면 와이파이가 자동으로 잡히죠. 그 뒤에 일어나는 단계는 대략 이렇습니다.
- 스캔(scanning): 주변에 어떤 AP가 있는지 찾습니다. 수동 스캔은 AP가 주기적으로 보내는 비콘(beacon) 프레임을 듣고, 능동 스캔은 단말이 Probe Request를 쏴서 응답을 받습니다.
- 인증(authentication): 단말이 AP에게 자기가 누구인지를 증명합니다. 옛날의 개방형 인증은 사실상 형식적이었고, 요즘은 WPA2/WPA3에 따라 4-way handshake로 키 교환까지 합니다.
- 결합(association): 단말이 특정 AP에 "정식 등록"됩니다. 이 시점부터 그 AP가 단말의 프레임을 받아서 백본으로 넘기는 책임을 집니다.
AP 핸드오버
건물 안을 걸으면서 와이파이를 쓰면, 어느 순간 신호가 약해지다가 다른 AP의 신호가 더 세집니다. 이때 단말은 새 AP로 옮겨가는 핸드오버(handover, 또는 핸드오프)를 수행합니다. 다행히 같은 SSID(같은 ESS, Extended Service Set)에 속한 AP들 사이에서는 비교적 매끄럽게 옮길 수 있고, 새 AP에 다시 결합한 뒤 백본 스위치가 MAC 학습을 갱신해서 프레임이 새 AP로 향하게 됩니다.
같은 SSID를 가진 AP가 여러 개라고 해서 늘 이어붙는 건 아닙니다. 단말의 로밍 알고리즘이 의외로 보수적이라, 신호가 꽤 약해질 때까지 옛 AP를 붙들고 있는 경우가 많습니다. 사무실에서 자리를 옮겼는데 와이파이가 굼떠 보이면, 한 번 끄고 켜는 게 가장 빠른 해결책일 때가 있습니다.
7.3 셀룰러 — 4G에서 5G로
와이파이는 보통 한 건물, 한 카페 단위입니다. 셀룰러는 도시 전체, 나라 전체를 덮어야 합니다. 그래서 설계 철학이 좀 다릅니다.
셀 구조
전 국토를 작은 셀(cell) 수십만 개로 쪼개고, 각 셀마다 기지국을 둡니다. 인접한 셀은 서로 다른 주파수를 써서 간섭을 줄이고, 멀리 떨어진 셀은 같은 주파수를 재사용합니다(주파수 재사용, frequency reuse). 셀 크기는 시골에서는 수 km, 도심에서는 수백 m 수준이고, 사람이 많은 곳일수록 작게 쪼갭니다.
셀은 동네 우체국에 가깝습니다. 전국 어느 집이든 가장 가까운 우체국이 1차 담당자고, 그 우체국이 본청 네트워크와 연결되어 있어 전국 어디로든 편지를 보낼 수 있죠. 단말이 동네를 옮기면 담당 우체국이 바뀌는데, 이게 바로 핸드오버입니다.
4G LTE 아키텍처
LTE는 크게 무선 접근망(E-UTRAN)과 코어망(EPC) 두 덩어리로 나뉩니다.
- eNodeB (eNB): LTE의 기지국. 단말과 무선으로 직접 통신하고, 그 뒤로 코어망에 연결됩니다.
- EPC (Evolved Packet Core): LTE의 코어망. 다음 세 컴포넌트가 핵심입니다.
- MME (Mobility Management Entity): 제어 평면의 두뇌. 단말 인증, 위치 등록, 핸드오버 협상, 베어러 설정 등을 담당합니다. 사용자 데이터는 안 거칩니다.
- S-GW (Serving Gateway): 단말의 사용자 데이터가 거쳐가는 지역 게이트웨이. 단말이 셀을 옮길 때 데이터 흐름을 이어주는 앵커 역할도 합니다.
- P-GW (PDN Gateway): 외부 인터넷(PDN, Packet Data Network)으로 나가는 출구. 단말의 IP 주소를 할당하고, 정책·과금을 적용합니다.
여기서 가장 중요한 통찰은 제어 평면과 데이터 평면의 분리입니다. MME는 시그널링만 처리하고, 실제 트래픽은 eNB → S-GW → P-GW로 흐릅니다. 이렇게 분리해두면 데이터 평면을 따로 확장하기 쉽습니다.
5G로의 변화
5G는 LTE의 자연스러운 진화이지만 몇 가지 큰 변화가 있습니다.
- gNodeB (gNB): 5G의 기지국 이름. eNB의 후계자입니다. 4G eNB와 5G gNB가 동시에 운영되는 NSA(Non-Standalone) 구성도 많이 씁니다.
- 5GC (5G Core): 코어망이 마이크로서비스 풍의 서비스 기반 아키텍처(SBA)로 다시 짜였습니다. AMF(Access & Mobility), SMF(Session Management), UPF(User Plane Function) 등 기능이 더 잘게 쪼개져 있고, 제어 평면 노드들끼리 HTTP/2 기반 API로 대화합니다.
- 네트워크 슬라이싱: 같은 물리 인프라 위에 가상의 "전용 네트워크"를 여러 개 띄울 수 있습니다. 자율주행용 저지연 슬라이스, IoT 센서용 저전력 슬라이스를 한 망 위에서 동시에 운용하는 식입니다.
- 밀리미터파(mmWave): 훨씬 높은 주파수 대역을 옵션으로 제공합니다. 대역폭은 크지만 도달 거리가 짧고 장애물에 약해서, 도심 핫스팟 같은 보조 수단으로 쓰입니다.
| 비교 축 | WiFi (802.11) | 셀룰러 (LTE/5G) |
|---|---|---|
| 설치 주체 | 개인/가게 누구나 | 이동통신 사업자(라이선스 보유) |
| 주파수 | 비면허 대역 (2.4 / 5 / 6 GHz) | 면허 대역 + 일부 mmWave |
| 커버리지 단위 | 방·건물 | 셀(수백 m ~ 수 km) |
| 이동성 | 같은 ESS 내에서 제한적 | 도시·국가 단위, 핸드오버 표준화 |
| QoS 보장 | 약함(베스트 에포트 위주) | 베어러/슬라이스 단위로 명시 가능 |
| 인증·과금 | 비밀번호/포털 수준 | SIM 기반 가입자 식별 + 청구 |
7.4 이동성 관리
단말이 한 자리에서만 통신한다면 이 절은 필요 없습니다. 문제는 사람이 걸어다니고, 차를 탄다는 데 있습니다. 이동성 관리는 두 가지 큰 시나리오로 나뉩니다.
- 같은 네트워크 안에서의 이동: 예를 들어 같은 와이파이 ESS 안에서 AP만 옮겨다니는 경우. IP 주소가 안 바뀌므로 위쪽 계층은 거의 모릅니다.
- 네트워크를 가로지르는 이동: 집 와이파이에서 회사 와이파이로, 또는 다른 LTE 망으로 옮겨가는 경우. IP 주소가 바뀔 가능성이 큽니다. 이때 진행 중이던 TCP 연결을 어떻게 살릴 것인가가 핵심 문제입니다.
홈 네트워크와 방문 네트워크
이동 호스트 모델에서는 단말이 원래 속한 망을 홈 네트워크(home network), 잠시 들어가 있는 다른 망을 방문 네트워크(visited network)라고 부릅니다. 홈 네트워크에는 홈 에이전트(HA)가, 방문 네트워크에는 외부 에이전트(FA)(또는 그 역할을 하는 노드)가 있습니다. 단말이 외출하면, 외부 에이전트는 단말의 임시 주소(care-of address, CoA)를 부여하고 그 정보를 홈 에이전트에게 등록합니다.
모바일 IP: 간접 라우팅
모바일 IP의 가장 단순한 방식은 간접 라우팅(indirect routing)입니다. 외부 통신 상대(correspondent)는 단말의 영구적인 홈 주소만 알고 있습니다. 그 주소로 패킷을 보내면 일단 홈 네트워크로 갑니다. 홈 에이전트는 단말이 어디 있는지 알고 있으므로, 패킷을 단말의 임시 주소로 터널링(IP-in-IP 캡슐화)해서 방문 네트워크로 다시 보냅니다.
본가에 우편물 받는 주소를 그대로 두고, 본가 부모님께 "내가 잠깐 부산에 머무르니 오는 우편 다 부산 주소로 다시 부쳐주세요" 하고 부탁하는 셈입니다. 보내는 사람은 부산 주소를 몰라도 되고, 본가 주소만 알고 있어도 우편이 결국 도달합니다.
간접 라우팅의 단점은 삼각 라우팅(triangle routing)입니다. 같은 도시에 있는 두 단말이라도, 한쪽이 외출 중이면 패킷이 일단 홈으로 갔다가 다시 돌아오는 식이라 비효율적이죠.
모바일 IP: 직접 라우팅
이걸 개선한 게 직접 라우팅(direct routing)입니다. 통신 상대가 처음에는 홈 에이전트에게 단말의 임시 주소를 직접 물어봅니다. 그 후로는 통신 상대가 임시 주소로 직접 패킷을 보냅니다. 더 효율적이지만, 통신 상대 쪽에 모바일 IP를 이해하는 추가 모듈이 필요하고, 단말이 또 옮겨가면 임시 주소를 갱신해줘야 한다는 복잡함이 있습니다.
셀룰러 핸드오버
셀룰러망의 핸드오버는 망 내부에서 네트워크가 주도합니다. 와이파이는 주로 단말이 "옮겨갈래" 하고 결정하는데, 셀룰러는 측정 보고를 받은 기지국과 코어망이 결정을 내립니다.
// LTE X2 핸드오버(같은 코어 안에서, 단순화)
UE --(측정 보고: 인접셀 RSRP가 더 좋음)--> src_eNB
src_eNB: "옮길 만하군"
src_eNB --(Handover Request)--> tgt_eNB
tgt_eNB: 자원 예약 OK
tgt_eNB --(Handover Request Ack)--> src_eNB
src_eNB --(RRC Reconfig: "tgt_eNB로 옮겨")--> UE
UE: 새 셀에 동기 → 랜덤 액세스
UE --(Handover Confirm)--> tgt_eNB
src_eNB --(잔여 패킷 포워딩)--> tgt_eNB
tgt_eNB --(Path Switch Request)--> MME
MME --> S-GW: 데이터 경로를 tgt_eNB로 변경
src_eNB: 자원 해제
중요한 점은 핸드오버 동안 단말의 IP 주소는 바뀌지 않는다는 것입니다. 데이터 평면의 앵커(S-GW/P-GW)가 그대로이기 때문에, 위쪽 TCP 입장에서는 짧은 끊김이나 지연 외에는 거의 모르고 지나갑니다.
"이동성 = 핸드오버"라고 단순화하면 안 됩니다. 같은 망에서 셀만 바뀌는 핸드오버는 IP 그대로지만, 와이파이에서 LTE로 갈아타는 식의 망 횡단 이동은 IP가 바뀌면서 위쪽 연결이 깨질 수 있습니다.
7.5 무선/이동성이 상위 계층에 미치는 영향
무선과 이동성은 링크 계층 이야기 같지만, 사실 상위 계층의 가정을 야금야금 흔듭니다. TCP가 가장 큰 피해자입니다.
"손실 = 혼잡" 가정의 붕괴
고전적인 TCP는 패킷 손실이 일어나면 곧 라우터의 큐가 넘쳤다고 해석하고, 혼잡 윈도우를 줄입니다. 이 휴리스틱은 유선 코어에서는 잘 맞습니다. 그런데 무선 마지막 한 홉에서는 손실의 상당수가 페이딩이나 일시적 간섭 때문이고, 망의 혼잡과는 별 상관이 없습니다.
이런 손실에 TCP가 윈도우를 절반으로 자르면, 사실 네트워크에는 여유가 있는데도 처리율이 뚝 떨어집니다. 이걸 보완하기 위한 흔한 전략은 두 가지입니다.
- 링크 계층에서 빠르게 재전송: 802.11이나 LTE는 자체 재전송과 ACK 메커니즘이 있어, 무선 손실의 상당 부분을 위쪽까지 올라가기 전에 회복합니다. TCP가 보기엔 그냥 RTT가 잠깐 늘어난 것처럼 보입니다.
- 무선 친화적인 혼잡 제어: BBR 같은 모델 기반 혼잡 제어는 손실보다 RTT/대역폭 측정에 의존해서, 무작위 무선 손실에 덜 민감합니다.
RTT 변동과 짧은 끊김
핸드오버, 페이딩, 재전송 때문에 무선 RTT는 유선보다 변동이 큽니다. TCP는 RTO(재전송 타임아웃)를 평균과 분산으로부터 추정하므로, 변동이 크면 RTO가 보수적으로 길어집니다. 결과적으로 한 번 진짜 손실이 나면 회복이 느려집니다.
또 핸드오버 중 수십~수백 ms의 일시 끊김이 발생하면, 그 사이 큐에 쌓인 패킷이 한꺼번에 쏟아지면서 일시적인 ACK 폭주가 위쪽에서 보일 수 있습니다.
IP 주소 변경 → 트랜스포트 연결 끊김
전통적인 TCP 연결은 (출발지 IP, 출발지 포트, 목적지 IP, 목적지 포트)의 4-튜플로 식별됩니다. 와이파이에서 LTE로 갈아타면 출발지 IP가 바뀌므로, 같은 연결을 식별할 방법이 없어 연결이 사실상 끊깁니다. 앱 입장에서는 이 시점에 다시 연결을 맺어야 하는데, TLS 핸드셰이크와 인증까지 다시 하면 사용자 체감 지연이 꽤 큽니다.
QUIC은 4-튜플 대신 커넥션 ID로 연결을 식별합니다. 그래서 클라이언트의 IP가 바뀌어도, 같은 커넥션 ID를 그대로 쓰는 새 패킷이 도착하면 서버는 같은 연결의 연속으로 인식합니다. 와이파이↔셀룰러 전환에서 TLS 재협상 없이 연결을 살리는 핵심 트릭이고, 모바일 환경에서 QUIC이 의미를 갖는 큰 이유 중 하나입니다.
정리하면, 7장의 모든 이슈는 결국 위쪽 계층까지 진동을 일으킵니다. 무선·이동성을 제대로 다루려면 링크 계층에서의 영리한 재전송, 코어에서의 앵커링, 트랜스포트 계층의 마이그레이션 가능성까지 함께 봐야 합니다. "물리적인 까다로움이 결국 추상의 모든 층을 흔든다"는 게 이 장의 진짜 교훈일지도 모르겠네요.
한 줄 요약
- 무선 채널은 감쇠·다중 경로·간섭 때문에 본질적으로 BER이 높고, 송신자가 매체를 듣는 것만으로는 수신자 근처가 비었는지 알 수 없다(숨은 단말 / 노출 단말).
- WiFi(802.11)는 인프라스트럭처/애드혹 모드로 동작하고, MAC은 CSMA/CA + ACK가 기본이며 RTS/CTS로 숨은 단말 문제를 완화한다. 4-주소 필드는 무선 한 홉과 전체 경로를 함께 표현하기 위한 것.
- 셀룰러는 작은 셀과 주파수 재사용으로 광역을 덮는다. 4G LTE는 eNB + EPC(MME, S-GW, P-GW)로 제어/데이터 평면을 분리했고, 5G는 gNB와 서비스 기반 5GC, 슬라이싱, mmWave를 더했다.
- 이동성 관리는 홈/방문 네트워크 모델 위에 모바일 IP의 간접·직접 라우팅으로 해결한다. 셀룰러 핸드오버는 보통 IP 주소를 바꾸지 않아 위쪽 TCP가 거의 모르고 지나간다.
- 무선과 이동성은 상위 계층까지 흔든다. TCP의 "손실=혼잡" 가정이 깨지고, IP가 바뀌면 4-튜플 기반 연결이 끊긴다. QUIC의 커넥션 ID 기반 마이그레이션은 이 문제에 대한 트랜스포트 계층의 응답이다.