RSVP là giao thức “soft state”, tự động cập nhật tình trạng đường truyền khi có lỗi xảy ra. RSVP là giao thức điều khiển Internet được thiết kế để cài đặt chất lượng dịch vụ trên mạng IP (RSVP không phải chỉ sử dụng dành riêng với mô hình Intserv).
Về tổng quát, giao thức RSVP hoạt động như sau: Khi một node nào đó gửi dữ liệu, nó gửi một bản tin RSVP qua các node trung gian tới nút nhận, bản tin này chứa đặc điểm lưu lượng sẽ gửi, đặc điểm của các node mạng trên đường đi. Node nhận sau khi nhận được thông điệp, căn cứ vào đặc điểm lưu lượng và đặc điểm đường đi, sẽ gửi lại một thông điệp để đăng ký tài nguyên tại các node trung gian trên đường đi đó. Nếu việc đăng ký thành công, node gửi bắt đầu truyền dữ liệu. Nếu không, thông điệp đi đến node gửi sẽ báo lỗi.
Một phiên làm việc của giao thức RSVP được các định bởi các tham số trong một luồng dịch vụ (địa chỉ IP nguồn, IP đích, cổng nguồn, cổng đích, nhận dạng giao thức). Nguyên lý hoạt động của giao thức RSVP được thể hiện qua hình sau:
Hình 1: Mô hình nguyên lý hoạt động của giao thức RSVP
Theo hình 1, máy gửi gửi bản tin PATH (mô tả thông tin truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích theo chiều đi) đến máy nhận để yêu cầu dành trước tài nguyên và thiết lập một luồng truyền thông. Máy nhận nhận được bản tin PATH sẽ gửi lại máy gửi bản tin RESV (mô tả thông tin truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích theo chiều về) để thiết lập và duy trì việc dự trữ tài nguyên.
Khi đi qua các router, dựa vào hai bản tin PATH và RESV, các router đăng ký nhận dạng luồng và lưu đặc tính luồng vào cơ sở dữ liệu. Nếu bản tin PATH lỗi thì bản tin PathErr sẽ được sử dụng để thông báo. Tương tự, RSVP sử dụng bản tin ResvErr để thông báo lỗi cho bản tin RESV.
Bên cạnh đó, RSVP còn dùng hai bản tin PathTear và ResvTear. PathTear sử dụng để xóa bỏ tài yêu cầu dành tài nguyên theo hướng đi đã được thiết lập. Tương tự, ResvTear sử dụng để xóa bỏ tài yêu cầu dành tài nguyên theo hướng về. Tại mỗi node mạng, yêu cầu dự trữ tài nguyên gồm 2 hoạt động:
1. Dự trữ tài nguyên tại một node mạng. Quá trình xử lý dự trữ tài nguyên được thể hiện qua mô hình sau:
Theo hình 2, yêu cầu dự trữ tài nguyên được chuyển tới TSpec và RSpec. Nếu RSpec xác định router đủ tài nguyên để thiết lập dự trữ và thông số trong TSpec là hợp lệ thì bản tin RESV sử dụng thông tin của trường FILTERSPEC để phân loại gói tin và thông tin của trường FLOWSPEC để thiết lập Scheduling cho gói tin. Nếu quá trình kiểm tra RSpec và Tspec xảy ra lỗi thì việc dữ trữ tài nguyên bị hủy bỏ và một bản tin lỗi ResvErr se được gửi tới máy nhận.
2. Chuyển tiếp yêu cầu dự trữ tài nguyên cho các node khác còn lại trên mạng. Trong môi trường truyền đa hướng (một máy nhận dữ liệu từ nhiều máy gửi, một máy gửi dữ liệu tới nhiều máy nhận) các yêu cầu dự trữ tài nguyên được chuyển sang một node khác khi node trước đó đã đáp ứng việc dự trữ các yêu cầu tài nguyên. Một ví dụ về việc chuyển tiếp yêu cầu dự trữ tài nguyên cho các node khác còn lại trên mạng được thể hiện trong hình sau:
Định dạng các trường trong giao thức RSVP được thể hiện như sau:
- Version (4 bits): Phiên bản RSVP.
- Flag (4 bits): Chưa có giá trị cờ được định nghĩa.
- Kiểu bản tin (1 byte): PATH, RESV, PathErr, ResvErr, PathTear, ResvTear.
- Tổng kiểm tra RSVP (2 bytes): Để phát hiện lỗi trong việc truyền các bản tin.
- Send_Time To Live (1 byte): Xác định thời gian sống của các gói tin.
- Reserved (1 byte): Dự phòng.
- Chiều dài RSVP (2 bytes): Tổng độ dài của bản tin RSVP bao gồm tất các các đối tượng trong luồng.
Về tổng quát, giao thức RSVP hoạt động như sau: Khi một node nào đó gửi dữ liệu, nó gửi một bản tin RSVP qua các node trung gian tới nút nhận, bản tin này chứa đặc điểm lưu lượng sẽ gửi, đặc điểm của các node mạng trên đường đi. Node nhận sau khi nhận được thông điệp, căn cứ vào đặc điểm lưu lượng và đặc điểm đường đi, sẽ gửi lại một thông điệp để đăng ký tài nguyên tại các node trung gian trên đường đi đó. Nếu việc đăng ký thành công, node gửi bắt đầu truyền dữ liệu. Nếu không, thông điệp đi đến node gửi sẽ báo lỗi.
Một phiên làm việc của giao thức RSVP được các định bởi các tham số trong một luồng dịch vụ (địa chỉ IP nguồn, IP đích, cổng nguồn, cổng đích, nhận dạng giao thức). Nguyên lý hoạt động của giao thức RSVP được thể hiện qua hình sau:
Hình 1: Mô hình nguyên lý hoạt động của giao thức RSVP
Theo hình 1, máy gửi gửi bản tin PATH (mô tả thông tin truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích theo chiều đi) đến máy nhận để yêu cầu dành trước tài nguyên và thiết lập một luồng truyền thông. Máy nhận nhận được bản tin PATH sẽ gửi lại máy gửi bản tin RESV (mô tả thông tin truyền thông qua địa chỉ IP nguồn và địa chỉ IP đích theo chiều về) để thiết lập và duy trì việc dự trữ tài nguyên.
Khi đi qua các router, dựa vào hai bản tin PATH và RESV, các router đăng ký nhận dạng luồng và lưu đặc tính luồng vào cơ sở dữ liệu. Nếu bản tin PATH lỗi thì bản tin PathErr sẽ được sử dụng để thông báo. Tương tự, RSVP sử dụng bản tin ResvErr để thông báo lỗi cho bản tin RESV.
Bên cạnh đó, RSVP còn dùng hai bản tin PathTear và ResvTear. PathTear sử dụng để xóa bỏ tài yêu cầu dành tài nguyên theo hướng đi đã được thiết lập. Tương tự, ResvTear sử dụng để xóa bỏ tài yêu cầu dành tài nguyên theo hướng về. Tại mỗi node mạng, yêu cầu dự trữ tài nguyên gồm 2 hoạt động:
1. Dự trữ tài nguyên tại một node mạng. Quá trình xử lý dự trữ tài nguyên được thể hiện qua mô hình sau:
Hình 2: Mô hình quá trình xử lý dự trữ tài nguyên
Theo hình 2, yêu cầu dự trữ tài nguyên được chuyển tới TSpec và RSpec. Nếu RSpec xác định router đủ tài nguyên để thiết lập dự trữ và thông số trong TSpec là hợp lệ thì bản tin RESV sử dụng thông tin của trường FILTERSPEC để phân loại gói tin và thông tin của trường FLOWSPEC để thiết lập Scheduling cho gói tin. Nếu quá trình kiểm tra RSpec và Tspec xảy ra lỗi thì việc dữ trữ tài nguyên bị hủy bỏ và một bản tin lỗi ResvErr se được gửi tới máy nhận.
2. Chuyển tiếp yêu cầu dự trữ tài nguyên cho các node khác còn lại trên mạng. Trong môi trường truyền đa hướng (một máy nhận dữ liệu từ nhiều máy gửi, một máy gửi dữ liệu tới nhiều máy nhận) các yêu cầu dự trữ tài nguyên được chuyển sang một node khác khi node trước đó đã đáp ứng việc dự trữ các yêu cầu tài nguyên. Một ví dụ về việc chuyển tiếp yêu cầu dự trữ tài nguyên cho các node khác còn lại trên mạng được thể hiện trong hình sau:
Hình 3: Ví dụ về việc chuyển tiếp yêu cầu dự trữ tài nguyên
Định dạng các trường trong giao thức RSVP được thể hiện như sau:
Hình 4: Định dạng các trường trong giao thức RSVP
- Version (4 bits): Phiên bản RSVP.
- Flag (4 bits): Chưa có giá trị cờ được định nghĩa.
- Kiểu bản tin (1 byte): PATH, RESV, PathErr, ResvErr, PathTear, ResvTear.
- Tổng kiểm tra RSVP (2 bytes): Để phát hiện lỗi trong việc truyền các bản tin.
- Send_Time To Live (1 byte): Xác định thời gian sống của các gói tin.
- Reserved (1 byte): Dự phòng.
- Chiều dài RSVP (2 bytes): Tổng độ dài của bản tin RSVP bao gồm tất các các đối tượng trong luồng.
Nguyễn Ngọc Đại – VnPro