2.2.1: Cơ chế quản lý nghẽn:
Quản lý nghẽn là cơ chế các phần tử mạng xử lý các luồng lƣu lƣợng chuyển đến nhằm hạn chế hay loại trừ các khả năng tắc nghẽn có thể xẩy ra. Các đặc tính quản lý tắc nghẽn của Cisco cho phép chúng ta cho phép các cơ chế điều khiển tắc nghẽn thông qua việc xác lập thứ tự các gói tin sẽ đƣợc chuyển tới đầu ra dựa trên cơ sở thƣ tự ƣu tiên tƣơng ứng.
Việc quản lý tắc nghẽn đòi hỏi việc xây dựng các hàng đợi, các gói đƣợc sắp xếp vào hàng đợi dựa trên cơ sở phân loại gói và lịch trình chuyển tiếp các gói từ nơi gửi đến đích.
Trong cơ chế quản lý tắc nghẽn của Cisco có 4 loại giao thức hàng đợi đƣợc sử dụng, mỗi một giao thức có các cơ chế xắp xếp hàng đợi khác nhau và có các cơ chế xử lý tắc nghẽn khác nhau.
Ở trạng thái bình thƣờng khi không có tắc nghẽn xẩy ra các gói tin sẽ đƣợc gửi đi ngay khi chúng đƣợc chuyển tới. Trong trƣờng hợp xẩy ra tắc nghẽn trên một giao diện nếu các cơ chế quản lý nghẽn không đƣợc áp dụng các gói tin đến nhanh hơn có thể đƣợc gửi đi trƣớc, nếu thời gian tắc nghẽn kéo dài có thể phát sinh rớt gói.
Khi các đặc tính quản lý tắc nghẽn đƣợc áp dụng các gói tin sẽ đƣợc „tích tụ‟ tại giao diện tạo thành hàng đợi và đƣợc gửi đi khi ngay khi có thể. Thứ tự đƣợc gửi đi tùy theo giá trị ƣu tiên của chúng và phƣơng thức xử lý hàng đợi đƣợc cấu hình trên cổng giao diện.
Các Router xác định thứ tự của các gói tin sẽ đƣợc gửi đi thông qua việc điều khiển các gói tin trong hàng đợi và cách thức xử lý hàng đợi tƣơng ứng.
Nhƣ đã nói trong phần trên có 4 cơ chế hàng đợi đó là:
Hàng đợi theo kiểu vào trƣớc phục vụ trƣớc - FIFO
Hàng đợi công bằng phục vụ dựa trên trọng số - WFQ
Hàng đợi phục vụ dựa trên khác hàng - CQ
2.2.2. Phạm vi ứng dụng:
Trong các mạng tổ hợp bao gồm nhiều loại giao thức khác nhau, phát sinh đòi hỏi cần phân loại ƣu tiên lƣu lƣợng để phù hợp với các tiêu chuẩn khác nhau. Các dạng lƣu lƣợng khác nhau mà cùng đƣợc gửi trên 1 đƣờng truyền dữ liệu có thể phát sinh tƣơng tác lẫn nhau gây ảnh hƣởng đến chất lƣợng dịch vụ mà chúng cung cấp. Bởi vậy nếu nhƣ ta chúng ta thiết kế một mô hình mạng mà đòi hỏi cần phục vụ nhiều loại hình dịch vụ thì cần phải xây dựng cơ chế quản lý tắc nghẽn phù hợp để đảm bảo xử lý công bằng giữa các dịch vụ đó.
Đối với các mạng đơn giản hàng đợi dạng FIFO thƣờng đƣợc áp dụng, nó không đòi hỏi các khái niệm về quyền ƣu tiên hay phân loại lƣu lƣợng.
CQ cho phép ngƣời quản lý có thể phân phối băng thông tới tất cả các lớp lƣu lƣơng bởi vậy nó có khả năng đảm bảo cho một vài mức dịch vụ hay tòan bộ lƣu lƣợng đƣợc truyền tải. Cỡ của hàng đợi có thể đƣợc xác đinh trƣớc thông quan việc cấu hình số lƣợng các gói trong hàng.
PQ thƣờng đƣợc sử dụng trong các ứng dụng ƣu tiên một kiểu loại lƣu lƣợng, tuy nhiên nó cũng có thể mở rộng với tất cả các loại dịch vụ khác. Đối với PQ các hàng đợi có thứ tự ƣu tiên thấp có thể phát sinh ảnh hƣởng bất lợi, chúng có thể không bao giờ đƣợc gửi đi nếu nhƣ băng thông truyền tải bị giới hạn hay tốc độ truyền dẫn không đáp ứng đƣợc dung lƣợng các dạng lƣu lƣợng đƣợc gửi tới.
WFQ bao gồm 2 cơ chế hàng đợi FBWFQ và CBWFB. WFQ không đòi hỏi công việc cấu hình danh sách truy nhập để xác định ƣu tiên lƣu lƣợng trên mỗi cổng giao tiếp. Đối với các dịch vụ đòi khắt khe về thời gian nhƣ thoại cơ chế hàng đợi ƣu tiên tuyệt đối cho phép giải tỏa hàng đợi để gửi đi trƣớc nhằm đảm bảo chất lƣợng thông tin. Việc sử dụng các hàng đợi có thể so sánh theo bảng sau:
Hạng mục Flow-Based WFQ Class-Based WFQ CQ PQ Số hàng đợi Có thể cấu hình (chế độ mặc định là 256) 1 hàng trên lớp, có tối đa 64 lớp 16 4
Loại dịch vụ - Đảm bảo công bằng của tất cả các luồng lƣu lƣợng dựa trên
- Đảm bảo băng thông cho 1 lớp dịch vụ xác định. -Dịch vụ tuần tự - Hàng đợi có ƣu tiên cao hơn đƣợc phục
trọng số.
- Xây dựng các hàng đợi ƣu tiên tuyệt đối thông qua sử dụng thứ tự ƣu tiên IP RTP
- Xây dựng các hàng đợi ƣu tiên tuyệt đối thông qua sử dụng thứ tự ƣu tiên IP RTP
vụ trƣớc. - Cơ chế ƣu tiên tuyệt đối.
Bảng 2.2: So sánh các đặc tính hàng đợi
2.2.3 Hàng đợi phục vụ dựa trên khách hàng - CQ (Custom Queuing):
Hàng đợi tùy theo ngƣời dùng CQ cho phép nhà quản trị mạng định ra phần trăm băng thông khả dụng cho một dịch vụ đặc biệt nào đó. Đồng thời cho phép chỉ định số lƣợng byte xác định từ hàng đợi sẽ đƣợc gửi đi dựa trên cơ sở tốc độ giao tiếp và phần trăm lƣu lƣợng đƣợc cấu hình. CQ cũng cho phép chỉ định tối đa số lƣợng các gói đƣợc sắp xếp trong hàng đợi.
CQ quản lý lƣu lƣợng thông qua việc định ra số lƣợng các gói tin hay các byte sẽ đƣợc gửi đi cho mỗi loại dịch vụ. CQ thực hiện phục vụ các hàng đợi theo cơ chế tuần tự, nó thực hiện truyền phần trăm lƣu lƣợng trên mỗi hàng đợi trƣớc khi chuyển đến hàng đợi kế tiếp. Trong trƣờng hợp hàng đợi là rỗng thì thì hàng đợi tiếp theo sẽ đƣợc phục vụ. Trên một cổng giao tiếp CQ cho phép hệ thống duy trì 17 hàng đợi, trong đó hàng đợi số 0 đƣợc dùng cho hàng đợi của hệ thống, 16 hàng đợi kế tiếp đƣợc dùng trong việc truyền dữ liệu. Hàng đợi hệ thống có thứ tự ƣu tiên cao nhất, hàng đợi này là rỗng trƣớc khi có bất kỳ hàng đợi dữ liệu nào đƣợc tham gia xử lý, nó mang các thông tin báo hiệu và các thông điệp của hệ thống.
Các gói đầu vào Phâ n l ớ p Các gói đầu ra Phần trăm băng thông cho các hàng đợi 5% 30% 60% … 16 hàng 10/16/2006 - 10/23/2006 Phân lớp theo: Giao thức (IP, IPX..) Cổng nguồn (E0, S0) ...
10/16/2006 - 10/23/2006Tài nghuyên bộ đệm hàng đợi
Chiều dài hàng đợi
Hình 2.2: Nguyên lý hoạt động của CQ.
Chú ý rằng Router gửi các bytes trong hàng đợi cho tới khi bị vƣợt quá số byte quy định. Khi đó gói tin đang đƣợc truyền sẽ đƣợc gửi đi toàn bộ. Bởi vậy nếu nhƣ số lƣợng byte quy định là 100 và cỡ gói truyền là 1024 byte thì tại thời điểm hàng đợi đƣợc phục vụ 1024 byte sẽ đƣợc gửi đi chứ không phải là 100 byte.
Nhƣ vậy việc thiết lập số lƣợng byte giới hạn qua nhỏ có thể phát sinh những vấn đề không mong đợi trong việc phân phối băng thông. Tuy nhiên khi số lƣợng byte đƣợc thiết lập quá lớn thì có thể phát sinh thời gian chờ đƣợc phục vụ của hàng đợi tiếp theo. Bởi vậy việc xác định số lƣợng byte phải dựa trên cỡ gói trong mỗi giao thức nếu không tỉ lệ phần trăm phân phối băng thông sử dụng sẽ không giống nhƣ các thông số đƣợc cấu hình.
3.2.4. Hàng đợi dựa trên quyền ƣu tiên - PQ:
PQ là cơ chế ƣu hàng đơi ƣu tiên nhằm đảm bảo phục vụ cho một loại hình đặc biệt nào đó. PQ cho phép nhà quản trị định nghĩa 4 phƣơng thức ƣu tiên cho lƣu lƣợng trong một mạng: Cao, Thông thƣờng, Trung bình và Thấp. Tƣơng ứng với nó là có 4 loại hàng đợi. Trong cơ chế của mình hàng đợi có thứ tự ƣu tiên cao nhất sẽ đƣợc phục
vụ trƣớc nhất cho tới khi rỗng, sau đó các hàng đợi ở các mức thấp hơn sẽ đƣợc phục vụ tuần tự.
Trong qúa trình truyền dẫn các gói sẽ đƣợc phân loại thành 4 mức dựa trên các tiêu chuẩn của ngƣời quản lý, sau đó chúng sẽ đƣợc sắp xếp vào các hàng đợi trên cơ sở các mức ƣu tiên. Các gói mà không đƣợc phân loại theo thứ tự ƣu tiên sẽ đƣợc đẩy vào hàng đợi thông thƣờng.
Cơ chế làm việc của PQ đƣợc mô tả theo hình vẽ sau:
Các gói đầu vào Phâ
n l
ớp
Các gói đầu ra
Chiều dài hàng đợi Cao
Trung bình
Thấp
10/16/2006 - 10/23/2006
Phân lớp theo: Giao thức (IP, IPX..) Cổng nguồn (E0, S0) ...
10/16/2006 - 10/23/2006Tài nghuyên bộ đệm hàng đợi
Thông thƣờng
Hình 2.3: Nguyên lý hoạt động của PQ.
Chú ý: Chiều dài tối đa của hàng đợi đƣợc định nghĩa thông qua chiều dài giới hạn, khi hàng đợi dài quá chiều dài giới hạn thì tất cả các gói nằm ngoài giới hạn hàng đợi đó sẽ bị rớt
Nhƣ đã nói trong phần trên các gói đƣợc phân loại để thiết lập giá trị ƣu tiên. Việc phân loại các gói có thể dựa trên các đặc tính sau:
Kiểu giao thức.
Giao diện đầu vào.
Cỡ gói.
Cơ chế phân mảnh.
Các thông tin của mạng luôn luôn đƣợc gán thứ tự ƣu tiên cao nhất, tất cả các thông tin về quản lý lƣu lƣợng khác cũng phải đƣợc cấu hình. Các gói không đƣợc phân loại bằng cơ chế danh sách ƣu tiên sẽ đƣợc sắp xếp vào hàng đợi thông thƣờng.
Khi lựa chọn sử dụng PQ cần chú ý rằng việc cấu hình không thích hợp có thể phục vụ một hàng đợi hoàn tất mà không để ý tới các dịch vụ khác. Trong trƣờng hợp tồi nhất dịch vụ trong hàng đợi có thứ tự ƣu nhiên thấp nhất có thể không bao giờ đƣợc gửi đi. Để giải quyết vấn đề này chúng ta có thể sử dụng cơ chế CAR hoặc sửa dạng lƣu lƣợng để giới hạn tốc độ cho các lƣu lƣợng có thứ tự ƣu tiên cao hơn.
2.2.5. Hàng đợi dựa trên trọng số - WFQ:
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