2.4 Why UDP?
2.4. Why UDP? (Pourquoi UDP?)
Une question fréquemment posée est pourquoi RADIUS utilise UDP au lieu de TCP comme protocole de transport. UDP a été choisi pour des raisons strictement techniques.
Il y a un certain nombre de problèmes qui doivent être compris. RADIUS est un protocole basé sur des transactions qui possède plusieurs caractéristiques intéressantes:
-
Si la demande à un serveur d'authentification primaire échoue, un serveur secondaire doit être interrogé.
Pour répondre à cette exigence, une copie de la demande doit être conservée au-dessus de la couche de transport pour permettre une transmission alternative. Cela signifie que des minuteries de retransmission sont toujours nécessaires.
-
Les exigences de temporisation de ce protocole particulier sont significativement différentes de ce que TCP fournit.
À un extrême, RADIUS ne nécessite pas une détection "réactive" des données perdues. L'utilisateur est prêt à attendre plusieurs secondes pour que l'authentification se termine. La retransmission généralement agressive de TCP (basée sur le temps d'aller-retour moyen) n'est pas requise, pas plus que la surcharge d'accusé de réception de TCP.
À l'autre extrême, l'utilisateur n'est pas prêt à attendre plusieurs minutes pour l'authentification. Par conséquent, la livraison fiable de données TCP deux minutes plus tard n'est pas utile. L'utilisation plus rapide d'un serveur alternatif permet à l'utilisateur d'obtenir l'accès avant d'abandonner.
-
La nature sans état de ce protocole simplifie l'utilisation d'UDP.
Les clients et les serveurs vont et viennent. Les systèmes sont redémarrés ou sont mis hors tension et sous tension indépendamment. Généralement, cela ne cause pas de problème et avec des délais d'expiration créatifs et la détection des connexions TCP perdues, du code peut être écrit pour gérer les événements anormaux. UDP cependant élimine complètement tout ce traitement spécial. Chaque client et serveur peut ouvrir son transport UDP une seule fois et le laisser ouvert à travers tous les types d'événements de défaillance sur le réseau.
-
Certains réseaux ont un grand nombre de serveurs d'accès NAS qui parlent tous à un seul serveur RADIUS central.
Le serveur RADIUS peut éventuellement recevoir des centaines de milliers de demandes de paquets par seconde. Les connexions TCP nécessitent l'allocation et la désallocation de la mémoire et des structures de données de connexion. UDP ne nécessite aucun tel effort de gestion. Le serveur RADIUS peut facilement gérer la réception d'un paquet, le traiter et envoyer une réponse sans avoir à gérer une connexion TCP pour chaque paquet.
Le code de gestion UDP est souvent plus simple et plus facile à déboguer que le code de gestion TCP pour cette raison. UDP peut également être utilisé sur un plus large éventail de systèmes matériels.