Router port forwarding autonegotiation

Filed under technical on Monday, 5 July 2004 at 13:54.

Looking at this Apple support article, iChat AV is somehow automatically figuring out when it’s behind a NAT with certain routers and doing something to allow incoming ports. I don’t think it’s using a proxy server outside somewhere because of how quickly file transfers manage to go even when I’m behind my AirPort’s NAT and my friend is behind another NAT.

The best I can figure is that these routers support some kind of temporary port forwarding negotiation that iChat AV knows. Considering the range of routers which support it, I don’t think it’s an Apple proprietary thing. However, I’ve been unable to find any information on what protocol this might be (because I have no idea what the actual technical name for it is).

Any help anyone could give me on finding out exactly what’s going on would be great. The technical name for this, tips on what a google search for this that would turn up useful info might be… and in the end eventually I want to find links to the specifications that define this (I’d like to be able to implement this feature in future network projects of mine).

Edit: An initial reply indicates that this may in fact be UPnP at work. I certainly hope it’s not, but it seems like it may be the case. The responder linked me to a quick article on UPnP and NATs.

Edit 2: Evan Jones correctly identified it as an implementation of RFC 3022 and Arnold Lane pointed me to a page about iChat protocols.

4 Responses to “Router port forwarding autonegotiation”

  1. I’d be suprized if Apple’s Airport supported UPnP. But I could be wrong. It is actually fairly easy to tunnel through two well behaving NAT routers in this fashion. Particularly UDP. This is a common technique used in a lot of networked games. See http://midcom-p2p.sourceforge.net/ for more information.

  2. Interesting. That’s using a proxy server to do the initial handshaking and then tricking the routers into opening up the ports. It’s RFC 3022 for the interested. But then why would Apple say iChat AV is only compatible with that very specific list of routers? Most of those routers seem to support UPnP.

  3. See this page for info on iChat AV protocols. iChat AV uses the UDP hack to tunnel voice and video through nats and firewalls.

  4. Hi,

    I have problems with my iChat av/audio. I can not run ichat av when I am connected to the internet via wireless (Zyair B-2000). When I am directly connected via ethernet everything goes well…

    Do you have experience with Zyair B-2000? It is not included in this “compatiblle”-list from apple…

    Thanks for replay.
    Ziranda

Leave a Reply

missig.org/julian/blog
Julian Missig - jabber:julian@jabber.org - aim:xvirge
julian/blog is powered by WordPress
Entries (RSS) and Comments (RSS).