80 likes | 223 Views
Layer 2 Service Discovery Protocols. Authors:. Date: 2012-07-19. Abstract. The question “ Should ISD: develop a Layer 2 Service Discovery Protocol or transport a higher layer Service Discovery Protocol? ” has been raised by the ISD chair.
E N D
Layer 2 Service Discovery Protocols Authors: Date: 2012-07-19 Alex Ashley, NDS Ltd
Abstract The question “Should ISD: develop a Layer 2 Service Discovery Protocol or transport a higher layer Service Discovery Protocol?” has been raised by the ISD chair. The presentation describes a few of the common service discovery protocols, to hopefully aid in the discussion of this question. Alex Ashley, NDS Ltd
UPnP / DLNA • UPnP uses a multicast protocol called SSDP to announce and discover UPnP devices • Once discovered, an HTTP request for an XML device description is used to provide a detailed description of the device. • Each device description contains at least one service description • A service is a collection of actions and state variables • An action is a remote procedure call Alex Ashley, NDS Ltd
SSDP • When a new device is added to the network it multicasts a number of discovery messages advertising itself, its embedded devices and its services • Address 239.255.255.250 port 1900 • Each message uses SSDP protocol (similar to HTTP) • A control point can send search requests to the same address to probe for devices or services NOTIFY * HTTP/1.1 HOST: 239.255.255.250:1900 CACHE-CONTROL: max-age = 120 LOCATION: http://192.168.1.1:1900/description.xml NT:upnp:rootdevice NTS: ssdp:alive SERVER: UPnP/1.0 USN: uuid:cybergarageTvDevice::upnp:rootdevice Alex Ashley, NDS Ltd
Apple Bonjour • Implementation of Zeroconf • Multicast DNS (mDNS) • mDNS multicast address 224.0.0.251 port 5353 • Used to discover IP addresses without requiring DNS server • DNS-SD is used for service discovery • Like Active Directory, uses SRV DNS records • IANA controlled list for services • E.g. “appletv-itunes” • http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml Alex Ashley, NDS Ltd
Microsoft Windows • NetBIOS • Maps names to IPv4 addressed • name - A 16-byte name for an application • Actually 15 bytes, last byte used for describing service type • NetBIOS over TCP/IP • RFC1001 and RFC1002 • Broadcast and unicast UDP, ports 137 and 138 • Windows Internet Name Service (WINS) implements NetBIOS over TCP/IP • Now replaced with Active directory • Uses DNS and LDAP • DNS SRV records to discover services (e.g. domain controller) Alex Ashley, NDS Ltd
Conclusions • Allowing a STA to perform any of the described protocols prior to association would required sending and receiving UDP and TCP frames • This would require an IP address for the unassociated STA or the AP to proxy these frames • Could be a link local address • To avoid huge security whole, AP would need to act as an application level firewall to inspect these exchanges • All seem to be based upon the concept of well known names • Maybe we just need to be able to advertise the presence of these names? Alex Ashley, NDS Ltd
References Alex Ashley, NDS Ltd