Zero Conf Rendezvous Burton says I can't also blog this. But I say Damn The Torpedos. Rendezous is part of the project to bring the ease of AppleTalk to IP. Local Area Chaos! USB - FireWire - Ethernet - IrDA - AirPort - Bluetooth Too many drivers for everybody to write. Let's fix! Can Wide Area Comm convergence come to LAN? yeah! But not without better infastructure. no needs to remember your subnet mask just to print a document. Requirements: Addressing - Naming - Browsing ZeroConf.org - draft-ietf-zeroconf-reqts-12.txt This isn't about the large network, it's not about buying books on amazon, looking up maps, etc. Those work pretty fine as is. It's about the fact that Dan Moniz and I in the same room had a hard time getting our Lisp's talk to each other the other night. how miserable! IPv4 Link-Local Availability Addressing: o Self-Assigned Link-Local Addressing o Pick random address in 169.254/16 (that's why it does that. huh) o ARP to see if anybody is using it. o If someone else is using it, try again o Ongoing conflict checking. draft-ietf-zeroconf-ipv4-linklocal-07.txt IPv6 already does this but we can't upsell printer makers just yet. Naming: o Multicast DNS o Pick desiered name in .local. subdomain o Issue Query to see if anybody else is using it o If somebody else is using, pick another o Ongoing conflict checking draft-cheshire-dnsext-multicastdns-00.txt IP never had local naming before, Apple has now filled in that rather large gap. Apple Multicast Availablitity client Only in Mac OS 9.2.1 client and responder both in 10.2 client and responder for win/linux/etc available from Darwin's repository Just type laserprinter.local and it works! Demo! The Axis (see thinkgeek.com) camera now has rendezvous built-in, which they got from the darwin repository just the other week. http://axis.local/view/index.html just plain works! if there were two cameras, automatic naming resolution would have probably figured it out. Rendezvous isn't meant to compete with dhcp, they work together. Rendezvous helps solve the dhcp bootstrap problem. Browsing over IP has a long list of failures. Havi jini e-speak upnp osgi There's been lots of research, but the problem isn't solved until real products are out there. Why did they fail: o Couldn't keep things simple. Biggerism. Failed to understand basic principles -browse for services, not for devices. AppleTalk did get a lot of this right. devices need to implement mDNS, can we use that same code for Service Discovery? Use standard dns capability multiple answers ptr records srv records (rfc 2782). Escape the tyranny of well known ports! Browsing via dns ptr: DNS Query: _ipp._tcp.local.PTR ? More than one printer? Here's what you would get back when you make the above request: Sales._ipp._tcp.local. Marketing._ipp._tcp.local Engineering._ipp._tcp.local Etc._ipp._tcp.local Components of Service Name: User-Visible Name - First label of Name UTF-8 text Sales. Service Type/Service Protocol Name _ipp._tcp. Domain local. A service is identified by what protocol it uses. All you need is the Service Type in the middle. This process is the same type as how you register a well-known port number. Rendezvous avoids the chattiness. Aggressive Caching Duplicate Suppression Section in Queries Duplicate Answer suppression Duplicate Query suppression (backs off to once per hour. plug in a printer. worst case scenario: an hour later, you see the printer) exponenetial query backoff service announce on startup exponential announcement backoff. Lookup via DNS SRV DNS Queries Sales._ipp._tcp.local. SRV 0 0 515 host.local. Sales._ipp._tcp.local. TXT rp=lpt1 (a couple hundred bytes doesn't kill you here) host.local. A 169.254.12.34 One packet gives you back everything you need to know you to print. Another Demo! (We're using the DNS Service Browser demo) I think the speaker leans too much on the supposed benefits of DNSSEC for deploying service names. I think DNS will be a big problem. But I'm a curmudgeon. Automatic device renaming is pretty impressive. Two devices with the same name, when put on the same network will automatically resolve the conflict and rename one of them in a guessable way. And with discovery, you'll automatically see the device on the network and can name it to whatever you like. woo! DNS-SD availablility draft-cheshire-dnsext-nias-00.txt Darwin has an mDNS server already. (5000 lines of C, 50k binary PPC) Hardware vendors can just grab the Darwin source and compile. Airport base stations already uses Rendezvous and apparently has for a long time? EtherPeek.app/Contents/decoders/IETF.dcd Hardware vendors are lining up to talk to Apple about ZeroConf. It's amazing that this has taken 10 years to become an overnight success. DNS Service Discovery APIS in lib System NSNetServices for Cocoa DNSServiceDiscovery.h Mach Message API mDNS and DNS-SD Daemons. Software developers - Use DNS-SD for network browsing in your OS X apps. Hardware vendords - build all three legs of ZeroConf in your hardware products - contact apple to license the rendezvous trademark logo to go on your products. Not using Zeroconf doesn't make life easier for hackers, they already know how to find machines. it only helps your employees. not using zeroconf "is like hitting everybody who comes to work with a baseball bat because it will help discourage thieves" One thing that's seriously problematic is that Rendezvous just stole .local, they never told the IETF. why?! is apple a bad steward?