Hàng đợi FIFO

Một phần của tài liệu Đánh giá và so sánh hiệu quả đảm bảo QoS cho truyền thông đa phương tiện của mô hình IntServ và DiffServ (Trang 31)

3. Cấu trúc các chương

2.2.5.1 Hàng đợi FIFO

Hàng đợi vào trước ra trước FIFO là kỹ thuật hàng đợi ngầm định, các gói tin đến được đưa vào trong một hàng đợi đơn và được gửi ra đầu ra theo đúng thứ

Phân loại

gói

Hàng đợi

Lập lịch

Cổng đầu vào 1 Cổng đầu ra 1

. . . Phân loại gói Hàng đợi Lập lịch

Cổng đầu vào n Cổng đầu ra m

. . . .

. .

tự. FIFO là kiểu hàng đợi đơn giản nhất không cần sử dụng thuật toán điều khiển. FIFO đối xử với tất cả các gói tin theo cùng một cách vì vậy nó thích hợp với mạng cố gắng tối đa. Mặt khác FIFO không cung cấp các dịch vụ phân biệt và tất cả các luồng lưu lượng đều bị suy giảm chất lượng khi tắc nghẽn xảy ra.

2.2.5.2 Hàng đợi có ƣu tiên PQ

Hàng đợi FIFO đặt tất cả các gói tin vào trong một hàng đợi đơn bất kể lớp lưu lượng nào. Một cách đơn giản để để tạo ra sự phân biệt lớp lưu lượng là sử dụng hàng đợi có ưu tiên PQ. Trong PQ, N hàng đợi được tạo ra với các mức ưu tiên từ 1 tới N. Thứ tự lập lịch được xác định bởi thứ tự ưu tiên và không phụ thuộc vào vị trí của gói tin. Các gói trong hàng đợi thứ j được xử lí khi không còn gói nào trong hàng đợi có thứ tự ưu tiên cao hơn (các hàng đợi từ 1 tới j-1).

Hình 2.5: Hàng đợi ưu tiên PQ.

Giống như FIFO hàng đợi có ưu tiên có đặc điểm là rất đơn giản, nó cung cấp phương tiện đơn giản nhất để phân biệt lớp lưu lượng. Nhược điểm của hàng đợi có ưu tiên là luôn hướng tới xử lí mức ưu tiên cao, nên có thể xảy ra tình huống trong đó các hàng đợi có mức ưu tiên thấp không có cơ hội để gửi gói tin đi.

2.2.5.3 Hàng đợi công bằng FQ

Hàng đợi công 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 được chia thành N hàng đợi, mỗi hàng đợi nhận 1/N băng

Phân loại gói Hàng đợi Lập lịch Luồng vào 1 Cổng đầu ra . . . Bộ định tuyến IP Luồng vào n Ưu tiên 1 Ưu tiên N

thông đầu ra. Bộ lập lịch kiểm 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, gói tin sẽ được truyền ra khỏi hàng đợi.

Hàng đợi công 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 trước đó, bộ lập lịch tự động đặt lại băng thông thực tế bằng 1/(N+1). Đơn giản chính là ưu điểm của hàng đợi công bằng.

Hình 2.6: Hàng đợi công bằng FQ

Hàng đợi công bằng có hai nhược điểm chính. Thứ nhất là khi băng thông đầu ra được chia thành N hàng đợi 1/N, nếu có lớp lưu lượng đầu vào yêu cầu băng thông khác nhau thì FQ không thể phân bổ lại được băng thông đầu ra để đáp ứng yêu cầu đầu vào. Thứ hai kích thước gói tin không được quan tâm trong FQ, kích thước gói ảnh hưởng tới băng thông thực tế, thậm chí bộ lập lịch vẫn hoạt động đúng trên cơ sở công bằng, các hàng đợi có gói kích thước lớn sẽ chiếm nhiều băng thông hơn các hàng đợi khác.

2.2.5.4 Hàng đợi quay vòng có trọng số WRR

Hàng đợi quay vòng có trọng số WRR được đưa ra để giải quyết hai nhược điểm của hàng đợi công bằng FQ. WRR chia băng thông cổng đầu ra với các lớp lưu lượng đầu vào phù hợp với băng thông yêu cầu. Nguyên lí hoạt động của WRR được chỉ ra trong hình 2.7. Các luồng lưu lượng đầu vào được nhóm thành

Phân loại gói Thứ tự quay vòng Lập lịch Luồng vào 1 Cổng đầu ra . . . Bộ định tuyến IP Luồng vào n Hàng đợi 1 Hàng đợi N

m lớp tương ứng với trọng số được xác định bởi băng thông yêu cầu. Tổng trọng số của các lớp bằng 100%. % 100 1    m i i W

Trong đó m là số lớp lưu lượng, Wi là % trọng số của lớp i.

Hình 2.7: Hàng đợi quay vòng có trọng số WRR.

Với mỗi một lớp, các luồng lưu lượng riêng được lập lịch theo nguyên tắc hàng đợi công bằng FQ. Đặt số lượng của hàng đợi FQ trong lớp iNi, tổng số hàng đợi FQ trong lược đồ WRR được tính theo công thức dưới đây:

   m i i N TotalFQ 1

Như đã chỉ ra trong hình 2.7, hàng đợi quay vòng có trọng số WRR gồm hai lớp lập lịch quay vòng.

 Bộ lập lịch quay vòng chỉ các lớp trong khoảng từ lớp 1 đến lớp m, đây được coi là lớp lập lịch thứ nhất.

 Khi bộ lập lịch thứ nhất dừng lại tại một lớp, bộ lập lịch quay vòng thứ hai sẽ quay vòng trong các hàng đợi FQ.

Phân loại gói Thứ tự quay vòng Lập lịch Luồng vào 1 Cổng đầu ra Bộ định tuyến IP Luồng vào n Vòng thứ 1 Lớp m Lớp i Lớp 1 Vòng thứ 2 W1 Wi Wm Số lượng FQ N1 Số lượng FQ Nm

Băng thông cổng ra được tính theo % được gán vào lớp i, trọng số của lớp i (Wi) thể hiện thời gian tiêu tốn của bộ lập lịch cho lớp i. Ví dụ, Wi = 20% nghĩa là bộ lập lịch sẽ tiêu tốn 20% chu kỳ thời gian quay vòng cho lớp i. Với hàng đợi FQ trong lớp i, thời gian cho các hàng đợi là công bằng, vì vậy lượng thời gian cho một hàng đợi trong Ni hàng đợi là 1/Ni. Trọng số cho mỗi hàng đợi FQ được tính theo công thức sau:

Wij = Wix (1/Ni)

Trong đó Wijlà trọng số của hàng đợi thứ j trong lớp i, Wi là trọng số của lớp

i.

Theo công thức trên ta có thể viết lại Wi = Wij x Ni hay:

   Ni j ij i W W 1

Trọng số của lớp i sẽ được tính bằng tổng các yêu cầu lưu lượng của lớp i. WRR sử dụng Wi thay cho 1/m như trong trường hợp FQ, tạo ra m lớp lưu lượng khác nhau tại cổng đầu ra. Đây chính là điều cải thiện của WRR so với FQ nhằm tránh nhược điểm băng thông đầu ra của FQ như trình bày ở trên.

2.2.5.5 Hàng đợi công bằng có trọng số WFQ và hàng đợi theo lớp công bằng có trọng số CB-WFQ bằng có trọng số CB-WFQ

Mặc dù WRR đã khắc phục được nhược điểm thứ nhất của hàng đợi công bằng FQ nhưng WRR chưa giải quyết được ảnh hưởng của kích thước gói tin đối với băng thông chia sẻ. Hàng đợi WFQ nhằm giải quyết nhược điểm thứ hai của hàng đợi FQ. Giống như FQ lưu lượng đầu vào được nhóm vào m hàng đợi. Tuy nhiên băng thông đầu ra được phân bổ tới m hàng đợi theo trọng số được xác định bởi yêu cầu băng thông của các lớp lưu lượng thay vì chia đều. Trong FQ mỗi khi bộ lập lịch tới một hàng đợi, gói tin sẽ được truyền ra khỏi hàng đợi. Khác với FQ, bộ lập lịch WFQ sẽ tính toán thời gian hoàn thành của các gói tin ở đầu các hàng đợi và gửi các gói tin tới đầu ra theo thứ tự thời gian hoàn thành đó.

Hàng đợi CB-WFQ tương tự như hàng đợi WRR, sự khác biệt của CB-WFQ so với WRR là cách sử dụng cơ chế công bằng có trọng số tại các lớp i thay vì sử

dụng cơ chế hàng đợi công bằng. Tiếp cận này theo hướng mềm hoá hơn nữa đối với yêu cầu băng thông không đồng nhất.

2.2.6 Định dạng lƣu lƣợng (Traffic Shaping)

Định dạng lưu lượng là để điều hoà tốc độ luồng lưu lượng vào tại bộ đệm nhằm để đầu ra thay đổi “mềm mại” hơn. Theo ý tưởng như vậy các hành vi lưu lượng được điều chỉnh theo các dạng lưu lượng đã được xác định trước, ví dụ theo các thoả thuận mức dịch vụ SLA. Việc điều chỉnh tốc độ lưu lượng giống như quá trình dừng và đi, thời gian trễ tại bộ đệm sẽ làm các gói tin tại đầu ra được điều chỉnh theo yêu cầu. Có hai dạng định dạng lưu lượng thường dùng là định dạng lưu lượng thuần và định dạng lưu lượng “giỏ thẻ bài”.

2.2.6.1 Định dạng lƣu lƣợng “thuần” (Pure traffic shaping)

Hình 2.8: Định dạng lưu lượng thuần

Hình 2.8 chỉ ra nguyên lý định dạng lưu lượng thuần. Các gói tin đến được đưa vào bộ đệm (“giỏ”) có độ sâu d, sau đó được gửi ra liên kết đầu ra với tốc độ bằng hằng số, tốc độ hằng số này được gọi là tốc độ rò r.

Định dạng lưu lượng thuần giúp không gây ra bùng nổ lưu lượng trên các mức đầu ra. Thông thường tốc độ rò r luôn được chọn nhỏ hơn dải thông của đường truyền ra C (r<C). Tuy nhiên, với định dạng lưu lượng thuần, tốc độ rò r

có thể được đặt bằng hoặc xấp xỉ tốc độ lớn nhất của tốc độ đầu ra. Nếu kích Độ sâu của

giỏ d

Tốc độ rò r

Tốc độ gói đầu ra r

Các gói bùng nổ lưu lượng vào

thước bùng nổ gói tin đến vượt quá độ sâu của giỏ - d, thì các gói đến khi “giỏ” đầy sẽ bị loại bỏ.

2.2.6.2 Định dạng lƣu lƣợng kiểu giỏ có sử dụng thẻ bài (Token bucket)

Hình 2.9: Định dạng lưu lượng bùng nổ kiểu giỏ có sử dụng thẻ bài.

Hình 2.9 chỉ ra nguyên lý định dạng lưu lượng kiểu giỏ có sử dụng thẻ bài. Các thẻ bài được đưa vào giỏ với tốc độ bằng hằng số, được gọi là tốc độ thẻ bài

r. Tốc độ thẻ bài tương tự với tốc độ thông tin cam kết CIR. Độ sâu của giỏ d thể hiện kích thước bùng nổ cảm kết CBS. Nếu giỏ đầy, không một thẻ bài nào được đưa vào giỏ.

Mỗi một thẻ bài cho phép bộ đệm lưu lượng đầu vào gửi ra một byte dữ liệu. Khi không còn gói nào trong bộ đệm được gửi ra, đáy của giỏ được đóng lại và không một thẻ bài nào được lấy ra. Khi vẫn còn gói tin trong bộ đệm, thẻ bài được rút ra theo tốc độ liên kết đầu ra (C) và các gói được chuyển tới đầu ra. Nếu giỏ xả hết các thẻ bài, các gói trong bộ đệm phải đợi cho đến khi các thẻ bài được đưa vào giỏ.

Độ sâu của giỏ d

Tốc độ rò C Kích thước bộ đệm B Tốc độ liên kết C Thẻ bài khả dụng Tốc độ thẻ bài r Các gói bùng nổ lưu lượng vào

Tràn bộ đệm

Kết quả của hoạt động này là các gói tin được chuyển tới liên kết đầu ra tại tốc độ liên kết C. Kích thước bùng nổ được giới hạn bởi độ sâu của giỏ d. Khi các thẻ bài được đưa vào trong giỏ với tốc độ r, thì tốc độ trung bình dài hạn của gói tại đầu ra là r.

CHƢƠNG 3. MÔ HÌNH DỊCH VỤ TÍCH HỢP INTSERV

3.1 Tổng quan IntServ

Ý tưởng ban đầu của dịch vụ tích hợp là hỗ trợ việc dành trước tài nguyên cho các luồng lưu lượng. Trái ngược với kiến trúc chuyển phát datagram thông thường (các gói có thể đi qua các tuyến khác nhau để tới đích), dịch vụ tích hợp cho phép thiết lập một tuyến và dành trước tài nguyên trước khi gửi dữ liệu. Điều này yêu cầu các bộ định tuyến phải có khả năng điều khiển các luồng lưu lượng. Có hai dịch vụ được định nghĩa:

 Dịch vụ đảm bảo - GS (Guaranteed Service) áp dụng cho các dịch vụ với yêu cầu về độ trễ của dịch vụ được xác định trước.

 Dịch vụ tải được điều khiển - CLS (Controlled-Load Network Service) áp dụng cho các ứng dụng yêu cầu độ tổn thất gói thấp.

Trong IntServ một luồng IP đơn lẻ được xác định bởi các tham số cơ bản sau:  Định danh giao thức.  Địa chỉ IP đích.  Địa chỉ cổng đích.  Địa chỉ IP nguồn.  Địa chỉ cổng nguồn.

Để dự trữ tài nguyên cho một luồng lưu lượng, ứng dụng nguồn phải cung cấp đặc tả luồng. Đặc tả luồng bao gồm các đặc tính về lưu lượng và các yêu cầu chất lượng dịch vụ cho luồng đó. Đặc tính lưu lượng bao gồm tốc độ đỉnh, tốc độ trung bình, kích thước bùng nổ lưu lượng và các tham số của “giỏ thẻ bài” (token bucket). Các yêu cầu dịch vụ gồm băng thông tối thiểu, và các yêu cầu về hiệu năng như trễ, biến động trễ và tỷ lệ tổn thất gói.

Sau đó yêu cầu thiết lập dự trữ tài nguyên có thể được gửi tới mạng. Nếu có cam kết việc dự phòng, luồng đó được đưa vào bảng dự phòng tài nguyên. Khi

gói tin đến, khối nhận dạng luồng sẽ nhận dạng gói tin thuộc về luồng đặt trước và đặt chúng vào trong hàng đợi phù hợp để nhận được dịch vụ yêu cầu.

Trong quá trình truyền từ nguồn tới đích gói tin phải đi qua nhiều chặng. Việc lựa chọn đường dẫn phù hợp cho chặng kế tiếp tại một nút là nhiệm vụ khó khăn do các hạn chế trong định tuyến IP truyền thống. Bộ định tuyến IP thường sử dụng các số đo như trễ, chặng (hop) hay một số thông số khác để tính toán đường đi ngắn nhất. Tuy nhiên đường dẫn ngắn nhất có thể không có được khả năng truyền tải trong khi đó đường dẫn dài hơn lại có khả năng đó. Vấn đề định tuyến có thể trở nên phức tạp bởi một số ứng dụng yêu cầu nhiều tham số QoS (ví dụ về băng thông và các yêu cầu về tổn thất gói tin). Tìm kiếm đường dẫn phù hợp trong nhiều điều kiện ràng buộc rất phức tạp. Chính vì lí do đó mô hình đảm bảo QoS cho gói tin IP đầu tiên này không yêu cầu gắn các cơ chế định tuyến đảm bảo QoS trong kiến trúc IntServ. Kiến trúc này giả sử rằng khối chức năng định tuyến của bộ định tuyến sẽ thực hiện định tuyến theo từng chặng.

3.2 Kiến trúc IntServ

Hình 3.1: Mô hình hoạt động dịch vụ tích hợp IntServ

IntServ có 4 thành phần, thành phần điều khiển việc chấp nhận, thành phần phân loại, lập lịch (3 thành phần này cung cấp việc điều khiển lưu lượng) và giao

Quản lý chính sách Điều khiển chấp nhận Bảng định tuyến Phân loại Lập lịch Số liệu Tiến trình RSVP Quản lý chính sách Điều khiển chấp nhận Bảng định tuyến Phân loại Lập lịch Tiến trình RSVP RESV Hướng đăng kí

PATH

thức dành trước tài nguyên. Hình 3.1 minh hoạ mô hình hoạt động của dịch vụ tích hợp IntServ.

3.2.1 Điều khiển chấp nhận

Xử lí hai nhiệm vụ cơ bản là chấp nhận hay từ chối các yêu cầu dành trước tài nguyên và giám sát việc sử dụng tài nguyên. Việc dành trước tài nguyên cho một yêu cầu mới không thể được chấp nhận nếu không có sẵn tài nguyên được yêu cầu. Có hai hướng tiếp cận để giải quyết xem tài nguyên nào là sẵn sàng đó là dựa theo đo đạc và dựa theo tham số.

 Trong hướng tiếp cận dựa theo tham số, điều khiển chấp nhận sẽ tính toán các nguồn tài nguyên khả dụng dựa trên các chỉ tiêu kỹ thuật và yêu cầu dành trước tài nguyên hiện tại.

 Trong hướng tiếp cận theo đo đạc, điều khiển chấp nhận đo lưu lượng thực sự trong mạng và sử dụng các phương pháp thống kê để quyết định xem tài nguyên nào khả dụng. Hướng tiếp cận này có ưu điểm là tối ưu hoá việc sử dụng mạng, mặc dù không đảm bảo chặt chẽ các cam kết tài nguyên.

3.2.2 Phân loại

Giao thức RSVP sử dụng 5 tiêu đề trong gói tin IP để nhận dạng gói tin thuộc về các luồng đã yêu cầu dành trước tài nguyên trong nút. Các trường này bao gồm địa chỉ IP nguồn, địa chỉ IP đích, định danh giao thức, cổng nguồn và đích.

3.2.3 Lập lịch

Là bước cuối cùng trong việc dành trước tài nguyên. Nó quyết định gói tin nào sẽ được gửi kế tiếp khi tuyến kết nối đi đã sẵn sàng. Do đó nó tác động đến trễ mà gói tin phải chịu trong bộ định tuyến và bộ định tuyến không trực tiếp loại bỏ gói tin. Các kỹ thuật của bộ lập lịch đã được trình bày ở chương trước.

Kiến trúc IntServ định nghĩa hai loại dịch vụ chính: Dịch vụ đảm bảo GS và

Một phần của tài liệu Đánh giá và so sánh hiệu quả đảm bảo QoS cho truyền thông đa phương tiện của mô hình IntServ và DiffServ (Trang 31)

Tải bản đầy đủ (PDF)

(93 trang)