Diameter Protocol là gì


Hỏi ĐápLà gì


CSCF thực hiện chức năng như một Redirect Server, giao tiếp với S-CSCF của mạng khác khi UE sử dụng dịch vụ liên mạng.

4.1.2.2.  Client


Client trong giao thức SIP chính là UE, là các thiết bị mà người dùng sử dụng để khởi tạo yêu cầu SIP đến các Server. Thiết bị này có thể là Hardphone hay Softphone.
Hardphone là các thiết bị phần cứng hỗ trợ chuẩn SIP như điện thoại IP. Softphone là phần mềm hỗ trợ chuẩn SIP như Express Talk, Sidefisk, hay hỗ trợ cả   IMS như:
Mercuro IMS Client, UCT Client, OpenIC_Lite,. . .

4.1.3. Bản tin SIP


SIP sử dụng các bản tin để khởi tạo, hiệu chỉnh và kết thúc phiên giữa các người dùng.
Bảng 4.1: Bản tin yêu cầu SIP Bản tin
Ý nghĩa
INVITE Khởi tạo một phiên
ACK Khẳng định rằng client đã nhận được bản tin đáp ứng cho bản tin INVITE
BYE Yêu cầu kết thúc phiên
CANCEL Yêu cầu kết thúc phiên
Register Đầu cuối SIP đăng ký với Register server
OPTIONS Đầu cuối SIP đăng ký với Register server INFO
Sử dụng để tải các thông tin
Bảng 4.2: Bản tin đáp ứng SIP Bản
tin Ý nghĩa
1xx Các bản tin chung
2xx Thành công
3xx Chuyển địa chỉ
4xx Yêu cầu không được đáp ứng
5xx Sự cố Server
6xx Sự cố toàn mạng

4.2. GIAO THỨC DIAMETER


4.2.1 Tổng quan về giao thức Diameter


Ban đầu, con người muốn truy cập vào internet đến một Server cụ thể nào đó, người đó phải cung cấp thông tin về user name và password. Trong hầu hết các trường
hợp, thông tin về user name và password không được lưu ở máy chủ đáp ứng truy cập Trang 46
mà được lưu ở một nơi khác, có thể là Lightweight Directory Access Protocol. Do đó nảy sinh vấn đề cần một giao thức truyền thông đáng tin cậy để trao đổi thông tin giữa
máy chủ truy cập và máy lưu thông tin về user name và password. Vì thế, vào 1995 RADIUS ra đời, được dùng để chứng thực, quản lý quyền truy cập dịch vụ, thông tin tài
khoản người dùng. Khi công nghệ di động ngày càng phát triển thì RADIUS khơng đáp ứng được
u cầu về QoS và không hỗ trợ chuyển vùng. Điều này là một trở ngại lớn trong sự phát triển dịch vụ. Một yêu cầu đặt ra là tìm ra một cơng nghệ mới khơng chỉ đáp ứng
được tính năng của RADIUS mà còn khắc phục được những nhược điểm của giao thức này. Đến 1996, IETF chuẩn hóa Diameter trong RFC 3588. Giao thức này thỏa mãn các
yêu cầu đặt ra ở trên.
Hình 4.2: Giao thức Diameter
Giao   thức   Diameter   chia   ra   2   phần:   Diameter   Base   Protocol   và   Diameter Application. Diameter Base Protocol cần thiết cho việc phân phối các đơn vị dữ liệu, khả
năng thương lượng, kiểm soát lỗi và khả năng mở rộng. Diameter Application định nghĩa những ứng dụng dữ liệu riêng. Tại thời điểm này, ngoài ứng dụng chuẩn trong RFC3588,
Trang 47
một số ứng dụng đã được định nghĩa như: Mobile IP, NASREQ, EAP, Diameter điều khiển tính phí và ứng dụng Diameter trong giao thức SIP,  Diameter là giao thức truyền thông
hoạt động trên giao diện Sh giữa HSS, AS, S-CSCF.

4.2.2 Cấu trúc giao thức Diameter


Trong Diameter có 3 thành phần chính là Server, Client và Agent. Client là một thiết bị ở biên, thực hiện các truy vấn và sử dụng dịch vụ. Một Diameter Agent thực
hiện chức năng như một Proxy, Relay,  Redirect Agent va dịch các bản tin. Diameter Server quản lý các yêu cầu về AAA cho một hệ thống.

4.2.2.1 Diameter Replay Agent


Diameter Relay Agent là một thực thể chấp nhận các yêu cầu và định tuyến các bản tin đến một thực thể khác dựa trên thơng tin tìm được trong bản tin như tên
miền đích đến của bản tin. Thông tin định tuyến này được thực hiện dựa vào bảng định tuyến được lưu trữ tại các nút mạng. Bảng định tuyến này chứa các trường sau: tên
miền, mã ứng dụng, hoạt động cục bộ, nhận dạng Server, cấu hình tĩnh hoăc động, thời gian hết hạn.
Mã ứng dụng được dùng như trường quan trọng thứ 2 để tìm kiếm một entry. Trường hoạt động cục bộ chứa một trong bốn giá trị: Local, Relay, Proxy, Redirect. Dựa
vào trường này mà Diamter Relay sẽ biết xử lý gói tin hay chuyển tiếp gói tin. Trường nhận dạng Server để xác định nút mạng kế tiếp cần đi đến. Cấu hình tĩnh hay động cho
biết entry này được cấu hình tĩnh hoặc tự động tìm ra nút kết tiếp. Nếu là cấu hình động thì có thời gian hết hạn mà entry đó phải được cập nhật lại.
Tổng hợp những yêu cầu đến các miền khác nhau và phân bố gói tin đến đích thích hợp giúp giảm nhẹ cấu hình máy chủ truy cập cũng như thuận tiện cho việc thay
thế, thêm hoặc bỏ máy chủ truy cập. Diameter Relay Agent thay đổi bản tin bằng cách chèn vào hoặc bỏ các thông
tin định tuyến mà khơng thay đổi bất kì phần nào khác của bản tin. Relay Agent sẽ khơng duy trì trạng thái phiên mà chỉ duy trì trạng thái giao dịch để thực hiện chức năng
Accouting.
Trang 48

4.2.2.2 Diameter Proxy Agent


Giống như Relay, Proxy Agent  định tuyến các bản tin Diameter sử dụng bảng định tuyết. Tuy nhiên, giữa hai thành phần có sự khác nhau về cách thay đổi bản tin để
thực hiện chính sách

4.2.2.3 Diameter Redirect Agent


Diameter Reditect Agent thực hiện việc đinh tuyến các bản tin sang tên miền khác. Nó cũng sử dụng bảng định tuyến để xác định chặng tiếp theo của đường đi đến
đích đã được yêu cầu. Thay tự vì định tuyến những yêu cầu, Redirect Agent sẽ đáp ứng lại địa chỉ của chặng kết tiếp để Proxy Agent định tuyến.

4.2.2.4 Diameter Translation Agent


Diameter Translation Agent là thành phần thực hiện việc chuyển đổi dịch vụ giữa Diameter và một giao thức thực hiện chức năng AAA khác. Translation Agent sử
dụng để tương thích với các dịch vụ trên cơ sở hạ tầng mạng sẵn có phỗ biến như RADIUS, TACACS,.

4.2.3 Bản tin


Bản tin Diameter chứa một header và một số cặp giá trị thuộc tính AVP. Header gồm nhiều trường với dữ liệu dạng nhị phân giống header của giao thức IP.
Hình 4.3: Cấu trúc bản tin trong giao thức Diameter
Diameter Header chứa các trường: vertion, Message Length, application ID, Hop-by-hop Identifier, end-to-end identifier. Trường vertion cho biết phiên bản hiện tại
của giao thức là 1. Message cho biết chiều dài bản tin. Appliction ID chứa loại ứng dụng được phục vụ. Hai trường cuối dùng để xác định người dùng và địa chỉ chặng kế tiếp
trong đường đi. AVP chứa thông tin chứng thực, ủy quyền, và thông tin về tài khoản người
dùng  để định tuyến, bảo mật, thông tin cấu hình có liên quan đến u cầu và đáp ứng bản tin. Mỗi AVP chứa AVP header và AVP data.
Trang 49
AVP Header chứa AVP code để xác định thuộc tính của trường Vendor-ID, AVP length: chiều dài của AVP data, AVP Flag qui định về mã hóa, có nhận hay chuyển
bản tin, Trường AVP data có thể là rỗng hoặc nhiều octet chứa thơng tin về thuộc tính
cụ thể. Định dạng và chiều dài của trường này được xác định bởi trường AVP Code và AVP Length. Định dạng của trường này là một trong những dạng dữ liệu chuẩn sau đây:
OctetString,   Interger32,   Interger64,   Unsigned32,   Unsigned64,   Float32,   Float64, Grouped Để tìm hiểu kỹ về các dạng dữ liệu này, người xem có thể tham khảo [RFC
3588]. Trong trường hợp cần có một dạng dữ liệu cơ bản mới cho AVP Data thì một phiên bản RFC mới hơn phải được tạo ra.

4.2.4 Khả năng kiểm soát lỗi của giao thức Diameter