Přeskočit na obsah

DIAMETER

Z Wikipedie, otevřené encyklopedie

DIAMETER je AAA protokol (authentication, authorization and accounting, česky autentizace, autorizace a účtovací) používaný pro přístup k síti nebo pro IP mobilitu. Je používán pro signalizaci v jádře sítě Evolved Packet System (EPS) mobilních sítí 4G.[1] Hlavní koncept tvoří základní protokol, který může být rozšířen pro poskytování AAA služeb novým přístupovým technologiím. Může pracovat jak lokálně tak i v roamingu.

Rozšíření oproti RADIUS protokolu[editovat | editovat zdroj]

Protokol DIAMETER je rozšířeným následníkem protokolu RADIUS (o čemž svědčí okolnost, že diametr čili průměr je dvojnásobkem rádiusu neboli poloměru). Diameter není přímo zpětně kompatibilní, ale poskytuje rozšířenou cestu pro RADIUS. Hlavní rozdíly protokolu DIAMETER oproti protokolu RADIUS jsou:

  • používá spolehlivý transportní protokol (TCP nebo SCTP, nepoužívá nespolehlivý UDP)
  • může použít zabezpečení na transportní vrstvě (IPsec nebo TLS)
  • podporuje přenos RADIUS
  • má větší adresní prostor pro dvojice atributů a hodnot (anglicky Attribute Value Pairs, AVPs) a širší identifikátory (32bitové místo 8bitových)
  • jde o klient–server protokol, s výjimkou podpory některých zpráv inicializovaných serverem
  • lze použít stavový i bezstavový model
  • má dynamické objevování uzlů (používá DNS, SRV a NAPTR)
  • má schopnost vyjednávání
  • podporuje dohody na aplikační vrstvě, definuje metody odolávající chybám a stavové stroje (RFC 3539)
  • oznamuje chyby
  • má lepší podporu roamingu
  • je snadněji rozšiřitelný; lze definovat nové příkazy a atributy
  • je zarovnán na 32bitové hranice
  • má základní podporu uživatelských sezení a účtování

Popis protokolu[editovat | editovat zdroj]

Základní protokol Diameteru (anglicky Diameter Base Protocol) je definován v RFC 6733. Definuje minimální požadavky AAA protokolu. Aplikace Diameteru (anglicky Diameter Applications) mohou rozšířit základní protokol přidáním nových příkazů nebo atributů. Aplikace zde není program, nýbrž protokol založený na Diameteru. Zabezpečení protokolu Diameter je poskytováno protokolem IPSEC nebo TLS.

Formát paketů[editovat | editovat zdroj]

Paket začíná hlavičkou, ze kterou následují dvojice atributů a hodnot (AVP):

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Verze     |                  Délka zprávy                 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |příznak příkazu|                  Kód příkazu                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          Aplikační-ID                         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Hop-by-Hop Identifikátor                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     End-to-End Identifikátor                  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  AVPs ...
  +-+-+-+-+-+-+-+-+-+-+-+-+-


Příkazy[editovat | editovat zdroj]

Každému příkazu je přiřazen kód příkazu, který se používá v obou typech zpráv – v požadavcích i odpovědích.

Jméno příkazu Zkratka Kód Aplikace
AA-Request AAR 265 Diameter NAS Application - RFC 7155
AA-Answer AAA 265 Diameter NAS Application - RFC 7155
Diameter-EAP-Request DER 268 Diameter EAP Application - RFC 4072
Diameter-EAP-Answer DEA 268 Diameter EAP Application - RFC 4072
Abort-Session-Request ASR 274 Diameter base
Abort-Session-Answer ASA 274 Diameter base
Accounting-Request ACR 271 Diameter base
Accounting-Answer ACA 271 Diameter base
Credit-Control-Request CCR 272 Diameter Credit-Control Application - RFC 8506 (nahrazuje RFC 4006)
Credit-Control-Answer CCA 272 Diameter Credit-Control Application - RFC 8506 (nahrazuje RFC 4006)
Capabilities-Exchange-Request CER 257 Diameter base
Capabilities-Exchange-Answer CEA 257 Diameter base
Device-Watchdog-Request DWR 280 Diameter base
Device-Watchdog-Answer DWA 280 Diameter base
Disconnect-Peer-Request DPR 282 Diameter base
Disconnect-Peer-Answer DPA 282 Diameter base
Re-Auth-Request RAR 258 Diameter base
Re-Auth-Answer RAA 258 Diameter base
Session-Termination-Request STR 275 Diameter base
Session-Termination-Answer STA 275 Diameter base
User-Authorization-Request UAR 283 Diameter SIP Application - RFC 4740
User-Authorization-Answer UAA 283 Diameter SIP Application - RFC 4740
Server-Assignment-Request SAR 284 Diameter SIP Application - RFC 4740
Server-Assignment-Answer SAA 284 Diameter SIP Application - RFC 4740
Location-Info-Request LIR 285 Diameter SIP Application - RFC 4740
Location-Info-Answer LIA 285 Diameter SIP Application - RFC 4740
Multimedia-Auth-Request MAR 286 Diameter SIP Application - RFC 4740
Multimedia-Auth-Answer MAA 286 Diameter SIP Application - RFC 4740
Registration-Termination-Request RTR 287 Diameter SIP Application - RFC 4740
Registration-Termination-Answer RTA 287 Diameter SIP Application - RFC 4740
Push-Profile-Request PPR 288 Diameter SIP Application - RFC 4740
Push-Profile-Answer PPA 288 Diameter SIP Application - RFC 4740
User-Authorization-Request UAR 300 Diameter base (3GPP) RFC 3589
User-Authorization-Answer UAA 300 Diameter base (3GPP) RFC 3589
Server-Assignment-Request SAR 301 Diameter base (3GPP) RFC 3589
Server-Assignment-Answer SAA 301 Diameter base (3GPP) RFC 3589
Location-Info-Request LIR 302 Diameter base (3GPP) RFC 3589
Location-Info-Answer LIA 302 Diameter base (3GPP) RFC 3589
Multimedia-Auth-Request MAR 303 Diameter base (3GPP) RFC 3589
Multimedia-Auth-Answer MAA 303 Diameter base (3GPP) RFC 3589
Registration-Termination-Request RTR 304 Diameter base (3GPP) RFC 3589
Registration-Termination-Answer RTA 304 Diameter base (3GPP) RFC 3589
Push-Profile-Request PPR 305 Diameter base (3GPP) RFC 3589
Push-Profile-Answer PPA 305 Diameter base (3GPP) RFC 3589
User-Data-Request UDR 306 Diameter base (3GPP) RFC 3589
User-Data-Answer UDA 306 Diameter base (3GPP) RFC 3589
Profile-Update-Request PUR 307 Diameter base (3GPP) RFC 3589
Profile-Update-Answer PUA 307 Diameter base (3GPP) RFC 3589
Subscribe-Notifications-Request SNR 308 Diameter base (3GPP) RFC 3589
Subscribe-Notifications-Answer SNA 308 Diameter base (3GPP) RFC 3589
Push-Notification-Request PNR 309 Diameter base (3GPP) RFC 3589
Push-Notification-Answer PNA 309 Diameter base (3GPP) RFC 3589
Bootstrapping-Info-Request BIR 310 Diameter base (3GPP) RFC 3589
Bootstrapping-Info-Answer BIA 310 Diameter base (3GPP) RFC 3589
Message-Process-Request MPR 311 Diameter base (3GPP) RFC 3589
Message-Process-Answer MPA 311 Diameter base (3GPP) RFC 3589
Update-Location-Request ULR 316 3GPP TS 29.272 [RFC 5516]
Update-Location-Answer ULA 316 3GPP TS 29.272 [RFC 5516]
Cancel-Location-Request CLR 317 3GPP TS 29.272 [RFC 5516]
Cancel-Location-Answer CLA 317 3GPP TS 29.272 [RFC 5516]
Authentication-Information-Request AIR 318 3GPP TS 29.272 [RFC 5516]
Authentication-Information-Answer AIA 318 3GPP TS 29.272 [RFC 5516]
Insert-Subscriber-Data-Request IDR 319 3GPP TS 29.272 [RFC 5516]
Insert-Subscriber-Data-Answer IDA 319 3GPP TS 29.272 [RFC 5516]
Delete-Subscriber-Data-Request DSR 320 3GPP TS 29.272 [RFC 5516]
Delete-Subscriber-Data-Answer DSA 320 3GPP TS 29.272 [RFC 5516]
Purge-UE-Request PER 321 3GPP TS 29.272 [RFC 5516]
Purge-UE-Answer PEA 321 3GPP TS 29.272 [RFC 5516]
Notify-Request NR 323 3GPP TS 29.272 [RFC 5516]
Notify-Answer NA 323 3GPP TS 29.272 [RFC 5516]
Provide-Location-Request PLR 8388620 3GPP-LCS-SLg (Application-ID 16777255)
Provide-Location-Answer PLA 8388620 3GPP-LCS-SLg (Application-ID 16777255)
Routing-Info-Request RIR 8388622 3GPP-LCS-SLh (Application-ID 16777291)
Routing-Info-Answer RIA 8388622 3GPP-LCS-SLh (Application-ID 16777291)
AA-Mobile-Node-Request AMR 260 Diameter Mobile IPv4 - RFC 4004
AA-Mobile-Node-Answer AMA 260 Diameter Mobile IPv4 - RFC 4004
Home-Agent-MIP-Request HAR 262 Diameter Mobile IPv4 - RFC 4004
Home-Agent-MIP-Answer HAA 262 Diameter Mobile IPv4 - RFC 4004
Configuration-Information-Request CIR 8388718 S6t per 3GPP TS 29.336
Configuration-Information-Answer CIA 8388718 S6t per 3GPP TS 29.336
Reporting-Information-Request RIR 8388719 S6t per 3GPP TS 29.336
Reporting-Information-Answer RIA 8388719 S6t per 3GPP TS 29.336
NIDD-Information-Request NIR 8388726 S6t per 3GPP TS 29.336
NIDD-Information-Answer NIA 8388726 S6t per 3GPP TS 29.336

Dvojice hodnot atributů (anglicky Attribute-Value Pairs, AVP)[editovat | editovat zdroj]

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                           AVP kód                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |V M P r r r r r|                  AVP délka                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     ID-výrobce (volitelné)                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Data ...
  +-+-+-+-+-+-+-+-+
Jméno atributu Kód Datový typ
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

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. 3GPP TS 29.272: 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Evolved Packet System (EPS); Mobility Management Entity (MME) and Serving GPRS Support Node (SGSN) related interfaces based on Diameter protocol. 18.3.0. vyd. [s.l.]: 3GPP, březen 2024. Dostupné online. 

Související články[editovat | editovat zdroj]