Tại mỗi nút mạng, các thực thể có vài hoặc tất cả các phân hệ chức năng như mô tả trong Hình 2-2:
Buffer management Congestion control Packet marking Queuing & scheduling Traffic sharping Traffic policing Traffic classifiction Data plane Admission control QoS routing Resource reservation Control plane Metering Policy Traffic retoration SLA Management plane
Hình 2-2. Mô hình chức năng QoS trên mạng FMC
Mô hình chức năng QoS gồm 3 mặt phẳng: mặt phẳng điều khiển (control plane), mặt phẳng dữ liệu (data plane), mặt phẳng quản lý (management plane).
Mặt phẳng điều khiển: mặt phẳng này chứa đựng các cơ chế liên quan đến
thiết lập, cấp phát tài nguyên, giám sát các tuyến đường truyền cho dữ liệu khách hàng. Mặt phẳng điều khiển gồm 3 khối chức năng cơ bản: điều khiển quản trị (admission control), định tuyến QoS (QoS routing) và dành trước tài nguyên (resource reservation). Hình 2-3 thể hiện lưu đồ xử lý QoS trong mặt phẳng điều khiển.
o Yêu cầu truyền dữ liệu được kích hoạt bởi các ứng dụng (Ví dụ một
cuộc gọi video phone). Trước tiên yêu cầu này sẽ được ánh xạ sang lớp dịch vụ (CoS) và được kiểm tra về tính hợp lệ của yêu cầu thông qua việc xác thực (admission control).
o Nếu yêu cầu được chấp nhận, quá trình định tuyến (routing) được tiến
hành, nút mạng sẽ phải tính toán đường đi phù hợp với yêu cầu của dịch vụ. Khác với các dịch vụ “cố gắng tối đa” (best effort), các dịch vụ thời gian thực rất nhạy cảm với trễ, rung pha…Do vậy, không thể sử dụng định tuyến best-effort như trên mạng IP hiện nay mà cần đến định tuyến QoS - định tuyến trên cơ sở các ràng buộc QoS.
oSau quá trình định tuyến QoS là việc dành trước tài nguyên cho luồng
Admission Control (Quản trị/xác thực)
Routing (Định tuyến)
Reservation (Dành trước tài nguyên)
1
2
3 4
5 6
Yêu cầu kết nối
Các tham số QoS nguồn và đích
Tuyến khả thi Kết quả Reservation
Kết quả
Đáp ứng yêu cầu kết nối
Hình 2-3. Lƣu đồ xử lý về QoS trong mặt phẳng điều khiển
Mặt phẳng dữ liệu: mặt phẳng dữ liệu chứa đựng các cơ chế liên quan trực
tiếp đến luồng dữ liệu khách hàng, những cơ chế ở đây bao gồm: quản lý bộ đệm (buffer management), tránh tắc nghẽn (congesion avoidance), packet marking, xếp hàng (queuing), đánh lịch (scheduling), phân lớp dữ liệu (traffic classifiction), chính sách lưu lượng (traffic policing) và trafic shaping:
o Quản lý bộ đệm (hoặc hàng đợi): chức năng này xử lý việc đợi
phát, lưu gói hoặc huỷ gói tin. Mục tiêu chính của việc quản lý hàng đợi là giảm thiểu các không gian cần cho hàng đợi cũng như phòng ngừa trường hợp một hàng đợi của luồng đơn nào đó chiếm hết không gian của các hàng đợi khác. Các cơ chế quản lý hàng đợi khác nhau chính ở chỗ khi nào thì loại bỏ gói tin, gói tin nào sẽ bị loại bỏ (ví dụ đầu hay cuối hàng đợi).
o Tránh tắc nghẽn: chức năng này giám sát và điều khiển tải của
mạng ở dưới mức ngưỡng về năng lực xử lý. Việc này được thực hiện bằng việc yêu cầu phía gửi giảm lưu lượng đến khi nghẽn xảy ra hay chuẩn bị xảy ra, cơ chế cửa số thường được sử dụng ở đây (ví dụ trong giao thức TCP).
o Đánh dấu gói: chức năng này thực hiện việc ánh xạ các gói tin vào
các lớp dịch vụ căn cứ vào yêu cầu QoS của dịch vụ, đánh dấu gói gán các mã nhận dạng gói tin vào mào đầu của gói, việc này thường được thực hiện ở các node biên, ví dụ: gán code point khi gói tin đi vào một vùng mạng DiffServ. Nếu việc này được thực hiện bởi host
thì thông số này có thể được kiểm tra và thay đổi bởi các node biên căn cứ trên sự thoả thuận dịch vụ SLA hoặc các chính sách cục bộ.
o Xếp hàng và đánh lịch: chức năng này xử lý việc lựa chọn các gói
phát đi, nguyên tắc cơ bản của xếp hàng là FIFO (gói vào trước thì ra trước), với cách này các gói được đối xử như nhau. Tuy nhiên để việc đối xử với các loại gói khác nhau một cách linh hoạt hơn, công bằng hơn một số kiểu hàng đợi khác nhau được sử dụng thay vì một hàng đợi duy nhất: (1) Hàng đợi công bằng (fair queuing): các gói được phân lớp vào các luồng và gán vào các hàng đợi tương ứng, hàng đợi sau đó được đánh lịch chuyển đi theo kiểu round-robin; (2) Hàng đợi ưu tiên (Priority queuing): các gói được phân lớp sau đó được đặt vào các hàng đợi có độ ưu tiên khác nhau, gói được đánh lịch phát từ đầu một queu nào đó chỉ khi những hàng đợi có ưu tiên cao hơn đã được phát hết; (3) Weighted fair queuing: các gói được phân lớp thành các luồng và gán vào các hàng đợi ứng với các luồng, mỗi hàng đợi được gán một số phần trăm của băng thông hướng ra theo băng thông cần của luồng tương ứng, với sự phân biệt theo độ dài các gói tin, cách tiếp cận này tránh được trường hợp các luồng với các gói tin lớn chiếm nhiều băng thông hơn các luồng có kích thước gói tin nhỏ hơn; (4) Class-based queuing: các gói được phân lớp thành các lớp dịch vụ và sau đó gán vào hàng đợi tương ứng với lớp dịch vụ, mỗi hàng đợi được gán một số phần trăm của băng thông của hướng ra và được đánh lịch theo kiểu round-robin.
o Phân lớp lưu lượng: tại miền biên của mạng, chức năng này phân
lớp lưu lượng căn cứ vào một số thông tin trên trường mào đầu của gói bao gồm địa chỉ nguồn, đích, port nguồn, port đích, loại giao thức, code point trong DiffServ .. để xác định gói thuộc lớp nào để có các xử lý thích hợp.
o Sắp xếp lưu lượng (traffic sharping): điều khiển tốc độ và lưu lượng
gói tin vào và ra khỏi một nút mạng để tránh hiện tượng bùng nổ (bursty) và dễ kiểm soát hơn. Ở đây nguời ta thường sử dụng hai kỹ thuật là thùng rò (leaky bucket) và thùng thẻ (token bucket).
Mặt phẳng quản lý: mặt phẳng quản lý chứa đựng khối chức năng liên
quan đến các khía cạnh quản lý luồng dữ liệu bao gồm: định lượng (metering), thoả thuận dịch vụ (SLA) và khôi phục luồng dữ liệu (traffic restoration).
Hình 2-4 thể hiện mô hình QoS trong mặt phẳng quản lý.
Hình 2-4. Mô hình về QoS trong mặt phẳng quản lý
o Định lượng: giám sát các thông số hiện thời của luồng dữ liệu
khách hàng và so sánh với mức được thoả thuận về dịch vụ, tuỳ theo mức độ tuân thủ, chức năng này có những hành động thích hợp (droping hay sharpinp).
o Thỏa thuận dịch vụ: là sự thoả thuận về dịch vụ giữa khách hàng và
nhà cung cấp dịch vụ về các yêu cầu của dịch vụ mà khách hàng muốn sử dụng (chất lượng dịch vụ: băng thông, tính sẵn sàng, giá thành...). Các tham số tổng quát trong SLA được định nghĩa trong khuyến nghị Y.1540 của ITU hoặc các tài liệu kỹ thuật của Intserv và Diffserv (sẽ được xem xét sau).
o Khôi phục luồng dữ liệu: thực hiện chức năng khôi phục các luồng
dữ liệu khi mạng có sự cố, sự cố ở đây có thể là sự cố của các phần tử mạng hay các tuyến kết nối trong mạng.