Các luồng lƣu lƣợng đầu vào đƣợc nhóm thành 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 các trọng số của các lớp bằng 100%.
m i i = 1
W100%
(2.4)
Trong đó, m là số lớp lƣu lƣợng; Wi là % trọng số của lớp i.
Các luồng lƣu lƣợng riêng đƣợc lập lịch theo nguyên tắc hàng đợi cân bằng FQ đối với một lớp. Đặt số lƣợng các hàng đợi FQ trong lớp i là Ni, tổng số hàng đợi FQ trong lƣợc đồ WRR đƣợc tính theo công thức 2.5 sau đây:
1 WRR m i i TotalFQ N (2.5)
Hàng đợi quay vòng theo trọng số WRR gồm hai lớp lập lịch quay vòng: Bộ lập lịch thứ nhất chỉ tới các lớp trong khoảng từ lớp 1 đến lớp m.
Khi bộ lập lịch dừng lại tại một lớp, bộ lập lịch quay vòng thứ 2 sẽ quay vòng trong các hàng đợi FQ.
Băng thông cổng đầu ra tính theo % đƣợc gán vào lớp i, trọng số của lớp i (Wi) thể hiện lƣợng thời gian tiêu tốn của bộ lập lịch cho lớp i. Ví dụ, Wi=20% có 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 các hàng đợi FQ trong lớp i, thời gian cho các hàng đợi là cân 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 một hàng đợi FQ đƣợc tính nhƣ sau:
ij i i
W = W * (1/N ) (2.6)
trong đó Wij là trọng số của hàng đợi thứ j trong lớp i; Wi là trọng số lớp i. Từ (2.6), ta có thể viết lại Wi = Wij * Ni, hay:
i
N
j = 1
W = W (2.7)
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 trong 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ác cổng đầu ra. Đây chính là cải thiện của WRR so với FQ nhằm tránh nhƣợc điểm đầu của FQ.
v) Hàng đợi cân bằng trọng số WFQ và hàng đợi cân bằng trọng số phân lớp
CBWFQ
Mặc dù WRR đã chỉ ra đƣợc cách khắc phục nhƣợc điểm thứ nhất của hàng đợi cân 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ẻ. Tiếp cận hàng đợi cân bằng trọng số WFQ cũng nhằm cải thiện nhƣợc điểm thứ hai của hàng đợi FQ. Giống nhƣ hàng đợi FQ, lƣu lƣợng đầu vào đƣợc nhóm m hàng đợi. Tuy nhiên, băng thông cổng đầu ra đƣợc phân bổ tới m hàng đợi theo trọng số đƣợc xác định bởi các yêu cầu băng thông của lớp lƣu lƣợng thay vì chia đều.
Hàng đợi cân bằng trọng số phân lớp CB-WFQ tƣơng tự nhƣ hàng đợi quay vòng theo trọng số WRR, sự khác biệt cơ bản của CB-WFQ so với WRR là cách sử dụng cơ chế cân bằng theo trọng số tại các lớp i thay vì sử dụng cơ chế hàng đợi cân bằng. Tiếp cận này theo hƣớng mềm hoá hơn nữa đối với các yêu cầu băng thông không đồng nhất.
2.4.4 Kỹ thuật cắt lƣu lƣợng
Các kỹ thuật chia cắt lƣu lƣợng gồm: Chia cắt lƣu lƣợng thuần, chia cắt lƣu lƣợng kiểu gáo rò.
i) Chia cắt lưu lượng thuần
Theo nguyên lý chia cắt lƣu lƣợng thuần, các gói tin đến đƣợc đƣa vào bộ đệm (gáo rò) có độ sâu d, sau đó đƣợc gửi ra liên kết đầu ra tại tốc độ hằng số, tốc độ hằng số này đƣợc gọi là tốc độ rò r. Chia cắt lƣu lƣợng thuần không cho phép bùng nổ băng thông trên các liên kết đầu ra.
Thông thƣờng, tốc độ rò r luôn nhỏ hơn tốc độ liên kết C (r<C). Tuy nhiên, với chia cắt lƣu lƣợng thuần, tốc độ rò r đƣợc đặt tại tốc độ lớn nhất của tốc độ đầu ra vì không cho phép bùng nổ lƣu lƣợng. Nếu kích thƣớc gói bùng nổ quá độ sâu của gáo rò d thì các gói sẽ bị loại bỏ.
Hình 2.23: Chia cắt lưu lượng thuần
ii) Chia cắt lưu lượng kiểu gáo rò
Theo nguyên lý chia cắt lƣu lƣợng gáo rò, gáo rò token đƣợc sử dụng trong tƣơng tự nhƣ gáo rò C sử dụng trong srTCM và trTCM. Các token đƣợc đƣa vào gáo rò với tốc độ bằng hằng số, đƣợc gọi là tốc độ token r. Tốc độ token tƣơng tự với tốc độ thông tin cam kết CIR. Độ sâu của gáo rò d thể hiện kích thƣớc bùng nổ cam kết CBS. Nếu gáo rò đầy, không một token nào có thể đƣợc đƣa vào gáo.
Hình 2.24: Chia cắt lưu lượng bùng nổ kiểu gáo rò
Mỗi một token 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 gửi ra, đáy của gáo rò đóng lại và không một token nào đƣợc lấy ra. Khi vẫn có các gói tin trong bộ đệm, các token đƣợ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 gáo rò xả hết các token, các gói trong bộ đệm phải đợi cho đến khi các token đƣợc đƣa vào gáo rò.
Kết quả của hoạt động này là các gói đƣợ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 gáo d. Khi các token đƣợc đƣa vào trong gáo rò tại tốc độ r, thì tốc độ trung bình dài hạn của các gói tại đầu ra sẽ là r. Vì vậy, kỹ thuật chia cắt lƣu lƣợng gáo rò hoạt động giống hệt gáo rò C trong srTCM và trTCM, ngoại trừ gáo rò token đƣợc áp dụng tại đầu ra trong khi gáo rò C đƣợc áp dụng tại đầu vào.
2.5 KẾT LUẬN
Trƣớc hết, trong chƣơng này, chúng tôi tóm lƣợc lại giao thức liên mạng IP từ đó đƣa ra đƣợc nguyên nhân thúc đẩy nghiên cứu QoS cho mạng IP.
Sau đó, chúng tôi nghiên cứu nguyên lý hoạt động của QoS IP và tập trung vào các giải pháp kỹ thuật đảm bảo chất lƣợng dịch vụ IP nhƣ phân lớp dịch vụ, chính sách loại bỏ gói, lập lịch và chia cắt lƣu lƣợng đƣợc trình bày dựa trên mô hình chức năng bộ định tuyến IP. Từ các đặc điểm cơ bản của chất lƣợng dịch vụ IP, các yêu cầu QoS IP đã đƣợc thể hiện qua mô hình bộ định tuyến dƣới khía cạnh khối chức năng cơ bản.
Chƣơng 3: MỘT SỐ MÔ HÌNH ĐẢM BẢO QoS IP
3.1 MÔ HÌNH DỊCH VỤ TÍCH HỢP - INTSERV
Đứng trƣớc nhu cầu ngày càng tăng trong việc cung cấp các dịch vụ thời gian thực (thoại, video) và băng thông cao (đa phƣơng tiện), tổ chức IETF (Internet Engineering Task Force) những năm đầu thập kỷ 90 đƣa ra mô hình IntServ nhƣ một giải pháp hữu hiệu đảm bảo QoS IP [23]. Đây là sự phát triển của mạng IP nhằm đồng thời cung cấp dịch vụ truyền thống nỗ lực tối đa và các dịch vụ thời gian thực.
Mô hình IntServ đƣợc triển khai và phát triển chủ yếu với những lý do cơ bản sau: Mô hình nỗ lực tối đa (Best Effort) không còn đủ tốt, ngày càng có nhiều
ứng dụng khác nhau có những yêu cầu khác nhau về đặc tính lƣu lƣợng đƣợc triển khai. Mặt khác, ngƣời sử dụng ngày càng có nhiều yêu cầu cao hơn về chất lƣợng dịch vụ.
Các ứng dụng đa phƣơng tiện ngày càng xuất hiện nhiều, mạng IP phải có khả năng hỗ trợ không chỉ đơn dịch vụ mà phải hỗ trợ tích hợp đa dịch vụ của nhiều loại lƣu lƣợng nhƣ thoại, số liệu, video.
Mô hình dịch vụ IntServ cho phép nhà cung cấp mạng cung cấp dịch vụ tốt nhất. Tối ƣu hóa hiệu suất sử dụng mạng và tài nguyên mạng, đảm bảo hiệu quả
sử dụng và đầu tƣ. Tài nguyên mạng sẽ đƣợc dự trữ cho lƣu lƣợng có độ ƣu tiên cao hơn.
3.1.1 Giới thiệu chung
Ý 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, đƣợc thực hiện bởi việc thiết lập một tuyến dành trƣớc tài nguyên trƣớc khi gửi dữ liệu. Thực chất của mô hình IntServ là các bộ định tuyến và thiết bị mạng phải dành trƣớc nguồn tài nguyên của nó để cung cấp các mức chất lƣợng dịch vụ cụ thể cho các gói mang lƣu lƣợng ngƣời dùng.
IntServ đã định nghĩa những yêu cầu cho các quá trình QoS để thỏa mãn hai mục đích:
Phục vụ các ứng dụng thời gian thực
Hình 3.1. Mô hình dịch vụ tích hợp IntServ
Một số thành phần tham gia trong mô hình này nhƣ sau:
Giao thức thiết lập: Cho phép các máy chủ và các router dự trữ động tài nguyên
trong mạng để xử lý các yêu cầu của các luồng lƣu lƣợng riêng. RSVP – Q.2932 là một trong những giao thức đó.
Đặc tính luồng: Xác định chất lƣợng dịch vụ QoS sẽ cung cấp cho luồng riêng
biệt. Luồng bao gồm các gói từ nguồn đến đích có cùng yêu cầu về QoS.
Điều khiển lưu lượng: Trong các thiết bị mạng có thành phần điều khiển và
quản lý tài nguyên mạng cần thiết để hỗ trợ QoS theo yêu cầu. Các thành phần điều khiển lƣu lƣợng này có thể đƣợc khai báo bởi giao thức báo hiệu nhƣ RSVP. Thành phần điều khiển lƣu lƣợng bao gồm:
Điều khiển chấp nhận: Xác định thiết bị mạng có khả năng hỗ trợ QoS theo yêu cầu hay không.
Thiết bị phân loại (Classifier): Nhận dạng và lựa chọn lớp dịch vụ dựa trên nội dung của một số trƣờng nhất định trong tiêu đề gói.
Thiết bị lập lịch (Scheduler): Cung cấp các mức chất lƣợng dịch vụ QoS trên kênh ra của thiết bị mạng.
Mô hình dịch vụ tích hợp đề xuất hai lớp dịch vụ bổ sung cho các dịch vụ IP truyền thống là:
Dịch vụ bảo đảm (GS – Guaranteed Service) đƣợc định nghĩa trong RFC2212 [10], cho ứng dụng yêu cầu giới hạn trễ và băng thông. Dịch vụ GS có đặc tính băng tần dành riêng, trễ có giới hạn và không bị thất thoát gói tin. Các ứng dụng cung cấp thuộc loại này nhƣ hội nghị truyền hình chất lƣợng cao, thanh toán tài chính thời gian thực,…
Dịch vụ tải đƣợc điều khiển (CL – Control-Load service) đƣợc định nghĩa trong RFC2211 [10], cho ứng dụng yêu cầu độ mất gói thấp. Dịch vụ CL
không đảm bảo về băng tần hay trễ, phù hợp cho các ứng dụng không nhạy cảm lắm với độ trễ nhƣ truyền multicast audio/video chất lƣợng trung bình. Hai lớp dịch vụ GS và CL phải đƣợc cài đặt các đƣờng định tuyến và dự trữ các tài nguyên.
Cốt lõi của mô hình IntServ là sự áp dụng các biện pháp đảm bảo QoS cho từng luồng IP vi mô. Luồng IP vi mô là một chuỗi gói IP có chung 5 tham số giống nhau. Cụ thể, một luồng IP vi mô đƣợc xác định bởi năm tham số sau:
Địa chỉ IP đầu gửi Địa chỉ IP đầu nhận Số thứ tự của cổng gửi Số thứ tự của cổng nhận
Giao thức chuyển vận đƣợc sử dụng (TCP hay UDP) cho luồng IP đang xét. Định tuyến IP thƣờng sử dụng các số đo nhƣ trễ, bƣớc nhảy hay một số loại thông số khác để tính toán đƣờng đi ngắn nhất. Vấn đề định tuyến có thể trở nên phức tạp hơn bởi một số ứng dụng có yêu cầu nhiều tham số QoS (băng thông và các yêu cầu về mất gói tin). Tìm kiếm đƣờng định tuyến phù hợp trong nhiều điều kiện ràng buộc rất phức tạp. Vì lý đó, mô hình đảm bảo QoS IP đầu tiên không yêu cầu gắn các cơ chế định tuyến đảm bảo QoS trong mô hình IntServ.
Tài nguyên dành trƣớc trong IntServ cần phải qua tất cả các nút trên đƣờng định tuyến và thiết lập các yêu cầu dự phòng. Nó cũng phải truyền tải thông tin trong các phác thảo lƣu lƣợng và các yêu cầu tài nguyên, do đó mỗi nút cần quyết định liệu có chấp nhận việc dành trƣớc hay không, nhận dạng luồng nhƣ thế nào, lập lịch cho gói tin ra sao?
Điều khiển chấp nhận xử lý 2 nhiệm vụ cơ bản: chấp nhận hay từ chối các yêu
cầu dành trƣớc và giám sát việc sử dụng tài nguyên. Có hai hƣớng tiếp cận để quyết định tài nguyên nào là sẵn sàng:
Dựa trên đ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 liệu tài nguyên nào là khả dụng. Ƣu điểm của hƣớng tiếp cận này là tối ƣu hóa việc sử dụng mạng cho dù nó không thể đảm bảo chặt chẽ các cam kết tài nguyên.
Dựa theo tham số: điều khiển chấp nhận sẽ tính toán các tài nguyên khả dụng dựa trên các chỉ tiêu kỹ thuật của yêu cầu dành trƣớc tài nguyên hiện tại.
Nhận dạng luồng: RSVP sử dụng 5 trƣờng trong tiêu đề gói IP để nhận dạng
các gói tin thuộc về các luồng 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, cổng nguồn, cổng đích, giao thức chuyển vận.
Lập lịch gói tin: Là bƣớc cuối cùng trong việc dành trƣớc tài nguyên. Bộ lập
Mạng IntServ điển hình chứa bộ định tuyến biên và định tuyến lõi. Trƣớc khi bắt đầu truyền dữ liệu của một luồng IP vi mô, đầu gửi thông báo một số số liệu liên quan tới lƣu lƣợng sẽ đƣợc chuyển cho bộ định tuyến biên (tốc độ gửi lƣu lƣợng trung bình của đầu gửi, độ lớn cho phép của những cụm bùng phát lƣu lƣợng). Bên cạnh đó, đầu gửi cũng gửi cho bộ định tuyến biên yêu cầu QoS của luồng IP. Những số liệu lƣu lƣợng và QoS sẽ đƣợc bộ định tuyến biên sử dụng để tính ra dung lƣợng cần thiết cho luồng IP đang quan tâm. Sau đó giao thức báo hiệu dành trƣớc tài nguyên RSVP - giao thức dành trƣớc tài nguyên - sẽ làm nhiệm vụ xác định đƣờng định tuyến (kết hợp với giao thức định tuyến cài đặt tại các bộ định tuyến) và chiếm giữ dung lƣợng dọc đƣờng truyền cho luồng IP.
Xây dựng đƣờng định tuyến đƣợc thực hiện với gói tin PATH của giao thức RSVP. Sự chiếm giữ dung lƣợng, theo tính chất hoạt động của RSVP, đƣợc thực hiện với tin RESV, bắt đầu từ bộ định tuyến biên đầu nhận và chạy ngƣợc trở lại dọc theo đƣờng truyền cho tới bộ định tuyến biên đầu gửi.
Nếu sự chiếm giữ dung lƣợng tại tất cả các bộ định tuyến dọc đƣờng truyền đều thành công, các gói của luồng IP bắt đầu đƣợc truyền tải từ đầu gửi đến đầu nhận. Trƣờng hợp bất kỳ một liên kết nào dọc đƣờng truyền không có đủ dung lƣợng cần thiết, quá trình chiếm giữ sẽ bị ngừng và thông tin về sự chiếm giữ không thành công sẽ đƣợc chuyển đến đầu gửi bằng một tin riêng của RSVP. Luồng IP vi mô sẽ bị chặn không đƣợc phục vụ.
Để thực hiện quá trình chiếm giữ dung lƣợng và kiểm tra trạng thái chiếm giữ liên qua tới từng luồng IP vi mô, mỗi bộ định tuyến trong cơ chế IntServ cần phải lƣu trữ tất cả các dữ liệu về đặc tính cập nhật của tất cả các luồng gói vi mô đang tồn tại trong mạng. Đồng thời tất cả các bộ định tuyến phải có chức năng hoạt động đƣợc cùng với giao thức RSVP.
Thực tế là một bộ định tuyến bình thƣờng trong mạng IP ngày nay phải xử lý cùng một lúc số lƣợng rất lớn các luồng IP vi mô và con số này có thể lên tới vài trăm nghìn, thậm chí hàng triệu. Do đó, mặc dù với ƣu điểm của mô hình IntServ là đảm bảo chặt chẽ các yêu cầu QoS của từng luồng IP vi mô thì mô hình này cũng tồn tại nhƣợc điểm lớn căn bản là không có tính mở rộng cao.
Việc lƣu trữ, truyền tải và xử lý thông tin cho từng luồng IP vi mô tạo ra một lƣu lƣợng báo hiệu khổng lồ, làm giảm đáng kể hiệu suất hoạt động của bộ định tuyến. Nhƣợc điểm này lý giải vì sao mô hình IntServ chỉ có tính khả thi trong các mạng có tầm bao phủ nhỏ. Hiện nay, mạng IP trải rộng khắp toàn cầu nhƣ mạng Internet, trông đợi sự đầu tƣ và đƣa vào hoạt động phổ biến của cấu trúc IntServ là không thực tế.