QoS: Phân loại và đánh dấu
Các trường có thể đánh dấu cho mục đích QoS
Các IP header, LAN trunking header, Framerelay header và ATM cell header đều có ít nhất một trường có thể được dùng cho tiến trình đánh dấu QoS. Phần này sẽ liệt kê ra các trường này, trong đó sẽ tập trung vào IP header, IP Precedence và DSCP.
So sánh IP Precedence và DSCP
RFC791 mô tả định dạng của IP header, bao gồm một trường 10byte được gọi là ToS. Trường ToS này dự định được dùng như một trường đánh dấu một gói tin để các công cụ QoS có thể xử lý. Giá trị ToS được chia ra thành các trường con, với 3 bit cao được định nghĩa như IP Precedence (IPP). Danh sách đầy đủ của các giá trị ToS và IPP được liệt kê trong bảng dưới đây:
Vị trí bit 3 đến bit 6 của ToS bao gồm các trường được được bật on hay off để chỉ ra một mức dịch vụ đặc biệt. Bit cuối cùng (bit 7) không được định nghĩa trong RFC791. Các cờ không được dùng thường xuyên, vì vậy mục đích chính của ToS là để lưu giữ các giá trị độ ưu tiên của gói tin IP.
Một loạt các RFC được gọi là Differentiated Services (DiffServ) ra đời sau. DiffServ cần nhiều hơn 3bit để đánh dấu gói tin, vì vậy DiffServ chuẩn hóa một định nghĩa lại của byte ToS. Byte ToS được đặt tên là trường Differentiated Services (DS) và IPP được thay thế bằng một trường có độ dài 6bit được gọi là Differentiated Services Code Point (DSCP).
Sau đó, RFC 3168 định nghĩa hai bit thứ tự thấp của DS để dùng với thuộc tính Explicit Congestion Notification (ECN). Hình dưới đây mô tả định dạng của giá trị ToS trước và sau khi có định nghĩa DiffServ.
Các công cụ đánh dấu và phân loại C&M thường đánh dấu trường DSCP hoặc IPP bởi vì các gói tin được bảo toàn khi nó được truyền trên mạng. Có một khả năng đánh dấu khác nằm bên trong L2, có nghĩa là thông tin đánh dấu này không được quan tâm nếu nó được truyền đi bởi một tiến trình L3. Như vậy, việc đánh dấu ở mức 2 không thể được triển khai nếu lưu lượng đi xa hơn một hop.
Thiết lập các giá trị DSCP và các thuật ngữ
Có vài DiffServ RFC đề xuất một vài giá trị được dùng trong trường DSCP và các ý nghĩa ngầm định cho những giá trị này. Ví dụ RFC2598 định nghĩa giá trị DSCP bằng 46, với tên là Expedited Forwarding (EF). Theo RFC đó, các gói tin được đánh dấu như EF sẽ được đưa vào hàng đợi ưu tiên sao cho gói tin sẽ bị độ trễ tối thiểu. Nhưng gói tin sẽ chịu những chính sách sao cho lưu lượng của nó không chiếm hết đường truyền và ngăn ngừa những loại lưu lượng khác được truyền khi cổng của router đạt mức ngưỡng. Những giá trị này và các trạng thái QoS được khuyến cáo tương ứng cho từng trạng thái được gọi là trạng thái theo từng chặng Per-Hop Behaviors (PHBs) dùng DSCP. Trong ví dụ vừa nêu trước đây, trạng thái được gọi là EF PHB.
Class Selector PHB và giá trị DSCP
Thông số IPP bị chồng lấp với ba bit đầu tiên của trường DSCP bởi vì các trường DS chỉ đơn giản là một cách diễn dịch khác của giá trị DSCP ban đầu. Do có sự chồng lấp này, RFC 2475 định nghĩa một tập hợp các giá trị DSCP và PHBs, được gọi là Class Selector (CS) PHBs, trong đó cung cấp các tính tương thích ngược với thông số IPP. Một công cụ đánh dấu và phân loại C&M có thể gán giá trị DSCP và nếu một router khác chỉ xem giá trị IPP, router đó vẫn có thể diễn dịch được giá trị IPP của gói tin. Bảng dưới đây liệt kê các trường của CS DSCP, tên, giá trị và các tên, giá trị tương ứng bên IPP.
Bên cạnh việc định nghĩa tám giá trị DSCP và các tên của nó, cơ chế xử lý theo từng trạm CS PHB cũng đề xuất một tập hợp của các hành động QoS nên được thực hiện trên các giá trị CS này. Cơ chế này chỉ ra rằng các gói tin với giá trị CS DSCP lớn hơn phải được dùng các hàng đợi ưu tiên hơn các gói tin với giá trị DSCP thấp hơn. Cả hai thuật ngữ “CS0” và “Default”đều ám chỉ đến giá trị nhị phân 000000 nhưng phần lớn các lệnh của Cisco IOS chỉ cho phép từ khóa default để đại diện cho giá trị này.
Trạng thái Assured Forwarding PHB và giá trị DSCP
Trạng thái đảm bảo truyền Assured Forwarding (AF) PHB (RFC 2597) định nghĩa bốn nhóm lưu lượng cho mục đích xếp hàng, cùng với ba mức khác nhau về khả năng bị loại bỏ bên trong từng hàng đợi. Để đánh dấu các gói tin và đẩy các gói vào hàng đợi, trạng thái AF PHB định nghĩa 12 giá trị DSCP khác nhau và các ý nghĩa của nó. Tên của các các trạng thái AF DSCP tuân theo dạng sau: AFxy.
Trong đó x ngầm định chỉ đến một trong bốn hàng đợi (giá trị từ 1 đến 4) và y chỉ ra một trong ba giá trị ưu tiên loại bỏ gói tin (giá trị từ 1 đến 3). Trạng thái AF PHB đề xuất rằng giá trị x càng cao trong công thức Afxy, gói tin sẽ được xếp vào hàng đợi tốt hơn. Ví dụ, gói tin với giá trị AF11 DSCP sẽ được đưa vào hàng đợi kém hơn gói tin có giá trị DSCP là AF23. Thêm vào đó, giá trị y càng cao trong công thức Afxy, gói tin càng có nguy cơ bị loại bỏ càng cao. Ví dụ gói tin có DSCP AF11 sẽ ít nguy cơ bị loại bỏ hơn gói tin có DSCP AF23. Bảng dưới đây chỉ ra tên của giá trị DSCP, các nhóm hàng đợi và trạng thái loại bỏ mặc định.
Các tên của trạng thái AF PHB không phải tuân theo nguyên tắc “càng lớn càng tốt”. Ví dụ AF11 tượng trưng giá trị thập phân là 10 và tên AF13 tượng trưng giá trị DSCP thập phân là 14. Tuy nhiên, AF11 thì tốt hơn AF13 bởi vì AF11 và AF13 là trong cùng một nhóm hàng đợi, nhưng AF11 có khả năng bị loại bỏ thấp hơn so với AF13. Trong dạng hiển thị nhị phân, ba bit đầu tiên của giá trị chỉ ra nhóm hàng đợi (từ bit 0 đến bit 2) và hai giá trị bit kế tiếp (bit 3 và 4) chỉ ra độ ưu tiên loại bỏ gói tin. Kết quả là, các công cụ hàng đợi hoạt động chỉ trên IPP vẫn có thể phản ứng với các giá trị AF DSCP, làm cho các giá trị DSCP tương thích một cách cơ bản với các hệ thống mạng non-Diffserv. Để chuyển đổi từ dạng AF sang dạng tương đương thập phân, ta có thể dùng công thức đơn giản. Nếu giá trị AF có dạng AFxy thì công thức tính giá trị thập phân là
Giá trị thập phân = 8x + 2y
Ví dụ giá trị AF41 sẽ tương đương với (8 * 4) + (2 * 1) = 34.
(còn tiếp)
Comment