Giao thức Diameter

Một phần của tài liệu Dịch vụ IPTV trên IMS NGN (Trang 44 - 48)

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 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 yê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.

HSS/SLF CSCF OSA Gateway Application Servers Media Server IMS User Sh Sh IMS SIP SIP SIP Diameter Hình 2.10. Giao thức Diameter

Trang 36

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, 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.

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.

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ẽ

Trang 37

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.

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

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.

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,….

- 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 2.11. 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.

Trang 38

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 yêu cầu và đáp ứng bản tin. Mỗi AVP chứa AVP header và AVP data.

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.

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

Lỗi trong giao thức Diameter chia thành 2 loại: lỗi giao thức và lỗi ứng dụng

 Lỗi giao thức (adsbygoogle = window.adsbygoogle || []).push({});

Xảy ra ở cấp độ giao thức cơ bản nhƣ lỗi định tuyến. Khi xuất hiện lỗi, bit E trong trƣờng Command Flag của Diameter Header trong bản tin đáp ứng sẽ đƣợc bật lên 1 và gởi trở lại theo đƣờng đến.

Hình 2.12. Lỗi giao thức trong Diameter

 Lỗi ứng dụng

Xảy ra ở các ứng dụng của Diameter nhƣ chứng thực User, mất gói AVP. Khi xuất hiện lỗi, bit R trong Command Flag trong bản tin đáp ứng đƣợc bật lên 1 và gởi lại cho User khởi tạo không thông qua Agent

Trang 39

Hình 2.13. Lỗi ứng dụng trong giao thức Diameter

Các bản tin đáp ứng lại trong trƣờng hợp có lỗi:

Bảng 2.3 Bản tin đáp ứng trong trường hợp có lỗi xảy ra

Bản tin Nhóm Ý nghĩa

1xxx Thông tin Cần thêm thông tin để hoàn tất yêu cầu

2xxx Thành công Yêu cầu thành công

3xxx Lỗi giao thức Lỗi tại nút mạng

4xxx Thất bại tạm thời Yêu câu thất bại nhƣng có thể thành công ở thời điểm khác.

5xxx Thất bại Yêu cầu thất bại

Một phần của tài liệu Dịch vụ IPTV trên IMS NGN (Trang 44 - 48)