Giao thức Diameter bao gồm tiờu đề Diameter với 1 hay nhiều cấu trỳc AVP
MAC header IP header SCTP header Diameter header Data….
MAC header IP header TCP header Diameter header Data….
Hỡnh 2.7 Định dạng bản tin
Bản tin Diameter là đơn vị dữ liệu cơ bản để gửi 1 cõu lệnh hoặc chuyển thụng bỏo tới nỳt Diameter khỏc. Với nhiều mục đớch khỏc nhau, giao thức Diameter định nghĩa nhiều kiểu bản tin khỏc nhau, được nhận dạng bởi mó lệnh. Vớ dụ như bản tin yờu cầu thanh toỏn (Accounting-Request) được nhận ra bởi bản tin chứa những thụng tin liờn quan đến thanh toỏn, trong khi bản tin yờu cầu khả năng trao đổi (Capability-Exchange-Request) được nhận ra bởi bản tin này chứa những thụng tin về khả năng gửi bản tin của nỳt Diameter.
Do việc trao đổi bản tin của Diameter là đồng bộ, mỗi bản tin tương ứng với bản sao với việc chia sẻ cựng mó lệnh. Mó ]lệnh được sử dụng để nhận dạng mục đớch của bản tin, nhưng tuy nhiờn trờn thực tế dữ liệu được mang cặp giỏ trị thuộc tớnh AVPs (Attribute-Value-Pair). Giao thức Diameter xỏc định trước cặp giỏ trị thuộc tớnh chung, nhưng bắt buộc mỗi thuộc tớnh tương ứng với cõu lệnh. Những AVP này mang thụng tin chi tiết về AAA như là định tuyến, bảo mật, và thụng tin giữa 2 nỳt Diameter. Thờm vào đú, mỗi AVP được kết hợp với định dạng dữ liệu AVP, được định nghĩa trong giao thức Diameter (vớ dụ, Octetstring, interger 32) vỡ thế giỏ trị của mỗi thuộc tớnh phải đi kốm sau với định dạng dữ liệu.
Hỡnh 2.8 Cấu trỳc gúi tin cơ bản Diameter
Trường version: 8 bit
Chỉ định phiờn bản của Diameter.
Trường chiều dài bản tin 24 bit
Kớch cỡ bản tin bao gồm trường tiờu đề bản tin.
Trường cờ
00 01 02 03 04 05 06 07
R P E T Dành riờng
R, Request 1 bit
Nếu đặt, bản tin trở thành bản tin yờu cầu. Nếu khụng thỡ thỡ bản tin sẽ là trả lời.
P, Proxiable 1bit
Nếu đặt, bản tin cú thể trở thành proxy. Nếu khụng bản tin phải đặt thành xử lý nội bộ.
E, Lỗi, 1 bit
Nếu đặt, bản tin chứa lỗi, bản tin với bit này sẽ được đặt khi bản tin lỗi. Bit này khụng được đặt trong bản tin yờu cầu.
T,Bản tin truyền lại, 1 bit
Cờ này được đặt khi tiến hành truyền lại, để xúa bỏ bản sao. Cờ này chỉ được đặt duy nhất trong bản tin yờu cầu.
Trường dành riờng, 4 bit
Phải xúa trở thành 0.
Trường nhận dạng ứng dụng
Sử dụng để nhận dạng bản tin thuộc ứng dụng nào. Ứng dụng cú thể là ứng dụng về nhận thực, ứng dụng về thanh toỏn hoặc ứng dụng về nhà sản xuất. Trường
nhận dạng ứng dụng nằm trong tiờu đề phải giống với nhận dạng được chứa trong bất kỡ cỏc AVP nào cú liờn quan trong bản tin.
Trường nhận dạng từng chặng, Hop by Hop, 32 bit
Trường này giỳp đỡ cỏc bản tin yờu cầu và đỏp ứng. Bờn gửi phải đảm bảo rằng trường nhận dạng là duy nhất trong bản tin yờu cầu khi gửi tại bất kỡ thời điểm nào, và cú thể cũng cố gắng để số này là duy nhất khi khởi động lại. Bờn gửi của bản tin trả lời phải đảm bảo rằng trường này cú cựng giỏ trị được tỡm thấy trong bản tin đỏp ứng lại bản tin yờu cầu. Trường nhận dạng bỡnh thường sẽ tăng lờn khi giỏ trị khởi tạo của nú là để ngẫu nhiờn. Một bản tin trả lời mà khi nhận được mà khụng biết về trường nhận dạng này sẽ bị loại bỏ.
Trường nhận dạng đầu cuối, end to end. 32 bit
Trường này được sử dụng để phỏt hiện bản tin lặp. Bờn gửi của bản tin yờu cầu phải chốn trường nhận dạng này và phải là duy nhất ở mỗi bản tin. Bờn phỏt bản tin trả lời phải đảm bảo trường này chứa cựng giỏ trị được tỡm thấy trong bản tin yờu cầu tương ứng. Trường này khụng được thay đổi tại bất kỡ nỳt Diameter nào. Sự kết hợp giữa Origin-Host (host gốc) và trường này được sử dụng để tỡm bản tin lặp. ( Trường nhận dạng từng chặng Hop by Hop và định tuyến AVPs cú thể được đưa ra) và khụng ảnh hưởng tới bất kỡ trạng thỏi được đặt khi bản tin yờu cầu gốc được xử lý.
Mó lệnh Diameter 24 bit
Trường mó lệnh được định nghĩa trong giao thức cơ bản Diameter được đưa ra trong bảng 2.1. Một bản tin yờu cầu và trả lời cú cựng mó lệnh giống nhau.
Bảng 2.1 Bảng mó lệnh Diameter
Tờn bản tin Tờn viết tắt Mó lệnh Tham khảo
(IETF)
Yờu cầu khả năng trao đổi CER 257 RFC 3588 Trả lời khả năng trao đổi CEA 257 RFC 3588 Device-Watchdog-Request DWR 280 RFC 3588 Device-Watchdog-Answer DWA 280 RFC 3588 Yờu cầu ngắt kết nối ngang cấp DPR 282 RFC 3588 Trả lời yờu cầu kết nối ngang cấp DPA 282 RFC 3588 Yờu cầu MIP thực thể mạng nhà HAR 262 RFC 4004 Trả lời MIP thực thể mạng nhà HAA 262 RFC 4004 Yờu cầu AA AAR 265 RFC 4005 Trả lời AA AAA 265 RFC 4005 Yờu cầu bải bỏ ngang phiờn ASR 274 RFC 4005 Trả lời bói bỏ ngang phiờn ASA 274 RFC 4005 Yờu cầu thanh toỏn ACR 271 RFC 4005 Trả lời thanh toỏn ACA 271 RFC 4005 Yờu cầu nhận thực lại RAR 258 RFC 4005 Trả lời nhận thực lại RAA 258 RFC 4005
Yờu cầu điều khiển tớn dụng CCR 275 RFC 4005 Trả lời điều khiển tớn dụng CCA 275 RFC 4005 Yờu cầu thụng tin định vị LIR 285 RFC 4040 Trả lời thụng tin định vị LIA 285 RFC 4040 Yờu cầu nhận thực đa phương tiện MAR 286 RFC 4040 Trả lời nhận thực đa phương tiện MAA 286 RFC 4040 Yờu cầu truyền dữ liệu PPR 288 RFC 4040 Trả lời truyền dữ liệu PPA 288 RFC 4040 Yờu cầu kết thỳc đăng kớ RTR 287 RFC 4040 Trả lời kết thỳc đăng kớ RTA 287 RFC 4040 Yờu cầu chỉ định server SAR 284 RFC 4040 Trả lời chỉ định server SAA 284 RFC 4040 Yờu cầu cấp quyền người dựng UAR 283 RFC 4040 Trả lời cấp quyền người dựng UAA 283 RFC 4040 Yờu cầu điều khiển tớn dụng CCR 272 RFC 4006 Trả lời điều khiển tớn dụng CCA 272 RFC 4006
Diameter AVP
1 cấu trỳc được sử dụng để đúng gúi giao thức dữ liệu cụ thể được biết để gửi dữ liệu hoặc chứa thụng tin nhận thực, cấp quyền và thụng tin thanh toỏn.
Hỡnh 2.9 Định dạng AVP
Trường cờ AVP, 8 bit
00 01 02 03 04 05 06 07
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
0 7 8 31 AVP code
AVP flags AVP length
Vendor ID Data
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 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.