Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let's say 2 user got 2 different ISP behind NAT. How MSN messenger can work if they are behind a nat?


share|improve this question
up vote 4 down vote accepted

MSN use central server to messaging:

An MSN Messenger session involves a connection to a "notification server" (or "NS"), which provides a presence service. The notification server allows you to connect to "switchboard servers" ("SB"s) which provide an instant messaging service.

The switchboard handles instant messaging sessions between principals. In other words, each person in an MSN chat corresponds to a connection to a shared switchboard session. Being in two conversations at once means connecting to two switchboard servers at once. Directly connected conversations between principals are not used in MSN Messenger, and the switchboard acts as a proxy between you and those you are chatting with.

You can't send file behind NAT.

You can receive files but not send them. Mapping the appropriate port (6891) will not improve the situation. The reason is that IP addresses are passed as data in the messages exchanged in setting up the direct, user-to-user file transfer connection. If you offer a file for download, the private address of your computer is sent to the receiver in the connection setup messages and the subsequent (inbound) connection attempt therefore fails. When receiving a file, the file transfer connection is outbound and hence, NAT poses no problems.

share|improve this answer
so for who is behind a nat with bittorrent can only download files but not upload them? – dynamic Feb 19 '11 at 19:30
@yes123: P2p applications like bittorrent can usually be port forwarded through the NAT. MSN decided to use the local ip address as part of the protocol so without some kind of protocol fixup (Cisco) or conntrack module (Linux) to rewrite the ip address in the protocol, other clients can't connect. The interesting thing us that since it is using the local address, another machine behind the NAT should work fine unless you use the protocol rewriting to change the ip. – DerfK Feb 19 '11 at 20:48
@DerfK: so the uploading i see in my bittorrent (i am behind a nat) are generally other poeple behind the nat with my same isp? But please can you explain the bittorrent auto port forwarded? – dynamic Feb 19 '11 at 21:00
@yes123: bittorrent is a smarter protocol. Once you connect to someone, you can both upload and download on the same connection. – DerfK Feb 20 '11 at 6:21

There's a central server invovled: both clients are communicating with MSN servers, which is then forwarding messages to clients that had initially connected with the server earlier.

NAT is only a problem when a user wants to receive a connection, but all clients initiate the connection when the sign on the MSN server with their accounts, and that connection is kept open and used to forward messages.

share|improve this answer
Ah ok, there isn't a peer2peer, but everyone are client with connecting to a central server.. So for example every p2p program won't work behind a nat? Like torrent etc? – dynamic Feb 19 '11 at 18:33
DHT provides the central server insofar as Bittorrent is concerned. Other p2p programs are doing something similar. – LawrenceC Feb 20 '11 at 3:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.