DIAMETER

From Wikipedia, the free encyclopedia

Remove ads

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.

Remove ads

Rozšíření oproti RADIUS protokolu

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í
Remove ads

Popis protokolu

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ů

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

Další informace Bitové posunutí ...

Verze

Toto pole indikuje verzi základního protokolu Diameter. V roce 2014 byla jediná podporovaná hodnota 1.[2]

Délka zprávy

Pole délka zprávy (anglicky Message length) indikuje délku Diameter zprávy v bytech, včetně hlavičky a polí AVP doplněných na násobek 4 bytů.

Příznaky příkazu

Bit „R“ (Požadavek) – je-li nastaven, zpráva je požadavek; je-li nulový, zpráva je odpověď.

Bit „P“ (Proxiable) – je-li nastaven, zpráva MŮŽE být předána na jiný uzel (proxy, relay nebo redirect). Pokud je nulový, zpráva MUSÍ být zpracovaná lokálně.

Bit „E“ (Chyba) – je-li nastaven, zpráva obsahuje chybu protokolu a nebude vyhovovat CCF pro tento příkaz. Zprávy s nastaveným bitem „E“ se obvykle nazývají chybové zprávy. Tento bit NESMÍ být nastaven v požadavku.

Bit „T“ (Potenciálně opakovaně přenášená zpráva) – tento příznak je nastaven po proceduře zotavení ze selhání spoje, pro pomoc při odstraňování duplicitních požadavků. Je nastaven při opakovaném posílání požadavku, který zatím nebyl potvrzen, jako indikace možné duplicity kvůli selhání spoje.

Příkazy

Každé dvojici požadavek/odpověď je přiřazen kód příkazu. Zda jde o požadavek nebo odpověď, je rozlišeno bitem 'R' v poli Příznaky příkazu.

Hodnoty 0-255 jsou rezervovány pro zpětnou kompatibilitu s protokolem RADIUS. Hodnoty 256-16777213 jsou pro trvalé, standardní příkazy, které přidělila organizace IANA. Hodnoty 16777214 a 16777215 (hex 0xFFFFFE a 0xFFFFFF) jsou rezervované pro experimentální a testovací účely.

Kód příkazu se používá pro určení akce, kterou je třeba provést pro určitou zprávu. V následující tabulce jsou vybrané často používané příkazy definované v protokolu (základním nebo v aplikacích):

Další informace Jméno příkazu, Zkratka ...

Application-ID

Application-ID (identifikátor aplikace) se používá pro identifikaci, jakým aplikacím Diametru je zpráva určena. Aplikace mohou být autentizační, účtovací nebo proprietární.

Diameter agenti podporující určité Diameter rozšíření zveřejňují jeho podporu uvedením určité hodnoty v atributu Auth-Application-Id Attribute příkazu Capabilities-Exchange-Request (CER) nebo Capabilities-Exchange-Answer (CEA).

Hodnota Application-ID pole v hlavičce je stejná jako libovolné relevantní Application-Id AVPs obsažené ve zprávě. Například hodnota Application-ID a atributu Auth-Application-Id v příkazech Credit-Control-Request (CCR) and Credit-Control-Answer (CCA) je 4.[3]

Další informace Application-ID, Zkr. ...

Hop-by-Hop Identifikátor

Hop-by-Hop Identifikátor je 32bitové celé číslo bez znaménka (v síťovém pořadí bytů), které se používá pro spárování požadavků s odpověďmi.

Protokol Diameter vyžaduje, aby si agenti provádějící relaying a proxying udržovali transakční stav, který se používá pro zotavení ze selhání. Transakční stav vyžaduje, aby při forwardování požadavku byl uložen jeho Hop-by-Hop Identifikátor; hodnota je nahrazena lokálně jedinečným identifikátorem, který bude při přijetí odpovídající odpovědi nahrazen původní hodnotou. Stav požadavku je uvolněn při doručení odpovědi. Přijaté odpovědi, jejichž Hop-by-Hop Identifier nesouhlasí, Diameter agent ignoruje.

V případě agentů provádějících přesměrování je v záhlaví udržován Hop-by-Hop identifikátor, protože Diameter agent musí vrátit odpověď.

End-to-end Identifikátor

End-to-end Identifikátor je pole obsahující 32bitové celé číslo bez znaménka (v síťovém pořadí bytů), které se v kombinaci s Origin-Host AVP používá pro odhalení duplicitních zpráv.

Při vytváření požadavku se End-to-end identifikátor nastaví na lokálně jedinečnou hodnotu. Tento end-to-end identifikátor není měněn Diameter agenty žádného druhu, a v odpovědi je třeba použít stejnou hodnotu.

Dvojice Atribut–Hodnota (AVP)

Další informace Bitové posunutí ...

Pro jednoduchost, AVP příznak „V“ znamená specifický pro určitého výrobce/dodavatele (anglicky Vendor Specific); „M“ znamená povinný (anglicky Mandatory); „P“ znamená chráněný (anglicky Protected).

Příznak „V“ (specifický pro určitého výrobce/dodavatele) indikuje, zda je v AVP hlavičce přítomné volitelné pole Výrobce/dodavatel-ID. Je-li nastaven, AVP Code patří k určitý výrobce/dodavatel kód adresní prostor.

Příznak „M“ (povinný) indikuje, zda je vyžadována podpora konkrétního AVP. Pokud AVP s nastaveným příznakem „M“ je přijatý Diameter klientem, serverem, proxy nebo agentem pro překlad/translaci a příslušné AVP anebo jeho hodnota není rozpoznána, zpráva musí být odmítnuta. Diameter Relay a redirect agenti však zprávy s neznámými AVPs nesmí odmítat.

Příznak „P“ indikuje nutnost šifrování pro zajištění end-to-end datové bezpečnosti.

Další informace Jméno atributu, Kód ...

Stavové stroje

RFC 3588 definuje základní stavový stroj pro udržování spojení mezi komunikujícími stranami a zpracování zpráv. Stroj realizuje funkčnost základního protokolu a všechny zásobníky jej musí podporovat a jako takové abstrahovat od operací souvisejících se spojením.

Navíc je možné později nebo ve vyšší vrstvě abstrakce definovat stavové stroje pro konkrétní aplikace. RFC 3588 definuje stavový stroj pro autorizaci a účtování.

Toky zpráv

Thumb

Komunikace mezi dvěma komunikujícími stranami protokolem Diameter začíná vytvořením transportního spojení (TCP nebo SCTP). Iniciátor pak pošle protistraně Capabilities-Exchange-Request (CER), protistrana odpoví Capabilities-Exchange-Answer (CEA). Podporují-li obě komunikující strany RFC3588, může být vyjednáno použití TLS (Transport Layer Security). Podporují-li obě komunikující strany RFC6733, může vyjednávání TLS proběhnout před CER/CEA.

Spojení je pak připravené pro výměnu aplikačních zpráv.

Pokud určitou dobu nebyly přenášené žádné zprávy, libovolná strana může poslat Device-Watchdog-Request (DWR) a protistrana musí odpovědět Device-Watchdog-Answer.

Libovolná strana může ukončit komunikaci odesláním zprávy Disconnect-Peer-Request (DPR), na kterou protějšek musí odpovědět Disconnect-Peer-Answer. Pak je možné zavřít transportní spojení.

Remove ads

Dokumenty RFC

Protokol Diameter je aktuálně definován v následujících IETF RFC dokumentech: Nahrazená RFC jsou indikována přeškrtnutím textu.

Další informace #, Titul ...

Odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads