[네트워크] 패킷 스케줄링 기법(Scheduling Policies) | Round Robin, WFQ(Weighted Fair Queuing)

스케줄링 기법(Scheduling Mechanisms)

네트워크에서 스케줄링은 link 상으로 보낼 다음 패킷(packet)을 선택하는 것을 뜻한다. 스케줄링 기법에는 여러가지가 존재하는데, 그 중 몇 가지만 알아보자.

 

FIFO(First In First Out) 스케줄링

FIFO 스케줄링은 간단하게 큐에 도착한 순서대로 전송하는 기법을 뜻한다. 이 때 만약 큐가 가득찼을 때 패킷을 버린다면 어떤 패킷을 버려야 할까? 이것도 다음과 같이 여러가지 방법이 있다.

  • tail drop : 방금 도착한 패킷을 버린다.
  • priority : 우선순위에 기반해 패킷을 버린다.
  • random : 랜덤으로 패킷을 버린다.

Priority 스케줄링

가장 높은 우선순위의 패킷을 먼저 전송하는 기법을 뜻한다. 

 

Round Robin(RR) 스케줄링

Round Robin
Round Robin

Round Robin 스케줄링은 패킷에 class를 부여하여 구분한다. 큐를 스캔하여 보낼 패킷이 있다면 각각의 클래스 별로 번갈아 패킷을 전송한다. 예를 들어 위와 같이 주황색 class 와 파란색 class가 있다고 하자.

  • 가장 먼저 도착한 1번 패킷을 전송하기 위해 큐에 넣는다. 
  • 1번 패킷이 전송되길 기다리는 도중 2번 패킷3번 패킷이 도착했다.
  • 이 때 3번 패킷이 색이 다르므로 먼저 큐에 넣고 2번 패킷을 다음으로 넣는다.
  • 1번, 3번, 2번 패킷이 전송된다.
  • 4번 패킷이 도착했으므로 4번 패킷을 큐에 넣고 전송한다.
  • 5번 패킷이 도착했으므로 5번 패킷을 큐에 넣고 전송한다.

Weighted Fair Queuing(WFQ)

WFQ
WFQ

WFQ는 Round Robin을 일반화 한 방식이다. 각 클래스 마다 큐를 설정하여, 각각 클라스를 번갈아 패킷을 보내는 방식은 Round Robin과 비슷하다. 다만 다른점은 큐에 가중치(weight)를 둔다는 점이다.  

 

 


반응형

댓글

Designed by JB FACTORY