네트워크_스케줄링
1. FIFO (First In First Out) Scheduling
정의:
FIFO는 가장 먼저 도착한 패킷을 가장 먼저 전송하는 방식으로, 단일 큐에서 순차적으로 처리된다.
동작 원리:
- 큐에 먼저 들어온 패킷이 먼저 나감
- 패킷 간 우선순위는 없음
특징:
- 구조가 간단하고 구현이 용이
- 긴 패킷이 먼저 들어오면 작은 패킷도 기다려야 하므로 지연 발생 가능
- 실시간 응용에 부적합
2. Priority Scheduling
정의:
패킷마다 **우선순위(priority)**를 부여하고, 우선순위가 높은 큐부터 먼저 처리하는 방식이다.
동작 원리:
- 큐가 여러 개 존재하며, 우선순위가 높은 큐부터 순차적으로 스캔
- 높은 우선순위 큐가 비어있을 때만 그 다음 큐 처리
특징:
- 긴급 데이터(예: 음성, 제어 트래픽)에 적합
- 낮은 우선순위 트래픽은 기아(starvation) 상태가 될 수 있음
3. Round Robin (RR) Scheduling
정의:
각 큐를 하나씩 순서대로 돌아가며 처리하는 방식으로, 모든 흐름에 공평한 기회를 제공한다.
동작 원리:
- 큐들을 순서대로 하나씩 돌며 한 패킷씩 전송
- 모든 큐가 고르게 처리됨
특징:
- 공정성 보장, 구현이 비교적 간단
- 패킷 크기가 다르면 비공평 가능 (작은 패킷이 유리)
- 무게 없이 단순히 순환함
4. Weighted Fair Queuing (WFQ)
정의:
각 흐름(또는 큐)에 **가중치(weight)**를 부여하여, 비례적으로 자원을 할당하는 고급 스케줄링 기법이다.
동작 원리:
- 가상 종료 시간 계산을 통해 공정하고 가중치 기반으로 전송 순서 결정
- 높은 가중치를 가진 큐는 더 많은 대역폭을 가져감
특징:
- 공정성과 QoS 모두 보장 가능
- 패킷 크기와 우선순위를 동시에 고려 가능
- 계산 복잡도 높음 (하드웨어 자원 필요)
방식 | 처리 기준 | 장점 | 단점 |
---|---|---|---|
FIFO | 도착 순서 | 간단함 | 지연 및 공정성 부족 |
Priority | 우선순위 | 긴급 패킷 우선 | 낮은 우선순위 기아 발생 |
Round Robin | 순환 처리 | 공정성 있음 | 패킷 크기 고려 X |
WFQ | 가중치 기반 | QoS 및 공정성 | 구현 복잡 |