III. Lập lịch gói tin – Packet Scheduler
3. Hàng đợi cân bằng – FQ (Fair queuing)
Hàng đợi cân bằng còn được gọi là hàng đợi dựa trên luồng lưu lượng. Trong FQ, các gói tin đến được phân loại thành N hàng đợi. Mỗi hàng đợi nhận 1/N băng thông khả dụng đầu ra. Bộ lập lịch kiển tra các hàng đợi theo chu kỳ và bỏ qua các hàng đợi rỗng. Mỗi khi bộ lập lịch tới một hàng đợi, một gói tin được truyền ra khỏi hàng đợi.
Hàng đợi cân bằng rất đơn giản, nó không yêu cầu một kỹ thuật chỉ định băng thông phức tạp nào. Nếu một hàng đợi mới được thêm vào N hàng đợi có trước đó để tạo một lớp lưu lượng mới, bộ lập lịch sẽ tự động đặt lại băng thông của mỗi hàng đợi bằng 1/(N+1). Đơn giản chính là ưu điểm chính của hàng đợi cân bằng.
Hình 3-9: Hàng đợi cân bằng FQ Hàng đợi cân bằng có hai nhược điểm chính:
Thứ nhất, khi băng thông đầu ra được chia thành N hàng đợi thì tương ứng mỗi hàng đợi sẽ có băng thông là 1/N, nếu các lớp lưu lượng đầu vào có yêu cầu băng
IP Router
Luồng dữ liệu đi vào
Phân loại gói tin Hàng đợi 1 Cổng ra Hàng đợi 2 Hàng đợi 3 Hàng đợi N Vòng tròn thứ tự
(Round Robin order)
SVTH: Hồ Đức Lĩnh - 47133042 55 thông khác nhau, thì FQ không thể phân bố lại băng thông đầu ra theo yêu cầu băng thông của các lớp lưu lượng đầu vào.
Thứ hai, kích thước gói tin không được quan tâm trong FQ, trong khi đó, kích thước các gói tin lại ảnh hưởng đến sự phân bố băng thông thực tế, thậm chí bộ lập lịch vẫn hoạt động theo nguyên tắc cân bằng (mỗi hàng đợi sẽ có 1/N băng thông, bộ lập lịch sẽ kiểm tra theo chu kỳ đến từng hàng đợi, một gói tin sẽ được truyền đi khi bộ lập lịch tới thăm). Ví dụ, nếu một hàng đợi nào đó chiếm dữ các gói tin có kích thước lớn hơn các hàng đợi khác, thì hàng đợi này phải có băng thông đầu ra lớn hơn băng thông đầu ra của các hàng đợi khác (1/N). Giả sử một hàng đợi FQ có 4 hàng đợi tương ứng với 4 luồng lưu lượng 1, 2, 3, và 4. Kích thước trung bình của các gói tin của 4 luồng lưu lượng tương ứng là 200, 100, 400 và 300 byte, theo thứ tự, băng thông chia sẻ của các cổng đầu ra tương ứng với 4 luồng này sẽ là; Luồng 1 = 200/1,000 = 20%; Luồng 2 = 100/1,000 = 10%; Luồng 3 = 400/1,000 = 40%; Luồng 4 = 300/1,000 = 30 %;