Giao thức dành trƣớc tài nguyên RSVP là một giao thức thiết lập tài nguyên dự phòng QoS IP, RSVP hỗ trợ cả IPv4 và IPv6 cũng nhƣ ứng dụng cả hai phƣơng thức chuyển phát tin đơn phát và đa phát (Unicast, multicast).
RSVP không phải là giao thức định tuyến mà là giao thức báo hiệu, các bản tin RSVP đƣợc chuyển đi trên cùng đƣờng định tuyến với các gói tin sẽ đƣợc chuyển và đƣợc xác định bởi bảng định tuyến trong bộ định tuyến IP.
RSVP đƣợc phát triển để chống lại tắc nghẽn mạng bằng cách cho phép các bộ định tuyến quyết định ở mức cao. Tại mức này, các bộ định tuyến có thể đáp ứng các yêu cầu của một luồng ứng dụng và dự trữ tài nguyên mong muốn (ngay cả khi mặt bằng chuyển tiếp gói không xử lý đƣợc). Giao thức RSVP dựa trên xử lý đặc biệt, mang bản tin báo hiệu tới các nút dọc tuyến đƣờng qua mạng theo luồng thực tế, quản lý trạng thái mềm, trao đổi bản tin, dự phòng tài nguyên và tách báo hiệu QoS khỏi chức năng định tuyến.
Một số đặc tính cơ bản của RSVP là:
RSVP là giao thức báo hiệu để dành trƣớc tài nguyên trong đƣờng định tuyến từ nguồn tới đích.
RSVP báo hiệu tới tất cả các thiết bị mạng về yêu cầu QoS của ứng dụng. RSVP yêu cầu các ứng dụng khởi tạo yêu cầu.
RSVP hoạt động liên điều hành với các kỹ thuật QoS khác để cải thiện độ đảm bảo cho các tài nguyên dành trƣớc.
Giao thức dành trƣớc tài nguyên RSVP thƣờng đƣợc sử dụng cho các ứng dụng yêu cầu đảm bảo các tham số băng thông và độ trễ. Một đặc điểm quan trọng của RSVP là việc giành tài nguyên đƣợc thực hiện bởi “trạng thái mềm”, có nghĩa là trạng thái dành tài nguyên có liên quan tới một bộ định thời (timer), và khi bộ định thời hết hạn, việc dành trƣớc tài nguyên đƣợc loại bỏ. Nếu nơi nhận muốn lƣu lại trạng thái dành tài nguyên nào, nó phải đều đặn gửi các thông điệp dành tài nguyên. Nơi gửi cũng phải thƣờng xuyên gửi thông điệp này. Các ứng dụng mạng hiện nay sử dụng RSVP nhƣ là giao thức báo hiệu gồm các ứng dụng cho VoIP (Voice over IP) và kỹ thuật lƣu lƣợng MPLS (Multi Protocol Label Switching).
3.1.2.1 Hoạt động của RSVP
Một phiên làm việc của giao thức RSVP thƣờng sử dụng 3 tham số sau: Địa chỉ đích
Cổng đích
Hình 3.2. Cấu trúc mạng IntServ
Nguyên lý hoạt động của RSVP [23]:
Giao thức báo hiệu RSVP sẽ đƣa ra quyết định luồng IP từ nút H1 đến nút H2 (Hình 3.2) có thể đƣợc mạng IntServ phục vụ hay không. Trƣớc tiên, RSVP xác định và xây dựng đƣờng định tuyến cho luồng IP bằng tin PATH. Đƣờng định tuyến này đi qua các bộ định tuyến R1, R2, R3. Tiếp đó dung lƣợng sẽ đƣợc chiếm giữ cho đƣờng định tuyến theo chiều từ nút nhận ngƣợc trở lại nút gửi. Sự chiếm giữ đƣợc thực hiện bằng tin RESV của giao thức RSVP. Nếu sự chiếm giữ thành công tại tại tất cả các nút R3, R2, R1, luồng IP bắt đầu đƣợc phục vụ. Nếu tại bất cứ bộ định tuyến nào, sự chiếm giữ không thực hiện đƣợc do thiếu dung lƣợng cần thiết, giao thức RSVP sẽ dựa vào kết quả này để chặn luồng IP.
3.1.2.2 Các kiểu dành trước tài nguyên của RSVP
Trong RFC 2205 [10] định nghĩa 3 kiểu dành trƣớc tài nguyên:
Bảng 3.1. Các kiểu dành trước tài nguyên Lựa chọn
máy gửi
Dành trước tài nguyên
Phân biệt Chia sẻ
Tƣờng minh FF SE
Wildcard Không định nghĩa WF
Bảng 3.1 có 4 khả năng đƣợc tổ hợp từ các cách thức điều khiển chia sẻ tài nguyên và lựa chọn máy gửi gồm 1 kiểu không đƣợc định nghĩa; 1 kiểu bộ lọc cố định FF (Fixed Filter) 1 kiểu chia sẻ tƣờng minh SE (Shared Explicit) và kiểu bộ lọc Wildcard WF (Wildcard – Filter).
Hai kiểu điều khiển máy gửi đƣợc định nghĩa:
Kiểu lựa chọn tƣờng minh: liệt kê toàn bộ các máy gửi
Điều khiển chia sẻ lƣu lƣợng thực hiện điều khiển các ứng xử dành trƣớc tài nguyên cho các máy gửi khác nhau trong cùng một phiên. Có 2 kiểu điều khiển chia sẻ lƣu lƣợng đƣợc định nghĩa:
Kiểu dành trƣớc tài nguyên riêng biệt dành trƣớc tài nguyên đƣợc tạo ra cho từng máy gửi.
Kiểu dành trƣớc tài nguyên chia sẻ dành trƣớc tài nguyên chung cho các máy gửi trong phiên.
3.1.2.3 Các dạng bản tin của RSVP
Khuôn dạng bản tin RSVP có cấu trúc gồm một tiêu đề chung và các trƣờng chức năng thể hiện các đối tƣợng nhƣ chỉ ra trên Hình 3.3 (a). Mỗi một đối tƣợng đƣợc cấu trúc bởi tiêu đề đối tƣợng và nội dung đối tƣợng.
Khuôn dạng tiêu đề chung đƣợc chỉ ra trên Hình 3.3 (b) có tổng độ dài là 8 bytes. Nó gồm 4 bit cho số hiệu phiên bản RSVP, 4 bit cờ, 8 bit sử dụng cho kiểu bản tin RSVP; 16 bit tổng kiểm tra, 8 bit sử dụng cho thời gian sống TTL của gói tin IP, 8 bit dự phòng và trƣờng hiện thị độ dài bản tin gồm 16 bit.
Hình 3.3. Khuôn dạng bản tin RSVP và tiêu đề chung RSVP
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.