NETWORK

[네트워크] 버퍼 관리, 스케줄링 및 정책

ch010104 2026. 4. 29. 21:15

1. 버퍼 관리 (Buffer Management): 

패킷이 라우터나 스위치의 출력 포트에 도착했을 때, 한정된 대기 공간(Buffer)을 어떻게 운영할 것인가에 대한 결정입니다.

  • 상황: 입력 속도가 출력 속도(링크 대역폭 R)보다 빠를 때 발생합니다.
  • 드롭(Drop) 정책 (사후/반응적):
    • 테일 드롭(Tail Drop): 버퍼가 가득 차면 새로 들어오는 패킷을 무조건 버림.
    • 우선순위 드롭: 중요도가 낮은 패킷을 먼저 버려 중요한 트래픽 보호.
  • 마킹(Marking) 정책 (사전/예방적):
    • ECN (Explicit Congestion Notification): 패킷을 버리는 대신 헤더에 '혼잡함'을 표시하여 송신 측이 스스로 속도를 줄이도록 유도.
    • RED (Random Early Detection): 버퍼가 가득 차기 전 확률적으로 미리 패킷을 드롭하거나 마킹하여 혼잡을 완화.

2. 패킷 스케줄링 (Packet Scheduling): 

버퍼에 쌓여 있는 패킷들 중 어떤 패킷을 먼저 링크로 내보낼 것인지 결정하는 로직입니다.

  • 특징: 네트워크 패킷은 비선점형(Non-preemptive)입니다. 한 번 전송이 시작되면 중간에 끊지 않습니다(패킷은 데이터의 최소 원자 단위이기 때문).

주요 알고리즘

1. FCFS (First-Come, First-Served): 도착한 순서대로 처리. 단순하지만 긴 패킷이 앞을 막는 병목 현상에 취약.

 

2. 우선순위(Priority): 등급에 따라 차등 대우. 고순위 패킷만 계속 오면 저순위 패킷이 굶는 기아 현상(Starvation) 위험.

 

3. 라운드 로빈(Round Robin): 여러 클래스를 번갈아가며 하나씩 처리. 최고의 공정성을 지향.

 

4. WFQ (Weighted Fair Queuing): 라운드 로빈에 가중치를 더한 방식. 현대 라우터의 핵심 기술.

WFQ의 수학적 이해 (사용자의 통찰)

    • 가중치 (W) = 일하는 속도: 가중치가 높을수록 해당 큐는 더 많은 지분(대역폭)을 가짐.
    • 비용 (1/W) = 가상 시간 증가량: 가중치가 3(W=3)이라면 패킷 하나를 처리하는 비용은 $1/3$입니다. 비용이 작을수록 가상 시간 축 위에서 더 빨리, 자주 전송 기회를 얻습니다.
    • 위의 예시에서 weight 큰 큐의 패킷부터 시행한다면 순서는 P1 > P8 > P2 > P3 > P9 > P5 > P4 > P10 > P11 > P6 > P7 임.

3. 망 중립성 (Network Neutrality): "기술과 정책의 충돌"

위의 스케줄링/버퍼 관리 기술을 ISP(통신사)가 특정 서비스 차별에 악용하지 못하게 막는 사회적 합의입니다.

  • 3대 금지 원칙 (FCC 가이드라인):
    1. No Blocking: 합법적인 콘텐츠 차단 금지.
    2. No Throttling: 의도적인 속도 저하 금지.
    3. No Paid Prioritization: 유료 우선순위(Fast Lane) 판매 금지.
  • 법적 분류의 싸움:
    • Title II (Telecommunications): ISP를 수도/전기 같은 공공재로 분류. 강력한 차별 금지 규제 적용.
    • Title I (Information Service): ISP를 자유로운 비즈니스 주체로 분류. 규제 최소화 및 자율성 보장.

4. IP (Internet Protocol) 개요: "네트워크의 규격"

이제 막 시작한 주제로, 패킷의 주소와 형식을 다룹니다.

  • Datagram Format: 패킷 헤더에 담긴 우선순위, 주소 등의 데이터 규격.
  • Addressing: 장치를 식별하는 IP 주소 체계.
  • NAT (Network Address Translation): 사설 IP와 공인 IP 간의 변환 기술.
  • IPv6: 주소 고갈 문제를 해결하기 위한 차세대 128비트 주소 체계.