Service Location Protocol

protocole réseau

Le Service Location Protocol est un protocole de découverte de services qui permet aux ordinateurs et autres dispositifs de trouver des services dans un réseau local sans aucune configuration préalable.

PRINCIPE modifier

Chaque service doit avoir une URL qui est utilisée pour localiser le service. L'URL d'une imprimante pourrait ressembler:

service:imprimante:lpr://myprinter/myQueue

Cette URL décrit une file appelée myQueue sur une imprimante avec le nom d'hôte myprinter. Le protocole utilisé par l'imprimante est LPR. Notez qu'un régime spécial d’URL service est utilisé par l'imprimante. Les URLs "service:" ne sont pas nécessaires: tout régime d'URL peut être utilisé, mais ils vous permettent de rechercher tous les services du même type (par exemple, toutes les imprimantes) quel que soit le protocole qu'ils utilisent. Les trois premières composantes du service: URL de type (service: imprimante:lpr) sont également appelés type de service. Les deux premiers volets (service:imprimante) sont appelés type de service abstrait. SLP a trois rôles différents pour les périphériques. Un appareil peut également comporter deux ou les trois rôles à la fois :

  • Les User Agent (UA) sont des dispositifs qui recherchent des services,
  • Les Service Agent (SA) sont des dispositifs qui annoncent un ou plusieurs services,
  • Les Agents Directory (AD) sont des dispositifs de cache.

L'existence d'un Agent Directory dans un réseau est facultative, mais si un Agent Directory est présent, les User Agent et les Service Agent sont tenus de l'utiliser au lieu de communiquer directement. SLP est un protocole orienté paquets. La plupart des paquets sont transmis en utilisant UDP, mais TCP peut aussi être utilisé pour la transmission de paquets plus longs. En raison du manque de fiabilité potentiels de l'UDP, SLP répète tous les multidiffusions à plusieurs reprises dans des intervalles de plus en plus long jusqu'à ce qu'une réponse a été reçue. Tous les dispositifs doivent être à l'écoute du port 427 pour les paquets UDP, les SAs et DAs devrait aussi écouter les connexions TCP sur le même port. Quand un client rejoint un réseau, il fait une requête en multidiffusions pour l' Agents Directory sur le réseau. Si aucune des réponses ne vient d’un Agents Directory, il considérera que c'est dans un réseau sans Agents Directory.

CAS AVEC Agents Directory modifier

Quand une SA découvre un Agents Directory, il est nécessaire d'inscrire tous les services à la Agents Directory. Quand un service disparaît, les SA doivent en informer le Agents Directory et s’y désinscrire. Un User Agent va envoyer le paquet de requête à la Agents Directory en utilisant soit UDP ou TCP. Comme chaque SA doit inscrire tous les services avec le Agents Directory, le Agents Directory est en mesure de répondre à la demande complètement et envoie simplement le résultat à l'User Agent.

CAS SANS Agents Directory modifier

Afin d'envoyer une requête dans un réseau sans Agents Directory, l'User Agent envoie un paquet UDP multi-caste qui contient la requête.