Firewall to firewall technology in the latest version of LimeWire? How does it work?
LimeWire clients detect what their capabilities are on startup. If they are firewalled but can accept solicited UDP then they are firewall transfer capable. This means that when they send out a UDP message to a host, they can receive UDP messages back from that host. These clients will indicate this capability in their searches and responses will come back from firewalled hosts that have this capability where they would otherwise not respond.
When a user tries to download from a firewalled host, it will send a special push message through the hosts Push Proxy (one of its direct ultrapeer connections). The downloader will then start sending special UDP SYN messages at the potential uploader. Once the firewalled uploader receives the push message, it will start sending special UDP SYN messages at the downloader. This normally makes firewalls and NATs open up to the traffic in both directions. When a SYN is received, an ACK is sent back. Once both sides have ACKed, they begin a reliable UDP based data communication. Internally, these UDP connections are then used the same way that a standard TCP based connection would be used to request chunks of a file and transfer the file contents."
Bookmarks