DIÀMETRE

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca

En tecnologia de la informació i telecomunicacions, Diameter és un protocol AAA ( autenticació , autorització i comptabilitat ) que segueix RADIUS , encara que no sigui compatible amb la versió anterior . RADIUS és un protocol client-servidor AAA entre un servidor d'accés a xarxa ( NAS ) i un servidor RADIUS centralitzat, basat en el protocol de capa de transport TCP ; Diameter és un protocol AAA peer-to-peer i consisteix en un protocol bàsic (especificat a RFC 3588 ) i un conjunt d’extensions anomenades aplicacions Diameter . El protocol bàsic no es pot utilitzar sol, sinó que sempre s’associa amb alguna aplicació específica de Diàmetre del servei a proporcionar ( IP mòbil , NASREQ , Strong Security, etc.). Es basa en els protocols de transport TCP o SCTP i requereix l’ús obligatori d’ IPsec .

Naixement

Els principals motius per definir un nou protocol van ser els problemes RADIUS que s’enumeren a continuació.

  • Mida limitada de l'atribut: un atribut RADIUS es porta en un missatge RADIUS com a tupla de longitud 3 {Tipus d'atribut, Longitud de l'atribut, Valor de l'atribut} . El camp Longitud de l'atribut és d'un octet i el valor màxim de 255 posa un límit al nombre d'octets de dades d'un atribut determinat. Un atribut de diàmetre es porta en un missatge de diàmetre com a tupla de longitud 5 {Tipus d’atribut, indicadors, longitud d’atribut, identificador de proveïdor, valor d’atribut} . El camp Longitud de l'atribut és de tres octets, de manera que el seu valor màxim permet més de 16 milions d'octets de dades per a un atribut determinat.
  • Nombre limitat de missatges pendents simultanis: el camp Identificador a la capçalera d’un paquet RADIUS s’utilitza per reconèixer retransmissions. El camp identificador és d’un octet, que imposa un límit màxim de 255 missatges en espera entre un client RADIUS i un servidor RADIUS. El camp Identificador d’extrem a extrem de la capçalera d’un missatge de diàmetre també s’utilitza per reconèixer retransmissions; té una longitud de 4 octets, cosa que permet més de 4.000 milions de missatges en espera d'un client Diameter.
  • Incapacitat per controlar el flux al servidor: RADIUS funciona a UDP , un protocol de transport senzill i sense connexió que no té cap mecanisme perquè el node receptor reguli el flux de dades des del node d’enviament. El diàmetre funciona amb TCP o SCTP ( Stream Control Transmission Protocol ), protocols de transport orientats a la connexió amb mecanismes de control de flux i per evitar congestions.
  • Detecció limitada d'un bloqueig de servidor: hi ha moltes raons per les quals un NAS pot bloquejar-se i no rebre una resposta a una sol·licitud RADIUS determinada, inclosa la congestió de xarxa o una caiguda temporal del senyal al camí entre el NAS i el servidor. O un bloc del propi servidor, etc. Amb RADIUS i, per tant, UDP, el NAS no pot distingir la causa que va causar el bloc, de manera que assumeix que el problema es troba al següent salt i es retransmet a un salt alternatiu; aquest tipus de recuperació és sovint inadequada. Amb una capa de transport orientada a la connexió i amb missatges de manteniment de Diàmetre, un node de Diàmetre pot detectar una caiguda local de parells.
  • Rebuig de paquets silenciosos: el protocol RADIUS especifica que els missatges es poden rebutjar silenciosament per a diverses condicions d'error. En aquests casos, el NAS assumirà que el servidor no ha rebut el missatge i farà diversos intents de retransmissió abans d’abandonar definitivament la sol·licitud. El protocol Diameter retorna una resposta per a totes, o gairebé totes, les condicions d'error.
  • Fallada del servidor ineficient: moltes implementacions NAS configuren diversos servidors RADIUS, un servidor principal i un conjunt de servidors alternatius. Quan ha de canviar a un servidor alternatiu, el NAS no sap si es pot arribar a aquest últim; això pot comportar un retard considerable per als usuaris fins que es trobi una alternativa útil. Amb una capa de transport orientada a la connexió i gràcies als missatges de manteniment de Diàmetre, un node de Diàmetre té la possibilitat de notar la configuració de la xarxa i també de tornar al servidor principal quan torni a estar disponible, sense demora o temps d’espera.
  • Ús ineficient dels servidors RADIUS en entorns proxy: a RADIUS, totes les retransmissions les realitza el NAS. Els servidors intermediaris no retransmeten sol·licituds RADIUS; el NAS, que no sap si la caiguda és local o remota, pot retransmetre de manera inapropiada a un parell alternatiu de proper salt. Sota Diàmetre, cada node que travessa un missatge en el seu camí des de la font cap al servidor detectarà un bloc del seu proper parell de salt i es retransmetrà. A més, un bloc es gestiona localment.
  • Absència de missatges de servidor no sol·licitats: el protocol RADIUS no permet a un servidor enviar missatges no sol·licitats al NAS. Per a les activitats d'inicialització necessàries, els fabricants han recorregut a solucions alienes al protocol RADIUS (per exemple, SNMP ) o a solucions propietàries que impliquen extensions RADIUS però que sovint comprometen la interoperabilitat. El diàmetre, que és un protocol peer-to-peer en lloc d'un protocol client-servidor , permet els missatges d'inicialització del servidor. El protocol bàsic defineix dos tipus de missatges, un per sol·licitar que el client Diameter finalitzi una sessió d'usuari específica i un altre per sol·licitar que el client rautentiqui o autoritzi de nou un usuari concret.
  • Atacs de repetició: el protocol RADIUS no proporciona prevenció d’atacs de repetició. Es pot tornar a enviar un paquet antic des d'un fals fals NAS sense ser detectat. Això pot produir una denegació de servei si el servidor té un límit de sessió simultània per a un usuari.
  • Seguretat salt a salt i no extrem a extrem: el protocol RADIUS només ofereix seguretat salt a salt i no conté instal·lacions per assegurar parells intermedis entre el NAS i el servidor. Això permet als servidors intermediaris recopilar informació confidencial o modificar missatges (com ara informació comptable) sense que els punts finals s’adonin. El protocol Diameter ofereix seguretat de punta a punta, a més de salt a salt. Les signatures digitals asseguren la integritat dels companys implicats i la seva confidencialitat s’assegura mitjançant el xifratge .
  • No s'admeten ordres específiques del proveïdor: el protocol RADIUS admet atributs específics del proveïdor, però no ordres. Això significava que els codis d'ordres privats creats pels fabricants creaven problemes d'interoperabilitat. El protocol Diameter admet atributs i comandes específiques del proveïdor.
  • Sense requisits d'alineació: el protocol RADIUS no imposa requisits d'alineació, cosa que podria sobrecarregar innecessàriament molts processadors . Tots els camps de la capçalera i els atributs s'han de gestionar byte per byte. El protocol Diameter requereix que tots els atributs estiguin alineats amb paraules de 32 bits, així com amb els camps de la capçalera del missatge.
  • Secret compartit obligatori: el protocol RADIUS requereix que existeixi un secret compartit entre companys, fins i tot si s'utilitza IPSec en una comunicació local. El protocol Diameter pot assegurar les comunicacions entre iguals amb IPSec i TLS .

Detalls del protocol

Estructura

El diàmetre es defineix en termes d’un protocol bàsic i d’un conjunt d’aplicacions. Aquest disseny permet ampliar el protocol a les noves tecnologies d’accés. El protocol bàsic proporciona mecanismes bàsics per al transport fiable, el lliurament de missatges i la gestió d’errors, i s’ha d’utilitzar conjuntament amb una aplicació de Diàmetre. Cada aplicació es basa en serveis bàsics de protocol per donar suport a un tipus específic d’accés a la xarxa. Les dues aplicacions principals són Mobile IPv4 i NASREQ (Network Access Server Requirements). L'aplicació NASREQ admet la marcació PPP / IP i està pensada per substituir RADIUS.

El protocol base defineix el format d'un missatge de diàmetre base. Les dades s’inclouen al missatge Diameter com a col·lecció d’ AVP (Parell de valor d’atribut); un AVP és l'equivalent a un atribut RADIUS i consta de diversos camps: codi AVP, longitud, senyaladors i dades. Alguns AVP són utilitzats pel protocol bàsic Diameter; altres AVP són per a aplicacions de diàmetre; d'altres es poden utilitzar amb l'aplicació d'alt nivell del sistema final mitjançant Diàmetre.

El diàmetre, a diferència de RADIUS, funciona en una capa de transport fiable ( TCP o SCTP ) que proporciona control de flux, confirmacions del nivell de transport i retransmissions. Tot i que TCP és universalment conegut, el Protocol de transmissió de control de flux (SCTP) és una cosa així com un nou protocol de transport IP, existent al mateix nivell que UDP o TCP. El 2000 SCTP es va proposar com a estàndard i s’especifica a la RFC 2960 .

Definicions

A més de client i servidor , el protocol Diameter defineix altres tipus de nodes :

  • un Client Diàmetre és un dispositiu que accedeix a la xarxa de manera controlada. Un NAS també és un client Diameter;
  • un diàmetre de servidor és l'entitat que gestiona les sol·licituds d'autenticació, autorització i comptabilitat d'un domini;
  • un agent de retransmissió s’encarrega de l’encaminament dels missatges de Diàmetre en funció de la informació continguda al missatge. Les decisions d’ encaminament es prenen mitjançant una llista de dominis compatibles i d’ iguals coneguts. Els agents de relleu són transparents; només poden modificar els missatges introduint o eliminant informació d’encaminament, però no poden modificar altres parts del missatge;
  • un agent intermediari també s'encarrega de l'encaminament; pot modificar missatges per implementar decisions polítiques , com ara controlar l'ús dels recursos;
  • un agent de redirecció encara fa l'enrutament, generalment actuant com a font centralitzada de mapes d'adreces de domini per als seus membres. A diferència d'altres tipus d'agents, un agent de redirecció retorna un tipus especial de missatge de resposta al parell que ha enviat la sol·licitud. Aquest missatge de resposta conté informació d’encaminament que permet al parell reenviar la sol·licitud directament a la destinació correcta. Un agent de redirecció no retarda les sol·licituds;
  • un agent de traducció realitza "traduccions" entre diferents protocols, per exemple, des de RADIUS fins a Diàmetre. En aquest cas, l'agent de traducció admet la migració de RADIUS a Diameter, permetent, per exemple, la conversió del servidor a Diameter.

Especificacions

Un missatge de diàmetre consisteix en una capçalera de longitud fixa de 20 bytes , seguida d'un nombre variable d'AVP. El format de capçalera és el següent:

 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
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Versió | |
| 0 0 0 0 0 0 0 1 | Longitud del missatge |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Banderes | |
| RPET xxxx | Codi d'ordres |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Identificador d'aplicació |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Identificador salt a salt |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Identificador d’extrem a extrem |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| AVP ...
+ - + - + - + - + - + - + - + - + - + - + - + - + -

La capçalera del missatge Diàmetre conté dos identificadors de 32 bits . L’identificador Hop-by-hop ajuda a fer coincidir les sol·licituds i respostes. En les sol·licituds, aquest identificador se substitueix per cada salt fins que el missatge es reenvia a la seva destinació final. El remitent del missatge de resposta retorna el mateix valor que va trobar a la sol·licitud corresponent. L' identificador de extrem a extrem , juntament amb la identitat de l'amfitrió d'origen, s'utilitza per reconèixer els missatges de sol·licitud duplicats i no es canvia mai fins que la sol·licitud arriba a la destinació. El remitent de la resposta retorna el mateix valor que va trobar a la sol·licitud corresponent.

Diàmetre admet tipus de dades com Integer32, Unsigned32, Integer64, Unsigned64, Float32, Float64, Float128, OctetString i Grouped; un AVP agrupat és un AVP les dades del qual són una seqüència d'AVP.

També es defineixen els tipus de dades derivats: enumeratiu (derivat de integer32), DiameterIdentity (derivat de octetstring), temporal (derivat de unsigned32), UTF8String (derivat de octetstring), IPFilterRule (derivat de octetstring) i QoSFilterRule (derivat de octetstring).

Cada procés de diàmetre que s’executa en un amfitrió genera una identitat de diàmetre, que és una cadena amb la sintaxi d’un identificador de recursos uniforme (URI) que representa el FQDN (nom de domini completament qualificat) de l’amfitrió, un dels ports que escolta les connexions a l’entrada, el protocol de transport (TCP o SCTP), el protocol AAA (diàmetre) i el transport de seguretat (cap o TLS).

Atès que la identitat porta el número de nom de propietat (FQDN) de l'amfitrió i com que diversos processos de diàmetre en un mateix amfitrió no poden escoltar al mateix port d'un protocol determinat, es garanteix que la identitat de diàmetre de cada procés és única.

Pel que fa als missatges, hi ha dos tipus: Sol·licitud i Resposta . Cada missatge de resposta inclou un codi de resultats AVP , el valor del qual és un enter que indica si una sol·licitud concreta s'ha completat correctament o si s'ha produït un error. Cada missatge de diàmetre conté la identitat de diàmetre del procés d'enviament a l'amfitrió d'origen, així com el domini d'aquest procés. Els missatges de sol·licitud poden ser "aptes" o "no aptes", depenent d'un dels indicadors de la capçalera. Les sol·licituds no susceptibles de representació estan pensades estrictament per al parell següent i mai no es reenvien més. Les sol·licituds autoritzables es poden encaminar i s’encaminen per domini. Cada sol·licitud proxiable conté el domini de destinació a l'AVP de Destination-Realm.

Un missatge de diàmetre rellevant per a una sessió d'usuari específica inclou un ID de sessió AVP , un valor constant per a la vida de la sessió. Aquest valor és una cadena de text única i global, capaç d'identificar de manera única una sessió d'usuari sense fer referència a cap altra informació. El client Diameter que inicia la sessió crea l'identificador de sessió, que comença amb la cadena d'identitat de diàmetre de l'emissor i continua amb una seqüència que garanteix la singularitat topològica i temporal.

Llista d'ordres

Cada ordre es distingeix per un codi, utilitzat tant per a sol·licituds com per a respostes:

Comandament Abbr. Codi
Sol·licitud d’avortament-sessió ASR 274
Abort-sessió-resposta COM UN 274
Sol·licitud de Comptabilitat ACR 271
Comptabilitat-Resposta ACA 271
Capacitats-Intercanvi-Sol·licitud CER 257
Capacitats-Intercanvi-Resposta CEA 257
Sol·licitud de controlador de dispositius DWR 280
Dispositiu-vigilant-resposta DWA 280
Sol·licitud Disconnect-Peer DPR 282
Desconnecta-Resposta entre iguals DPA 282
Reautorització de la sol·licitud RAR 258
Torna a autenticar-respon RAA 258
Sol·licitud de finalització de sessió STR 275
Sessió-Finalització-Resposta ÉS 275
Sol·licitud de control de crèdit CCR 272
Control-Control-Resposta CCA 272

Parells de valor d'atribut (AVP)

El format de capçalera d’un diàmetre AVP és el següent:

 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
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Codi AVP |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Banderes | |
| VMP xxxxx | Longitud AVP |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Identificador de proveïdor (si és un AVP específic del proveïdor) |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Dades AVP ... (longitud variable)
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + -

El codi AVP, juntament amb el camp ID de proveïdor, identifiquen de manera única l'atribut. Els primers 256 números, juntament amb l’identificador de proveïdor establert a zero, es reserven per a la compatibilitat amb RADIUS . El camp de dades AVP consta de zero o més octets i conté informació específica de l'atribut. Els camps Codi AVP i Longitud AVP determinen el format i la longitud del camp Dades.

Nom de l'atribut Codi Tipus de dades
Acct-Interim-Interval 85 Sense signar32
Comptabilitat: en temps real: obligatori 483 Enumerat
Identificador d'Act-Multi-Session 50 UTF8String
Número de registre de comptabilitat 485 Sense signar32
Tipus de registre comptable 480 Enumerat
Identificació de sessió-comptabilitat 44 OctetString
Id. De comptabilitat-sub-sessió 287 Sense signar64
Identificador de l'aplicació-act 259 Sense signar32
Identificador d'autorització de l'aplicació 258 Sense signar32
Tipus de sol·licitud d'autenticació 274 Enumerat
Autorització-Vida 291 Sense signar32
Període d'autor-gràcia 276 Sense signar32
Auth-Session-State 277 Enumerat
Torneu a autenticar-sol·liciteu-tipus 285 Enumerat
CC-Tipus de sol·licitud 416 Sense signar32
CC-Número de sol·licitud 415 Sense signar32
Classe 25 OctetString
Destinació-amfitrió 293 DiamIdent
Destinació-Regne 283 DiamIdent
Desconnecta-causa 273 Enumerat
E2E-Seqüència 300 Agrupats
Missatge d'error 281 UTF8String
Report-Error-Host 294 DiamIdent
Marca horària d'esdeveniments 55 Temps
Resultat experimental 297 Agrupats
Codi-resultat-experimental 298 Sense signar32
AVP fallit 279 Agrupats
Firmware-Revision 267 Sense signar32
Adreça IP de l’amfitrió 257 adreça
Identificador de seguretat de banda 299 Sense signar32
Temps d'espera multironda 272 Sense signar32
Origen-amfitrió 264 DiamIdent
Origen-Regne 296 DiamIdent
Id. Origen-estat 278 Sense signar32
Nom del producte 269 UTF8String
Amfitrió proxy 280 DiamIdent
Informació del servidor intermediari 284 Agrupats
Estat del servidor intermediari 33 OctetString
Redirecció-amfitrió 292 DiamURI
Ús de redirecció-host 261 Enumerat
Redirecciona-Temps màxim de memòria cau 262 Sense signar32
Codi-resultat 268 Sense signar32
Ruta-Registre 282 DiamIdent
ID de sessió 263 UTF8String
Temps d'espera de sessió 27 Sense signar32
Sessió-enquadernació 270 Sense signar32
Sessió-Servidor-Failover 271 Enumerat
Identificador de proveïdor compatible 265 Sense signar32
Finalització-Causa 295 Enumerat
Nom d'usuari 1 UTF8String
Identificador de proveïdor 266 Sense signar32
Identificador d'aplicació específic per a proveïdor 260 Agrupats

Enllaços externs

Control de l'autoritat GND ( DE ) 7625755-1