Tải bản đầy đủ (.pdf) (90 trang)

tìm hiểu về giao thức diameter

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.63 MB, 90 trang )

Tiểu luận môn học

Mục lục

MỤC LỤC
THUẬT NGỮ VIẾT TẮT ................................................................................................... ii
CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC DIAMETER ....................................9
1.1.
Giới thiệu: ................................................................................................................9
1.2. Khung Diameter ....................................................................................................... 10
1.2. Các thành phần Diameter ..................................................................................... 11
1.2.1 Thành phần RELAY (Chuyển tiếp) .................................................................. 12
1.2.2 Thành phần PROXY (Ủy quyền)...................................................................... 13
1.2.3 Thành phần REDIRECT (Gửi lại) .................................................................... 13
1.2.4 Thành phần TRANSLATION (Dịch) .............................................................. 14
1.4. Cấu trúc bản tin của Diameter ................................................................................. 15
1.4.1 Cấu trúc Header .................................................................................................. 15
1.4.2 AVP (Attribute value pair) ................................................................................ 16
1.5. Một số đặc điểm của giao thức Diameter.......................................................... 19
1.5.1 Vận chuyển ....................................................................................................... 19
1.5.2 Nút ngang cấp Diameter .................................................................................... 23
1.5.2. Kết nối và phiên ............................................................................................... 24
1.5.4. Bảo mật trong Diameter................................................................................... 26
1.5.5. Thanh toán ......................................................................................................... 26
1.5.6. Cơ chế truyền thay thế và xử lý lỗi ............................................................... 27
1.5.7. So sánh với giao thức RADIUS ..................................................................... 29
Kết luận .............................................................................................................................. 30
CHƯƠNG II: GIAO THỨC DIAMETER TRONG IMS .......................................... 31
2.1 Thủ tục đăng kí và xóa đăng kí mức ứng dụng với giao diện Cx .................... 31
2.1.1 Đăng kí IMS ....................................................................................................... 31
2.1.2 Thủ tục xóa đăng kí mức ứng dụng .............................................................. 43


2.2. Thủ tục liên quan đến truy vấn thông tin định tuyến (giao diện Dx) ............. 50
2.2.1 Nhận dạng người dùng tới giải đáp HSS ....................................................... 50
2.2.2 Đăng kí trên SLF ............................................................................................ 54
2.2.3 Mời UE trên SLF ............................................................................................. 55
2.3. Khởi tạo phiên ....................................................................................................... 56
2.4
Tính cước ............................................................................................................... 57
2.4.1 Kiến trúc tính cước ........................................................................................... 57
2.4.2 Kiến trúc tính cước ngoại tuyến...................................................................... 57
2.4.3 Kiến trúc tính cước trực tuyến ........................................................................ 76
2.4.4. Các AVP sử dụng cho thanh toán trực tuyến và ngoại tuyến .................... 85
Kết luận .............................................................................................................................. 88
TỔNG KẾT ............................................................................................................................ 89
Tài liệu tham khảo ............................................................................................................... 90

Nhóm 1 _ D11VT7

i


Tiểu luận môn học

Thuật ngữ viết tắt

THUẬT NGỮ VIẾT TẮT

Từ viết tắt

Từ đầy đủ


Tiếng Việt

3GPP

Third Generation Partnership

Dự án hợp tác thế hệ thứ ba

Project
3GPP2

Third Generation Partnership

Dự án hợp tác thế hệ thứ ba 2

Project 2
AAA

Authentication, authorization

Nhận thực, cấp phép và thanh toán

and accounting
AAL

ATM adaptation layer

Lớp thích ứng ATM

ACA


Accounting-Answer

Trả lời- thanh toán

ACR

Accounting requests

Yêu cầu thanh toán

ADSL

Asynchronous Digital

Đường dây thuê bao số không đồng

Subscriber Line

bộ

AH

Authentication header

Header nhận thực

AKA

Authentication and key


Thỏa thuận khóa và nhận thực

agreement
AS

Application server

Server ứng dụng

ATM

Asynchronous transfer mode

Phương thức truyền tải bất đồng bộ

AVP

Attribute value pair

Cặp giá trị thuộc tính; profile âm
thanh hình ảnh

BCF

Bearer Charging Function

Chức năng tính cước kênh mạng

BER


Bit error ratio

Tốc độ bít lỗi

BGCF

Breakout Gateway Control

Chức năng điểu khiển cổng nối

Function

xuyên

Bearer Independent Call

Điều khiển cuộc gọi độc lập kênh

BICC

Nhóm 1 _ D11VT7

ii


Tiểu luận môn học

BS


Thuật ngữ viết tắt

Control

mang

Bearer service; billing system

Dịch vụ kênh mạng, hệ thống hóa
đơn

BSF

Bootstrapping Server

Chức năng server tự mồi

Function
BTS

Base Transceiver Station

Trạm thu phát gốc

CAMEL

Customized Applications for

Ứng dụng theo yêu cầu khách hàng


Mobile network Enhanced

đối với

Logic
CAP

Camel Application Part

Phần ứng dụng Camel

CCF

Charging Collection Function

Chức năng tập hợp tính cước

CCSA

China Communications

Liên hiệp chuẩn thông tin Trung

Standards Association

Quốc

Code Division Multiple

Đa truy nhập phân chia theo mã


CDMA

Access
CDR

Charging Data Record
Charging Detail Record

Bản ghi dữ liệu cước, bản ghi chi tiết
cước

CGF

Charging Gateway Function

Chức năng cổng tính cước

CK

Ciphering key

Khóa mật mã

CSN

Circuit switching network

Mạng chuyển mạch kênh


CN

Core Network

Mạng lõi

CS

Circuit-switched

Chuyển mạch kênh

CSCF

Call Session Control Function

Chức năng điều khiển phiên gọi

CSCN

Circuit Switched Core

Mạng lõi chuyển mạch kênh

Network
DHCP

Dynamic Host Configuration

Nhóm 1 _ D11VT7


Giao thức cầu hình trạm động
iii


Tiểu luận môn học

Thuật ngữ viết tắt

Protocol
DOS

Denial of service

Từ chối dịch vụ

DNS

Domain name system

Hệ thống tên miền

DSL

Digital Subscriber Line

Đường dây thuê bao số

EAP


Extensible Authentication

Giao thức nhận thực mở rộng

Protocol
ECF

Event Charging Function

Chức năng tính cước sự kiện

GGSN

Gateway GPRS Support Node

Node hỗ trợ cổng GPRS

GPRS

General Packet Radio Service

Dịch vụ vô tuyến gói chung

GSM

Global System for Mobile

Hệ thống viễn thông di động toàn cầu

Communications

HLR

Home location register

Bộ đăng ký vị trí nhà

HSS

Home Subscriber Server

Server thuê bao nhà

HTTP

Hyper Text Transfer Protocol

Giao thức truyền tải siêu văn bản

ICID

IMS charging identifier

Nhận dạng tính cước IMS

I-CSCF

Interrogating-CSCF

CSCF –Thẩm vấn (hỏi)


IETF

Internet Engineering Task

Nhóm đặc trách kỹ thuật về Internet

Force
IK

Integrity key

Khóa toàn vẹn

IKE

Internet Key Exchange

Trao đổi khóa Internet

IMS-MGW

IP Multimedia Subsystem-

Chức năng cổng phương tiện – phân

Media Gateway Function

hệ đa phương tiện IP.

IMS


IP Multimedia Subsystem

Phân hệ đa phương tiện IP

IM-SSF

IP Multimedia Service

Chức năng chuyển mạch dịch vụ đa

Switching Function

phương tiện IP

Nhóm 1 _ D11VT7

iv


Tiểu luận môn học

Thuật ngữ viết tắt

IP

Internet Protocol

Giao thức Internet


IP-CAN

IP-Connectivity Access

Mạng truy nhập kết nối IP

Network
IPsec

Internet Protocol security

Bảo mật giao thức Internet

IPv4

Internet Protocol Version 4

Giao thức Internet phiên bản 4

IPv6

Internet Protocol Version 6

Giao thức Internet phiên bản 6

IP-SSF

IP Multimedia Service

Chức năng chuyển mạch dịch vụ đa


Switching Function

phương tiện IP

ISC

IMS Service Control

Điều khiển dịch vụ IMS

ISDN

Integrated Services Digital

Mạng số đa dịch vụ

Network
ISIM

ISP

IP Multimedia Services

Môđun nhận dạng dịch vụ đa phương

Identity Module

tiên IP


Internet Service Provider

Nhà cung cấp dịch vụ
Internets

ISUP

ISDN User Part

Phần người dùng ISDN

LCS

Location services

Dịch vụ vị trí

LIA

Location-Info-Answer

Trả lời thông tin vị trí

LIR

Location-Info-Request

Yêu cầu thông tin vị trí

MAR


Multimedia-Auth-Request

Yêu cầu

MEGACO

Media Gateway Control

Giao thức điểu khiển cổng phương

Protocol

tiện

Media Gateway Control

Chức năng điều khiển cổng phương

Function

tiện

Media gateway function

Chức năng cổng phương tiện

MGCF

MGW


Nhóm 1 _ D11VT7

v


Tiểu luận môn học

Thuật ngữ viết tắt

MID

Media stream identification

Nhận dạng luồng phương tiện

MMS

Multimedia Messaging

Dịch vụ nhắn tin đa phương tiện

Service
Multimedia Resource

Bộ điều khiển chức năng tài nguyên

Function Controller

đa phương tiện


MSC

Mobile switching centre

Trung tâm chuyển mạch di động

NAI

Network access identifier

Nhận dạng truy nhập mạng

NAPTR

Naming authority pointer

NAS

Network access server

Server truy nhập mạng

NASREQ

Network Access Server

Yêu cầu server truy nhập mạng

MRFC


Requirements
NGN

Next Gene Network

Mạng thế hệ tiếp theo

NTP

Network Time Protocol

Giao thức thời gian mạng

OCS

Online Charging System

Hệ thống tính cước trực tuyến

P-CSCF

Proxy-CSCF

CSCF - ủy quyền

PDF

Policy Decision Function


Chức năng quyết định chính sách

PDP

Packet Data Protocol; policy

Giao thức dữ liệu gói; điểm quyết

decision point

định chính sách.

PLMN

Public Land Mobile Network

Mạng di động công cộng mặt đất

PS

Packet-switched; presence

Chuyển mạch gói; server hiện thời

server
Public Switched Telephone

Mạng điện thoại chuyển mạch kênh

Network


công cộng

QoS

Quality of service

Chất lượng dịch vụ

RADIUS

Remote Authentication Dial

Dịch vụ người sử dụng quay số nhận

In User Service

thực từ xa

PSTN

Nhóm 1 _ D11VT7

vi


Tiểu luận môn học

Thuật ngữ viết tắt


SA

Security association

Liên kết bảo mật

SAA

Server-Assignment-Answer

Trả lời gán server

SAR

Server-Assignment-Request

Yêu cầu gán server

S-CDR

SGSN-CDR

Bản ghi chi tiết cước SGSN

SCF

Session Charging Function

Chức năng tính cước phiên


SCS

Service Capability Server

Server khả năng dịch vụ

S-CSCF

Serving-CSCF

CSCF - Phục vụ

SCTP

Stream Control Transmission

Giao thức truyền dẫn điều khiển

Protocol

luồng

SDP

Session Description Protocol

Giao thức miêu tả phiên

SGSN


Serving GPRS Support Node

Node hỗ trợ dịch vụ GPRS

SGW

Signalling Gateway

Cổng báo hiệu

SIP

Session Initiation Protocol

Giao thức khởi tạo phiên

SIPS

Secure SIP

Bảo mật SIP

SLF

Subscription Locator Function

Chức năng định vị đăng ký thuê bao

SNMP


Simple Network Management

Giao thức quản lý mạng đơn giản

Protocol
SRV

Service records

Bản ghi dịch vụ

SSF

Service Switching Function

Chức năng chuyển mạch phục vụ

TCP

Transmission Control

Giao thức điều khiển truyền dẫn

Protocol
TCP/IP

TCP/IP stack

Ngăn xếp TCP/IP


TLS

Transport Layer Security

Bảo mật lớp truyền tải

TTL

Time to live

Thời gian sống

Nhóm 1 _ D11VT7

vii


Tiểu luận môn học

Thuật ngữ viết tắt

UA

User Agent

Tác nhân người dùng

UAA

User-Authorization-Answer


Trả lời cấp phép người dùng

UAR

User-Authorization-Request

Yêu cầu cấp phép người dùng

UDP

User Datagram Protocol

Giao thức dữ dữ liệu người dùng

UE

User equipment

Thiết bị người dùng

UMTS

Universal Mobile

Hệ thống viễn thông di động toàn cầu

Telecommunications System
URI


Uniform resource identifier

Nhận dạng tài nguyên duy nhất

URL

Universal resource locator

Định vị tài nguyên chung

USIM

Universal Subscriber Identity

Môđun nhận dạng thuê bao toàn cầu

Module
UMTS terrestrial radio access

Mạng truy nhập vô tuyến mặt đất

network

UMTS

VPN

Virtual private network

Mạng riêng ảo


VoIP

Voice over IP

Thoại qua IP

WAP

Wireless Application Protocol Giao thức ứng dụng không dây

UTRAN

Nhóm 1 _ D11VT7

viii


Tiểu luận môn học

Chương 1: Tổng quan về giao thức Diameter

CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC DIAMETER

1.1.

Giới thiệu:
Giao thức AAA RADIUS được phát triển vào năm đầu thập niên 90. Tại

thời điểm đó Internet sử dụng rất khác, mọi người sử dụng quay số để kết nối

Internet. Người sử dụng 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 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
(LADP). 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ế, năm 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. Giao thức AAA
(Authentication, Authorization and Accounting) là giao thức cho việc chứng thực,
cấp phép và tính cước.
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ụ. Cùng với sự phát triển của web 2.0 và sự tăng lên
không ngừng của các router và server truy nhập mạng (NAS) do đó yêu cầu thay
đổi và cần có giao thức để thay thế RADIUS.
Vào tháng 9 năm 2003 một giao thức AAA Diameter mới được IETF chuẩn
hóa trong RFC 3588. Giao thức Diameter được phát triển giải quyết vấn đề mà
RADIUS còn bỏ ngỏ. Trong ứng dụng mới như mạng truy nhập nội bộ không dây
(WLAN) và Voice over IP (VoIP) Diameter tốt hơn và phù hợp hơn đối với người
dùng chuyển vùng.
Giao thức Diameter bao gồm: Diameter Base Protocol (giao thức Diameter
nền tảng) và Diameter Application (ứng dụng Diameter). Giao thức Diameter nền
tảng 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. Ứng dụng Diameter định nghĩa những ứng dụng dữ
liệu riêng. Diameter dựa trên RFC 3588 được chọn là giao thức AAA trong mạng
IMS.
Hiện tại giao thức Diameter được dùng để tập trung, hạn chế, hỗ trợ truy
nhập mạng IP. Giao thức Diamter được thiết kế nhằm cải tiến giao thức RADIUS.
Nhóm 1_ D11VT7


Page 9


Tiểu luận môn học

Thuật ngữ viết tắt

Đích đến của nó là tối đa hóa khả năng và cho chuyển đổi đơn giản hơn từ
RADIUS sang Diameter. Vi dụ với bản tin Diameter, như bản tin RADIUS nhưng
có thêm cặp giá trị thuộc tính (AVP).

Hình 1.1 Tổng quan về Diameter
1.2. Khung Diameter

Hình 1.2 Kiến trúc phân lớp giao thức Diameter
Giao thức Diameter bao gồm giao thức cơ bản và ứng dụng giao thức
Diameter chỉ ra trong hình 2.2. Các ứng dụng mở rộng của giao thức Diameter cơ
bản:

Hình 1.3 Giao thức cơ bản Diameter

Nhóm 1 _ D11VT7

10


Tiểu luận môn học

Thuật ngữ viết tắt


Trong giao thức cơ bản chức năng được hỗ trợ cho tất cả các dịch vụ, như là
cơ chế truyền tin cậy, truyền bản tin và xử lý lỗi.
Giao thức cơ sở Diameter (Diameter Base Protocol) sử dụng cả giao thức
điều khiển truyền dẫn – Transmission Control Protocol (TCP) [RFC 793] và Giao
thức điều khiển luồng truyền dẫn – Stream Control Transmission Protocol (SCTP)
[RFC 2960] để truyền dữ liệu. Sự khác nhau giữa các nút Diameter là liên kết nối
với cấu trúc ngang cấp peer-to-peer. Khung Diameter cho phép kiểu và cấu trúc ứng
dụng push và pull. Giao thức cơ bản Diameter định nghĩa tiêu để Diameter và cặp
giá trị thuộc tính AVP (AVPs). Ứng dụng có thể mở rộng với việc định nghĩa bản
tin mới và các AVP và trong đơn vị dữ liệu giao thức (PDU-Protocol Data Units).
Khả năng thích hợp ngược với giao thức, giao thức Diameter không chia sẻ
PDU chung với RADIUS. Cần có một bộ dịch để dịch giữa Diameter và RADIUS.
1.2.

Các thành phần Diameter
Diameter là một giao thức ngang hàng peet-to-peer, tại bất kỳ một thành

phần nào cũng có thể thiết lập một yêu cầu. Trong Diameter có 3 thành phần chính
là: Server, Client và Agent. Diameter máy khách là thiết bị đầu cuối của mạng thực
hiện truy vấn và sử dụng dịch vụ. Tác nhân Diameter có thể là Relay, Proxy,
Redirect hoặc Translation (dịch bản tin).
Diameter thiết lập chứng thực, cấp quyền và thanh toán cho từng vùng cụ
thể đó là nơi có server đặt trong đó.
Thành phần Diameter thực hiện một số yêu cầu trong khi đó một số thì
không. Một thành phần có thể là một kiểu thành phần hoặc là server đối với một vài
yêu cầu, nhưng cũng có thể là thành phần hoặc máy chủ cho yêu cầu khác.
Trong Diameter, cả Diameter client và Diameter server đều có thể gửi hoặc
nhận các yêu cầu cũng như hồi đáp.
Bản tin Diameter ở một trong hai dạng yêu cầu và hồi đáp. Một yêu cầu được
trả lời bởi một hồi đáp. Ngoại trừ một vài trường hợp đặc biệt, nói chung yêu cầu

Diameter luôn luôn được trả lời, vì vậy bên gửi yêu cầu luôn được nhận thông tin
chính xác về kết quả của yêu cầu đó. Trong trường hợp có lỗi, bên gửi có thể dễ
dàng phát hiện và gửi lại.

Nhóm 1 _ D11VT7

11


Tiểu luận môn học

Thuật ngữ viết tắt

1.2.1 Thành phần RELAY (Chuyển tiếp)
Được sử dụng để truyền bản tin tới đích tương ứng, tùy thuộc vào thông tin
chứa trong bản tin. Thành phần Relay cho phép thay đổi bản tin bằng cách thêm vào
hoặc bỏ đi thông tin định tuyến, nhưng không cho phép sửa đổi các phần khác 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 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.
Thông tin tên miền được chứa trong bản tin UE sử dụng để tìm kiếm một entry. Mã
ứng dụng ứng với trường Vendor ID trong bản tin Diameter. Mã này được định
nghĩa bởi IANA, mỗi ứng dụng có một ID khác nhau. Ví dụ:
0

Bản tin Diameter

1

NASREQ


2

Mobile-IP

3

Chức năng tài khoản
Mã ứng dụng được dùng như trường thứ quan trọng thứ hai để tìm kiếm một

entry. Trường hoạt động cục bộ chứa một trong 4 giá trị: Local, Relay, Proxy,
Redirect. Dựa vào trường này mà thành phần 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ế
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.
Thành phần Relay 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 Accounting, tức là ghi lại các hành động của
người dùng sau khi đã thực hiện một chức năng nào đó trong hệ thống.

Hình 1.4: Thành phần Relay

Nhóm 1 _ D11VT7

12



Tiểu luận môn học

Thuật ngữ viết tắt

1.2.2 Thành phần PROXY (Ủy quyền)
Giống như thành phần Relay, thành phần Proxy định tuyến các bản tin
Diameter sử dụng bảng định tuyến. Thành phần Proxy có thể được sử dụng cho
truyền gói tin, nhưng không giống như thành phần Relay, thành phần Proxy có thể
thay đổi nội dung bản tin chứa bên trong và do dó cung cấp giá trị dịch vụ, bắt buộc
qui tắc trên bản tin khác nhau, hoặc thực hiện quản lý nhiệm vụ cho vùng cụ thể.
Khi mà thành phần Proxy thay đổi bản tin thì việc không có bảo mật đầu cuối cũng
có thể xảy ra.

Hình 1.5: Thành phần PROXY
1.2.3 Thành phần REDIRECT (Gửi lại)
Thành phần Redirect có thể cho một Agent biết nơi để tìm thấy Diameter
server, ví dụ như server mạng nhà cho từng người dùng cụ thể. Hoạt động như 1
kho chứa cấu hình tập trung cho nút Diameter khác. Khi nó nhận 1 bản tin, nó kiểm
tra trong bảng định tuyến và gửi trở lại bản tin trả lời với thông tin gián tiếp tới bên
gửi. Bởi vì thành phần Redirect không thiết lập bản tin, chúng cũng không thay đổi
bản tin. Khi một yêu cầu vào thành phần Proxy, thành phần Redirect cho biết server
mạng nhà được đặt ở đâu. Sau đó thành phần Proxy có thể thiết lập kết nối tới
server mạng nhà. Hình 1.6 chỉ ra rằng làm thực thể Redirect hoạt động như thế nào.
Hình 1.6 dưới đây là giống như hình 1.5 nhưng lúc này tác nhân Proxy không biết
địa chỉ để liên lạc với nút Diameter về example.com. Do đó nó tìm kiếm thông tin
trong thực thể Redirect trong vùng của nó để lấy địa chỉ:

Nhóm 1 _ D11VT7

13



Tiểu luận môn học

Thuật ngữ viết tắt

Tìm kiếm (example.com)
-> định tuyến tới thành phần
Proxy

Tìm kiếm (example.com)
-> định tuyến tới Diameter server trong
miền khác

Tìm kiếm (example.com)
-> xử lý nội bộ

5. Trả lời

6.Trả lời
Thực thể
Diameter Proxy

Diameter Client
1. Yêu cầu

Diamerter
Server
4. Yêu cầu


Example.net
2. Yêu cầu

3. Gửi lại

Example.com

Thành phần
Diameter
REDIRECT (gửi
lại)

Hình 1.6: Thành phần Redirect
Vậy, thành phần Redirect thực hiện việc định tuyến các bản tin sang tên miền
khác. Nó đã 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 vì tự định tuyến những yêu cầu, thành phần Redirect sẽ
đáp ứng lại địa chỉ của chặng kế tiếp để thành phần Proxy định tuyến.
1.2.4 Thành phần TRANSLATION (Dịch)
Trong những thành phần đã có, có thành phần đặc biệt gọi là thành phần
dịch. Tương ứng với tên gọi của thành phần này chức năng chính của nó chính là
chuyển đổi bản tin từ giao thức AAA sang dạng khác. Thực thể Translation có thể
cung cấp khả năng tương thích ngược.

Hình 1.7: Thực thể Diameter Translation
Hình 1.7 chỉ ra rằng cách 1 thực thể Translation chuyển từ giao thức Radius
sang giao thức Diameter. Thành phần Translation 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,...

Nhóm 1 _ D11VT7


14


Tiểu luận môn học

Thuật ngữ viết tắt

1.4. Cấu trúc bản tin của Diameter
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.
Diameter Header

AVP

AVP

Hình 1.8: Cấu trúc bản tin Diameter
1.4.1 Cấu trúc Header
0

8

16

Version

Message Length

Command Flags


Command Code

31

Application – ID
Hop – by – Hop Identifier
End – to – End Identifier
Hình 1.9: Cấu trúc Header của giao thức Diameter
Giải thích ý nghĩa các trường:


Version: được thiết lập bằng 1, ứng với phiên bản hiện nay của giao thức
Diameter là 1.



Command Flags: trường này dài 8 bit. Có dạng RPETrrrr, có ý nghĩa như sau:
 R (request): nếu bằng 1, đây là bản tin yêu cầu. Nếu bằng 0 là bản tin đáp
ứng.
 P (proxiable): nếu bằng 1, bản tin có thể chuyển tiếp bởi Proxy, Relay hoặc
Redirect. Nếu bằng 0 thì bản tin sẽ được xử lý tại nút.
 E (error): Nếu bằng 1, bản tin đáp ứng chữa lỗi giao thức, và bản tin sẽ
không phù hợp với mô tả ABNF. Nếu bằng 9 trong bản tin yêu cầu và
không lỗi.
 T (potentially re-transmitted massage): Bít này bằng 1 khi liên kết bị đứt,
bản tin yêu cầu bị trùng hoặc không có trả lời từ Server.
 r: dự trữ, luôn bằng 0.




Command Code: trường này dài 24 bit, được quản lý bởi IANA, giá trị từ 0 –
24 dùng riêng cho Radius, 16777214 và 16777215 dùng thí nghiệm, các số còn
lại dùng trong giao thức Diameter.

Nhóm 1 _ D11VT7

15


Tiểu luận môn học



Thuật ngữ viết tắt

Application-ID: dài 32 bit, dùng để xác định tên ứng dụng do IANA quản lý.
Ứng dụng có thể là một ứng dụng dành cho việc chứng thực, một ứng dụng
quản lý tài khoản người dùng hoặc một ứng dụng cụ thể của một nhà sản xuất
nào đó. Nó là một dãy số từ 0x00000001 đến 0x00ffffff. Sau đây là một số
Application-ID:
Bản tin Diameter chung

0

NASREQ

1

Mobile-IP


2

Chức năng Accounting trong Diameter

3

Relay

255

Application ID trong header phải giống với nội dung chứa trong AVP.


Hop-by-Hop Identifier: dài 32 bit, giúp phù hợp giữa bản tin yêu cầu và đáp
ứng trong 1 kết nối trong 1 thời gian.



End-to-End Identifier: xác định bản tin bị trùng.

1.4.2 AVP (Attribute value pair)
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.
0

7

8


31

AVP code
AVP flags

AVP length

Vendor ID
Data
Hình 1.10: Cấu trúc AVP
Giải thích ý nghĩa các trường:
Trường cờ AVP, 8 bit
00 01 02 03 04 05 06 07

Nhóm 1 _ D11VT7

16


Tiểu luận môn học

Thuật ngữ viết tắt

V M P Reserved
V, Vendor-specific, 1 bit
Nếu đặt, Trường định danh nhà sản xuất được đưa ra.
M, có tính bắt buộc, 1 bit
Nếu đặt, cho biết rằng AVP này được yêu cầu hỗ trợ.
P, 1bit
Nếu đặt, bảo mật đầu cuối được cần đến.

Reserved, trường dành riêng, 5 bit
Kích cỡ của tiêu đề AVP và dữ liệu trong các byte.
Trường chiều dài, cho biết chiều dài AVP không có phần độn
Dữ liệu Diameter AVP có thể có kiểu định dạng sau: OctetString, Interger32,
Interger64, Unsigned32, Unsigned64, Float32, Float64 và Grouped.
Grouped các AVP được sử dụng cho nhiều AVP trong 1 AVP. Trong trường
hợp này trường dữ liệu AVP chứa nhiều AVP.
Trường Vendor ID, 32 bit
Trường này được đưa ra khi mà bit V được đặt trong trường cờ của AVP.
Trường này chứa IANA đã gán giá trị “Mã quản lý cá nhân mạng SMI” (SMI
Network Management Private Enterprise Codes), được mã hóa theo thứ tự. Bất kì
nhà sản xuất đều bổ sung một Vendor-specific Diameter AVP để sử dụng Vendor
ID của riêng họ với quản lý không gian địa chỉ AVP của riêng mình, đảm bảo rằng
chúng không xung đột với bất kì AVP vendor-specific của các nhà sản xuất khác, và
trong ứng dụng tương lai. Khi mà trường này không có thì phải chèn thêm các bit
giá trị 0 vào.
Trường mã lệnh 32 bit
Khi kết hợp với định danh nhà sản xuất thì thuộc tính được định danh duy
nhất. Giá trị AVP từ 1 đến 255 được dành riêng cho RADIUS mà không có trường
Vendor ID. Giá trị AVP từ 256 trở lên sử dụng cho Diameter, được cấp phát bởi
IANA.

Nhóm 1 _ D11VT7

17


Tiểu luận môn học

Thuật ngữ viết tắt


Bảng 1.1: Một số AVPs


Mô tả

Tham
Khảo

1-255

Thuộc tính RADIUS

257

Host-IP-Address.

RFC 3588

259

Acct-Application-Id.

RFC 3588

260

Vendor-Specific-Application-Id.

RFC 3588


261

Redirect-Host-Usage.

RFC 3588

264

Origin-Host.

265

Supported-Vendor-Id.

266

Vendor-Id.

267

Firmware-Version.

268

Result-Code.

269

Product-Name.


278

Origin-State-Id.

279

Failed-AVP.

280

Proxy-Host.

281

Error-Message.

282

Route-Record.

283

Destination-Realm.

284

Proxy-Info.

285


Re-Auth-Request-Type.

292

Redirect-Host.

293

Destination-Host.

Nhóm 1 _ D11VT7

18


Tiểu luận môn học

Thuật ngữ viết tắt

294

Error-Reporting-Host.

295

Termination-Cause.

296


Origin-Realm.

320

MIP-Reg-Request.

321

MIP-Reg-Reply.

322

MIP-MN-AAA-Auth.

323

MIP-HA-to-FA-SPI.

325

MIP-MN-to-FA-MSA.

RFC 4004

326

MIP-FA-to-MN-MSA.

RFC 4004


369

SIP-Accounting-Server-URI.

RFC4740

370

SIP-Credit-Control-Server-URI.

RFC4740

379

SIP-Authenticate.

RFC4740

380

SIP-Authorization.

RFC4740

389

SIP-User-Data.

RFC4740


390

SIP-User-Data-Type.

RFC4740

415

CC-Request-Number.

RFC 4006

1.5.

Một số đặc điểm của giao thức Diameter

1.5.1

Vận chuyển
Giao thức Diameter sử dụng cả 2 giao thức truyền tải TCP và SCTP. Tuy

nhiên SCTP được chọn nhiều hơn trong các kết nối có định hướng giữa các thành
phần Diameter, nó có thể chia nhiều luồng độc lập vào trong một kết nối SCTP,
thay vì giữ tất cả các luồng đó riêng như trong TCP. Diameter khách hỗ trợ 1 trong
2 giao thức, trong khi đó các thực thể khác và server phải hỗ trợ cả 2. Một nút
Diameter có thể khởi tạo kết nối từ port nguồn tới một đích mà nó chấp nhận kết
nối, và phải chuẩn bị để nhận kết nối trên cổng 3868. Một cơ chế là không sử dụng

Nhóm 1 _ D11VT7


19


Tiểu luận môn học

Thuật ngữ viết tắt

nhiều hơn 1 kết nối vận chuyển với nút ngang cấp, trừ phi trường hợp nhiều nút tồn
tại và mỗi trường hợp là kết nối riêng biệt và được cho phép xử lý.
Khi không có kết nối vận chuyển tồn tại với nút ngang cấp, việc cố gắng kết
nối theo chu kì sẽ được tiến hành. Cách cư xử này được thiết lập thông qua Tc
Timer, với giá trị là 30s.
i.

SCTP
SCTP được thiết kế để truyền bản tin báo hiệu PSTN trên mạng IP, nhưng

cũng có thể cho các ứng dụng khác rộng hơn. SCTP được phát triển sau và có cấu
trúc phức tạp hơn TCP. SCTP được thiết kế để sử dụng trong điều kiện yêu cầu độ
tin cậy và gần thời gian thực, nó cung cấp những dịch vụ sau tới người dùng:
 Xác thực lỗi truyền của người dùng.
 Phân chia tệp dữ liệu để phù hợp với MTU của từng mạng.
 Chuỗi bản tin người dùng được sắp xếp với đa luồng, với sự tùy chọn thứ tự
nơi đến của từng bản tin riêng biệt.
 Đóng gói tùy chọn nhiều bản tin người dùng vào trong một gói SCTP.
 Khả năng chịu đựng lỗi mạng thông qua hỗ trợ multi-homing một trong hai
hay cả hai đầu cuối liên kết.
Thiết kế SCTP bao gồm tránh tắc nghẽn và chống lại quá trình flood và tấn
công giả mạo.
MAC header


IP header

SCTP header

Data

Tiều đề SCTP
0

15

31

Cổng đích

Cổng nguồn
Thẻ xác minh
Tổng kiểm tra
Đoạn (1…n)

Hình 1.11: Định dạng bản tin SCTP

Nhóm 1 _ D11VT7

20


Tiểu luận môn học


Thuật ngữ viết tắt

Giải thích ý nghĩa các trường:
Cổng nguồn. 16 bit
Số cổng của SCTP bên gửi. Nó có thể được sử dụng kết hợp với địa chỉ IP
nguồn. Khi tới bên nhận để xác định nguồn, cổng đích SCTP và có thể địa chỉ đích
IP để xác định nút đến mà gói tin thuộc về.
Cổng đích. 16 bit
Số cổng SCTP mà gói tin sẽ được chuyển đến. Bên nhận sẽ sử dụng số cổng
này để truyền các gói tin SCTP đến đúng điểm /ứng dụng nhận.
Thẻ xác minh. 32 bit
Bên nhận bản tin SCTP sẽ sử dụng trường này để xác nhận tính hợp lệ của
gói tin SCTP phía gửi. Trên quá trình truyền, giá trị của trường này phải đặt giá trị
Initiate (Khởi đầu). Thẻ nhận được từ nút ngang cấp đầu cuối trong suốt quá trình
khởi tạo, sẽ loại bỏ với trường hợp sau:
 Một gói chứa một đoạn khởi đầu có giá trị thẻ xác minh là 0.
 Gói chứa một đoạn SHUT_DOWN với bit T được đặt có xác nhận thẻ copy
từ gói với đoạn SHUT_DOWN.
 Gói chứa một đoạn ABORT sẽ có xác nhận thẻ đã copy từ gói với ABORT
đã được gửi.
Tổng kiểm tra. 32 bit
Chứa tổng kiểm tra của gói tin SCTP. STCP sử dụng thuật toán Adler-32 cho
tính toán tổng kiểm tra.
ii.

TCP
Giao thức TCP (Transmission Control Protocol) cung cấp dịch vụ truyền

thông dữ liệu định hướng truyền thống cho các chương trình - dịch vụ chuyển dòng
(stream) tin cậy. TCP cung cấp một mạch ảo, còn được gọi là kết nối. Nó cấp khả

năng đứt quãng, kiểm tra lỗi và điều khiển luồng.

Nhóm 1 _ D11VT7

21


Tiểu luận môn học

Thuật ngữ viết tắt

Cấu trúc tiêu đề TCP:
0

4

10

15

Source Port

31

Destination Port

40 octet

Sequence Number
Acknowledgement Number

Header
length

Unused

Flags

Checksum

Window
Urgent Pointer

Option Padding

Hình 1.12: Cấu trúc tiêu đề TCP
Giải thích ý nghĩa các trường:
 Source port, Destination port (cổng nguồn, cổng đích): chứa các giá trị cổng
TCP để xác định các chương trình ứng dụng tại hai đầu kết nối. Mỗi khi TCP
nhận gói dữ liệu từ IP, nó sẽ gỡ bỏ phần đầu IP và đọc phần đầu TCP.
 Sequence Number (số thứ tự): xác định vị trí trong chuỗi các byte dữ liệu
trong segment của nơi gửi.
 Acknowledgment Number (số xác nhận): xác định số octet mà nguồn đang
đợi để nhận kế tiếp. Lưu ý là Sequence Number để chỉ đến lượng dữ liệu
theo cùng chiều với segment, trong khi giá trị Acknowledgment Number để
chỉ đến dữ liệu ngược lại với segment đến.
 Header length (độ dài tiêu đề): chứa một số nguyên để xác định độ dài của
phần đầu segment, được tính theo bội số của 32 bit. Giá trị này là cần thiết vì
có phần Options có độ dài thay đổi, tùy thuộc vào những lựa chọn đã được
đưa vào.
 Unused (dự phòng): được dành riêng để sử dụng trong tương lai.

 Flags (bít mã): gồm có 6 bít để xác định mục đích và nội dung của segment,
diễn dịch các nội dung trong phần đầu dựa vào nội dung các bit. Ví dụ
segment chỉ chuyển tải ACK, hoặc chỉ chuyển đưa dữ liệu hay để tải những
yêu cầu để thiết lập hoặc ngắt nối.
 Window (cửa sổ): thông báo cho máy tính đầu cuối kích thước vùng đêm cho
quá trình truyền.
 Urgent pointer (con trỏ khẩn cấp): yêu cầu kết nối gửi dữ liệu ngoài dòng xác
định, chương trình nhận phải được thông báo lập tức ngay khi dữ liệu đến
cho dù nó nằm ở đâu trong vùng dữ liệu. Sau khi xử lý xong dữ liệu khẩn

Nhóm 1 _ D11VT7

22


Tiểu luận môn học

Thuật ngữ viết tắt

cấp, TCP thông báo cho chương trình ứng dụng trở về trạng thái thông
thường.
Đơn vị truyền giữa hai phần mềm TCP trên hai máy được gọi là segment.
Các segment được trao đổi để thiết lập kết nối, để truyền dữ liệu, để gửi các ACK
(thông báo xác nhận đã nhận dữ liệu), để thông báo kích thước của cửa sổ (nhằm tối
ưu hóa quá trình truyền và nhận dữ liệu) và để ngắt kết nối.
1.5.2 Nút ngang cấp Diameter
Diameter là giao thức ngang hàng (pear-to-pear), có nghĩa là từ mọi nút
Diameter đều có thể gửi yêu cầu tới các nút khác. Một Diameter client không phải
là thực thể chức năng chỉ gửi yêu cầu cũng như một Diameter server không phải là
thực thể chức năng chỉ gửi trả lời khi có yêu cầu. Thay vì thế một Diameter client là

thực thể chức năng có tính chất điều khiển truy nhập, trong khi Diameter server là
thực thể chức năng thực hiện việc chứng thực và cấp quyền. Trong Diameter, cả
Diameter client và Diameter server đều có thể gửi hoặc nhận các yêu cầu cũng như
hồi đáp.
Nút Diameter có tối thiểu 2 nút trên miền, nút thứ cấp và nút sơ cấp. Các nút
Diameter được kết nối được lưu trữ trong bảng ngang cấp.
Việc khám phá ngang cấp làm cho giao thức Diameter đơn giản hơn và hiệu
quả hơn. Việc làm này diễn ra khi mà nút có thể cần khám phá ra thực thể Diameter
đầu tiên hoặc khi máy khách cần khám phá ra thực thể khác cho quá trình xử lý xa
hơn. Cơ chế này dựa trên chuẩn IETF. Cơ chế này được cấu hình bằng tay cho vị trí
thực thể (cấu hình tĩnh), Giao thức vị trí dịch vụ (SRVLOC) (RFC 2608) và Server
tên miền (DNS) (RFC 1034, RFC 1035).
Khi hai nút muốn thiết lập kết nối, chúng sử dụng bản tin trao đổi để tìm
kiếm các nút và khả năng trao đổi. Khả năng trao đổi có thể sử dụng tại các nút kế
tiếp. Sau khi yêu cầu khả năng trao đổi luôn là bản tin trả lời khả năng trao đổi.
Khi nút mất kết nối, yêu cầu ngắt kết nối được sử dụng để cho nút biết việc
ngắt kết nối tầng vận chuyển, và nút sẽ không kết nối lại trừ khi nó có lý do nào đó.
Khi nút ngắt kết nối mà không có bản tin Disconect-Peer nút sẽ cố gắng liên lạc lại
theo chu kì.
Đối với 1 nút Diameter, khám phá vị trí ngang cấp cũng giống như cấu hình
định tuyến sẽ được lưu trữ sử dụng 2 bảng Diameter.

Nhóm 1 _ D11VT7

23


Tiểu luận môn học

Thuật ngữ viết tắt


Peer Table, bảng ngang cấp được sử dụng để lưu trữ địa chỉ host của các nút
Diameter. Thông tin khác được tìm thấy một cách tự động như là tình trạng, thông
tin bảo mật, cũng có trong bảng định tuyến
Peer Routing Table, yêu cầu chú ý bản tin định tuyến. Đầu tiên chính là tên
vùng và tên ứng dụng, đó được coi như là tiêu chuẩn cho bản tin định tuyến. Bước
tiếp theo chính là lấy được đích bản tin, có thể là Proxy, Relay, Redirect hoặc Local.
Cơ chế Local nghĩa là bản tin nên đuợc xử lý nội bộ thay vì chuyển tới nút khác.
1.5.2. Kết nối và phiên
Sau khi nút ngang cấp phù hợp được tìm ra, bước thực hiện tiếp theo là kết
nối tới nút đó. Một kết nối vật lý giữa các nút Diameter được thiết lập. Nó là bắt
buộc cho giao thức Diameter chạy TCP hoặc SCTP. So sánh với UDP, sử dụng
trong Radius, 2 giao thức này cung cấp truyền tin cậy hơn, nó có tính chất quan
trọng trong ứng dụng trao đổi thông tin thanh toán.
Giao thức Diameter đưa ra cấu trúc cơ bản là cấu trúc ngang hàng peer-topeer, có thể có hơn nhiều 1 kết nối được thiết lập cho từng nút cụ thể. Giao thức
Diameter định nghĩa 1 cách rõ ràng nút Diameter phải được thiết lập 1 kết nối giữa
2 nút ngang cấp tại vùng nhỏ, hoạt động như là điểm sơ cấp và thứ cấp. Dĩ nhiên kết
nối sẽ được thiết lập khi cần.
So sánh với kết nối, phiên là kết nối logic giữa 2 nút Diameter, và có thể là
nhiều kết nối. Một phiên trên thực tế là khái niệm các chuỗi các hành động trong
khung thời gian, và có tác động lẫn nhau giữa nút Diameter client và Diameter
server trong khoảng thời gian được đưa ra. Mỗi phiên trong Diameter được kết hợp
với 1 nhận dạng phiên (Session –ID) client mà là tổng quát và duy nhất. Session-ID
được sử dụng để nhận dạng từng phiên riêng biệt trong suốt quá trình liên lạc.

Nhóm 1 _ D11VT7

24



Tiểu luận môn học

Thuật ngữ viết tắt

Phiên người dùng X

Các thực thể

client

Bảo mật từng chặng
Kết nối nút A

server

Bảo mật từng chặng
Kết nối nút B

Hình 1.13: Phiên và kết nối trong Diameter
Khởi tạo phiên
Như hầu hết kiểu kết nối client-server, 1 phiên Diameter bắt đầu bởi bản tin
yêu cầu từ máy khách tới máy chủ. Diameter khách sẽ gửi 1 bản tin yêu cầu nhận
thực chứa session-id duy nhất không trùng với bản tin khác tới Diameter server
(hoặc Diameter proxy nếu bản tin chuyển yêu cầu). Chú ý rằng AVPs được sử dụng
cho nhận thực và cấp quyền cho ứng dụng cụ thể và chúng không định nghĩa trong
giao thức cơ bản Diameter.
Sau khi chấp nhận bản tin yêu cầu nhận thực, Diameter server có thể bao
gồm AVP cấp quyền thời gian sống trong bản tin trả lời. AVP này được sử dụng để
chỉ định thời gian tính bằng giây cho Diameter client cần để nhận thực lại. Sau khi
hết thời gian Diameter server sẽ kết thúc phiên từ danh sách phiên và xoá tài nguyên

cấp phát cho phiên đó.
Phiên
Trong suốt phiên, Diameter server có thể bắt đầu bản tin yêu cầu nhận thực
lại và cấp quyền lại. Với dịch vụ trả cước, kiểu của bản tin yêu cầu được sử dụng để
kiểm tra có hay không người dùng vẫn sử dụng dịch vụ, nếu không có Server sẽ bỏ
đi phiên để tránh tình trạng tính thêm cước.
Do đó, Origin-State-id AVP được sử dụng cho giao diện của chấp nhận kết
thúc phiên. Bản tin request của người gửi sẽ bao gồm AVP này, và bởi vì nó được
yêu cầu cho giá trị của AVP này bên nhận bản tin yêu cầu này có thể kết luân rằng
phiên này đã khoá, theo một cách khác bởi vì thiết bị truy nhập có thể bị ngắt hoặc

Nhóm 1 _ D11VT7

25


×