2.3.1 Tổng quan về giao thức COPS
COPS là giao thức đƣợc IETF chuẩn hóa nhằm thực hiện việc quản lý, cấu hình và áp đặt chính sách. Giao thức này hoạt động theo mô hình Client- Server. Nó định nghĩa một giao thức yêu cầu và đáp ứng một cách đơn giản trong việc trao đổi thông tin chính sách và quyết định chính sách giữa server và Client. Trong đó điểm thực hiện chính sách PEP đƣợc xem là Client và server là điểm quyết định chính sách PDP. Và một thành phần đặc biệt là điểm quyết định chính sách cục bộ LPDP, nó thay thế cho PDP trong việc liên lạc với PEP khi PDP không đƣợc tìm thấy. COPS điều khiển chính sách theo 2 mô hình chính:
* Outsourcing
PEP chỉ định một PDP bên ngoài chịu trách nhiệm xử lý những sự kiện gửi ra từ PEP. Mô hình này cho thấy sự tƣơng quan one-to-one giữa những sự kiện ở PEP và những quyết định từ một PDP.
* Configuration
Không giống nhƣ mô hình trƣớc, là không có sự ánh xạ trực tiếp những sự kiện tại PEP và những quyết định từ PDP. PDP có thể cấu hình những sự kiện bên ngoài đƣợc khởi tạo bởi một PEP bất kỳ và sự kiện gửi từ PEP có thể đƣợc xử lý bởi PDP cùng khối với nó hoặc PDP thuộc khối khác. Xét về mặt thời gian thì mô hình này linh động hơn mô hình outsourcing.
COPS sử dụng phƣơng thức truyền TCP để truyền những bản tin đáng tin cậy giữa PEP và PDP. Không giống nhƣ giao thức client - server khác, cặp bản tin yêu cầu - đáp ứng này phải phù hợp với cặp bản tin yêu cầu - đáp ứng khác. Ở đây, server có thể áp đặt chính sách cho client và xóa những chính sách trên client nếu chính sách đó không còn phù hợp nữa. PEP khởi tạo kết nối TCP đến PDP, PEP gửi yêu cầu và nhận những quyết định chính sách từ PDP và sự liên
lạc giữa PEP và PDP là sự trao đổi yêu cầu, đáp ứng. Tuy nhiên PDP hoặc PEP có thể gửi đi những bản tin độc lập, ví dụ nhƣ PDP gửi những quyết định tới PEP bắt buộc PEP thay đổi những chính sách đƣợc PDP chấp nhận trƣớc đó (không phải bản tin đáp ứng cho những yêu cầu của PEP) và PEP có thể gửi những bản tin báo cáo về trạng thái cho PDP. Sự mở rộng có thể đƣợc mô tả trong phần định dạng bản tin và những phần tử mang dữ liệu về chính sách không cần yêu cầu bất kỳ thay đổi nào trong giao thức.
COPS đƣợc sử dụng trong liên lạc giữa khối PDF và GGSN, tạo sự kết nối giữa mạng IMS và mạng GPRS nhằm cung cấp mức độ bảo mật các bản tin cho việc xác thực, bảo vệ toàn vẹn bản tin. COPS cũng có thể tái sử dụng giao thức về bảo mật nhƣ IPSEC hoặc TLS để xác thực và bảo vệ kênh truyền giữa PEP và PDP.
Hình 2.14 Mô hình COPS
2.3.2 Chức năng chính của COPS
Giao thức này giao việc cho Client hỗ trợ cho mô hình Client/Server. Trong đó Client sẽ gửi những bản tin: yêu cầu, cập nhật, và xóa tới PDP và PDP gửi trả những quyết định cho PEP.
COPS sử dụng phƣơng thức TCP để trao đổi bản tin giữa Server và Client nên ta không cần bổ sung thêm chức năng hỗ trợ việc liên lạc có đảm bảo giữa Server và Clients.
COPS thực hiện việc quản lý, cấu hình và thực thi các chính sách.
COPS cung cấp mức độ bảo mật các bản tin cho việc xác thực, phát lại bảo vệ và toàn vẹn bản tin. COPS cũng có thể tái sử dụng giao thức về bảo mật nhƣ IPSEC hoặc TLS để xác thực và bảo vệ kênh truyền giữa PEP và PDP.
COPS cho phép Server áp dụng chính sách cho Client hoặc xóa chính sách đang thực thi trên Client nếu nó không còn đƣợc sử dụng nữa.
2.3.2.1 Bản tin COPS * COPS Header * COPS Header
Hình 2.15 COPS header
Version (4bits): chỉ phiên bản của giao thức COPS đang đƣợc dùng, hiện nay đang sử dụng COPS version 1
Flags (4bits): mặc định là 0, cờ flag đặt lên 1 khi bản tin gửi đi là bản tin DEC, khi đó PDP gửi bản tin DEC đáp ứng lại yêu cầu của bản tin REQ do PEP gửi ra.
Op Code (8 bits): cho biết hoạt động của COPS. Bảng 2.4 Các loại Op code trong COPS header
Giá trị Loại Nơi chốn Tên Mô tả
1 REQ PEP→PDP Request
Yêu cầu quyết định từ PDP và thiết lập một client handle nhằm xác định tình trạng phù hợp cho PEP
2 DEC PDP→PEP Decision Trả lại một hoặc nhiều quyết định (đáp ứng) cho một yêu cầu
3 RPT PEP→PDP Report state
Báo cáo lại cho PDP biết là PEP đã nhận đƣợc đáp ứng của PEP hay chƣa và thông báo sự thay đổi trạng thái của PEP
4 DRQ PEP→PDP Delete
request state Thông báo cho PDP biết là 5 SSQ PDP→PEP Synchronize
state request
PDP gửi cho PEP để đồng bộ dữ liệu
6 OPN PEP→PDP Client-Open 7 CAT PDP→PEP Client-
Accept 8 CC PEP→PDP
PDP→PEP
Client- Close
Cho biết phần tử Client-type không đƣợc hỗ trợ
9 KA PEP→PDP
PDP→PEP Keep-Alive Kiểm tra sự tồn tại của PDP/PEP 10 SSC PEP→PDP Synchronize
complete
Thông báo sự đồng bộ thành công
Client-type (16 bits): cho biết chính sách áp dụng cho Client và xác định những thực thể liên quan. 16 bits có giá trị trong khoảng 0x8000 - 0xFFFF. Đối với bản tin KA thì Client-type phải đặt là 0.
Message Length (32 bits): bao gồm header chuẩn và phần tử rút gọn và độ dài chỉ trong 4bytes.
2.3.2.2 Object format
Hình 2.16 Object format của bản tin COPS Length: chiều dài của Object format
C-num (8 bits): cho biết lớp thông tin chứa đựng trong object Bảng 2.5 Trƣờng C-Num trong Object format của bản tin COPS
C-num Tên Nơi chốn Mô tả
1 Handle Most Giá trị duy nhất để xác định trạng thái đƣợc cài đặt
2 Context REQ, DEC Cho biết phần tử nào tạo ra những truy vấn
3 In interface REQ Địa chỉ và giao tiếp bên trong của PEP
4 Out interface REQ Địa chỉ và giao tiếp bên ngoài của PEP
5 Reason code DRQ Cho biết lý do các yêu cầu bị xóa 6 Decision DEC Quyết định do PDP tạo ra
7 LPDP decision DEC Quyết định do LPDP tạo ra 8 Error CC Xác định giao thức bị lỗi 9 Client-specific
info
REQ, DEC,
RPT, OPN Thông tin về Client 10 Keep-Alive
timer CAT Giá trị bộ đếm thời gian 11 PEP identification OPN Xác định PEP cho PDP
12 Report type RPT
Loại báo cáo về trạng thái yêu cầu, nó phải tƣơng ứng với handle cụ thể
address PEP đến PDP khác 14 Last PDP
address OPN
Địa chỉ của PDP mà PEP kết nối lần cuối
15 Accounting
timer CAT Xác định thời gian cho việc tính phí
16 Message
integrity Any
Chuỗi số và sự kiểm bản tin chứng thực nhằm đảm bảo sự bảo mật cho những yêu cầu