Re: avoid port forward over NAT
From: Bob (rbonham_at_rREMOVETHISaustin.rr.com)
Date: Wed, 10 Dec 2003 02:41:05 GMT
okay, I've got it now,
thanks for bearing with me...
that packet forwarding software you wrote sounds interesting...I am
wondering because I am working on a chat like program, and I am seeing that
I will be using a server too and polling it from the client, but probably
will not go to the lengths of making something that forwards any kind of
"CheshireCat" <email@example.com> wrote in message
> "Bob" <rbonham@rREMOVETHISaustin.rr.com> wrote in message
> > I understand that, but what I am not getting is this...
> > BOTH computers are behind nat...
> > NEITHER are using any port forwarding at all.
> > but yet somehow A can make a connection to B.
> > C is a computer running a "tracker" that has a description of the file
> > checking and keeps track of all the peers. It can't be behind nat unless
> > ports are forwarded...but the data doesn't flow through C, it only
> > a hash and a list of connections.
> > the particular software that I have seen this work on is Bit Torrent.
> > even with C, I do not see how A can transfer data to B and vice versa.
> > thanks for your patience.
> > Bob
> AHHHHH I understand a bit more now!
> I visited the Bit Torrent site. It doesnt do anything special and suffers
> the same problems as other software behind a router/firewall. The FAQ says
> you need to set up your firewall if you need it to act as a server.
> FAQ quote -
> "I'm behind a firewall/NAT, can I use BitTorrent?
> Yes, but you will get better performance if other peers can connect to
> By default, BitTorrent listens on port 6881, trying incrementially higher
> ports if it's unable to bind, and gives up after 6889 (the port range is
> configurable). It's up to you to figure out how to poke a hole in your
> I wrote a piece of proxy software a few months ago to overcome this
> It allows client and server to "connect" when one or other is behind a
> firewall. Both connect to a server running on a WAN server, where it will
> perform packet forwarding between the client and server machines.
> How do you know that A is directly connected to B?
> Even with peer file sharing software like Kazaa, there is a core set of
> servers that pass information around about other nodes. If you're running
> kazaa behind a firewall you need to enable port forwarding on the firewall
> if you want it to serve files. Kazaa or other p2p networks would die if
> every node was behind a closed router.
> Bittorrent mentions a HTTP server connected to the tracker software. The
> http software at least must have a pathway through the firewall.
> BTW, there are ways of broaching firewalls - socks proxy and uPnP
> others too) for applications that support them.