2.05.2559

Diameter

Diameter Protocol


     โปรโตคอลที่อยู่ในกลุ่มนี้จะเน้นไปที่งาน 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-NameAbbr.CodeApplication
Capabilities-Exchange-AnswerCEA257Diameter base
Capabilities-Exchange-RequestCER257Diameter base
Re-Auth-AnswerRAA258Diameter base
Re-Auth-RequestRAR258Diameter base
AA-AnswerAAA265Diameter base
AA-RequestAAR265Diameter base
Diameter-EAP-AnswerDEA268Diameter base
Diameter-EAP-RequestDER268Diameter base
Accounting-AnswerACA271Diameter base
Accounting-RequestACR271Diameter base
Credit-Control-AnswerCCA272Diameter base
Credit-Control-RequestCCR272Diameter base
Abort-Session-AnswerASA274Diameter base
Abort-Session-RequestASR274Diameter base
Session-Termination-AnswerSTA275Diameter base
Session-Termination-RequestSTR275Diameter base
Device-Watchdog-AnswerDWA280Diameter base
Device-Watchdog-RequestDWR280Diameter base
Disconnect-Peer-AnswerDPA282Diameter base
Disconnect-Peer-RequestDPR282Diameter base
User-Authorization-AnswerUAA300Diameter base
User-Authorization-RequestUAR300Diameter base
Server-Assignment-AnswerSAA301Diameter base
Server-Assignment-RequestSAR301Diameter base
Location-Info-AnswerLIA302Diameter base
Location-Info-RequestLIR302Diameter base
Multimedia-Auth-AnswerMAA303Diameter base
Multimedia-Auth-RequestMAR303Diameter base
Registration-Termination-AnswerRTA304Diameter base
Registration-Termination-RequestRTR304Diameter base
Push-Profile-AnswerPPA305Diameter base
Push-Profile-RequestPPR305Diameter base
User-Data-AnswerUDA306Diameter base
User-Data-RequestUDR306Diameter base
Profile-Update-AnswerPUA307Diameter base
Profile-Update-RequestPUR307Diameter base
Subscribe-Notifications-AnswerSNA308Diameter base
Subscribe-Notifications-RequestSNR308Diameter base
Push-Notification-AnswerPNA309Diameter base
Push-Notification-RequestPNR309Diameter base
Bootstrapping-Info-AnswerBIA310Diameter base
Bootstrapping-Info-RequestBIR310Diameter base
Message-Process-AnswerMPA311Diameter base
Message-Process-RequestMPR311Diameter base
Update-Location-AnswerULA316Diameter base
Update-Location-RequestULR316Diameter base
Cancel-Location-ReqeustCLR317Diameter base
Cancel-Location-ResponseCLA317Diameter base
Authentication-Information-AnswerAIA318Diameter base
Authentication-Information-RequestAIR318Diameter base
Insert-Subscriber-Data-RequestISD319Diameter base
Insert-Subscriber-Data-ResponseISD319Diameter base
Delete-Subscriber-Data-RequestDSD320Diameter base
Delete-Subscriber-Data-ResponseDSD320Diameter base
Purge-UE-RequestPER321Diameter base
Purge-UE-ResponsePEA321Diameter base
Notify-AnswerNA323Diameter base
Notify-RequestNR323Diameter base
Provide-Location-AnswerPLA83886203GPP-LCS-SLg (Application-ID 16777255)
Provide-Location-RequestPLR83886203GPP-LCS-SLg (Application-ID 16777255)
Routing-Info-AnswerRIA83886223GPP-LCS-SLh (Application-ID 16777291)
Routing-Info-RequestRIR83886223GPP-LCS-SLh (Application-ID 16777291)
- Application-ID ใช้ระบุ ID เฉพาะคู่อุปกรณ์นั้นๆ หรือ Vendor เป็นผู้กำหนด
Application-IDAbbr.Full nameUsage
0BaseDiameter Common MessagesDiameter protocol association establishment/teardown/maintenance
16777217Sh3GPP ShVoIP/IMS SIP Application Server to HSS interface
16777251S6a/S6d3GPP S6a/S6dLTE Roaming signaling
16777255SLg3GPP LCS SLgLocation services
- Hop-by-Hop Identifier ใช้เพื่อให้ตรงกัน ระหว่างการร้องขอ และการตอบรับให้มาหาคู่เดิม เป็นคู่ๆไป
- End-to-End Identifier ที่ใช้ในการตรวจหาข้อความที่ซ้ำกันพร้อมกับการรวมกันของตำแหน่งเริ่มต้น
2.Diameter AVP



จากภาพ Diameter AVP มาไล่ดูส่วนประกอบกัน ก็คล้ายๆกับข้อ 1.
- Command Codes
     V = Vendor Specific เฉพาะผู้ขายอุปกรณ์
     M = Mandatory จำเป็น
     P = Protected มีการป้องกัน

- AVP code

Attribute-NameCodeData Type
Acct-Interim-Interval85Unsigned32
Accounting-Realtime-Required483Enumerated
Acct-Multi-Session-Id50UTF8String
Accounting-Record-Number485Unsigned32
Accounting-Record-Type480Enumerated
Accounting-Session-Id44OctetString
Accounting-Sub-Session-Id287Unsigned64
Acct-Application-Id259Unsigned32
Auth-Application-Id258Unsigned32
Auth-Request-Type274Enumerated
Authorization-Lifetime291Unsigned32
Auth-Grace-Period276Unsigned32
Auth-Session-State277Enumerated
Re-Auth-Request-Type285Enumerated
Class25OctetString
Destination-Host293DiamIdent
Destination-Realm283DiamIdent
Disconnect-Cause273Enumerated
E2E-Sequence300Grouped
Error-Message281UTF8String
Error-Reporting-Host294DiamIdent
Event-Timestamp55Time
Experimental-Result297Grouped
Experimental-Result-Code298Unsigned32
Failed-AVP279Grouped
Firmware-Revision267Unsigned32
Host-IP-Address257Address
Inband-Security-Id299Unsigned32
Multi-Round-Time-Out272Unsigned32
Origin-Host264DiamIdent
Origin-Realm296DiamIdent
Origin-State-Id278Unsigned32
Product-Name269UTF8String
Proxy-Host280DiamIdent
Proxy-Info284Grouped
Proxy-State33OctetString
Redirect-Host292DiamURI
Redirect-Host-Usage261Enumerated
Redirect-Max-Cache-Time262Unsigned32
Result-Code268Unsigned32
Route-Record282DiamIdent
Session-Id263UTF8String
Session-Timeout27Unsigned32
Session-Binding270Unsigned32
Session-Server-Failover271Enumerated
Supported-Vendor-Id265Unsigned32
Termination-Cause295Enumerated
User-Name1UTF8String
Vendor-Id266Unsigned32
Vendor-Specific-Application-Id260Grouped

มาดูตัวอย่าง 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



ไม่มีความคิดเห็น:

แสดงความคิดเห็น