DiffServ sử dụng trường Kiểu dịch vụ - ToS của header của gói tin IPv4 và trường phân lớp lưu lượng - TC (Traffic Class) của header của IPv6 cho việc đánh dấu các gói tin. Đối với các bộ định tuyến IPv4 và Ipv6 hoạt động trong chế độ thông thường, các trường ToS và TC được sử dụng như đối với các gói tin bình thường khác. Đối với các bộ định tuyến IPv4 và Ipv6 hoạt động trong miền DS, các trường ToS và TC được định nghĩa lại và thay thế bởi trường chức năng dịch vụ phân biệt DS. Như vậy trong tiêu đề gói tin IP không có sự tách rời giữa các trường DS với các trường ToS và TC, chúng đều được sử dụng để đánh dấu gói tin DiffServ.
Đánh dấu gói tin trong bộ định tuyến thông thƣờng
Bảng 3.2. Cấu trúc IPv4
Bảng 3.2 diễn tả cấu trúc của tiêu đề gói tin IPv4. Trong RFC 791 mô tả chi tiết IPv4 bao gồm các trường sau:
Version (4 bit): chỉ phiên bản của giao thức IP đang được dùng. Nếu trường này khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ từ chối và loại bỏ các gói tin này. Bằng cách nhìn vào số phiên bản, Router có thể xác định phần còn lại của Ip Datagram.
IHL (Internet Header Length) (4 bit): Chỉ ra chiều dài của header, mỗi đơn vị là 1 word, mỗi word = 32 bit = 4 byte. Ở đây trường IHL có 4 bit nên có 2^4=16 word = 16 x 4 byte = 64 byte nên chiều dài header tối đa là 64 byte.
ToS (Type of Service) (8 bit): Chỉ ra cách thức xử lý gói dữ liệu, có độ ưu tiên hay không, độ trễ cho phép của gói dữ liệu. Trường này thường được dùng để thực hiện quản lý chất lượng dịch vụ mạng.
Total Length (16 bit): Chỉ ra chiều dài của toàn bộ IP Datagram tính theo byte, bao gồm data và phần header. Do có 16 bit nên tối đa là 2^16=65536 byte = 64 Kb nên chiều dài tối đa của gói tin IP (IP Datagram) là 64Kb.
Indentification (16 bit): Chỉ mã số của 1 IP Datagram, giúp bên nhận có thể ghép các mảnh của một IP Datagram lại với nhau vì IP Datagram phân thành các mảnh thuộc cùng một IP Datagram sẽ có cùng Identifcation.
Flags: Dùng để kiểm soát sự phân đoạn (fragments)
Fragment Offset: Chỉ vị trí của đơn vị dữ liệu gốc được truyền trong phân đoạn.
TTL (Time To Live) (8 bit): Chỉ ra số bước nhảy (hop) mà một gói có thể đi qua. Con số này sẽ giảm đi 1 khi gói tin đi qua 1 router. Khi router nào nhận gói gin thấy TTL đạt tới 0 gói này sẽ bị loại. Đây là giải pháp nhằm ngăn tình trạng lặp vòng vô hạn của gói tin trên mạng.
Protocol (8 bit): Chỉ ra giao thức nào của tầng trên (tầng Transport) sẽ nhận phần data sau khi công đoạn xử lý IP diagram ở tầng Network hoàn tất hoặc chỉ ra giao thức nào của tầng trên gửi segment xuống cho tầng Network đóng gói thành IP Diagram, mỗi giao thức có một mã (TCP: 06; UDP: 17; ICMP: 01…)
Header Checksum (16 bit): Hỗ trợ cho router phát hiện lỗi bit trong khi nhận IP datagram, giúp bảo đảm sự toàn vẹn của IP Header.
Source Address (32 bit): Chỉ ra địa chỉ của thiết bị truyền IP diagram. Destination Address (32 bit): Chỉ ra địa chỉ IP của thiết bị sẽ nhận IP diagram.
IP Opption : Kích thước không cố định, chứa các thông tin tùy chọn như: Time stamp – thời điểm đã đi qua Router, Security – cho phép Router nhận gói dữ liệu không, nếu không thì gói sẽ bị hủy, Record Router – lưu danh sách địa chỉ IP của Router mà gói phải đi qua, Source Router – bắt buộc đi qua router nào đó. Lúc này sẽ không cần dùng bảng định tuyến ở mỗi Router nữa.
Bảng 3.3 chỉ ra cấu trúc của trường ToS. Trong các bộ định tuyến thông thường (không hỗ trợ DiffServ), 8 bit của trường ToS được định nghĩa trong RFC 791 và được diễn tả trong bảng 3.4. Trong bảng 3.3 ba bit đầu tiên (bit 0, 1, 2) của trường ToS là các bit thứ tự ưu tiên IP. Ba bit tiếp theo (bit 3, 4, 5) của trường ToS định nghĩa đặc điểm hiệu năng của các dịch vụ gói tin. Thí dụ RFC 791 chỉ rõ rằng gói tin điều khiển mạng, với 3 bít đầu của trường ToS bằng 111 chỉ được sử dụng với một mạng riêng; và gói tin với 3 bít đầu của trường ToS bằng 110 chỉ được thiết lập bởi người quản trị gateway. Bảng 3.3 chỉ ra các thiết lập cho các bit D, T, R (dữ liệu, thông lượng và độ tin cậy). Hai bit cuối (bit 6, 7) trong trường ToS dự phòng để sử dụng trong tương lai.
Thiết lập Bit Bit D Bit T Bit R
0 Trễ thường Lưu lượng thường Độ tin cậy thường 1 Trễ nhỏ Lưu lượng cao Độ tin cậy cao
Bảng 3.4. Các mức hiệu năng DTR
Bảng 3.5. Tiêu đề gói tin Ipv6
Bảng 3.5 diễn tả cấu trúc của tiêu đề gói tin Ipv6 với trường 8 bit lớp lưu lượng TC (Traffic Class) và 20 trường bit nhãn luồng FL (Flow Label). Cả hai trường này đều liên quan đến QoS. Tuy nhiên trường FL chưa được sử dụng rộng rãi trong các ứng dụng. Trường TC có khả năng tương tự như trường ToS trong tiêu đề IPv4.
Trƣờng DiffServ (DS)
Đối với các bộ định tuyến IPv4 và IPv6 hoạt động trong miền DS, các trường ToS và TC được định nghĩa lại và thay thế bởi trường chức năng dịch vụ phân biệt DS.
Bảng 30-6. Cấu trúc của trường phân biệt dịch vụ DS
Hình 3.8 chỉ ra cấu trúc của trường DS. Trong 8 bit của trường DS, 6 bit sử dụng cho đánh dấu gói tin DiffServ hay còn gọi là mã dịch vụ phân biệt DSCP và 2 bit dự phòng.
Sáu bít trong trường DSCP có thể cung cấp 64 giá trị DSCP khác nhau. RFC 2474 phân chia 64 giá trị DSCP thành 3 nhóm như trong bảng 3.7.
Dải (nhóm) Mã DSCP Ứng dụng
1 xxxxx0 Hoạt động chuẩn 2 xxxx11 Thí nghiệm/nội bộ 3 xxxx01 Thí nghiệm/nội bộ
Bảng 3.7. Các khối giá trị DSCP
Bít cuối cùng của nhóm DSCP thứ nhất được ấn định là bít 0. Năm bít khác của nhóm DSCP này có thể là bít 0 hoặc bít 1. Vì thế, nhóm 1 có 32 giá trị DSCP khác nhau. Nhóm 1 gồm các mã DSCP yêu cầu các hoạt động theo tiêu chuẩn của IETF và được sử dụng cho toàn cầu. Nhóm 2 có 2 bít cuối được ấn định là “11”. 4 bít còn lại được phép nhận các giá trị khác nhau, như vậy tổng cộng có 16 giá trị DSCP thuộc nhóm 2. Nhóm DSCP 2 không yêu cầu các hoạt động tiêu chuẩn và được sử dụng cho thử nghiệm và các mục đích nội bộ. Các gói DiffServ được truyền trong một mạng nội bộ riêng có thể được đánh dấu bởi nhóm DSCP 2, các gói thuộc nhóm này không được nhận dạng bên ngoài mạng nội bộ.
Nhóm DSCP 3 luôn luôn kết thúc với “01”, nhóm này cũng có 16 giá trị DSCP khác nhau như nhóm 2. Nhóm này được dành cho việc thử nghiệm và sử dụng trong mạng nội bộ; tuy nhiên điểm khác biệt so với nhóm 2 là nhóm DSCP 3 có thể sử dụng cho các hoạt động tiêu chuẩn cần thiết.