물리 계층의 역할
지금까지 우리는 계층 모델이라는 큰 그림과 캡슐화의 원리를 살펴보았습니다. 이제 그 가장 아래쪽, 데이터가 실제로 물리적 세계에서 어떻게 이동하는지를 들여다볼 차례입니다.
코드를 작성하고 API를 호출하는 개발자에게 전기 신호나 광 펄스 같은 이야기가 왜 필요할까요? 직접 물리 계층을 구현할 일은 없겠지만, 네트워크 성능 문제를 진단할 때 이 병목이 물리적인 한계에서 오는 것인지, 소프트웨어 설정의 문제인지를 구분할 수 있어야 하기 때문입니다.
비트를 신호로, 신호를 비트로
물리 계층의 본질적인 역할은 딱 하나입니다. 0과 1로 이루어진 비트(Bit)를 물리적 매체가 전달할 수 있는 신호(Signal)로 변환하고, 반대로 수신된 신호를 다시 비트로 복원하는 것입니다.
디지털 데이터 물리적 신호
1 0 1 1 0 1 ┌─┐ ┌─┐ ┌─┐
(비트열) → │ │ │ │ │ │ (구리: 전압 변화)
─┘ └─┘ └─┘ └─
1 0 1 1 0 1 ● ○ ● ● ○ ●
(비트열) → ON OFF ON ON (광섬유: 빛 on/off)
1 0 1 1 0 1 ∿ _ ∿ ∿ _ ∿
(비트열) → 반송파 변조 (무선: 전자기파)여기서 신호는 매체에 따라 다릅니다. 구리 케이블에서는 전기 신호(전압의 변화)이고, 광섬유에서는 빛의 온/오프(광 펄스)이며, 무선 통신에서는 전자기파(라디오 주파수)입니다.
물리 계층이 신경 쓰는 것은 오직 비트를 정확하게 보내고 받는 것뿐입니다. 그 비트들이 IP 주소인지, HTTP 요청인지는 전혀 모르고 알 필요도 없습니다.
인코딩과 변조
비트를 신호로 변환하는 방식에는 두 가지 접근이 있습니다.
디지털 인코딩 (유선)
| 인코딩 방식 | 원리 | 사용처 |
|---|---|---|
| NRZ (Non-Return to Zero) | 1=고전압, 0=저전압 | 초기 시리얼 통신 |
| Manchester | 비트 중간에 천이, ↑=1, ↓=0 | 10BASE-T 이더넷 |
| 4B/5B | 4비트를 5비트 코드로 매핑 | 100BASE-TX |
| 8B/10B | 8비트를 10비트로, DC 밸런스 유지 | 기가비트 이더넷 |
| PAM-4 | 4단계 전압 레벨, 심볼당 2비트 | 2.5G/5G/10G 이더넷 |
NRZ는 단순하지만 동기화가 어렵습니다. 11111111처럼 같은 값이 계속되면 수신 측의 클록이 어긋날 수 있기 때문입니다. Manchester 인코딩은 매 비트마다 반드시 전압 변화가 있어 클록 동기화가 용이하지만, 대역폭 효율이 절반입니다.
변조 (무선)
무선에서는 반송파(carrier wave)의 특성을 변화시켜 데이터를 실습니다.
| 변조 방식 | 변화 대상 | 효율 |
|---|---|---|
| ASK (진폭 변조) | 파형의 높이 | 낮음 |
| FSK (주파수 변조) | 파형의 빠르기 | 중간 |
| PSK (위상 변조) | 파형의 시작점 | 높음 |
| QAM (직교 진폭 변조) | 진폭 + 위상 동시 | 최고 |
Wi-Fi 6는 1024-QAM을 사용합니다. 하나의 심볼로 10비트(1024가지 상태)를 표현할 수 있어 대역폭 효율이 매우 높습니다.
유선 전송 매체
꼬임 쌍선 (Twisted Pair Cable)
우리가 흔히 랜선이라고 부르는 케이블입니다. 구리 도선 두 가닥을 꼬아서 만듭니다.
꼬임 쌍선 구조 (Cat6)
┌──────────────────────────────────┐
│ ╲╱╲╱╲╱╲╱ 쌍1 (주황) │
│ ╱╲╱╲╱╲╱╲ │
│ ╲╱╲╱╲╱╲╱ 쌍2 (녹색) │
│ ╱╲╱╲╱╲╱╲ 4개 쌍 = 8가닥│
│ ╲╱╲╱╲╱╲╱ 쌍3 (파랑) │
│ ╱╲╱╲╱╲╱╲ │
│ ╲╱╲╱╲╱╲╱ 쌍4 (갈색) │
└──────────────────────────────────┘
꼬는 이유: EMI 상쇄 (차동 신호)| 카테고리 | 최대 속도 | 대역폭 | 최대 거리 | 특징 |
|---|---|---|---|---|
| Cat5e | 1 Gbps | 100 MHz | 100m | 가정/사무실 표준 |
| Cat6 | 10 Gbps | 250 MHz | 55m (10G) | 중앙 십자 분리대 |
| Cat6a | 10 Gbps | 500 MHz | 100m | 완전 차폐 |
| Cat7 | 10 Gbps | 600 MHz | 100m | 각 쌍 개별 차폐 |
| Cat8 | 25/40 Gbps | 2000 MHz | 30m | 데이터센터용 |
광섬유 (Fiber Optic Cable)
빛을 이용하여 데이터를 전송합니다. 전기적 간섭의 영향을 받지 않고, 수십 km 이상 먼 거리를 전송할 수 있습니다.
| 구분 | 싱글모드 (SMF) | 멀티모드 (MMF) |
|---|---|---|
| 코어 직경 | 9 μm | 50/62.5 μm |
| 광원 | 레이저 | LED |
| 최대 거리 | 80+ km | 550m (OM4) |
| 속도 | 100 Gbps+ | 100 Gbps (단거리) |
| 비용 | 높음 | 낮음 |
| 용도 | WAN, 해저 케이블 | 데이터센터 내부 |
동축 케이블 (Coaxial Cable)
중심 도체를 절연체와 외부 도체가 감싸는 구조로, 전자기 차폐 성능이 좋습니다. 현재는 CATV 인터넷(DOCSIS)에서 주로 사용됩니다.
무선 전송 매체
| 기술 | 표준 | 주파수 | 최대 속도 | 도달 거리 |
|---|---|---|---|---|
| Wi-Fi 4 | 802.11n | 2.4/5 GHz | 600 Mbps | ~70m |
| Wi-Fi 5 | 802.11ac | 5 GHz | 3.5 Gbps | ~35m |
| Wi-Fi 6 | 802.11ax | 2.4/5/6 GHz | 9.6 Gbps | ~35m |
| Wi-Fi 7 | 802.11be | 2.4/5/6 GHz | 46 Gbps | ~30m |
| Bluetooth 5 | BT 5.0 | 2.4 GHz | 2 Mbps | ~240m |
| 5G (sub-6) | NR | 3.5 GHz | ~4 Gbps | ~1 km |
| 5G (mmWave) | NR | 28 GHz+ | ~20 Gbps | ~200m |
주파수가 높을수록 대역폭이 넓어 속도는 빠르지만, 파장이 짧아 장애물 투과와 도달 거리에서 불리합니다. 이것이 물리학이 결정하는 근본적 트레이드오프입니다.
대역폭, 전송 속도, 신호 감쇠
물리 계층을 이해할 때 혼동하기 쉬운 세 가지 개념을 정리합니다.
대역폭(Bandwidth)은 사용 가능한 주파수 범위(Hz)입니다. 주파수 범위가 넓을수록 더 많은 데이터를 실을 수 있습니다.
전송 속도(Data Rate)는 실제로 비트를 전송하는 빠르기(bps)입니다. 샤논의 채널 용량 정리에 의해 이론적 최대값이 결정됩니다.
: 채널 용량(bps), : 대역폭(Hz), : 신호 대 잡음비
import math
def channel_capacity(bandwidth_hz, snr_db):
"""샤논 채널 용량 계산"""
snr_linear = 10 ** (snr_db / 10)
capacity = bandwidth_hz * math.log2(1 + snr_linear)
return capacity
# 일반적인 매체별 채널 용량 예시
scenarios = [
("Cat5e (100MHz, SNR 25dB)", 100e6, 25),
("광섬유 (10GHz, SNR 30dB)", 10e9, 30),
("Wi-Fi 5 (80MHz, SNR 35dB)", 80e6, 35),
("5G mmWave (400MHz, SNR 20dB)", 400e6, 20),
]
for name, bw, snr in scenarios:
cap = channel_capacity(bw, snr)
unit = "Gbps" if cap > 1e9 else "Mbps"
val = cap / 1e9 if cap > 1e9 else cap / 1e6
print(f"{name}")
print(f" 이론적 최대 용량: {val:.1f} {unit}\n")신호 감쇠(Attenuation)는 신호가 매체를 따라 이동하면서 점차 약해지는 현상입니다.
| 매체 | 최대 전송 거리 | 감쇠 원인 | 해결 방법 |
|---|---|---|---|
| UTP (Cat5e) | 100m | 저항, 누화 | 리피터, 스위치 |
| 광섬유 (SMF) | 80 km | 산란, 흡수 | 광증폭기 (EDFA) |
| Wi-Fi | ~35m (실내) | 벽, 간섭 | AP 추가, 메시 |
| 해저 케이블 | ~80 km/구간 | 흡수 | 리피터 (60~80km 간격) |
물리 계층 장비
| 장비 | 역할 | OSI 계층 |
|---|---|---|
| 리피터 (Repeater) | 약해진 신호를 증폭/재생 | L1 |
| 허브 (Hub) | 다중 포트 리피터, 모든 포트에 신호 복제 | L1 |
| NIC (Network Interface Card) | 디지털 ↔ 신호 변환, MAC 주소 보유 | L1/L2 |
| 미디어 컨버터 | 매체 변환 (구리 ↔ 광섬유) | L1 |
| 모뎀 | 디지털 ↔ 아날로그 변환 (DSL/케이블) | L1 |
# NIC 상태 및 링크 속도 확인
ethtool eth0 | grep -E "Speed|Duplex|Link"
# 무선 인터페이스 신호 강도 확인
iwconfig wlan0 | grep -E "Signal|Bit Rate"
# 케이블 연결 상태 확인 (carrier 파일)
cat /sys/class/net/eth0/carrier # 1=연결, 0=미연결
cat /sys/class/net/eth0/speed # 링크 속도 (Mbps)
# MTU 확인
ip link show eth0 | grep mtu소프트웨어 최적화로는 물리적 한계를 넘을 수 없다는 점이 물리 계층이 개발자에게 알려주는 가장 중요한 메시지입니다. 서울↔미국 간 RTT가 150ms 이하로 내려갈 수 없는 것은 광속의 한계 때문이며, 이것은 어떤 코드로도 바꿀 수 없습니다.
다음 절에서는 물리 계층 바로 위에서, 비트들을 의미 있는 단위로 묶어 전달하는 이더넷과 MAC 주소를 살펴보겠습니다.