Tải bản đầy đủ (.docx) (35 trang)

khảo sát cơ chế hàng đợi FIFO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (937.46 KB, 35 trang )

LỜI MỞ ĐẦU
Ngày nay các yêu cầu về lưu trữ tạm thời trong thông tin ngày càng tăng, FIFO
là giải pháp thỏa mãn cho các vấn đề trên. Điểm nổi bật của công nghệ FIFO chính là
khả năng truyền thông tin và lấy dữ liệu ra theo trình tự vào trước ra trước, giúp cho
công việc lấy dữ liệu ra đơn giản hơn.
Trong cơ chế hàng đợi này, các đối tượng có thể được thêm vào hàng đợi bất kỳ
lúc nào, nhưng chỉ có đối tượng thêm vào đầu tiên mới được phép lấy ra khỏi hàng đợi.
Thao tác thêm vào và lấy một đối tượng ra khỏi hàng đợi được gọi lần lượt là
"enqueue" và "dequeue". Việc thêm một đối tượng luôn diễn ra ở cuối hàng đợi và một
phần tử luôn được lấy ra từ đầu hàng đợi.
Đồ án “ Khảo sát cơ chế hàng đợi FIFO” sẽ làm rõ những vẫn đề liên quan đến
cách lưu trữ và lấy dữ liệu ra như thế nào và so sánh về ưu nhược điểm của FIFO .

1

1


MỤC LỤC

CHƯƠNG 1: TỔNG QUAN VỀ DỊCH VỤ QoS
1.1 Khái niệm QoS
1.1.1 Giới thiệu chung
Về cơ bản, QoS cho phép cung cấp tốt hơn các dịch vụ đối với các luồng.Việc
này được thực hiện bằng việc tăng độ ưu tiên của luồng này và giới hạn độ ưu tiên của
luồng khác. Khi sử dụng các phương pháp điều khiển tắc nghẽn, ta có thể cố gắng làm
2

2



tăng độ ưu tiên của luồng bằng cách sử dụng hàng đợi và các hàng đợi phục vụ theo
nhiều cách. Phương pháp hàng đợi được sử dụng để tránh tắc nghẽn, tăng độ ưu tiên
bằng việc loại bỏ các luồng có độ ưu tiên thấp hơn. Bắt giữ và định dạng cung cấp độ
ưu tiên cho một luồng bằng việc giới hạn độ thông qua của luồng khác. Phương pháp
này giới hạn các luồng lớn, ưu tiên xử lý các luồng nhỏ.
B

A
NET

CEQ

NET

NP

NP

CEQ

NP

QoS
Hình 1.1: Mô hình tổng quan QoS

1.1.2 Kiến trúc cơ bản của QoS
Kiến trúc cơ bản của QoS gồm 3 mảng cơ bản:

3




Định dạng QoS và kĩ thuật đánh dấu cho phép phối hợp QoS từ điểm đầu tới
điểm cuối giữa từng thành phần mạng.



QoS trong từng thành phần mạng đơn(các công cụ hàng đợi định dạng,lập
lịch, định dạng lưu lượng)



Cách giải quyết, điều khiển QoS, các chức năng tính toán để điều khiển và
giám sát lưu lượng đầu cuối qua mạng.

3


Hình 1.2: Ba thành phần của kiến trúc QoS cơ bản.
1.1.2.1 Định dạng QoS và quá trình đánh dấu
Để cung cấp các dịch vụ ưu tiên cho từng loại lưu lượng, đầu tiên phải định
dạng được lưu lượng. Thứ hai luồng phải được đánh dấu hoặc không. Nếu gói chỉ được
định dạng mà không đánh dấu thì phân loại được xem như xảy ra trên từng chặng. Khi
sự phân loại gắn liền với thiết bị nó tích hợp trên thì gói không được chuyển tới node
kế tiếp. Còn nếu gói được đánh dấu sử dụng cho mạng diện rộng thì các bit cho phép
truyền trước precedence được thiết lập.
1.1.2.2 QoS trong thành phần mạng đơn


Quản lý tắc nghẽn:


Do lưu lượng video, voice, data có dạng bó, thỉnh thoảng có một số lượng vượt
quá tốc độ cho phép lúc này router sẽ làm gì? Nó sẽ chuyển các gói đến đầu tiên ra
trước trong một hàng đợi đơn hay đưa các gói vào trong các hàng đợi khác nhau và

4

4


phục vụ từng hàng lần lượt? Để giải quyết vần đề này ta sử dụng các công cụ: hàng đợi
ưu tiên (PQ), hàng đợi đặt trước (CQ), hàng đợi cân bằng trọng số (WFQ) …


Quản lý hàng đợi

Do kích thước của hàng đợi là giới hạn nên chúng có thể bị đầy và tràn hàng
đợi. Do đó khi hàng đợi đầy thì bất kì một gói truyền thông nào đến đều không thể vào
trong hàng đợi và nó sẽ bị loại bỏ. Việc loại bỏ này là loại bỏ đằng đuôi, điều này có
nghĩa là bất kì gói nào đến (thậm chí các gói có độ ưu tiên cao) đến khi hàng đợi đã
đầy đều bị loại bỏ. Do đó cơ chế này cần 2 yếu tố:
+ Luôn chắc chắn rằng hàng đợi không bao giờ đầy để có đủ chỗ cho các gói có
độ ưu tiên cao.
+ Phải có cơ chế loại bỏ các gói có độ ưu tiên thấp trước các gói có độ ưu tiên cao.
Phát hiện sớm ngẫu nhiên (RED) cung cấp đủ hai cơ chế này


Định dạng và bắt giữ lưu lượng

+ Định dạng: được sử dụng để giới hạn tiềm năng băng thông của luồng.

Điều này được sử dụng rất nhiều lần để ngăn chặn vấn đề tràn luồng. Có thể tăng hoặc
giảm tốc độ của lưu lượng đến để phù hợp với hiện trạng của mạng.
+ Bắt giữ: cũng tương tự như định dạng, nó chỉ khác là nếu lưu lượng vượt
quá tốc độ cấu hình thì nó không dược đưa vào bộ đêm và có thể bị loại bỏ.
1.1.3 Các tham số của QoS


Latency

: Độ trễ khi truyền một gói tin qua mạng



Loss

: Độ mất gói



Jitter

: Giá thay đổi của gói tin



Throughput: Thông lượng của mạng



Availabily : Độ khả dụng của mạng.


1.1.3.1 Latency
Trễ và latency thuộc cùng một nhóm chỉ số thời gian để truyền tải một bit qua
mạng từ nguồn tới đích. Hay nói theo cách khác thì latency là thời gian mà mạng lưu
giữ gói tin khi truyền nó. Hệ thống có thể chỉ là thiết bị đơn như một Router, hay là tập
hợp các router và các đường truyền. Trễ được tạo ra do khoảng cách truyền, các lỗi, lỗi
khôi phục, tắc nghẽn, khả năng xử lý của mạng bao gồm truyền dẫn và các nhân tố
5

5


khác. Tóm lại latency đầu cuối là sự kết hợp của trễ truyền dẫn thông qua mỗi kết nối
và trễ xử lý tại mỗi router.


Trễ đóng gói:

Là lượng thời gian thực hiện mã hoá /giải mã để chuyển đổi hai chiều giữa
tương tự và số, thời gian thực hiện đóng gói và mở gói (xử lý tín hiệu số thành gói và
ngược lại).


Trễ lan truyền:

Là lượng thời gian để thông tin truyền trên liên kết là dây đồng, sợi quang hay
không dây. Nó cũng là hàm của tốc độ ánh sáng.


Trễ hàng đợi:


Được áp đặt vào các gói ở các điểm nghẽn trong lúc nó phải chờ đợi cho tới khi
được xử lý trong khi những gói khác được chuyển qua chuyển mạch hay dây dẫn. Hay
nói cách khác đây là thời gian gói tin chờ trong hàng đợi để đợi đến lượt mình được xử lý.
1.1.3.2 Mất gói (loss)
Khi các gói truyền trong mạng không đến được phía thu, ta gọi đó là hiện tượng
mất gói. Đây cũng là một tham số quan trọng của QoS. Nó thường xảy ra khi xuất hiện
tắc nghẽn trên đường truyền các gói, làm cho bộ đệm của router bị tràn. Việc mất gói
này gây ra mất mát thông tin phía thu, tạo ra trễ khi phải truyền lại các gói bị mất hay
truyền thông tin thông báo, điều này làm giảm giá trị của các ứng dụng đa phương tiện
và thậm chí gây tắc nghẽn trong mạng.
1.1.4 Các mức QoS
Nói đến các mức dịch vụ là nói đến khả năng thực tế của QoS đầu cuối. Điều
này có nghĩa là khả năng của mạng để cung cấp các dịch vụ cần thiết bởi lưu lượng
mạng đặc biệt từ đầu cuối tới đầu cuối hoặc từ biên tới biên.Các dịch vụ này khác nhau
theo các tham số của QoS như: băng thông trễ, jitter…
Các mức dịch vụ:

6



Dịch vụ best effort: là kết nối cơ sở không đảm bảo,nó được đặc trưng bởi
sự sắp xếp vào hàng đợi FIFO,và không có sự khác nhau giữa các luồng.



Dịch vụ phân biệt (QoS mềm): một số loại lưu lượng được đối xử tốt hơn
bình thường(tốc độ xử lý nhanh hơn,băng thông trung bình lớn hơn,tốc độ


6


mất gói trung bình nhỏ). Đây là sự ưu tiên thống kê, được cung cấp bởi việc
phân loại lưu lượng và các công cụ như: PQ,CQ, WFQ, WRED.


Dịch vụ đảm bảo(QoS cứng): đây chỉ thuần tuý là sự đặt trước tài nguyên
mạng cho các dịch vụ đặc biệt. Được cung cấp thông qua QoS với các công
cụ: RSVP,CBWFQ.

1.2 Định tuyến QoS
Việc định tuyến cho một metric thường có một số hạn chế khi có them yêu cầu
QoS trong một môi trường đa dịch vụ. Một metric có thể được xem xét như là một
bảng các giá trị với mỗi tuyến (hay mỗi hop) có một giá trị đi kèm với nó. Các giao
thức định tuyến nỗ lực để tìm các đường tối thiểu cho tất cả các tuyến có thể đi tới
đích. Vài vấn đề tồn tại khi thực hiện định tuyến dựa trên QoS là:


Mỗi router cần có các bảng định hướng (hoặc có chức năng tương tự như các
bảng định hướng đó) để thực hiện tìm kiếm thông tin các gói tiếp theo dựa
vào đích đến của mỗi gói, phù hợp với mỗi kiểu của cây đường đi ngắn nhất.



Các CPU của các router phải cung cấp phần tiêu đề trong giao thức định
tuyến cho mỗi giao thức định tuyến phù hợp với các kỹ thuật cây đường đi
ngắn nhất




Metric như latency hoặc khả năng của băng thông phụ thuộc nhiều vào lưu
lượng thực tế qua mạng. Các cây đường đi ngắn nhất với các giá trị của
latency tĩnh có thể trở nên lỗi thời khi lưu lượng chảy thành luồng qua mạng.

KẾT LUẬN CHƯƠNG 1
Trong chương 1 đã xem xét được vấn đề về khái niệm chất lượng dịch vụ QoS
và các tham số của QoS trong mạng IP. Việc cải htiện chất lượng dịch vụ đáp ứng các
yêu cầu về chất lượng của khách hàng là vấn đề làm đau đầu các nhà cung cấp dịch vụ.
Chương 1 giới thiệu hai kiến trúc mạng cho phép cải thiện chất lượng dịch vụ : kiến
trúc mạng kiểu dịch vụ phân biệt (DiffServ) và kiến trúc mạng dịch vụ tích hợp
(IntServ). Đồng thời trong chương này còn giới thiệu sơ lược về các phương pháp điều
khiển tắc nghẽn trong mạng IP.
7

7


CHƯƠNG 2: GIỚI THIỆU CHUNG VỀ HÀNG ĐỢI.
2.1 Khái niệm hàng đợi
Hàng đợi (tiếng Anh: queue) là một cấu trúc dữ liệu dùng để chứa các đối tượng
làm việc theo cơ chế FIFO (viết tắt từ tiếng Anh: First In First Out), nghĩa là "vào
trước ra trước".
Trong hàng đợi, các đối tượng có thể được thêm vào hàng đợi bất kỳ lúc nào,
nhưng chỉ có đối tượng thêm vào đầu tiên mới được phép lấy ra khỏi hàng đợi. Thao
tác thêm vào và lấy một đối tượng ra khỏi hàng đợi được gọi lần lượt là "enqueue" và
"dequeue". Việc thêm một đối tượng luôn diễn ra ở cuối hàng đợi và một phần tử luôn
được lấy ra từ đầu hàng đợi.
Cấu trúc dữ liệu hàng đợi có thể định nghĩa như sau: Hàng đợi là một cấu trúc dữ
liệu trừu tượng (ADT) tuyến tính. Tương tự như ngăn xếp, hàng đợi hỗ trợ các thao

tác:
EnQueue(o): thêm đối tượng o vào cuối hàng đợi.
DeQueue(): lấy đối tượng ở đầu queue ra khỏi hàng đợi và trả về giá trị của nó.
Nếu hàng đợi rỗng thì lỗi sẽ xảy ra.
• IsEmpty(): kiểm tra xem hàng đợi có rỗng không.
• Front(): trả về giá trị của phần tử nằm ở đầu hàng đợi mà không hủy nó. Nếu
hàng đợi rỗng thì lỗi sẽ xảy ra.



2.2 Các kĩ thuật liên quan tới hàng đợi
Do kích thước hàng đợi không phải là vô hạn nên chúng có thể bị điền đầy và có
thể bị tràn khi số lượng gói tin đến quá nhiều. Nếu hàng đợi đã đầy, thì bất kì gói nào
đến hàng đợi đều không được đưa vào hàng đợi mà sẽ bị loại bỏ ngay. Trường hợp này
gọi là loại bỏ đằng đuôi. Với phương pháp này thì router không thể ngăn chặn được
việc các gói này bị loại bỏ (thậm chí nếu đó là các gói có độ ưu tiên cao). Do đó cơ chế
quản lý hàng đợi cần phải thực hiện được hai việc:

8



Cố gắng quản lý sao cho hàng đợi không bị điền đầy, do đó vẫn còn chỗ cho
các gói có độ ưu tiên cao và giảm được xác suất loại bỏ gói.



Nếu hàng đợi bị đầy thì thực hiện chính sách loại bỏ các gói có độ ưu tiên
thấp trước các gói có độ ưu tiên cao. Để thực hiện được điều này ta sử dụng
các thuật toán RED

8


2.2.1 Bắt giữ và đánh dấu gói tin
Hoạt động của chức năng bắt giữ và đánh dấu
Bắt giữ và đánh dấu chia sẻ thành phần chung đó là bộ đo. Chức năng đo đạc để
quyết định xem gói nằm trong profile (in profile) hay nằm ngoài profile (out profile).
Có thể có nhiều token packet cùng hoạt động đồng thời để đo các gói đến. Lúc
này ta phải sử dụng profile xếp lớp cho các gói đến. Các trường hợp có thể xảy ra khi
các gói đến:


Nếu trong các gói có tồn tại các thẻ thì tất cả các gói đến đều là in profile tại
mỗi gói thẻ sẽ được rút ra và gói được truyền bình thường



Nếu một gói không có thẻ, nhưng các gói khác vẫn có thẻ thì gói đi vào gói
không thẻ có thể bị bắt giữ, còn các gói đến các gói có thẻ thì chỉ bị đánh
dấu trước khi truyền gói thông thường.



Nếu tất cả các gói đều rỗng thì các gói bị loại bỏ(bắt giữ).

Tuy nhiên các router sẽ đối xử các gói bị đánh dấu như các gói loại hai khi có
tắc nghẽn xảy ra trong mạng. Có hai cách đối xử với các gói bị đánh dấu này: cách thứ
nhất đánh giá thấp độ ưu tiên của gói bằng cách ấn định chúng vào các hàng đợi khác
nhau trên quá trình đánh dấu. Cách thứ 2 hoán vị thuật toán quản lý hàng đợi để giữ
cho độ chiếm giữ hàng đợi thấp

2.2.2 Giảm chiếm giữ hàng đợi
Chiếm giữ hàng đợi là hiện tượng các gói tin ở lâu trong hàng đợi mà chưa được
xử lý. Các gói tin chiếm giữ hàng đợi làm cho không gian hàng đợi bị thu hẹp lại và
khi có nhiều gói tin .
Để giảm độ tắc nghẽn ta sử dụng một số cách thức tránh tắc nghẽn trog một số
các giao thức truyền tải được tạo ra khi luồng lưu lượng đi qua hàng đợi. Do trễ xảy ra
trước khi bất kì một giao thức truyền tải nào kịp tác động đến tắc nghẽn trong router,
nên quản lý hàng đợi có hai khái niệm cơ bản về tắc nghẽn :


Tắc nghẽn trong suốt : xảy ra với chu kì ngắn hơn là thời gian xử lý của
các giao thức điều khiển tắc nghẽn. Tắc nghẽn này xảy ra ngắn, liên quan tới các lưu
lượng dạng bó từ một hoặc nhiều luồng.



Tắc nghẽn dài hạn : là kết quả từ tốc độ trạng thái không đổi của tất cả
các luồng khi chuyển qua hàng đợi. Khi có tắc nghẽn trong mạng thì quản lý hàng đợi
9

9


sẽ sử dụng cơ chế phản hồi cho các giao thức truyền tải để giữ cho trễ dài hạn giảm. Về
nguyên lý có thể gửi phản hồi theo hai cách :
+ Đánh dấu các gói trong nhóm.
+ Loại bỏ các gói.
Để giảm độ chiếm giữ hàng đợi có hai cách thực hiện :
a. Thông báo tắc nghẽn rõ ràng
Mặc dù loại bỏ các gói là cách phù hợp với cơ chế phản hồi, nhưng cách này

không tích cực do việc loại bỏ các gói sẽ gây ra lãng phí tài nguyên mạng sử dụng để
truyền được gói đến router trước khi nhận thấy có tắc nghẽn. Do đó sử dụng chỉ thị tắc
nghẽn để tránh lãng phí tài nguyên. Khi một router dọc theo tuyến muốn gửi phản hồi
điều khiển tắc nghẽn thì có hai tuỳ chọn sau :


Nếu bit ECT được thiết lập, thì thiết lập bit CE.



Nếu bit ECT được thiết lập lại thì loại bỏ các gói.
b. Loại bỏ trước
Trước khi quyết định loại gói phải đặt ra câu hỏi nên loại bỏ gói để đơn giản
việc quản lý và không ảnh hưởng nhiều đến các gói khác trong hàng đợi. Từ vấn đề
trên thấy đơn giản nhất là loại bỏ gói ngay trước khi đi vào hàng đợi (gọi là loại bỏ
đuôi). Có một cách tương tự trên là loại bỏ trước (DFF), loại bỏ ngay tại đầu hàng đợi.
Đôi khi loại bỏ trước được thông báo sớm hơn loại bỏ đuôi tuy nhiên nó mất thời gian
và công đoạn xử lý hơn do các gói đã được đưa vào hàng đợi rồi mới bị loại bỏ.
2.3 Một số hàng đợi cơ bản.
2.3.1 Hàng đợi FIFO (First In – First Out Queuing)
Hàng đợi FIFO không có sự phân loại vì tất cả các gói đều thuộc về cùng một
lớp. Một bộ định tuyến hay bộ chuyển mạch cần các hàng đợi xuất để giữ các gói trong
khi chờ bộ giao tiếp sẵn sàng gửi gói. Trong khi các công cụ hàng đợi khác thể hiện
các tính năng khác, như sắp xếp trật tự các gói, hàng đợi FIFO chỉ cung cấp một ý
nghĩa giữ các gói trong khi chúng chờ để rời khỏi một cổng giao tiếp (interface). Hàng
đợi FIFO sử dụng một hàng đợi đơn cho bộ giao tiếp. Vì chỉ có một hàng đợi nên
không cần phân lớp để quyết định khi gói đi vào. Và cũng không cần lập lịch ban đầu
để cho hàng đợi lấy gói tiếp theo. Chỉ quan tâm đến cách cấu hình chiều dài hàng đợi
FIFO tránh tác động đến độ trễ và mất gói.
10


10


Hình 2.3. Hàng đợi FIFO

2.3.2 Hàng đợi ưu tiên PQ
Hàng đợi theo độ ưu tiên là sự cải tiến của FIFO. Trước khi được đưa vào hàng
đợi tương ứng, các gói tin phải được phân loại theo từng loại dịch vụ. Các hàng đợi
được thiết kế theo độ ưu tiên của loại gói tin mà nó phải chứa. Các gói tin ở hàng đợi
có độ ưu tiên thấp hơn chỉ được xử lý khi và chỉ khi không còn bất cứ các gói tin nào
trong các hàng đợi có độ ưu tiên cao hơn.
Kĩ thuật này được sử dụng trong trường hợp đa hàng đợi, mỗi hàng đợi có một
mức ưu tiên khác nhau, hàng đợi nào có mức ưu tiên cao nhất sẽ được ưu tiên phục vụ
trước. Khi có tắc nghẽn xảy ra thì các gói trong các hàng đợi có độ ưu tiên thấp sẽ bị
loại bỏ. Nói cách khác, lưu lượng quan trọng sẽ được gán các mức ưu tiên cao và lưu
lượng có mức ưu tiên cao nhất được truyền trước, còn lại các lưu lượng ít quan trọng
hơn.

11

11


Các gói được phân loại dựa trên các tiêu chuẩn phân loại của người sử dụng, và
được đặt ở một trong số các hàng đợi đầu ra với các độ ưu tiên: độ ưu tiên cao, trung
bình, bình thường (không được ưu tiên), ưu tiên thấp. Các gói không được ấn định độ
ưu tiên sẽ được đưa tới các hàng đợi bình thường.
PQ thường được dùng cho các interface băng thông thấp ở đó ta muốn gán mức
ưu tiên tuyệt đối cho ứng dụng hay traffic trọng yếu.


Hình 2.4 . Hàng đợi PQ
2.3.3 Hàng đợi tùy chọn CQ
CQ là kĩ thuật hàng đợi ra đời sau PQ. Không giống như PQ, CQ sẽ phục vụ cho
tất cả các hàng đợi có trong interface của nó thậm chí khi xảy ra nghẽn mạng. CQ có
tất cả 16 hàng đợi, như vậy nó cho phép tối đa 16 lớp dịch vụ (vừa đủ cho các loại dịch
vụ ngày nay). CQ không cung cấp cho một hàng đợi đặc biệt nào đó có mức ưu tiên
cao hơn các hàng đợi khác và cũng không ưu tiên hàng đợi nào có low delay, low jitter,
low loss…
CQ cho phép người dùng chỉ ra phần trăm băng thông khả dụng cho một giao
thức đăc biệt nào đó. Việc lập lịch của CQ như sau: CQ sẽ kiểm tra lần lượt các hàng
đợi, bắt đầu từ hàng đợi thứ 1, CQ sẽ lấy gói tin từ hàng đợi này cho tới khi số gói tin
mà nó lấy vượt quá hoặc bằng giá trị cho phép. Sau khi hàng đợi này đã được phục vụ
12

12


với số gói tin như trên hoặc hàng đợi này không có gói tin thì CQ sẽ chuyển qua phục
vụ cho hàng đợi kế tiếp và quá trình lặp lại như trên.
CQ là phương pháp hàng đợi cho phép lưu lượng chia sẻ băng thông như nhau
sau khi chúng được nhóm lại theo lớp. Các lớp có thể được dựa trên các thông số,
chẳng hạn như độ ưu tiên, giao diện,…
CQ phân chia lưu lượng người dùng dựa trên sự kết hợp giữa địa chỉ IP, giao
thức, loại ứng dụng. CQ cho phép nhà quản trị mạng phân loại lưu lượng trong một hệ
thống đa cấp.

Hình 2.5. Hàng đợi CQ
2.3.4 Hàng đợi WFQ
Tương tự như kỹ thuật FIFO, Weighted Fair Queuing (WFQ) không cho phép

người quản trị can thiệp vào quá trình phân loại lưu lượng (khác với PQ và CQ). WFQ
tự động phân loại các gói tin dựa trên thông tin về luồng lưu lượng, trong đó từng
luồng sẽ được đặt trong một hàng đợi riêng lẻ. Một luồng được định nghĩa bao gồm tất
cả các gói tin có cùng giá trị như:
– Địa chỉ IP nguồn.
– Địa chỉ IP đích.
– Giao thức lớp transport.
– Địa chỉ cổng nguồn (TCP hay UDP).
– Địa chỉ cổng đích TCP hay UDP.
– Giá trị độ ưu tiên của gói tin IP Precedence (IPP).
13

13


Vì WFQ phân các gói tin vào các luồng lưu lượng khác nhau và sau đó đưa các
luồng này vào trong những hàng đợi khác nhau nên router sẽ có số hàng đợi khác nhau.
Số hàng đợi này nhiều hơn bất kỳ các công cụ hàng đợi khác (các công cụ hàng đợi
không xử lý theo luồng lưu lượng). Cơ chế WFQ dùng các thuật toán khác với các
thuật toán của các kỹ thuật hàng đợi khác vì WFQ có thể quản lý một số lượng lớn các
hàng đợi. WFQ hoạt động như sau:
Các luồng có cùng độ ưu tiên IP Precedence cho gói tin IP sẽ được cấp cùng
một mức bandwidth, bất chấp có bao nhiêu byte trong mỗi luồng lưu lượng.
Đối với những luồng có những giá trị IP P Precedence khác nhau, các luồng có
độ ưu cao.

KẾT LUẬN CHƯƠNG 2
Chương 2 cho ta thấy được cách thức hoạt động của hàng đợi, cách thêm vào
lấy ra dựa trên các cơ chế khác nhau. Cũng như các ưu điểm của một số cơ chế hàng
đợi nêu trên, qua đó giúp ta lựa chọn cơ chế làm việc phù hợp cho công việc của mình.

Các hàng đợi được đề cập đến trong phần này là hàng đợi mềm và được cấu
hình trên router Cisco.
Khi tìm hiểu các kỹ thuật hàng đợi hay còn gọi là các công cụ hàng đợi, cần
xem xét cách thức phân loại mà cơ chế hàng đợi này dùng, chính sách loại bỏ gói tin
khi tất cả các hàng đợi đã đầy, phân định thời gian để giải phóng gói tin. Bên cạnh đó
là số hàng đợi tối đa được hỗ trợ trong mỗi kỹ thuật và chiều dài tối đa của mỗi hàng
đợi. Bảng sau thể hiện đặc điểm của các kỹ thuật hàng đợi.

14

14


15

15


CHƯƠNG 3: HÀNG ĐỢI FIFO
3.1 Khái niệm cơ bản về hàng đợi FIFO
Hàng đợi “vào trước, ra trước” (FIFO) là cơ chế mặc định cho các gói tin khi đi
vào một nút mạng khi không có sự hiện diện của thuật toán đặc biệt nào tại đó. Trong
hàng đợi FIFO các gói tin được xếp vào cùng một hàng đợi và được chuyển đi theo
cùng một cách mà chúng được sắp xếp trong hàng đợi.
Ưu điểm chính của hàng đợi FIFO là ở tính đơn giản của nó, không có bất kỳ
giải thuật phức tạp nào được thiết kế riêng cho FIFO.
Hàng đợi FIFO không có sự phân loại vì tất cả các gói được thuộc về cùng một
lớp. Một bộ định tuyến hay bộ chuyển mạch cần các hàng đợi xuất để giữ các gói trong
khi chờ bộ giao tiếp sẵn sàng gửi gói. Trong khi các công cụ hàng đợi khác thể hiện
các tính năng khác, như sắp xếp trật tự các gói, hàng đợi FIFO chỉ cung cấp một ý

nghĩa giữ các gói trong khi chúng chờ để rời khỏi một cổng giao tiếp (interface). Hàng
đợi FIFO sử dụng một hàng đợi đơn cho bộ giao tiếp. Vì chỉ có một hàng đợi nên
không cần phân lớp để quyết định khi gói đi vào. Và cũng không cần lập lịch ban đầu
để cho hàng đợi lấy gói tiếp theo. Chỉ quan tâm đến cách cấu hình chiều dài hàng đợi
FIFO tránh tác động đến độ trễ và mất gói.
Bảng 3.2: Đặc điểm của các kỹ thuật hàng đợi

16

16


3.2 Các kỹ thuật trong hàng đợi FIFO




Đây là kỹ thuật đơn giản và nhanh.
Nó được hỗ trợ trên tất cả các nền tảng.
Hàng đợi FIFO được hỗ trợ trong tất cả các phiên bản của Cisco IOS.

First-in, first-out (FIFO)
Hàng đợi First-in, first-out (FIFO) dựa trên khả năng store-and-forward thực
hiện việc lưu trữ các gói tin khi mạng bị tắc nghẽn và chuyển các gói tin đi khi mạng
đã thông. FIFO là kỹ thuật hàng đợi mặc định trên những giao diện của router có băng
thông bằng hoặc lớn hơn 2Mbps. Do đó không cần phải cấu hình loại hàng đợi này.
Đây là một ưu điểm của hàng đợi FIFO.
FIFO hoạt động theo cơ chế các gói tin vào hàng đợi trước sẽ được truyền đi
trước, các gói tin vào hàng đợi sau sẽ được truyền đi sau.


Hình 3.2. Hàng đợi FIFO
Theo hình trên, gói tin thứ 1 vào hàng đợi trước nên sẽ được chuyển đi đầu tiên,
tiếp theo là đến các gói 2, 3, 4.
Hạn chế của FIFO là không có sự phân quyền ưu tiên cho các gói tin, không có
sự thỏa thuận bandwidth truyền. FIFO cũng không có sự kiểm tra lại các thông tin bị
hỏng hay bị mất. Nếu lưu lượng truyền tăng lên nhanh có thể gây ra sự chậm trễ
khoảng một thời gian dài cho sự giao tiếp giữa các ứng dụng trên mạng. Bên cạnh đó,
17

17


còn gây khó khăn cho việc điều khiển truyền thông của mạng cũng như việc truyền các
tín hiệu cho các thông điệp. Kích thước mặc địch của hàng đợi FIFO là 40. Kích thước
này có thể được cấu hình lại (tăng lên hoặc giảm xuống).
3.3 Lập lịch hàng đợi FIFO:
Sau khi gói đi vào hàng đợi thì bộ định tuyến sẽ sử dụng thuật toán lập lịch để
duy trì công việc. Lập lịch FIFO là thuật toán lập lịch truyền thống được sử dụng trong
Internet, đây là thuật toán lập lịch đơn giản nhất. Trong thuật toán này bộ lập lịch
truyền các gói theo thứ tự đến và hủy các gói khi hàng đợi đầy. Tuy nhiên, bộ lập lịch
gói không có sự phân biệt giữa các người sử dụng. Vì vậy nó không thể phân phối cho
một số user độ trễ trung bình thấp hơn các người dùng khác. Mọi người dùng trong
cùng lớp dịch vụ chịu cùng một độ trễ biến thiên (jitter delay). Ngoài ra, độ biến động
trễ có xu hướng tăng lên khi số chặng tăng lên vì độ trễ hàng đợi của gói ở các chặng
khác nhau không tương quan với nhau.
Với FIFO, độ trễ trung bình của một người sử dụng có thể tăng lên nếu tổng tốc
độ đến của tất cả người sử dụng tăng lên.
Tuy nhiên việc sử dụng kỹ thuật hàng đợi FIFO có các nhược điểm:
• IFO không hoàn toàn tin cậy khi một luồng không mong muốn tranh giành với các
luồng có độ ưu tiên thấp. Các luồng không mong muốn gửi một số lượng lớn các gói

(đa số các gói đó bị huỷ bỏ). Trong khi đó, các luồng với độ ưu tiên thấp gửi một số
lượng gói xác định và hầu hết chúng bị hủy bởi vì hàng đợi lúc nào cũng đầy do các
luồng không mong muốn đã chiếm hết không gian hàng đợi.
• Sự bùng nổ cao hay thấp gây ra tình trạng đầy hàng đợi FIFO. Các gói đi vào một
hàng đợi đầy phải chờ một thời gian dài trước khi chúng được truyền. Nhưng ở thời
điểm khác, hàng đợi có thể trống và các gói trong cùng một luồng không bị trì hoãn.
- Các ưu điểm của kỹ thuật hàng đợi FIFO
• Đây là kỹ thuật đơn giản và nhanh.
• Nó được hỗ trợ trên tất cả các nền tảng.
• Hàng đợi FIFO được hỗ trợ trong tất cả các phiên bản của Cisco IOS.
Để cấu hình cho hàng đợi FIFO ta phải unable tất cả các kĩ thuật hàng đợi khác
có trong interface đó. Mặc định thì WFQ (Weighted Fair Queuing) sẽ được áp dụng
cho các interface và nó chạy ở tốc độ E1 (khoảng 2M).
18

18


Để disable WFQ ta dùng câu lệnh “no fair-queue”. Khi đã disable tất cả các kĩ
thuật hàng đợi có trong interface thì FIFO sẽ mặc nhiên được sử dụng.

3.4 So sánh các kĩ thuật hàng đợi
Bảng 3.5 : So sánh các loại hàng đợi

19


sở so
sánh


WFQ

PQ

FQ

FIFO

Hoạt
động

+Ấn định trọng
số cho hàng đợi.
Luồng lưu
lượng có độ ưu
tiên cao được
truyền trước
+Hạn chế được
hiện tượng bỏ
đói các hàng
đợi có độ ưu
tiên thấp

+Ấn định độ ưu tiên
khác nhau cho từmg
hàng đợi phù hợp với
từng loại lưu lượng.
Hàng đợi có độ ưu tiên
cao nhất được truyền
đầu tiên

+Xảy ra trường hợp bỏ
đói các hàng đợi có độ
ưu tiên thấp

+Các hàng đợi
được đối xử
như nhau
+Không xảy
ra hiện tượng
bỏ đói hàng
đợi

+Gói nào đến
trước được
phục vụ trước
không phân
biệt loại dịch
vụ
+Không có
hiện tượng bỏ
đói hàng đợi

Loại
lưu
lượn
g

Không được ấn
định cho loại
lưu lượng có độ

trễ latency thấp.
Do thời gian
phục vụ của
hàng đợi phục
thuộcvào số
lượng gói có
trong hàng đợi

Ưu tiên sử dụng cho
các loại lưu lượng yêu
cầu độ trễ latency thấp,
do các gói quan trọng
sẽ được ấn định độ ưu
tiên cao và luôn được
truyền trước.

Không được
ấn định cho
loại lưu lượng
có độ trễ
latency thấp.
Do thời gian
phục vụ của
hàng đợi phục
thuộc vào số
lượng gói có
trong hàng đợi

Sử dụng cho
mọi loại lưu

lượng, cung
cấp cách xếp
hàng nhanh
nhất và hiệu
quả đối với
các kết nối có
độ tắc nghẽn
nhỏ nhất.

Cấu
hình

Không yêu cầu
thiết lập cấu
hình danh sách
truy nhập khi
quyết định
luồng lưu lượng
nào sẽ được

Có yêu cầu cấu hình

Không yêu
Không yêu
cầu thiết lập
cầu cấu hình
cấu hình danh
sách truy nhập
khi quyết định
luồng lưu

lượng nào sẽ
19


Bộ
lập
lịch

truyền tại cổng
serial
Sử dụng trong
bộ lập lịch
tương thích

được truyền
Sử dụng trong bộ lập
lịch ưu tiên chặt

Sử dụng trong
bộ lập lịch
tương thích

Ít sử dụng
trong bộ lập
lịch

KẾT LUẬN CHƯƠNG 3
Với các loại hàng đợi khác nhau sẽ hoạt động theo các cách khác nhau và chúng
có các ưu điểm và nhược điểm riêng thích hợp với từng loại lưu lượng. Có loại hàng
đợi được sử dụng phù hợp với loại lưu lượng này và không nên sử dụng với loại lưu

lượng khác. Việc tìm hiểu đặc tính của các loại hàng đợi cho phép sử dụng hiệu quả kĩ
thuật này trong việc điều khiển tắc nghẽn và điều khiển lưu lượng. Các loại hàng đợi
này hầu hết cũng được sử dụng trong các thuật toán lập lịch.

20

20


CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ.
4.1 PHẦN MỀM MÔ PHỎNG OPNET
Trước hết cần hiểu rõ về trình tự xử lí, không gian thiết kế (workspace) và các
công cụ của IT Guru.

Hình 4.1. Trình tự xử lí đối với IT Guru.

21

21


4.2 Mô Phỏng
Kịch bản 1 .So sánh độ ưu tiên của FIFO , PQ và WFQ



Đầu tiên tạo một Project mới
Tạo một mạng liên kết

Hình 4.2 Mạng liên kết.

Cấu hình hàng đợi:
Giữ nguyên cấu hình mặc định, kiểm tra các thông số của FIFO, PQ, và WFQ.
• Cấu hình Router:


Cấu hình QoS theo cơ chế FIFO

22

22


Hình 4.3. Cấu hình FIFO
Để phân tích hiệu quả của các loại hàng đợi khác nhau, chúng ta sẽ tạo thêm hai kịch
bản để kiểm tra PQ và WFQ .

23

23


Hình 4.4. Cấu hình PQ

24

24


Hình 4.5. Cấu hình WFQ



Chọn 3 kịch bản cùng lúc để chạy mô phỏng
Hình 4.6. thông số 2 kịch bản
khi chạy


25

Kết quả thu được sau khi chạy


25


×