3. Cấu trúc các chương
3.1 Tổng quan IntServ
Ý tưởng ban đầu của dịch vụ tích hợp là hỗ trợ việc dành trước tài nguyên cho các luồng lưu lượng. Trái ngược với kiến trúc chuyển phát datagram thông thường (các gói có thể đi qua các tuyến khác nhau để tới đích), dịch vụ tích hợp cho phép thiết lập một tuyến và dành trước tài nguyên trước khi gửi dữ liệu. Điều này yêu cầu các bộ định tuyến phải có khả năng điều khiển các luồng lưu lượng. Có hai dịch vụ được định nghĩa:
Dịch vụ đảm bảo - GS (Guaranteed Service) áp dụng cho các dịch vụ với yêu cầu về độ trễ của dịch vụ được xác định trước.
Dịch vụ tải được điều khiển - CLS (Controlled-Load Network Service) áp dụng cho các ứng dụng yêu cầu độ tổn thất gói thấp.
Trong IntServ một luồng IP đơn lẻ được xác định bởi các tham số cơ bản sau: Định danh giao thức. Địa chỉ IP đích. Địa chỉ cổng đích. Địa chỉ IP nguồn. Địa chỉ cổng nguồn.
Để dự trữ tài nguyên cho một luồng lưu lượng, ứng dụng nguồn phải cung cấp đặc tả luồng. Đặc tả luồng bao gồm các đặc tính về lưu lượng và các yêu cầu chất lượng dịch vụ cho luồng đó. Đặc tính lưu lượng bao gồm tốc độ đỉnh, tốc độ trung bình, kích thước bùng nổ lưu lượng và các tham số của “giỏ thẻ bài” (token bucket). Các yêu cầu dịch vụ gồm băng thông tối thiểu, và các yêu cầu về hiệu năng như trễ, biến động trễ và tỷ lệ tổn thất gói.
Sau đó yêu cầu thiết lập dự trữ tài nguyên có thể được gửi tới mạng. Nếu có cam kết việc dự phòng, luồng đó được đưa vào bảng dự phòng tài nguyên. Khi
gói tin đến, khối nhận dạng luồng sẽ nhận dạng gói tin thuộc về luồng đặt trước và đặt chúng vào trong hàng đợi phù hợp để nhận được dịch vụ yêu cầu.
Trong quá trình truyền từ nguồn tới đích gói tin phải đi qua nhiều chặng. Việc lựa chọn đường dẫn phù hợp cho chặng kế tiếp tại một nút là nhiệm vụ khó khăn do các hạn chế trong định tuyến IP truyền thống. Bộ định tuyến IP thường sử dụng các số đo như trễ, chặng (hop) hay một số thông số khác để tính toán đường đi ngắn nhất. Tuy nhiên đường dẫn ngắn nhất có thể không có được khả năng truyền tải trong khi đó đường dẫn dài hơn lại có khả năng đó. Vấn đề định tuyến có thể trở nên phức tạp bởi một số ứng dụng yêu cầu nhiều tham số QoS (ví dụ về băng thông và các yêu cầu về tổn thất gói tin). Tìm kiếm đường dẫn phù hợp trong nhiều điều kiện ràng buộc rất phức tạp. Chính vì lí do đó mô hình đảm bảo QoS cho gói tin IP đầu tiên này không yêu cầu gắn các cơ chế định tuyến đảm bảo QoS trong kiến trúc IntServ. Kiến trúc này giả sử rằng khối chức năng định tuyến của bộ định tuyến sẽ thực hiện định tuyến theo từng chặng.
3.2 Kiến trúc IntServ
Hình 3.1: Mô hình hoạt động dịch vụ tích hợp IntServ
IntServ có 4 thành phần, thành phần điều khiển việc chấp nhận, thành phần phân loại, lập lịch (3 thành phần này cung cấp việc điều khiển lưu lượng) và giao
Quản lý chính sách Điều khiển chấp nhận Bảng định tuyến Phân loại Lập lịch Số liệu Tiến trình RSVP Quản lý chính sách Điều khiển chấp nhận Bảng định tuyến Phân loại Lập lịch Tiến trình RSVP RESV Hướng đăng kí
PATH
thức dành trước tài nguyên. Hình 3.1 minh hoạ mô hình hoạt động của dịch vụ tích hợp IntServ.
3.2.1 Điều khiển chấp nhận
Xử lí hai nhiệm vụ cơ bản là chấp nhận hay từ chối các yêu cầu dành trước tài nguyên và giám sát việc sử dụng tài nguyên. Việc dành trước tài nguyên cho một yêu cầu mới không thể được chấp nhận nếu không có sẵn tài nguyên được yêu cầu. Có hai hướng tiếp cận để giải quyết xem tài nguyên nào là sẵn sàng đó là dựa theo đo đạc và dựa theo tham số.
Trong hướng tiếp cận dựa theo tham số, điều khiển chấp nhận sẽ tính toán các nguồn tài nguyên khả dụng dựa trên các chỉ tiêu kỹ thuật và yêu cầu dành trước tài nguyên hiện tại.
Trong hướng tiếp cận theo đo đạc, điều khiển chấp nhận đo lưu lượng thực sự trong mạng và sử dụng các phương pháp thống kê để quyết định xem tài nguyên nào khả dụng. Hướng tiếp cận này có ưu điểm là tối ưu hoá việc sử dụng mạng, mặc dù không đảm bảo chặt chẽ các cam kết tài nguyên.
3.2.2 Phân loại
Giao thức RSVP sử dụng 5 tiêu đề trong gói tin IP để nhận dạng gói tin thuộc về các luồng đã yêu cầu dành trước tài nguyên trong nút. Các trường này bao gồm địa chỉ IP nguồn, địa chỉ IP đích, định danh giao thức, cổng nguồn và đích.
3.2.3 Lập lịch
Là bước cuối cùng trong việc dành trước tài nguyên. Nó quyết định gói tin nào sẽ được gửi kế tiếp khi tuyến kết nối đi đã sẵn sàng. Do đó nó tác động đến trễ mà gói tin phải chịu trong bộ định tuyến và bộ định tuyến không trực tiếp loại bỏ gói tin. Các kỹ thuật của bộ lập lịch đã được trình bày ở chương trước.
Kiến trúc IntServ định nghĩa hai loại dịch vụ chính: Dịch vụ đảm bảo GS và dịch vụ tải được điều khiển CLS. Mỗi dịch vụ này cung cấp một dạng rất khác của đảm bảo QoS. [2]
Dịch vụ đảm bảo: được định nghĩa trong RFC 2212 [8], cung cấp các giới hạn cứng về các độ trễ xếp hàng mà gói tin sẽ phải trải qua trong một router. Về bản chất, một phiên yêu cầu GS là yêu cầu các bit trong gói tin của nó được đảm bảo truyền đi với tốc độ không dưới một giá trị nhất định.
Dịch vụ tải được điều khiển: được định nghĩa trong RFC 2211 [8]. Một phiên nhận CLS sẽ nhận một QoS xấp xỉ với QoS mà cùng luồng đó sẽ nhận từ một phần mạng không có tải. Nói cách khác, phiên có thể thừa nhận rằng “một tỉ lệ phần trăm rất cao” của các gói tin sẽ đi qua router thành công mà không bị loại bỏ và sẽ chịu một độ trễ xếp hàng trong router gần như bằng 0. Thật thú vị, CLS không tạo ra một sự đảm bảo chất lượng thực thi – nó không chỉ định cái gì cấu thành “một tỉ lệ phần trăm rất cao” của các gói tin hay QoS gì gần xấp xỉ với QoS của một phần mạng không có tải. CLS hướng tới các ứng dụng đa phương tiện được phát triển cho Internet ngày nay. Những ứng dụng này hoạt động khá tốt khi mạng có tải nhẹ, nhưng hiệu suất lại giảm mạnh khi mạng ở trong trạng thái tải nặng hơn nhiều.
3.3 Giao thức dành trƣớc tài nguyên - RSVP (Resource Reservation Protocol)
3.3.1 Giới thiệu chung
Giao thức dành trước tài nguyên RSVP được giới thiệu trong RFC 2205 [8]. RSVP là một giao thức thiết lập tài nguyên dự phòng để đảm bảo QoS trong mạng IP. Nó hỗ trợ cả IPv4 và IPv6 cũng như ứng dụng cho cả hai phương thức chuyển phát tin đơn hướng và đa hướng (Unicast và multicast).
Máy chủ nguồn và máy chủ đích trao đổi các thông báo RSVP để thiết lập các trạng thái chuyển tiếp và phân loại gói tại mỗi nút trung gian (router). Máy chủ nguồn khởi tạo yêu cầu dành tài nguyên nhưng việc xác định nguồn tài
nguyên sẵn sàng và yêu cầu tài nguyên thực tế lại bắt nguồn từ máy chủ đích. Trạng thái dành tài nguyên tại các nút RSVP không phải là cố định mà có thể làm mới theo định kỳ.
RSVP không phải là giao thức định tuyến mà là giao thức báo hiệu, các thông báo RSVP được chuyển đi trên cùng một đường dẫn với các gói tin sẽ được chuyển đi và được xác định bởi bảng định tuyến trong bộ định tuyến IP. Các nút dọc theo tuyến phải giữ trạng thái dành tài nguyên, do vậy khi mạng lớn RSVP sẽ trở nên không thực tế và khó mở rộng.
Các bộ định tuyến sử dụng RSVP để tạo ra các yêu cầu QoS cho toàn bộ các bộ định tuyến dọc theo tuyến đường gói tin truyền qua mạng. Giao thức RSVP cũng sử dụng để duy trì và làm mới trạng thái cho luồng ứng dụng yêu cầu QoS.
Một số đặc tính cơ bản của giao thức dành trước tài nguyên RSVP được liệt kê dưới đây:
RSVP là giao thức báo hiệu để dành trước tài nguyên trên đường dẫ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 kết với các thiết bị 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 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ễ. Các ứng dụng mạng hiện nay sử dụng giao thức RSVP bao gồm VoIP, kỹ thuật chuyển mạch nhãn đa giao thức - MPLS (Multiprotocol Label Switching).
Hình 3.2: Nguyên lý hoạt động của RSVP
Hình 3.2 chỉ ra nguyên lý hoạt động của RSVP. Máy chủ nguồn gửi thông báo PATH cho một luồng dữ liệu hay còn gọi là một phiên truyền thông. Thông báo PATH chứa những đặc tính của luồng dữ liệu sẽ được gửi và đi qua các bộ định tuyến trên đường dẫn tới đích. Các bộ định tuyến trên tuyến đăng kí nhận luồng và các đặc tính của luồng vào cơ sở dữ liệu để khi thông báo RESV tương ứng được gửi ngược từ máy chủ nhận, bộ định tuyến sẽ so sánh thông tin tương quan chứa trong thông báo PATH và RESV. Khi máy chủ nhận nhận được thông báo PATH nó sẽ gửi thông báo RESV nhằm xác nhận và chỉnh sửa thông tin yêu cầu đã được gửi trong thông báo PATH, đây là thông tin về việc dành trước tài nguyên cho đường dẫn mà gói tin sẽ được đi qua.
RSVP giữ trạng thái mềm cho các tài nguyên trong bộ định tuyến. Trạng thái mềm này được cung cấp theo các thông tin từ các thành viên trong phiên làm việc, tương thích với sự thay đổi định tuyến và các yêu cầu thay đổi tài nguyên của các luồng lưu lượng trong phiên. Thời gian làm mới định kì là 30s.
3.3.3 Các kiểu dành trƣớc tài nguyên RSVP
Có ba kiểu dự phòng tài nguyên được định nghĩa trong RFC 2205 [8] minh họa trên hình 3.3. Hai kiểu điều khiển máy gửi được định nghĩa:
Kiểu lựa chọn hiện.
Kiểu lựa chọn wildcard.
Kiểu lựa chọn hiện liệt kê một danh sách máy gửi, trong khi đó kiểu lựa chọn wildcard liệt kê toàn bộ máy chủ trong phiên.
Hình 3.3: Các kiểu dành trước tài nguyên
Điều khiển chia sẻ lưu lượng thực hiện điều khiển các ứng xử tài nguyên dành trước cho các máy gửi khác nhau trong cùng một phiên. Hai kiểu điều khiển chia sẻ lưu lượng được định nghĩa là:
Kiểu dành trước tài nguyên riêng biệt.
Kiểu dành trước tài nguyên chia sẻ.
Trong kiểu dành trước tài nguyên riêng biệt, tài nguyên được tạo ra cho từng máy gửi. Trong kiểu dành trước tài nguyên chi sẻ, một tài nguyên chung được chia sẻ bởi các máy gửi trong phiên.
Như đã chỉ ra trên hình 3.3, 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. Tuy nhiên, một kiểu không được định nghĩa và ta còn 3 kiểu dành trước tài nguyên là: kiểu bộ lọc cố định FF (Fixed Filter), kiểu chia sẻ hiện (Shared Explicit) và kiểu bộ lọc Wildcard WF (Wildcard - Filter).
3.3.4 Định dạng thông báo RSVP
Thông báo RSVP gồm một tiêu đề chung và các đối tượng như trên hình 3.4 (a). Mỗi đối tượng có 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.4 (b) và có tổng độ dài là 8 byte. Nó gồm 4 bit số liệu phiên bản của RSVP, 4 bit cờ, 8 bit sử dụng cho kiểu văn bản 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 gửi, 8 bit dự phòng và trường hiện thị độ dài bản tin gồm 16 bit.
Hiện FF SE
Wildcard Không định
nghĩa WF
Phân biệt Chia sẻ Tài nguyên dành trước Lựa chọn máy
Hình 3.4: 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. Trường Send_TTL diễn tả giá trị IP TTL của thông báo đã được gửi. Độ dài thông báo RSVP bao gồm cả tiêu đề và các đối tượng trong bản tin. Có bảy kiểu thông báo RSVP, sắp xếp theo thứ tự kiểu thông báo, trình bày trong bảng dưới đây.
Tiêu đề chung RSVP Đối tượng 1 Đối tượng 2
…
Đối tượng N Thâ
n của thông bá o R S VP (a)
Ver Cờ Kiểu bản tin Tổng kiểm tra RSVP Send_TTL Dự phòng Chiều dài RSVP
4 byte 2 byte
1 byte
Bảng 3.1: Các kiểu thông báo RSVP
Tên kiểu Mô tả
Path Sử dụng để yêu cầu tài nguyên dành trước
Resv Gửi đáp ứng thông báo đường để thiết lập
và duy trì dự trữ tài nguyên
PathTear Sử dụng để xoá dự trữ tài nguyên khỏi
mạng theo hướng đi
ResvTear Sử dụng để xoá dự trữ tài nguyên khỏi
mạng theo hướng về
PathErr Thông báo lỗi bản tin PATH
ResvErr Thông báo lỗi bản tin Resv
ResvConf
Là một thông báo tuỳ chọn, gửi ngược lại phía gửi của bản tin Resv để xác nhận tài nguyên dự trữ xác định thực sự đã được cài đặt
Thông báo PATH và RESV là các thông báo chủ yếu sử dụng cho việc dành tài nguyên mạng. Các thông báo khác bao gồm các thông báo lỗi, điều khiển tài nguyên dự trữ.
Khuôn dạng đối tượng RSVP được chỉ ra trong hình 3.5 gồm 32 bit tiêu đề đối tượng và nội dung đối tượng có độ dài thay đổi. Một đối tượng độ dài có 16 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.5: Khuôn dạng bản tin đối tượng RSVP
Hình 3.6: Class-Num và C-Type
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ổ hợp thành một cặp để mô tả các đối tượng trong RSVP. Các đối tượng sau được định nghĩa trong RFC 2205 [8].
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ả 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.
Đối tượng FLOWSPEC chứa các thông số về đặc tính của luồng, gồm hai loại thông báo là Tspec và Rspec. Tspec được phân phát trong thông báo PATH
Độ dài Class-Num C- Type
Nội dung đối tượng 2 byte 4 byte Tiêu đề đối tượng Class-Num = n (lớp đối tượng) C-Type = 1 (Kiểu đối tượng)
C-Type = n (Kiểu đối tượng) …
từ nơi gửi tới nơi nhận để miêu tả các đặc tính của nó cũng như các tham số của giỏ thẻ bài. Rspec được phân phát trong thông báo Resv từ nơi gửi tới nơi nhận ngược hướng với thông báo PATH. Điều này được thực hiện để báo tin và dự trữ mức băng thông yêu cầu tại mỗi thiết bị mạng để có được chất lượng và hiệu năng được tính toán bởi nơi nhận bằng cách sử dụng Tspec. Các tham số sử dụng trong Tspec và Rspec là:
Các tham số Tspec:
p : tốc độ đỉnh (bytes/sec).
b : kích thước giỏ thẻ bài (bytes).
r : tốc độ trung bình thẻ bài (bytes/sec).
M : kích thước lớn nhất của gói tin (bytes).
m : đơn vị kiểm soát nhỏ nhất (bytes). Các tham số Rspec:
R : băng thông (bytes/sec).
S : độ trễ (msec).
Đối tượng kiểu (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.7: Đối tượng kiểu