Cũng giống như bản tin RADIUS, bản tin Diameter chứa các cặp giá trị thuộc tính (Atribute Value Pairs - AVPs). AVP sẽ chứa dữ liệu trong đó. Hình 2.4 mô tả cấu trúc của AVP. Mỗi AVP bao gồm các trường :
+ AVP Code + Flags
+ AVP Length + Vendor-ID + Data
51
Hình 2.4 Cấu trúc của AVP
AVP Code kết hợp với trường Vendor-ID sẽ xác định duy nhất một thuộc tính. Sự
thiếu vắng của trường Vendor-ID hoặc giá trị trường này được đặt về 0 biểu thị đây AVP chuẩn theo lý thuyết được định nghĩa trong IETF. Số AVP Code 1 đến 255 xác
định các thuộc tính đã được định nghĩa trong RADIUS, AVP Code từ 256 trở lên xác
định các thuộc tính được định nghĩa riêng trong Diameter Trường Flags biểu thị :
+ Sự cần thiết mã hóa để bảo đảm an ninh trong quá trình truyền điểm-điểm
+ Hỗ trợ AVP có tính chất bắt buộc hay là tùy chọn. Nếu bên gửi thông báo rằng có hỗ trợ AVP là bắt buộc và bên thu không hiểu AVP đó thì yêu cầu Diameter sẽ bị từ
chối
+ Tùy chọn trường Vendor-ID có hiển thị hay không
Trường AVP Length biểu thị độ dài của AVP, bao gồm AVP Code, AVP Length, Flags, Vendor-ID (nếu có) và trường Data.
Trường Data chứa một vài loại dữ liệu đặc biệt về thuộc tính. Độ dài của trường Data có thể là không hoặc nhiều byte. Độ dài của dữ liệu có thể biết được nhờ trường AVP Length.
52
Giao thức Diameter cơ bản chỉ rõ một vài định dạng dữ liệu của trường Data: OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64, và Grouped. Hầu hết trong số đó là cùng một loại. Kiểu Grouped AVP là một AVP có trường dữ liệu là một chuỗi các AVP khác.
Những AVP có Code từ 1 đến 255 xác định các thuộc tính đã được định nghĩa trong RADIUS, AVP có Code từ 256 trở lên là AVP được định nghĩa trong Diameter. AVP- Code được quản lý bởi IANA
Giao thức Diameter cho phép các ứng dụng có thể xác định định dạng dữ liệu AVP. Giao thức cơ bản đã định nghĩa sẵn một vài dữ liệu AVP, những loại quan trọng nhất như:
• Địa chỉđể vận chuyển một địa chỉ IPv4 hay một địa chỉ IPv6
• Thời gian để miêu tả ngày giờ
• UTF8String để trình bày xâu, chuỗi theo bảng mã Unicode : UTF-8
• DiameterIdentity để vận chuyển đầy đủ tên miền của nút Diameter
• DiameterURI để vận chuyển các AAA URI hay AAAS URI
• Enumerated, một bảng sốđể miêu tả một vài ngữ nghĩa nào đó