Domain: zeroconf.org
Stories and comments across the archive that link to zeroconf.org.
Comments · 80
-
Re:Vulkan
Like they were going to opensource their video chat software. Oh, some small puny company sued and now we can't even though we could buy out the company 1000 times over.
False equivalence. Because Apple has not open-sourced all their software, that doesn't mean they don't open source some of their software.
As for CUPS, can you tell me what they added?
If only CUPS was open source software where you could look at the changes from when Apple bought cups to what the latest version. I'll give you a hint, click on the text files that are named "CHANGES".
The only thing that I see they added on a cursory search is their own services for "zero configuration"... and even then, I'm not even sure those are open source.
Then you would be wrong. ZeroConf is the open source implementation of what Apple started as Bonjour/Rendevous.
It requires paid lilcensing to use in a commercial setting. HMM... I wonder why they contributed?
I don't know what you are talking about. I've paid $0 for more than a decade to use CUPS and ZeroConf. Now some companies will sell you software on top of either so that you can use it but that's your choice to pay for software and not use open source versions.
Can you imagine forcing every *nix user to pay for open source? =O
Again I have no idea what you're talking about CUPS is used by Linux and BSD as the defacto printing system. I have yet to seen a bill presented to users of either to do use it.
-
Re:Reminds me of the static IP address days
Remember assigning static IP addresses by the seat of your pants? Pull a number, X, between 2 and 253 out of your ass, ping 192.168.254.X, if nobody answered, go ahead and assign your new network printer to it. Hey, what could go wrong?
Actually, the practice is getting standardized: ZeroConf
-
Re:Unpossible
Yeah, I know because Apple never gives anything back to the open source community at all!
To be fair, "developed by Apple" in "CUPS is the standards-based, open source printing system developed by Apple Inc. for Mac OS® X and other UNIX®-like operating systems." in the CUPS home page means "Apple hired the guy who created CUPS, and it's now an Apple project", not "Apple were the original developers of CUPS".
-
Re:Unpossible
Yeah, I know because Apple never gives anything back to the open source community at all!
If there was a fairy that allowed me to abolish Apple with the cost of getting rid of these products, I'd hit it.
We should really develop a new standard printing system. Hopefully the google cloud printing one will turn out to bewarthwhile. As for webkit - I love Chrome, but I could live with the new firefox.
-
Re:Unpossible
-
Already Been Done?
I hate to sound like an Apple Fanboy, but hasn't this already been done with Apple's ZeroConf spec? It's not like it's only available for the Mac either. There are implementations for Windows, Linux, and the BSDs. The spec is out there for anyone to use, so it's not like a hardware manufacturer couldn't roll their own implementation. Why do we need yet another specification that does basically the same thing?
-
Re:Big Deal?
Bonjour for windows is Apple's port of zero configuration networking for windows. My debian etch box at home has some zeroconf networking; it's called avahi.
Zeroconf is a good thing and should be embraced. There's a book on zeroconf by Daniel Steinberg and Stuart Cheshire, published by O'Reilly.
-
Re:As usual, other considerations...
Oh yeah, Bonjour is totally undocumented:
- Zeroconf, the internationally standardized RFC 3927 upon which Bonjour is based, isn't documented at all
- Nor are Multicast DNS (mDNS) and DNS Service Discovery (DNS-SD), the open standards which make up Apple's Bonjour implementation
Apple also has nearly no Bonjour end user, developer, or technical overview documentation, and certainly doesn't make the source code, or even a binary Windows version, available.
And yeah, products like iTunes, Apple TV, local host discovery, all HP and many other network printers, and similar totally don't use Bonjour, so it's ok to block it.
The lack of documentation alone might make one want to block it! -
Re:Probably similar
The two are unrelated as far as their implementation, and only abstractly related as far as the domain in which they operate:
http://www.zeroconf.org/ZeroconfAndUPnP.html -
Re:Hmm. First example of it.
Personally, I don't want to see the Win2K sources. Every time MS code has been stolen (they don't handle their own security much better than they do their user's) or published under a limiting license, I see a few 'at last' posts in at least a couple of fora. If you're looking at their code, unless under anything like an explicit agreement with them involving something like 'helping Samba team' or 'complying with EU demands so they halt our massive fines' (fat chance of either) you might want to worry about being a vector for submarine patents, in the same way that some are worried about accepting Novell code into various projects.
I'll look at Microsoft code when it's under a GPL, BSD, or similar, somewhat friendly license. Not something under a license from a clearly hostile corporation. IAMNAL, don't want to be a lawyer, and don't want to have any doubts in my mind. The few people I know who've seen Microsoft code don't give me better than average reviews. I just don't see any up side, unless, say you're on the Samba team, operating under a specific agreement.
Even then I might be wary, in the specific case of Samba. I have pretty strong notions of why you might want to *keep* the separate functions of authentication and authorization separate. I'm not a believer in doing both under, say, a Free LDAP server. Nor an AD server, even if wrapped in proprietary Kerboros extensions.
I wish the Samba team the best of luck, as I'll probably have to do more interoperability work in the future. But it's just a 'dealing with what's popular' thing, for me. Definitely not a 'good idea' thing. Given a choice, I'd keep the functions separate, and implement LDAP next to RADIUS, or TACACS+ (At a minimum. I don't really want to use TACACS+, unless it's improved beyond the flaws Solar Designer found several years ago. I quit tracking or recommending it, at that point, and things may have changed.).
Most networking ideas MS has come up with aren't really things that I buy into. They've been more about lockin than open standards, security, and network efficiency since they discovered networking. Granted, the same could be said about early IBM, MS NETBIOS, Novell IPX, etc., networking. But that stuff is mostly gone, and good riddance.
I'd hope that the future of workstation-friendly networking, where you might want to go beyond the basics of DNS, LDAP, RADIUS, various network filesystems, etc., would lie more along the lines of Zeroconf.
http://www.zeroconf.org/
http://zeroconf.sourceforge.net/
That will get MS, BSDs, Linux, and Apple machines talking. It's even making inroads into HP-UX and OpenSolaris. Be advised that I haven't done a security review--I'm just tossing it out because:
a) A complete security review should finally be *possible*. Shouldn't be as much of a Samba/AD scenario, as, well, Samba/AD.
b) Problems found are probably more politically fixable.
c) More universally applicable, including easier mixing of KDE and Gnome desktops, which is a big deal for me.
Especially given c), I'll be plugging some serious hours into it starting in April, and continuing for 2-3 months after that. I know at least a couple of other security guys will be doing the same, as we're starting to talk about collaboration. Including extending some tools. I know I'd like a firm handle on Zeroconf as the KDE folk release 4.0, and a couple of Gnome-heads I know are pushing the group, as well. It should be interesting. I only wish we had an AIX guy, as well.
Some of this is going to end up being client-only info, but a couple of us are also pushing for up-front agreements to release docs and code as a joint effort. I'm definitely going to release everything I can. -
Re:The truth about AppleWhat complete and utter bullshit. -DRM I'm not going to rehash the extensive comments from this story earlier today. -Proprietary hardware Such as? *crickets* Surely the fact that on installing Windows on a shiny Intel Mac, all of the drivers outside of the keyboard backlight are from other well-known vendors like Atheros, Intel, ATI, etc, should disprove THAT turd. -Proprietary software And who isn't, other than Linux and BSD? They are the exceptions, not the rule. Windows, AIX, Solaris, BeOS, PalmOS, etc - you name it, it's most likely proprietary. At least Apple makes a good chunk of its base open, and has contributed other useful projects like WebKit and launchd. -Closed protocols Such as? Hell, even protocols they've pushed (like Rendezvous/Bonjour/ZeroConf) are standardized. -Lock-ins No contest there. -selected compatibility Again, who doesn't? I'm not even sure what you mean, unless you're upset you can't play a Divx on an iPod Video or something... It's CEO is also know for pulling tantrums. Its CEO is known for having a VERY sharp idea of what he wants, and yes, being very difficult and arbitrary to get it sometimes. Those are not tantrums. Throwing a chair, that's a tamtrum.
-
Re:Buh...
Maybe, just maybe, I don't want devices jumping onto my network and configuring themselves any way they like.
I think you're completely misunderstanding this whole concept.
Bonjour (aka Zeroconf) devices don't really "configure" themselves, and they won't magically jump onto your network in any way they couldn't do without Bonjour. I think there is a part of it that makes networking easier if there is no DHCP server available, like if you directly connect two computers together to share files, but if there is a DHCP server I'm sure that takes precedence over automagic network addressing.
Mostly Bonjour devices just broadcast a few packets that let other Bonjour aware devices find them, if they want to. It means that rather than having to remember the specific IP address of every device you ever connect to your network (computers, routers, network printers, file servers, network storage devices, etc.), you only have to open the appropriate type of network browser and all the discoverable devices of that type will show up.
Open up the printer setup utility on a Mac and instead of the utility asking you where the printer is that you want to connect to, it gives you a list of every discoverable printer on your network. Most current network printers have this capability built in now, so after a few seconds they just show up in the printer browser. If you've installed the driver already or its one of a few hundred drivers already built into Mac OS X, all you have to do at that point is select the printer and click "Add" and you're done. I know, scary stuff.
With Bonjour you can even use iChat to chat with your local network neighors without having any account set up with ICQ/MSN/AIM or whatever. Users that make themselves available via Bonjour simply show up in your buddy list, and you show up in theirs (if you enabled Bonjour in the preferences for that application).
It's like automatic DNS for your LAN. You do enjoy not having to find Slashdot.org by its IP address, do you not? And isn't it helpful that if Slashdot.org moves to a new IP address you can still get to it by typing in the same human-readable address? In the same way your computer can pick up any available address anytime it connects to the network, and simultaneously it will always be available at "MyComputerName.local". You can ping your computer by that name, connect to it by that name to access shared files, type that name in a web browser, etc. Bonjour doesn't stop you from restricting your DHCP server, using static addresses, running a firewall, or whatever else you want to do to keep control over your network. You can also block UDP port 5353 if you really want to deprive yourself of the benefits of Bonjour. And of course all this only works on the local network, it's not publicly accessible by anyone on the Internet.
Of course, if you really don't want a device on your network at all, there is a very simple solution: don't plug it into your network.
By the way, Bonjour (aka Rendezvous before Apple had to change the name due to trademark issues) is merely their implementation of Zeroconf, which is an open IETF standard. There are also open-source implementations for Linux, and as far as I'm concerned it's one of the best things to come to local area networking since DHCP. You might want to look into it. -
Challenge?
As far as the product, hasn't Microsoft, Novell, and an ungodly amount of other smaller companies tried to do this before?
Novell has historically not been strong on IP networking; more recently they've figured out that IP is the way to go, but I haven't heard of any cross-platform, open-standard, widely-supported IP-network technology from them. Or from Microsoft, for that matter. (How many UPNP printers can you name?)
Has anyone used Bonjour?
Only pretty much every Mac user (Safari, iTunes, iPhoto, iChat, ...). Oh, and lots of GNOME users. And maybe a few Windows iTunes users.
What's network traffic like? ActiveDirectory and Novell are both rather chatty applications when it comes to the network.
It uses caching, duplicate message suppression, and exponential backoff. Traffic is unnoticably light.
If we can find a way to keep things quiet, this is a great idea. However, there's the challenge.
Good thing those engineers at Apple figured it out 5 years ago, then!
Zeroconf is the only service of its type that I've heard of. It's certainly the only one that runs on pure-IP networks, whose standard is open, which has multiple independent implementations, which has support from both proprietary and open-source camps, and is supported out-of-the-box by many major hardware manufacturers. If there's any competition in this area, I don't know what it is. -
What?
Oh, I don't know? Because Windows has had a full standards-based implementation of ZeroConf for...oh...seven years, so Apple can finally bring a partial, somewhat standards compliant implementation of ZeroConf to Windows users who've had it for the best part of a decade?
According to here, ZeroConf was finished on 2003. If I remember correctly, Apple provided the first ZeroConf implementation for Windows. You might be thinking about uPnP. -
Printer autoconfiguration yet?
I have access to a Brother HL-2070N laser printer that uses Zeroconf (or "Bonjour" or "Rendevous" if you use the Apple terminology) to let computers on the LAN know that it is available. For those of you who don't know, this protocol Apple made is very useful for automatic discovery of various things on a network (instant messaging buddies, hardware devices like printers, other computer services like file transfer services, etc.). FLOSS should get into this in a big way because the protocol is unencumbered to share and there is software to make use of this which is licensed to share and modify.
I can print to it with the previous Ubuntu release after some configuration (nothing terribly technical, but nowhere near as easy as it ought to be). Even if enable "discover LAN printers" (or somesuch) in the printer control program, the previous Ubuntu Live CD never saw the Brother HL-2070N printer.
Hence my question for those of you who have tried the new Ubuntu: does it use Zeroconf for automatically discovering and setting up services such as printers?
-
Re:Say..
You don't need a DHCP server to configure your IP addresses, or to configure them manually.
You don't need a DNS server to configure hostnames (i.e. you can go and get "bob'slaptop" rather that using an IP address like 192.168.1.47, that is inconvenient and could change to another address at any moment when bob moves between wireless hotspots).
You can share more services than just printers and files, like your iTunes playlist or anything that anyone cares to program.
When a new computer is added they don't have to be set up with an IP address / you don't have to worry about reconfiguring your DHCP server. (Obviously there's security implications, so depending on who you are you might need some reconfiguring, that is unavoidable for security).
Linkage:
http://images.apple.com/macosx/pdf/MacOSX_Bonjour_ TB.pdf
http://www.zeroconf.org/ -
IETF standard
Troller, Zeroconf is an IETF standard - http://www.zeroconf.org/.
-
Re:Also a download for Windows
RTFpage. (or, technically, the page that the linked page links to.) Among other things, "The Bonjour Printer Wizard is also included and allows Windows computers to print to Bonjour networked printers, including USB shared printers connected to the AirPort Extreme and AirPort Express Base Stations. Since Apple first launched Bonjour in 2002, every major maker of network printers has adopted Bonjour."
Note that Bonjour is just Apple's name for ZeroConf, an open IETF standard. http://www.zeroconf.org/ Basically, it's an automagically-configuring network language, like AppleTalk, IPX, and NETBIOS, but it runs over IP, with or without fixed addresses, with or without a DHCP server. -
Re:Can't see why it's similar to IPv6?
No shit. Only problem is, Apple's been shipping this capability for almost three years now. And they submitted it to the IETF as Zeroconf.
Of course, since it's Apple, nobody on the Windoze side paid it any attention, and continued their wretched computing existences while Apple released Technology Previews 1, 2, 3 and 4 of Rendezvous for Windows.
Perhaps MS's patent attempt will legitimize once again something that Apple's been doing for quite awhile. We've seen it before with the 3 1/2 inch floppy, with wireless networking, with built-in networking, with too many innovations to list. Bill Gates always makes his fey way up to the podium and claims 'innovation' for the Borg.
http://developer.apple.com/macosx/rendezvous/index .html
http://www.zeroconf.org/ -
Re:MS and TCP/IP
Way back in 1997, I was responsible for 2 NT machines. One was running NT3.51, the other NT4. Both had TCP/IP installed. (I didn't install the NT3 machine. It might have been a third-party driver.) They even ran an FTP server to exchange data with the VAX.
At the first opportunity, I replaced the NT3 with NT4 - to save me the trouble of managing 2 different systems.
NT4 sets up NetBEUI by default. I assume MS wanted networking to work without additional configuration. For TCP/IP, you'd need to specify an address for each machine, or a DHCP server (that needs to be configured itself).
Win2k uses TCP/IP by default, but it also supports zeroconf, so you don't need to set up a DHCP server.
-
Re:Close isn't going to cut itI can't give a damn about those propriatery sharing systems
The iTunes sharing uses Rendezvous, also known as ZeroConf, and it is an IETF standard. It's already available on every other major operating system, including Linux, *BSD and Windows. And the actual transport protocol is daap, which is also available on the above mentioned operating systems. But ZeroConf is used for much more than just sharing music libraries. For instance, I set up a SuSE Linux workstation at my house about six months ago. Imagine my surprise, when I went to print something, and the default was the USB printer attached to my girlfriend's iMac. All configured and ready to go. Compared to the contortions I had to go through at work to set up printing from Linux in a pure Windows environment, I was floored.
You should really give iTunes a try. It's a great music library manager, and not just a front end to the music store and iPods. It's the one application that I really miss when I'm using my Linux machine.
-
Re:False positive when dropping invalid linkI understand what you are saying, but Rendezvous - aka ZeroConf allows me to do the following:
Last login: Thu Jan 13 20:48:21 on ttyp4
Welcome to Darwin!
You have mail.
$ ping clplap.local.
PING clplap.local (192.168.0.96): 56 data bytes
64 bytes from 192.168.0.96: icmp_seq=0 ttl=64 time=0.255 ms
$ links http://clplap.local./~jeffk/
My original point is that urls with local intranet domains in this form would break mail scanners that checked for valid urls in emails. Hell, even when I email a friend something like: "Your router admin page is accessible via http://192.168.32.1/ " would end up getting filtered as spam!
--jeff++ -
Re:Rendezvous?No. Zero Conf is an opensource project that has been around since before Rendezvous.
Rendezvous is apple's version of ZeroConf.
More info on ZeroConf
More inof on Rendezvous
-
My new bluetooth headset ...
... and cellphone seem to be doing the job pretty well already with only 10Mbps. At what point do the bandwidth capabilities of an turbo-charged Bluetooth become redundant with WiFi enabled with ZeroConf networking?
-
Re:how does this differ from current projects...
so does HOWL pull src from Rendezvous?
No, howl is just a separate implementation of the same thing. The significance of Rendezvous itself being released is that Apple made zeroconf (It was Stuart Cheshire who works [or worked, I don't know] at Apple). So basically, this is straight out of the horse's mouth. As far is which is better, they're both good. And it's not like you have to choose (unless you're a developer) because they do the same thing. -
Re:UPNP vs zeroconf/rendezvous
You're right, thanks. Upon further reading, I came to realize this too (replies to this post and the Zeroconf page).
My bad, Apple does seem to rock in this case :) -
Re:I should point out...
Get out! Your ZeroConf is run by no other than Stuart Cheshire, the creator of the classic network game of Bolo. Nice.
-
No parent was right, you are wrong.No, you are wrong... or more correctly only partly right. Rendezvous is Apple marketing-speak for zeroconf which involves, to quote the zeroconf website:
- Allocate addresses without a DHCP server.
- Translate between names and IP addresses without a DNS server.
- Find services, like printers, without a directory server.
- Allocate IP Multicast addresses without a MADCAP server.
-
Some links
-
Re:So let's see...
Rendezvous is based on a few underlying services: Dynamic Configuration of IPv4 Link-Local Addresses, Multicast DNS, and DNS-based Service Discovery.
Dynamic Configuration of IPv4 Link-Local Addresses: In the absence of a DHCP server, the machine is able to configure itself with an IP address in a reserved range such that it doesn't clash with other IP addresses configured by other machines on the same network in a similar manner.
Multicast DNS: Multicast DNS Responder services on each machine respond to multicast queries for their DNS information.
DNS-based Service Discovery: Querying for the existence of services (HTTP, FTP, SSH, etc.) via DNS.
So, in a sense, "everything is a DNS/DHCP/Directory server" but only for the information and services provided by that particular machine. -
Re:Pseudocode for accomplishing this
Actually, Rendezvous/ZeroConf works by using mutlicast DNS on the local subnet. It also extensively caches responses and uses incremental falloff of queries and announcements. It's pretty network-effecient. Check out the ZeroConf website for the draft RFCs.
-
P2P and Rendezvous
Darn. Scooped again.. . Note that this technology is NOT Apple's. It's the result of the ZerConf Group. Apple just took the idea and made it 'just work'. And yes, it sounds interesting, and a little scary that all them UDP packets will be whizzing around. OTOH, the reduction of ICANN and other DNS 'gods'is one of the nice benefits of P2P technology like ZeroConf.
-
I should point out...
For anyone who is interested, Rendezvous is Apple's implementation of of ZeroConf
While Apple's Rendezvous overview gives some decent information, the ZeroConf site provides a lot of good technical resources.
Apple really needed ZeroConf as they transitioned to all-IP networking. Although OS X supports AppleTalk, the AppleTalk protocol has clearly seen it's day and the world is clearly moving to IP-only. Previously, when Macintosh machines were largely communicating via AppleTalk, all of the things that ZeroConf addresses were handled by the AppleTalk protocol suite (service discovery, address allocation, etc), and this ease of use that is signature to the Macintosh is important for Apple to maintain.
That said, Apple releasing this code is pretty significant, as aside from this project, there hasn't been much use of ZeroConf in the wild.
-
Re:Hrm....Take DHCP for example - damn handy system, developed by microsoft.
No it wasn't.
However, Microsoft is referenced as an author for the following DHCP related RFCs:
- RFC 3004 - The User Class Option for DHCP
- RFC 3456 - Dynamic Host Configuration Protocol (DHCPv4)Configuration of IPsec Tunnel Mode
-
Re:OSS should turn the tables
Here's an alternative:
ZeroConf
-
Re:MacOSX Samba
Also, I heared that UPnP and rendevous both use the same IETF draft. I believe that Windows XP already auto-detects CUPS printers. At least it does on my network.
-
Look at Apple
Here is my quick account of setting up a Mac (10.3.2) to print to a Brother MFC-8820D.
I plugged one end of there ethernet cable into the printer and the other into my laptop. So far so good.
Being a highly competent user, I then went straight to the Printer Setup Menu and click add printer. I chose IPP printing. Then I turned to the sales guy and asked for the default IP address of the printer. He didn't know. I didn't know. It wasn't in the manual either.
I cursed. I yelled. I was annoyed. I sent two people off the go and find out the default IP of the network card.
While sitting there quietly spouting profanity I looked in my list of currently configured printers. Well buff my nuts and serve me a milkshake! There, in the list was the Brother printer all configured and ready to go. I didn't have to do anything.
I selected it and pressed the "Configure" button. It launched a web browser and brought up the configuration page.
I fell off my chair.
I later learned that the printer supports ZeroConf network discovery. Apple takes that further by selecting the correct driver automatically. It work just as well via USB, only if I think want to share it to other Macs I then have to follow the very complex task of clicking the "Share Printer" box in the System Prefs. -
Re:Will it work on legacy machines?
Rendezvous is Apple's implementation of the IETF's ZeroConf protocol, which can be found at the ZeroConf website.
Unfortunately you're going to find that XGrid will rely on much more than just Rendezvous.
I'm more interested in what they use for IPC, whether it's using MPICH or PVM or something Apple have cooked up, or whether there's no IPC at all and you're limited to just running single machine jobs.
-
Re:More restrictive than the rest
iTunes wins -- why?
1) I can play them on both Windows and Mac OS X.
2) I don't need to copy the music or "backup license files" to my other computers. iTunes' mDNS sharing makes this instant, and automatic. (Note to the cynics - you *can* copy the files to your laptop or something if you want to take them somewhere off your LAN)
3) Ninja Tune (record label) is now on the iTunes Music Store. (Amon Tobin, for instance. [iTunes link])
I'll admit that #3 is more subjective than the others, but they're all part of the same point. It doesn't matter if Wal-Mart sells tracks for 88 cents (how much mindshare does undercutting by 11 cents get them, anyway?) -- they don't have the indie labels I want, they don't have the standards-based network sharing, and they don't support all of the computers I own. iTunes came sooner, better, and with a lot more polish. -
Re:Misunderstandings...
As opposed to the state of Microsoft, where they have standards you *can't* license.
OpenGL is open for anyone to license and implement.
DirectX is not. It is proprietary and you *have* to agree with Microsoft's vision.
In fact I am incredibly surprised you would call DirectX a standard; it is a platform tied, closed, proprietary, and controlled API.
They are the 'standard' in the sense that Microsoft, having the largest market, in supporting it and pushing it also makes it the most common API. Of course I'm sure you mean to imply that by saying the 'standards' I list aren't standards at all, but despite the fact that they have patents and licensors, I think they are still standards! (I also listed open source groups too, if that's confusing you).
MP3, MPEG4, AAC, are all defined by the ISO-MPEG group.
Firewire was created by Apple, but has it's own trade association
OpenGL has it's Architecture Review Board.
PDF is an open format, and as such a subset has been adopted by the ISO as a document interchange format and standard.
Zeroconf, as well as WebDAV, is an IETF working group. Included in that list is LDAP, Kereberos, IPv6, and DHCP.
Java is questionable, I probably should not have included it there ^^
PCI, PCI-X, USB, and AGP are all standards as well, with working groups and standards bodies.
My point is that Microsoft will take 'standards' and then change them to suit their needs, and Apple does not. If Microsoft is to become like Apple, then that means endorsing and supporting open source groups (Apache, SMB, KHTML, SSH, etc), opening the source of their own programs (IE core, OS core, etc), and using industry standards instead of rolling their own to control the market (DirectX, ActiveX, XDocs, etc).
So what is a standard? I propose that a standard is any format, API, or interface that you can license, get access to, and not worry that it is being controlled by a single organization who's wishes may differ markedly from yours. By that definition, Java definitely doesn't qualify; but also none of Microsoft's "standards" as well, while MP3, MP4, Firewire, etc, all do.
Despite them not being free, libre, or open. -
How it works...
(My version numbers on this may be wrong. I just entered the situation with the Windows version.)
In the days of iTunes 4.0.0, there was no attempt at encrypting or otherwise protecting streaming data. The streaming itself is accomplished using a combination of Rendezvous (aka ZeroConf) and a modified HTTP server. This spawned programs like iLeech, iSlurp and various other wittily-named iPrograms.
However, with the next incarnation of iTunes, 4.0.1, Apple got smart. Likely fearing the wrath of the RIAA, a new header was added to all the requests posted to the iTunes serving the music. This value, called Client-DAAP-Validation, looks, smells, and tastes like an MD5 sum. Without the proper DAAP-Validation, iTunes refuses to serve up any content.
Obviously, this broke iSlurp and iLeech. And since there's no easy (read: DMCA-compliant) way to find the source of this value, programs that run separately from iTunes and provide download capabilities are, well, screwed.
Enter myTunes. It's a two-pronged solution to this problem. Behind the scenes, there's a packet scanner watching for requests on the Rendezvous port (3689). When it comes across a request to stream a file, it notes the "URL" and proper DAAP-Validation.
However, all files accessed via the modified iTunes HTTP server are represented via numeric IDs. To get the proper information about the file, myTunes uses a bastardization of the iTunes for Windows Visual Plug-in SDK. For some reason, all visual plug-ins receive notification when the currently playing song in iTunes changes. The myTunes plugin writes this value to the registry, where it is later read by the myTunes GUI and displayed for downloading via libcurl.
This approach raises some interesting DMCA questions. Since the generation of the DAAP-Validation value has not been reverse-engineered, only captured, has anything been circumvented? In effect, myTunes is only a packet replayer.
To counter some of the ill-informed people above, the original file is saved in original format without bitrate modifications. The response to a stream request is the file itself.
General DAAP info -
Re:A few quick comments (from a Mac user)
Zeroconf was cooked up in the *nix world.
No, actually Apple cooked it up, they just disguised themselves as the IETF at the time (that is, Apple lobbied the IETF to start a work group). This is all pretty obvious at the Zeroconf homepage, which talks about AppleTalk and AirPort and then mentions Windows in passing.
Actually I read somewhere they had huge problems getting the IETF to accept it, as IETF is more bent on configurability than ease of use. -
Re:Great! kind ofMisleading. Take a look at the people driving the ZeroConf effort. Start at the ZeroConf page maintained by Stuart Cheshire who describes himself as Wizard without Portfolio, Apple Computer, Inc..
Read up where ZeroConf came from.
Note though, that Apple does not own ZeroConf. It's now out into the IETF space where anyone can scrutinize, comment, criticise and suggest improvements. And this IMHO is a Good Thing.
-
Re:iTunes sharing for linux?
iTunes sharing is based on Rendezvous, which is Apple's way of branding Zeroconf.
There's a linux port here, might be a good first start.
I'll go ahead and warn you right now, though, that if you watch your IP packets between two computers sharing iTunes files, you'll notice that the http stream is encrypted, so that's probably a big hurdle to begin with. Best of luck! -
Re:Will IPV6 really solve this?On a side note, I believe that in order for rendevous to succeed, Apple needs to open it up, and allow M$ and Linux to interoperate with it.
What, like releasing it as an open source technology and submitting it as an IETF standard? Yeah, that's a great idea. I wish Apple had thought of that.
-
It's for Rendezvous support more than anything.While I'm sure that many of the reasons outlined here about why you could use this are true. I think Apple is doing this for Rendezvous support. The Zeroconf guy has basically said so. I know there was an article where they said they (Apple) wanted to use IP for just about every connection instead of inventing new protocols. Rendezvous is not just for iChat, but is for other devices and technologies down the road. This fits in to the big picture.
Of course if THAT'S true then we can start speculating about what "device" they're coming out with that needs IPoFW.
:-)Cheers,
John -
Re:iPod Syncing for Windows?
iTunes 4 adds Rendezvous network streaming
I'm beginning to wonder how many times I'm going to have to correct this far-too-popular bit of misinformation... :-(
iTunes 4 adds streaming, full stop. It *also* uses Rendezvous (aka multicast DNS, aka ZeroConf) to allow for automatic discovery of streaming-enabled copies of iTunes on the local LAN. The important distinction that many people miss is this: Rendezvous is only used for discovery of the service. It can be (and is) used with any sort of service; in this case it just happens to be a streaming service.
An example of another type of service is Safari, which can automatically discover Rendezvous-enabled Apache servers. But, once it's used Rendezvous to find them, it uses bog-standard HTTP to communicate with them. In both iTunes and Safari, the relevant service - streaming or HTTP - would work perfectly well without Rendezvous. The only difference would be, you'd need to manually enter the IP address of the machine providing the service. -
Re:Not Rendezvous
What we have here is a practical demonstration of precisely why "Security Through Obscurity" isn't reliable.
AppleTalk over IP doesn't support auto-discovery the way traditional AppleTalk does. In other words, the file share has always been there, and you could have mounted it via Chooser at any time, if you had known its IP address. If you doubt it, reboot both Macs into Mac OS 9 and give it a try.
What Rendezvous does is remove the need to know the IP address. It's not directly related to file sharing, that's simply one of the many services it can be used to advertise and/or discover on the local network segment. Rendezvous is simply Apple's name for ZeroConf, aka Multicast DNS. -
Mac only?
I've seen alot of negative comments here about Hydra being Mac only. There is talk of making Hydra open source, perhaps you should contact the Hydra team and express intrest in porting Hydra to your favorite OS? If they do make it open source it's surely going to be because of intrest in the project and, as stated on their page, it surely will be a large undertaking due to the fact that it's written entirely in Objective C and Cocca. Unfortunately this means a complete re-write will be needed, but you didn't have anything to do this weekend, did you? ;-)
Also, if you want to get active about making Rendezvous a reality on more that just the Mac (which is what Apple and Zeroconf are hoping for), Zeroconf.org is a good place to start, and there is a SourceForge project devoted to Zeroconf on Unix and Linux as well. -
Re:zeroconfig?
Zeroconf is an implementation of IETF:s zeroconf protocols, just like Apple's Rendezvous.