slp an overview

Notes on slp !

what is slp ?
  • Service location protocol which discovers or advertises service on network.
  • You can call it as service location protocol or service discovery protocol
  • Can be used for anything from locating printers on the floor to discovering what LDAP directories are available in the organization.
  • If this network application is installed on your devices, it runs as sldp daemon facilitated bt OpenSLP server with slpd package, it find different services running in your LAN.
slp is a packet oriented protocol mostly uses UDP, it can use TCP for longer packets too.
slp extensively uses multi-casting
all devices listen on port 427
SLP roles:
  • User Agents (UA) are devices that search for services
  • Service Agents (SA) are devices that announce one or more services
  • Directory Agents (DA) are devices that cache services
Operation:
  • the operations depends on whether the network has DA or not
  • when a client first joins network it multi casts a query of DAs in the network   if gets no response it thinks there are no DAs on network
  • you can add a DA later
  • DA multicatsts a heart beat packet to all other devices on network
  • when SA discovers a DA it is expected to register all the services to DA and unregister it when services stops
when you don not have a DA in network
  • it is UA which first sends an multicast UDP query packet
  • all SAs that have matches will send an UDP answer and if the answer is too long to fit in an UDP packet it is marked as "overflown"
  • in the case as above UA is free to send a direct TCP packet to SA , which can transmit a packet of any size
This is not the same case when network has a DA,
UA will multicast a query packet using either UDP or TCP
Since every SA is expected to register itself details of services on DA, DA should be able to fulfill the request by UA 
Source: wikipedia

Disclaimer

The views and opinions expressed on this blog are my own and does not reflect the views and opinions of my employer.