icon

안동민 개발노트

3장 : 물리 계층과 데이터 링크 계층

물리 계층의 역할


지금까지 우리는 계층 모델이라는 큰 그림과 캡슐화의 원리를 살펴보았습니다. 이제 그 가장 아래쪽, 데이터가 실제로 물리적 세계에서 어떻게 이동하는지를 들여다볼 차례입니다.

코드를 작성하고 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, ↓=010BASE-T 이더넷
4B/5B4비트를 5비트 코드로 매핑100BASE-TX
8B/10B8비트를 10비트로, DC 밸런스 유지기가비트 이더넷
PAM-44단계 전압 레벨, 심볼당 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 상쇄 (차동 신호)
카테고리최대 속도대역폭최대 거리특징
Cat5e1 Gbps100 MHz100m가정/사무실 표준
Cat610 Gbps250 MHz55m (10G)중앙 십자 분리대
Cat6a10 Gbps500 MHz100m완전 차폐
Cat710 Gbps600 MHz100m각 쌍 개별 차폐
Cat825/40 Gbps2000 MHz30m데이터센터용

광섬유 (Fiber Optic Cable)

빛을 이용하여 데이터를 전송합니다. 전기적 간섭의 영향을 받지 않고, 수십 km 이상 먼 거리를 전송할 수 있습니다.

구분싱글모드 (SMF)멀티모드 (MMF)
코어 직경9 μm50/62.5 μm
광원레이저LED
최대 거리80+ km550m (OM4)
속도100 Gbps+100 Gbps (단거리)
비용높음낮음
용도WAN, 해저 케이블데이터센터 내부

동축 케이블 (Coaxial Cable)

중심 도체를 절연체와 외부 도체가 감싸는 구조로, 전자기 차폐 성능이 좋습니다. 현재는 CATV 인터넷(DOCSIS)에서 주로 사용됩니다.


무선 전송 매체

기술표준주파수최대 속도도달 거리
Wi-Fi 4802.11n2.4/5 GHz600 Mbps~70m
Wi-Fi 5802.11ac5 GHz3.5 Gbps~35m
Wi-Fi 6802.11ax2.4/5/6 GHz9.6 Gbps~35m
Wi-Fi 7802.11be2.4/5/6 GHz46 Gbps~30m
Bluetooth 5BT 5.02.4 GHz2 Mbps~240m
5G (sub-6)NR3.5 GHz~4 Gbps~1 km
5G (mmWave)NR28 GHz+~20 Gbps~200m

주파수가 높을수록 대역폭이 넓어 속도는 빠르지만, 파장이 짧아 장애물 투과와 도달 거리에서 불리합니다. 이것이 물리학이 결정하는 근본적 트레이드오프입니다.


대역폭, 전송 속도, 신호 감쇠

물리 계층을 이해할 때 혼동하기 쉬운 세 가지 개념을 정리합니다.

대역폭(Bandwidth)은 사용 가능한 주파수 범위(Hz)입니다. 주파수 범위가 넓을수록 더 많은 데이터를 실을 수 있습니다.

전송 속도(Data Rate)는 실제로 비트를 전송하는 빠르기(bps)입니다. 샤논의 채널 용량 정리에 의해 이론적 최대값이 결정됩니다.

C=Blog2(1+SNR)C = B \log_2(1 + \text{SNR})

CC: 채널 용량(bps), BB: 대역폭(Hz), SNR\text{SNR}: 신호 대 잡음비

shannon_capacity.py
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
physical_check.sh
# 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 주소를 살펴보겠습니다.

목차