Hàng đợi dựa trên trọng số

Một phần của tài liệu QOS trong mạng tổ hợp thoại và dữ liệu (Trang 31)

WFQ là một trong những kỹ thuật phổ biết nhất đƣợc sử dụng trong cơ chế sử lý hàng đợi. Đặc biệt trong các thiết bị Router Cisco các giao tiếp có tốc độ nhỏ hơn hoặc bằng 2Mbps chế độ mặc định là sử dụng WFQ.

WFQ xây dựng hàng đợi dựa trên cơ sở trọng số, từ đó nó đảm bảo xử lý công bằng cho toàn bộ lƣu lƣợng truyền tới cổng giao diện.

Có 3 loại WFQ:

 Flow – based WFQ. (WFQ)

 VIP – Distributed WFQ.(DWFQ)

 Class – based WFQ. (CBWFQ)

2.2.5.1. WFQ dựa trên luồng dữ liệu (Flow – based WFQ):

WFQ là phƣơng thức lịch trình động cung cấp cơ chế phân phối băng thông công bằng cho tất cả lƣu lƣợng truyền tải trên mạng. WFQ sử dụng các mức ƣu tiên, trọng số để nhận dạng lƣu lƣợng và phân lọai lƣu lƣợng thành các gói thông điệp “Conversation”, từ đó xác định lƣợng băng thông thích ứng cho mỗi gói thông điệp trong mối liên hệ với các gói thông điệp khác.

P hâ n l ớp Các gói đầu ra Số hàng đợi có thể cấu hình đƣợc 10/16/2006 - 10/23/2006 Phân lớp theo: Địa chỉ nguồn đích Giao thức ... ... 10/16/2006 - 10/23/2006Tài nghuyên bộ đệm hàng đợi

Chiều dài hàng đợi

Lập lịch dựa trên trọng số 10/16/2006 - 10/23/2006 Trọng số đƣợc xác định bởi: - Chính sách QoS (IP Precedence, RSVP) ... Hình 2.4: Cơ chế hàng đợi FB - WFQ.

WFQ khắc phục nhƣợc điểm chiều dài giới hạn của hàng đợi theo kiểu FIFO. Khi FIFO đƣợc áp dụng, lƣu lƣợng đƣợc gửi đi theo thứ tự mà không quan tâm tới các vấn đề lãng phí băng thông hay các yếu tố về trễ, trong trƣờng hợp file truyền lớn hay các ứng dụng mạng khác lớn thƣờng phát sinh chuỗi liên kết các gọi lại đƣợc xem nhƣ hiệu ứng dây truyền và có xu hƣớng cùng nhau truyền qua mạng. Các gói liên kết dạng dây truyền này có khả năng chiếm toàn bộ băng thông khả dụng, lấy đi băng thông của các dịch vụ khác.

WFQ cung cấp quản lý ƣu tiên hóa lƣu lƣợng mà tự động sắp xếp lƣu lƣợng thành các bản tin tạo nên các gói thông điệp, từ đó phá bỏ đƣợc hiệu ứng dây truyền, đảm bảo chia sẻ băng thông một cách công bằng.

WFQ phân loại lƣu lƣợng thành các loại luồng khác nhau dựa trên địa chỉ mào đầu gói, bao gồm các đặc tính nhƣ: địa chỉ mạng nguồn mạng đích, địa chỉ MAC, loại giao thức, cổng nguồn cổng đích, số socket và giá trị ToS.

Có 2 loại luồng :

WFQ đảm bảo rằng tất cảc các hàng đợi không thiếu thốn băng thông và lƣu lƣợng nhận đƣợc dịch vụ có thể dự báo. Các luồng lƣu lƣợng cỡ nhỏ (nhƣ Telnet, dịch vụ ƣu đãi) có mức ƣu tiên hóa cao hơn và đƣợc gửi đi ngay khi băng thông khả dụng, các luồng dữ liệu cỡ lớn (nhƣ FTP) chia sẻ khả năng còn lại trên những phần băng thông tƣơng ứng hay một phần nào đó.

WFQ sắp xếp các gói của các gói thông điệp khác nhau trong các hàng đợi fair-queues trƣớc khi đƣợc truyền đi. Thứ tự của gói đƣợc gửi đi từ hàng đợi đƣợc xác định bởi thời gian ảo tính từ khi nhận bít cuối cùng của mỗi gói đến.

Trong các luồng dữ liệu lớn khi vƣợt quá ngƣỡng cho phép các bản tin mới đến sẽ bị loại bỏ. Tuy nhiên trong các luồng dữ liệu cỡ nhỏ nhờ có các gói thông điệp quản lý bản tin, các bản tin mới đến vẫn tiếp tục đƣợc gắn vào hàng đợi dữ liệu.

WFQ có khả năng quản lý các luồng dữ liệu kép, ví dụ nhƣ các thông tin thoại và video.

WFQ có khả năng nhận biết gói tin có thứ tự ƣu tiên cao và có thể lập lịch để nó chuyển đi nhanh hơn. Ngay khi thứ tự ƣu tiên tăng, WFQ phân phối băng thông nhiều hơn cho các gói thông điệp trong suốt quá trình tắc nghẽn.

Mỗi luồng đƣợc WFQ gán một trọng số, trọng số này xác định thứ tự truyền đi cho các gói hàng đợi, luồng có trọng số nhỏ nhất sẽ đƣợc phục vụ trƣớc nhất.

Cũng giống nhƣ CQ, WFQ cũng gửi số lƣợng bytes từ mỗi hàng đợi. Trong cơ chế WFQ mỗi hàng đợi tƣơng ứng với một luồng khác nhau.

Trên thực tế trong mỗi chu kỳ truyền dữ liệu, WFQ gửi số lƣợng bytes tƣơng ứng với mức ƣu tiên của mỗi luồng đó cộng thêm 1. Số này chỉ đƣợc sử dụng nhƣ một tỉ lệ để xác định bao nhiêu bytes trong mỗi gói tin đƣợc gửi đi.

Để xác định lƣợng băng thông cho mỗi hàng đợi ta thực hiện chia số bytes của mỗi luồng cho tổng số bytes của tất cả các luồng. Ví dụ Nếu ta có các luồng với các mức ƣu tiên thì mỗi luồng đƣợc gán mức ƣu tiên cộng với 1.

1+2+3+4+5+6+7+8 = 36

Nhƣ vậy lƣu lƣợng có mức ƣu tiên 0 sẽ chiếm 1/36 băng thông, lƣu lƣợng mức 1 sẽ chiến 2/36 băng thông và lƣu lƣợng mức 7 se chiếm 8/36 băng thông.

Tuy nhiên khi số lƣợng luồng ở 1 mức ƣu tiên nào đó tăng hay giảm thì việc phân phối sẽ thay đổi. Ví dụ 18 luồng mức 1 Khi đó:

1+2*18 +3+4+5+6+7+8 =70

Lƣu lƣợng ƣu tiên mức 0 sẽ là 1/71, mức 1 sẽ là 2/70 và mức 7 sẽ là 8/70. Bên cạnh đó WFQ kết hợp với RSVP cung cấp các dịch vụ khác và QoS.

2.2.5.1: VIP-Distributed Weighted Fair Queuing:

DWFQ là một dạng đặc biệt của WFQ tốc độ cao chạy trên nền bộ xử lý giao diện linh hoạt VIP. Có 2 loại DWFQ:

 Flow-based DWFQ

 Class-based DWFQ

Với Flow-based DWFQ các gói đƣợc phân loại bằng luồng. Các gói có cùng địa chỉ IP nguồn, địa chỉ IP đích, cổng nguồn TCP hoạc UDP, cổng đích TCP hoặc UDP, loại giao thức và trƣờng ToS đƣợc sắp xếp cùng một luồng (tất cả các gói non-IP đƣợc xử lý nhƣ luồng số 0) . Mỗi 1 luồng tƣơng ứng riêng rẽ một hàng đợi đầu ra. Khi các gói đƣợc gán tới một luồng nó sẽ đƣợc đặt vào hàng đợi tƣơng ứng với luồng đó. Trong suốt quá trình tắc nghẽn, DWFQ phân phối băng thông nhƣ nhau cho mỗi hàng đợi đang đƣợc gửi.

Trong cơ chế Class-based DWFQ các gói đƣợc gán tới các hàng đợi khác nhau dựa trên nhóm QoS của chúng hoặc giá trị ƣu tiên IP trong trƣờng ToS.

Nhóm QoS cho phép user thực hiện theo chiến lƣợc QoS của mình. Một nhóm QoS là một sự phân lớp nội bộ của các gói, đƣợc Router dùng để xác định cách thức xử lý các gói tin trên những đặc tính QoS xác định. Có thể sử dụng CAR hoặc chiến lƣợc QoS QoS thông qua giao thức Gateways biên để gán các gói tin váo các nhóm QoS khác nhau.

Tuy nhiên nếu muốn phân loại các gói chỉ dựa trên 2 bít phân quyền IP thì có thể sử dụng DWFQ dựa trên trƣờng ToS.

Các lớp đƣợc định rõ một trong số. Trong suốt quá trình tắc nghẽn, mỗi nhóm đƣợc phân phối phần trăm băng thông tƣơng ứng với trong số của lớp đó. Ví dụ nếu 1 lớp đƣợc gán trọng số là 50 thì trong suốt quá trình tắc nghẽn các gói tin từ lớp này đƣợc phân phối ít nhất 50 phần trăm băng thông khả dụng. Trong trƣờng hợp các giao diện không có tắc nghẽn các hàng đợi có thể đƣợc gửi đi thông qua bất cứ phần băng thông

Đối với DWQF nó lƣu giữ số gói trong mỗi hàng đợi và tổng số các gói trong tất cả các hàng đợi. Khi tổng cộng các gói là nhỏ hơn giới hạn tổng cộng, thì các hàng đợi có thể làm đệm tạm thời mà không quan tâm đến giới hạn hàng đợi riêng lẻ. Tuy nhiên nếu nhƣ nó vƣợt qua giới hạn tổng cộng cơ chế giới hạn hàng đợi riêng lẻ sẽ đƣợc kích hoạt khi đó tất cả các gói mới đến mà giới hạn hàng đợi đã vƣợt quá sẽ bị loại bỏ. Tuy nhiên các gói đã đƣợc sắp xếp trong hàng đợi vẫn không bi loịa bổ ngay cả khi hàng đợi đã vƣợt qua giới hạn cho phép.

2.2.5.3. WFQ dựa theo lớp (Class – based WFQ).

CBWFQ mở rộng chức năng của WFQ cung cấp phƣơng thức định nghĩa các lớp lƣu lƣợng dựa trên các tiêu chuẩn phù hợp bao gồm loại giao thức, các danh sách điều khiển truy nhập và các giao tiếp đầu vào. Các gói tin thỏa mãn các đặc tính cho một lớp cấu thành lƣu lƣợng của chính lớp đó.

Với các lớp đã đƣợc định nghĩa user có thể gán các đặc tính bao gồm băng thông, trọng số và giới hạn gói lớn nhất. Băng thông đƣợc gán cho một lớp là băng thông đảm bảo đƣợc phân phối cho lớp đó trong suốt quá trình tắc nghẽn.

Để đặc tả cho một lớp user cũng có thể định rõ giới hạn hàng đợi, đó là số gói tối đa có thể tích tũy vào hàng đợi cho một lớp.

Tùy thuộc chính sách phân lớp đƣợc cấu hình, cơ chế rớt gói hay Tail drop sẽ đƣợc áp dụng đối với tất cả các gói đƣợc bỏ xung ở cuối hàng đợi khi một hàng đợi đạt tới giới hạn hàng đợi.

"Tail drop" đƣợc sử dụng cho các lớp CBWFQ trừ khi xác định rõ ràng rằng chiến lƣợc cấu hình cho một lớp sử dụng WRED để làm rớt gói nhƣ là một phƣơng thức để tránh tắc nghẽn.

CBWFQ ra đời nhƣ là mộ sự cải tiến cơ chế hàng đợi công bằng WFQ, trọng số đƣợc dùng cho các lớp chính là trọng số của các gói mà phù hợp với tiêu chuẩn của lớp đó. Các gói đến đẩu ra của giao diện đƣợc phân loại tùy theo các tiêu chuẩn ma đã đƣợc định nghĩa, sau đó chúng đƣợc gán trọng số tƣơng ứng. Sau khi đã đƣợc gán trọng số, các gói sẽ đƣợc sắp xếp vào cuối hàng đợi. CBWFQ sử dụng trọng số này để xử lý hàng đợi lớp đó đƣợc phục vụ công bằng.

 Định nghĩa các lớp lƣu lƣợng để chỉ rõ chiến lƣợc phân lớp. (Thủ tục này nhằm xác định bao nhiêu kiểu gói đƣợc phân biệt )

 Liên kết các chính sách phân lớp để tạo nên đặc tính cho mỗi lớp đó. (thủ tục này đảm bảo các chính sách cấu hình đƣợc áp dụng cho các gói thuộc lớp đã đƣợc định nghĩa trƣớc thông qua chiến lƣợc phân lớp)

 Ứng dụng các chính sách tới một giao diện sử dụng CBWFQ.

Thông thƣờng việc phân phối băng thông trên một giao diện không thể vƣợt quá 75 % băng thông của giao diện bởi vì 25% còn lại đực sử dụng cho mục đích truyền tải các từ tiêu đề bao gôm tiêu đề lớp 2, thông tin định tuyến lƣu lƣợng, và các dịch vụ đặc biệt. Tuy nhiên trong từng ứng dụng truyền tải ta có thể cấu hình vƣợt quá 75% băng thông cho tổng cộng cho tổng lƣu lƣợng của các lớp hay các luông nhung vẫn phải đảm bảo phần băng thông khả dụng cho mục địch truyền tải các từ mào đầu nói trên.

Với CBWFQ nhà quản trị mạng có thể định rõ lƣợng băng thông cho một lớp, từ đó có thể tính đƣợc băng thông khả dụng trên một giao diện. CBWFQ cho phép cấu hình tới 64 lớp và sắp xếp điều khiển giữa chúng, khả năng này là không thực hiện đƣợc ở FBWFQ. CBWFQ cũng cho phép sử dụng danh sách truy nhập, loại giao thức, tên của đầu vào để định nghĩa cách thức phân lớp.

Tuy nhiên cũng phải chú ý rằng CBWFQ chỉ có thể đƣợc cấu hình trên một giao diện vật lý nếu nhƣ giao diện này đƣợc mặc định ở chế độ hàng đợi. Các giao diện con (Subinterface), cơ chế kiểm soát và sửa dạng lƣu lƣợng không đƣợc hỗ trợ CBWFQ.

Một phần của tài liệu QOS trong mạng tổ hợp thoại và dữ liệu (Trang 31)

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

(95 trang)