โปรโตคอลที่อยู่ในกลุ่มนี้จะเน้นไปที่งาน Authorization, Authentication and Accounting (AAA) ตามชื่อเรียก สำหรับโปรโตคอลกลุ่มนี้ IMS เลือกใช้งานโปรโตคอลที่ชื่อว่า Diameter ที่พัฒนามาจากโปรโตคอล Radius เพื่อใช้ในการตรวจสอบผู้ใช้งานว่าเป็นยูสเซอร์จริงหรือไม่อย่างไร มีสิทธิ์ในการใช้งานอย่างไรบ้าง ซึ่งจะเป็นการติดต่อกับ HSS และ SLF เป็นส่วนใหญ่
ยังใช้เป็นการสื่อของเทคนิคต่างๆ เช่น
Diameter Signaling Controller (DSC)
Diameter Interworking Function (IWF)
Diameter Edge Agent (DEA),
Diameter Routing Agent (DRA)
ลักษณะเฉพาะของ Diameter
- ส่งแบบการควบคุมเต็มรูปแบบผ่านข้อความ ( Attribute-Value Pair : AVP )
- รองรับความสามารถได้มาก
- มีการแจ้งข้อผิดพลาด
- สามารถขยายส่วน , หรือเพิ่มได้
- เป็นบริการพื้นฐานที่จำเป็นสำหรับการใช้งาน เช่น จัดการผู้ใช้ หรือ ระบบเก็บบัญชี
Packet Format Diameter message ประกอบด้วย 2 ส่วน
1.Diameter header
จากภาพ Diameter header มาไล่ดูส่วนประกอบกัน
- Version เวอชั่นของ Diameter
- Message Length บอกถึงความยาวของข้อความ รวมทั้งหมด Diameter header+Diameter AVP ด้วย
- Command Codes
R = Request ร้องขอ ถ้ากำหนดค่าไว้จะเป็นการร้องขอ แต่ถ้าเว้นว่างไว้จะเป็นการตอบรับ
P = Proxiable พร็อกซี่ ถ้ากำหนดค่าไว้จะเป็นการ พร็อกซี่, รีเล, เปลี่ยนเส้นทาง, แต่ถ้าเว้นว่างไว้จะเป็นการตอบรับ
E = Error ข้อผิดพลาด
T = Potentially re-transmitted message ที่อาจเกิดขึ้นในการส่งอีกครั้ง
- Commands แต่ละครั้งที่มีการ ร้องขอ/ตอบรับ แจกชุดรหัสตัวเลขมา แต่ละชุดรหัสตัวเลขจะขึ้นด้วย R เสมอ ,
การลำดับ 0-255 เป็นกันไว้ให้ RADIUS เดิม ส่วน Diameter เรียง 256-16777213 อย่างถาวร
Command-Name | Abbr. | Code | Application |
---|---|---|---|
Capabilities-Exchange-Answer | CEA | 257 | Diameter base |
Capabilities-Exchange-Request | CER | 257 | Diameter base |
Re-Auth-Answer | RAA | 258 | Diameter base |
Re-Auth-Request | RAR | 258 | Diameter base |
AA-Answer | AAA | 265 | Diameter base |
AA-Request | AAR | 265 | Diameter base |
Diameter-EAP-Answer | DEA | 268 | Diameter base |
Diameter-EAP-Request | DER | 268 | Diameter base |
Accounting-Answer | ACA | 271 | Diameter base |
Accounting-Request | ACR | 271 | Diameter base |
Credit-Control-Answer | CCA | 272 | Diameter base |
Credit-Control-Request | CCR | 272 | Diameter base |
Abort-Session-Answer | ASA | 274 | Diameter base |
Abort-Session-Request | ASR | 274 | Diameter base |
Session-Termination-Answer | STA | 275 | Diameter base |
Session-Termination-Request | STR | 275 | Diameter base |
Device-Watchdog-Answer | DWA | 280 | Diameter base |
Device-Watchdog-Request | DWR | 280 | Diameter base |
Disconnect-Peer-Answer | DPA | 282 | Diameter base |
Disconnect-Peer-Request | DPR | 282 | Diameter base |
User-Authorization-Answer | UAA | 300 | Diameter base |
User-Authorization-Request | UAR | 300 | Diameter base |
Server-Assignment-Answer | SAA | 301 | Diameter base |
Server-Assignment-Request | SAR | 301 | Diameter base |
Location-Info-Answer | LIA | 302 | Diameter base |
Location-Info-Request | LIR | 302 | Diameter base |
Multimedia-Auth-Answer | MAA | 303 | Diameter base |
Multimedia-Auth-Request | MAR | 303 | Diameter base |
Registration-Termination-Answer | RTA | 304 | Diameter base |
Registration-Termination-Request | RTR | 304 | Diameter base |
Push-Profile-Answer | PPA | 305 | Diameter base |
Push-Profile-Request | PPR | 305 | Diameter base |
User-Data-Answer | UDA | 306 | Diameter base |
User-Data-Request | UDR | 306 | Diameter base |
Profile-Update-Answer | PUA | 307 | Diameter base |
Profile-Update-Request | PUR | 307 | Diameter base |
Subscribe-Notifications-Answer | SNA | 308 | Diameter base |
Subscribe-Notifications-Request | SNR | 308 | Diameter base |
Push-Notification-Answer | PNA | 309 | Diameter base |
Push-Notification-Request | PNR | 309 | Diameter base |
Bootstrapping-Info-Answer | BIA | 310 | Diameter base |
Bootstrapping-Info-Request | BIR | 310 | Diameter base |
Message-Process-Answer | MPA | 311 | Diameter base |
Message-Process-Request | MPR | 311 | Diameter base |
Update-Location-Answer | ULA | 316 | Diameter base |
Update-Location-Request | ULR | 316 | Diameter base |
Cancel-Location-Reqeust | CLR | 317 | Diameter base |
Cancel-Location-Response | CLA | 317 | Diameter base |
Authentication-Information-Answer | AIA | 318 | Diameter base |
Authentication-Information-Request | AIR | 318 | Diameter base |
Insert-Subscriber-Data-Request | ISD | 319 | Diameter base |
Insert-Subscriber-Data-Response | ISD | 319 | Diameter base |
Delete-Subscriber-Data-Request | DSD | 320 | Diameter base |
Delete-Subscriber-Data-Response | DSD | 320 | Diameter base |
Purge-UE-Request | PER | 321 | Diameter base |
Purge-UE-Response | PEA | 321 | Diameter base |
Notify-Answer | NA | 323 | Diameter base |
Notify-Request | NR | 323 | Diameter base |
Provide-Location-Answer | PLA | 8388620 | 3GPP-LCS-SLg (Application-ID 16777255) |
Provide-Location-Request | PLR | 8388620 | 3GPP-LCS-SLg (Application-ID 16777255) |
Routing-Info-Answer | RIA | 8388622 | 3GPP-LCS-SLh (Application-ID 16777291) |
Routing-Info-Request | RIR | 8388622 | 3GPP-LCS-SLh (Application-ID 16777291) |
Application-ID | Abbr. | Full name | Usage |
---|---|---|---|
0 | Base | Diameter Common Messages | Diameter protocol association establishment/teardown/maintenance |
16777217 | Sh | 3GPP Sh | VoIP/IMS SIP Application Server to HSS interface |
16777251 | S6a/S6d | 3GPP S6a/S6d | LTE Roaming signaling |
16777255 | SLg | 3GPP LCS SLg | Location services |
- End-to-End Identifier ที่ใช้ในการตรวจหาข้อความที่ซ้ำกันพร้อมกับการรวมกันของตำแหน่งเริ่มต้น
2.Diameter AVP
จากภาพ Diameter AVP มาไล่ดูส่วนประกอบกัน ก็คล้ายๆกับข้อ 1.
- Command Codes
V = Vendor Specific เฉพาะผู้ขายอุปกรณ์
M = Mandatory จำเป็น
P = Protected มีการป้องกัน
- AVP code
Attribute-Name | Code | Data Type |
---|---|---|
Acct-Interim-Interval | 85 | Unsigned32 |
Accounting-Realtime-Required | 483 | Enumerated |
Acct-Multi-Session-Id | 50 | UTF8String |
Accounting-Record-Number | 485 | Unsigned32 |
Accounting-Record-Type | 480 | Enumerated |
Accounting-Session-Id | 44 | OctetString |
Accounting-Sub-Session-Id | 287 | Unsigned64 |
Acct-Application-Id | 259 | Unsigned32 |
Auth-Application-Id | 258 | Unsigned32 |
Auth-Request-Type | 274 | Enumerated |
Authorization-Lifetime | 291 | Unsigned32 |
Auth-Grace-Period | 276 | Unsigned32 |
Auth-Session-State | 277 | Enumerated |
Re-Auth-Request-Type | 285 | Enumerated |
Class | 25 | OctetString |
Destination-Host | 293 | DiamIdent |
Destination-Realm | 283 | DiamIdent |
Disconnect-Cause | 273 | Enumerated |
E2E-Sequence | 300 | Grouped |
Error-Message | 281 | UTF8String |
Error-Reporting-Host | 294 | DiamIdent |
Event-Timestamp | 55 | Time |
Experimental-Result | 297 | Grouped |
Experimental-Result-Code | 298 | Unsigned32 |
Failed-AVP | 279 | Grouped |
Firmware-Revision | 267 | Unsigned32 |
Host-IP-Address | 257 | Address |
Inband-Security-Id | 299 | Unsigned32 |
Multi-Round-Time-Out | 272 | Unsigned32 |
Origin-Host | 264 | DiamIdent |
Origin-Realm | 296 | DiamIdent |
Origin-State-Id | 278 | Unsigned32 |
Product-Name | 269 | UTF8String |
Proxy-Host | 280 | DiamIdent |
Proxy-Info | 284 | Grouped |
Proxy-State | 33 | OctetString |
Redirect-Host | 292 | DiamURI |
Redirect-Host-Usage | 261 | Enumerated |
Redirect-Max-Cache-Time | 262 | Unsigned32 |
Result-Code | 268 | Unsigned32 |
Route-Record | 282 | DiamIdent |
Session-Id | 263 | UTF8String |
Session-Timeout | 27 | Unsigned32 |
Session-Binding | 270 | Unsigned32 |
Session-Server-Failover | 271 | Enumerated |
Supported-Vendor-Id | 265 | Unsigned32 |
Termination-Cause | 295 | Enumerated |
User-Name | 1 | UTF8String |
Vendor-Id | 266 | Unsigned32 |
Vendor-Specific-Application-Id | 260 | Grouped |
มาดูตัวอย่าง Message flows
Credit : https://en.wikipedia.org/wiki/Diameter_(protocol)
==================================================
Diameter for SIP Application
Command code in SIP Application
Command-Name
|
Abbrev
|
Code
|
User-Authorization-Request ผู้ใช้งานขอทราบสิทธิ์การใช้งาน (I-CSCF - HSS) Cx
|
UAR
|
300
|
User-Authorization-Answer
|
UAA
|
300
|
Server-Assignment-Request แม่ข่ายมอบหมายงาน (S-CSCF - HSS) Cx
|
SAR
|
301
|
Server-Assignment-Answer
|
SAA
|
301
|
Location-Info-Request ข้อมูลที่ตั้ง (I-CSCF - HSS) Cx
|
LIR
|
302
|
Location-Info-Answer
|
LIA
|
302
|
Multimedia-Auth-Request ตรวจสอบเอกลักษณ์ใช้งานมัลติมีเดีย (S-CSCF - HSS) Cx
|
MAR
|
303
|
Multimedia-Auth-Answer
|
MAA
|
303
|
Registration-Termination-Request สิ้นสุดการลงทะเบียน (S-CSCF - HSS) Cx
|
RTR
|
304
|
Registration-Termination-Answer
|
RTA
|
304
|
Push-Profile-Request ขอข้อมูลผู้ใช้งาน (S-CSCF - HSS) Cx
|
PPR
|
305
|
Push-Profile-Answer
|
PPA
|
305
|
AVP code in SIP application
Command-Name
|
Code
|
Visited-Network-Identifier
|
601
|
Public-Identity
|
602
|
Server-Name
|
603
|
Server-Capabilities
|
604
|
Mandatory-Capability
|
605
|
Optional-Capability
|
606
|
User-Data
|
607
|
SIP-Number-Auth-Items
|
608
|
SIP-Authentication-Scheme
|
609
|
SIP-Authenticate
|
610
|
SIP-Authorization
|
611
|
SIP-Authentication-Context
|
612
|
SIP-Auth-Data-Item
|
613
|
SIP-Item-Number
|
614
|
Server-Assignment-Type
|
615
|
Deregistration-Reason
|
616
|
Reason-Code
|
617
|
Reason-Info
|
618
|
Charging-Information
|
619
|
Primary-Event-Charging-Function-Name
|
620
|
Secondary-Event-Charging-Function-Name
|
621
|
Primary-Charging-Collection-Function-Name
|
622
|
Secondary-Charging-Collection-Function-Name
|
623
|
User-Authorization-Type
|
624
|
User-Data-Already-Available
|
625
|
Confidentiality-Key
|
626
|
Integrity-Key
|
627
|
Supported-Features
|
628
|
Feature-List-ID
|
629
|
Feature-List
|
630
|
Supported-Applications
|
631
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น