Nếu trƣờng tổng kiểm tra độ dài chứa toàn bộ giá trị 0, điều đó thể hiện không cần kiểm tra các dữ liệu truyền đi. Độ dài bản tin RSVP bao gồm cả tiêu đề và các đối tƣợng trong bản tin. RSVP định nghĩa các kiểu bản tin sắp xếp theo thứ tự kiểu bản tin:
1. Path - Sử dụng để yêu cầu tài nguyên dành trƣớc.
2. Resv - Gửi đáp ứng bản tin đƣờng để thiết lập và duy trì dự trữ tài nguyên. 3. PathTear - Sử dụng để xoá dự trữ tài nguyên khỏi mạng theo hƣớng đi. 4. ResvTear - Sử dụng để xoá bỏ tài nguyên khỏi mạng theo hƣớng về. 5. PathErr - Thông báo lỗi bản tin PATH.
6. ResvErr - Thông báo lỗi bản tin RESV.
7. ResvConf - Là một bản tin tuỳ chọn, gửi ngƣợc lại tới phía gửi của bản tin Resv để xác nhận rằng tài nguyên dự trữ xác định thực sự đã đƣợc cài đặt.
8. ResvTearConf - Sử dụng để xác nhận dự trữ tài nguyên xác định đã bị xoá khỏi mạng.
Khuôn dạng đối tƣợng RSVP đƣợc chỉ ra trên hình 3.4 dƣới đây gồm 32 bit tiêu đề đối tƣợng và các nội dung đối tƣợng có độ dài thay đổỉ. Một đối tƣợng độ dài có 32 bit định nghĩa độ dài tối đa cho phép của đối tƣợng RSVP là 65,528 byte. Các đối tƣợng RSVP đƣợc tổ chức thành lớp đối tƣợng và kiểu đối tƣợng
Hình 3.4. Khuôn dạng bản tin đối tượng RSVP
Trƣờng chức năng “Class Num” định nghĩa lớp đối tƣợng và trƣờng chức năng “C-Type” định nghĩa đối tƣợng trong lớp. Các trƣờng chức năng này tổ chức thành một cặp để mô tả các đối tƣợng trong RSVP. Các lớp đối tƣợng sau đƣợc định nghĩa trong RFC 2205:
NULL - Mô tả trạng thái của phiên. SESSION - Mô tả phiên.
RSVP_HOP - Thể hiện các bƣớc nhảy của bản tin RSVP. TIME_VALUE - Mô tả giá trị thời gian chuyển tin. STYLE - Mô tả kiểu bản tin.
FLOWSPEC - Mô tả đặc tính luồng. FILTER_SPEC - Mô tả đặc tính bộ lọc.
SENDER_TEMPLATE - Mô tả khuôn dạng gói của đối tƣợng gửi.
Đối tƣợng FLOWSPEC chứa các tham số điều khiển lƣu lƣợng gồm: tốc độ gáo rò token; kích thƣớc gáo rò token, tốc độ đỉnh
Đối tƣợng kiểu bản tin (STYLE) đƣợc đặt trong “Class num=8”, lớp này chỉ có một đối tƣợng với C type -1. Đối tƣợng kiểu định nghĩa các kiểu dành trƣớc tài nguyên.
Hình 3.5. Khuôn dạng đối tượng kiểu
Hình 3.5 chỉ ra khuôn dạng của đối tƣợng kiểu, kiểu dành trƣớc tài nguyên đƣợc định nghĩa bởi 5 bit cuối cùng. Trong đó, 2 bit đầu định nghĩa kiểu điều khiển chia
sẻ tài nguyên và 3 bit điều khiển lựa chọn máy gửi. Ý nghĩa của các bit đƣợc thể hiện trong bảng 3.2 và bảng 3.3
Bảng 3.2. Các bit sử dụng cho điều khiển chia sẻ
XX bit Điều khiển chia sẻ
00 Dự phòng
01 Tài nguyên phân biệt 10 Tài nguyên chia sẻ 11 Dự phòng
Bảng 3.3. Các bít sử dụng cho điều khiển lựa chọn máy gửi
YYY bit Điều khiển lựa chọn máy gửi
000 Dự phòng
001 Lựa chọn Wildcard
010 Lựa chọn tƣờng minh
011-111 Dự phòng
Bản tin PATH mô tả thông tin phiên truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích, cùng với một số đặc tính của đƣờng đi đƣợc phản ánh trong các đối tƣợng RSVP_HOP và TIME_VALUE. Khuôn dạng của gói tin sẽ đƣợc chuyển đi tƣơng thích với các kiểu lọc đƣợc mô tả trong đối tƣợng SENDER_TEMPLATE, các đặc tính luồng của các ứng dụng từ máy gửi đƣợc mô tả trong đối tƣợng SENDER_TSPEC. Cấu trúc bản tin PATH đƣợc trình bày ở Hình 3.6 (a).
Hình 3.6 (b) mô tả cấu trúc chung của bản tin RESV, các đối tƣợng của bản tin RESV nhằm xác nhận và sửa đổi một số yêu cầu của bản tin PATH cho phù hợp với hiện trạng thực tế của mạng.
3.1.2.4 Trạng thái mềm
Phần lớn mạng IP sử dụng các giao thức linh hoạt, giống nhƣ nhiều giao thức định tuyến đƣợc sử dụng để duy trì các bảng định tuyến tại các Router. Lƣu lƣợng sẽ đƣợc định tuyến lại nếu nhƣ liên kết bị sự cố. Giao thức RSVP dựa vào bảng định tuyến và nếu nhƣ bảng định tuyến thay đổi, tuyến luồng dữ liệu sẽ thay đổi và dẫn đến việc dành trƣớc tài nguyên cũng thay đổi.
Giao thức RSVP sử dụng khái niệm trạng thái mềm để điều khiển sự thay đổi trên mạng. Trạng thái mềm RSVP đƣợc tạo ra và đƣợc làm mới lại theo chu kì bằng các bản tin PATH và RESV. Trạng thái này bị xóa nếu nhƣ không có các bản tin làm mới đến trƣớc khoảng ngƣỡng thời gian “xóa”. Trạng thái giữ trƣớc tài nguyên cũng có thể bị xóa bằng bản tin “giải phóng” sau khi khoảng ngƣỡng thời gian “làm mới lại” trôi qua và trạng thái thay đổi. RSVP quét trạng thái của nó để kiến tạo và chuyển các bản tin PATH và RESV mới tới chặng tiếp theo.
RSVP gửi các bản tin của nó giống nhƣ các IP datagram mà không có sự cải tiến về độ tin cậy. Việc truyền tin theo chu kì của các bản tin đƣợc làm mới từ Host và Router có thể hạn chế đƣợc tổn thất của bản tin RSVP. Cơ chế điều khiển lƣu lƣợng mạng phải đƣợc đặt cấu hình cố định để cung cấp một số băng thông tối thiểu cho các bản tin RSVP nhằm bảo vệ các bản tin khỏi nghẽn.
Bản tin “giải phóng” của RSVP xóa tuyến hoặc xóa trạng thái giữ trƣớc tài nguyên ngay lập tức. Có hai loại bản tin giải phóng RSVP là giải phóng Tuyến (Pathtear) và giải phóng Dành trƣớc Tài nguyên (Resvtear).
3.1.2.5 Tổng kết về giao thức RSVP
Giao thức RSVP có các thuộc tính sau đây:
RSVP giữ trƣớc tài nguyên cho cả các ứng dụng đơn hƣớng và đa hƣớng, tƣơng thích linh hoạt với các tuyến thay đổi;
RSVP là đơn công, nghĩa là nó tạo giữ trƣớc tài nguyên cho các luồng dữ liệu đơn hƣớng;
RSVP là cơ chế hƣớng về phía nhận, nghĩa là phía nhận dữ liệu khởi tạo và duy trì giữ trƣớc tài nguyên sử dụng cho luồng dữ liệu đó;
RSVP duy trì “trạng thái mềm” tại Router và Host, hỗ trợ cho sự thay đổi linh hoạt về định tuyến;
RSVP chuyển tải và duy trì các tham số điều khiển lƣu lƣợng và điều khiển chính sách;
RSVP cung cấp một số mô hình giữ trƣớc tài nguyên để tƣơng thích với các ứng dụng khác nhau;
RSVP hoạt động trong suốt với các router không hỗ trợ nó; RSVP hỗ trợ cho cả các giao thức IPv4 và IPv6.
3.1.2.6 RSVP và IntServ
RSVP gần đồng nhất với IntServ [7], [23], vì hiện tại nó mới chỉ chuyển tải các tham số IntServ đƣợc chuẩn hóa. RSVP hỗ trợ hai loại dịch vụ mô hình IntServ đƣa ra là dịch vụ tải có điều khiển và dịch vụ cam kết.
3.1.2.6.1 Dịch vụ tải có điều khiển
Các đối tƣợng xuất hiện trong bản tin PATH cho dịch vụ tải có điều khiển đƣợc mô tả sau đây:
Bảng 3.4. Các tham số của các đối tượng CL khác nhau
Đối tượng RSVP Tham số Mô tả Các đơn vị
Mẫu gửi
Địa chỉ đích Địa chỉ IP đơn hƣớng/đa hƣớng - Cổng IP Giao thức IP nhƣ UDP hoặc TCP -
Cổng đích Số cổng đích -
Đặc tính lƣu lƣợng phía gửi (Sender Tspec)
R Tốc độ gầu thẻ bài Byte/giây
B Kích thƣớc gầu thẻ bài Bytes
P Tốc độ đỉnh Byte/giây
m Đơn vị kiểm tra tối đa Bytes
M Kích thƣớc gói tối đa Bytes
Các đối tƣợng RSVP trong các bản tin RESV giống nhƣ các đối tƣợng trong bản tin PATH, nhƣng giá trị của các tham số có thể khác. Dịch vụ tải có điều khiển (CL) không sử dụng Rspec trong các bản tin RESV.
Ba tham số đầu trong Tspec dùng để điều khiển thu nhận và kiểm soát.
3.1.2.6.2 Dịch vụ cam kết
Các đối tƣợng đƣợc xác định khi yêu cầu dịch vụ cam kết đƣợc đƣa ra nhƣ dƣới đây. Chúng giống nhƣ dịch vụ tải có điều khiển và bổ sung thêm tham số Rspec.
Bảng 3.5. Các tham số của dịch vụ cam kết Rspec
Đối tượng RSVP Tham số Mô tả Đơn vị
Rspec R Tốc độ Byte/giâp
S Stack term Ms
Ở đây, r liên quan tới đặc tính của lƣu lƣợng còn R liên quan tới đặc tính của dành trƣớc tài nguyên. Bằng cách chọn R>r chúng ta sẽ giảm đƣợc trễ hàng đợi. Tham số S biểu thị sự khác nhau giữa trễ mong muốn và trễ có đƣợc từ việc sử dụng dành trƣớc thời gian.
3.2 MÔ HÌNH DỊCH VỤ PHÂN BIỆT - DIFFSERV 3.2.1 Tổng quan về mô hình DiffServ 3.2.1 Tổng quan về mô hình DiffServ
Trong phiên họp tháng 8 năm 1997, nhóm IETF đã đề xuất mô hình DiffServ [21] nhƣ một giải pháp QoS có tính khả thi cao hơn và xác định rõ yêu cầu cho dịch vụ phân biệt (DiffServ) với việc phát triển các chuẩn cho phƣơng pháp này.
Mô hình dịch vụ phân biệt DiffServ thừa nhận một khía cạnh trái ngƣợc với IntServ. Vấn đề tồn tại của IntServ là các nguồn tài nguyên cần phải đƣợc duy trì trạng thái thông tin theo từng luồng, điều này trở nên khó khả thi đối với mạng có số lƣợng dịch vụ và số lƣợng thiết bị mạng lớn vì bộ định tuyến cần phải xử lý lƣu lƣợng rất lớn trong mạng. Cách tiếp cận của DiffServ không xử lý theo từng luồng lƣu lƣợng riêng biệt mà ghép chúng vào một số lƣợng hạn chế các lớp lƣu lƣợng. DiffServ hƣớng tới xử lý trong từng dịch vụ phân biệt thay vì xử lý từ đầu cuối tới đầu cuối nhƣ mô hình IntServ.
DiffServ định nghĩa một số tham số mà ngƣời sử dụng hiểu rõ cho ứng dụng của họ trong SLA nhƣ thỏa thuận về điều kiện lƣu lƣợng TCA (Traffic Conditioning Agreement), hồ sơ lƣu lƣợng (tham số của gáo rò token), các tham số hiệu năng (thông lƣợng, độ trễ, mất gói), cách thức xử lý các gói tin không phù hợp với thỏa thuận, luật đánh dấu và chia cắt lƣu lƣợng.
Trong mô hình DiffServ, các bộ định tuyến đƣợc chia làm hai loại: các bộ định tuyến biên nằm ở đƣờng vành của tổ chức mạng có chức năng DiffServ; các bộ định tuyến lõi nằm bên trong tổ chức mạng có chức năng DiffServ. Đối với mô hình DiffServ các bộ định tuyến biên làm nhiệm vụ xử lý từng luồng IP vi mô. Các bộ định tuyến lõi thay vì phải xử lý số lƣợng rất lớn các luồng IP nhƣ trong cấu trúc IntServ, chỉ phải xử lý một vài luồng IP tổng. Luồng IP tổng chứa tất cả các gói của các luồng IP vi mô thuộc về cùng một chủng loại.[24]
Mô hình DiffServ tại biên và lõi của mạng đƣợc mô tả cụ thể nhƣ sau:
Hình 3.8. Mô hình DiffServ tại biên và lõi của mạng
Mô hình này bao gồm một số thành phần nhƣ sau:
DS-byte: byte xác định DiffServ là thành phần ToS của IPv4 và trƣờng loại lƣu lƣợng IPv6. Các bit trong byte này thông báo gói tin đƣợc mong đợi nhận đƣợc thuộc dịch vụ nào.
Các thiết bị biên: nằm tại lối vào hay lối ra của mạng cung cấp DiffServ. Các thiết bị bên trong mạng DiffServ
Quản lý cƣỡng bức: các công cụ và nhà quản trị mạng giám sát và đo kiểm đảm bảo SLA giữa mạng và ngƣời dùng.
Cơ chế DiffServ đƣa ra sự phân loại cho 3 loại hình dịch vụ: dịch vụ ƣu tiên, dịch vụ đảm bảo, dịch vụ ứng biến theo khả năng tối đa (dịch vụ đƣợc cung cấp bởi mạng Internet hiện nay). Đối với mỗi loại dịch vụ, DiffServ định nghĩa cách thức xử lý các gói IP tại các bộ định tuyến lõi. Gói IP của dịch vụ ƣu tiên nhận đƣợc cách xử lý chuyển tiếp nhanh (EF-PHB - Expedited Forwarding-Per Hop Behaviour), đối với gói IP của dịch vụ đảm bảo nhận đƣợc cách xử lý chuyển tiếp đảm bảo (AF-PHB - Assured Forwarding-Per Hop Behaviour).
Nguyên lý hoạt động của DiffServ:
Khi bắt đầu đi vào mạng DiffServ tại bộ định tuyến biên, gói tin IP sẽ đƣợc phân loại. Bộ định tuyến biên thực hiện việc phân loại bằng cách kiểm tra mã DSCP (DiffServ Code Point) chứa chủng loại dịch vụ nằm trong phần đầu gói cùng với một số dữ liệu khác liên quan tới luồng vi mô của gói IP (địa chỉ đầu gửi, địa chỉ đầu nhận).
Các gói tin đến bộ định tuyến có thể đã đƣợc đánh dấu hoặc chƣa đánh dấu, bộ định tuyến xác định điểm mã điều khiển dịch vụ DSCP của gói tin và phân loại các gói tin theo phƣơng pháp phân loại kết hợp hành vi BA. Các gói tin phân loại thành các lớp BA đƣợc chuyển tiếp theo hành vi từng bƣớc PHB (Per Hop Behavior) đƣợc định nghĩa trƣớc cho các BA. Mỗi PHB đƣợc thể hiện bởi giá trị DSCP và xử lý giống nhau đối với các gói tin trong cùng lớp BA.
Hình 3.9. Mô hình các bước dịch vụ phân biệt DiffServ
Sau khi chủng loại của gói IP đƣợc xác định, bộ định tuyến biên sẽ áp dụng một số giải pháp điều chỉnh tiếp theo cho gói tin nếu cần thiết. Tùy thuộc vào mức độ tuân thủ cụ thể của gói IP và mức độ chặt chẽ của DiffServ, giải pháp đƣợc bộ định tuyến biên sử dụng có thể là đánh dấu gói, điều chỉnh gói (loại bỏ gói hoặc làm trễ gói một thời gian nhất định trƣớc khi chuyển tiếp).
Bộ định tuyến lõi có nhiệm vụ kiểm tra chủng loại của gói IP và chuyển tiếp gói tin IP theo cách gói tin đó đƣợc nhận, bao gồm định tuyến cho gói, hoặc xếp gói vào bộ đệm thích hợp nếu cần thiết.
Mặc dù đã khắc phục đƣợc nhƣợc điểm về tính áp dụng rộng của IntServ nhƣng mô hình DiffServ chỉ có khả năng đảm bảo QoS cho luồng IP tổng. Hiện nay, mô hình DiffServ vẫn chƣa đƣợc các nhà cung cấp dịch vụ triển khai trong mạng của họ cũng bởi nguyên nhân là sự cần thiết phải đầu tƣ nâng cấp mạng, thiếu động lực triển khai do tính tiện lợi của cung ứng thừa dung lƣợng cũng lý giải cho hiện trạng này.
3.2.2 Miền dịch vụ phân biệt và điểm mã dịch vụ phân biệt
Một miền dịch vụ phân biệt DS gồm các nút DS (còn gọi là các bộ định tuyến hỗ trợ cơ chế dịch vụ phân biệt) hoạt động với một chính sách cung cấp dịch vụ chung và thiết lập các nhóm PHB đƣợc thực hiện trên mỗi nút. Các nút biên DS trong miền DS phân loại và điều khiển lƣu lƣợng đầu vào để đảm bảo các gói đi qua miền đƣợc đánh dấu thích hợp để lựa chọn một PHB từ một nhóm các PHB đƣợc hỗ trợ trong phạm vi miền. Các nút trong miền DS lựa chọn ứng xử chuyển tiếp cho các gói dựa trên điểm mã dịch vụ DSCP của chúng, sắp xếp vào một trong các PHB theo yêu cầu. Việc quản trị một miền phải đảm bảo tin cậy để đảm bảo rằng các nguồn tài nguyên tƣơng xứng đƣợc cung cấp và đƣợc dự trữ để hỗ trợ các SLA yêu cầu.
Hình 3.10. Miền dịch vụ phân biệt DS
Các vùng DS có khả năng hỗ trợ các miền DS dọc theo đƣờng định tuyến nối các miền trong vùng. Các miền DS trong vùng DS có thể hỗ trợ nội bộ trong các nhóm PHB khác nhau và các điểm mã khác nhau để sắp xếp PHB. Tuy nhiên, việc cho phép các dịch vụ nối ngang qua miền, các miền DS ngang hàng phải thiết lập mỗi miền một SLA ngang hàng chứa thoả thuận lƣu lƣợng TCA phù hợp.
Các bộ định tuyến hoạt động trong miền DS sử dụng trƣờng chức năng dịch vụ phân biệt DS để đánh dấu gói. Trong 8 bit của trƣờng DS, 6 bit đƣợc sử dụng cho điểm mã dịch vụ phân biệt DSCP và 2 bit dự phòng.
Hình 3.11. Cấu trúc của trường phân biệt dịch vụ DS
Các điểm mã dịch vụ phân biệt DSCP đƣợc phân thành 3 khối gọi là các pool. Bảng 3.6 chỉ ra các khối điểm mã dịch vụ phân biệt DSCP:
Bảng 3.6. Các khối điểm mã dịch vụ phân biệt DSCP
Pool Điểm mã DSCP Ứng dụng
1 XXXXX0 Tiêu chuẩn
2 XXXX11 Thử nghiệm/nội bộ
3 XXXX01 Thử nghiệm/nội bộ
Pool 1 gồm các điểm mã DSCP sử dụng cho toàn cầu, pool 2 và pool 3 sử dụng cho mục đích thử nghiệm và nội bộ miền DS riêng.
Trƣờng chức năng ToS của IPv4
Trƣờng phân lớp dịch vụ TC của IPv6