NAT:客户端服务器如何工作?

假设2个用户在NAT后面有两个不同的ISP。 MSN Messenger如何在一个NAT后面工作?

谢谢

MSN 使用中央服务器来传递消息:

MSN Messenger会话涉及与“通知服务器”(或“NS”)的连接,该服务器提供在线服务。 通知服务器允许您连接到提供即时消息服务的“交换机服务器”(“SB”)。

交换机处理委托人之间的即时消息会话。 换句话说,MSN聊天中的每个人都对应一个到共享交换台会话的连接。 同时进行两个对话意味着立即连接到两个交换机服务器。 MSN Messenger中不使用主体之间的直接连接对话,而且交换机作为您和您正在聊天的人之间的代理。

你不能在NAT后面发送文件。

您可以接收文件但不发送它们。 映射适当的港口(6891)不会改善这种情况。 原因是在build立直接的用户到用户的文件传输连接时,IP地址作为交换消息中的数据传递。 如果您提供了一个文件下载,您的计算机的私人地址将在连接设置消息中发送到接收方,因此后续(入站)连接尝试失败。 在接收文件时,文件传输连接是出站的,因此NAT不会造成问题。

有一个中央服务器invovled:两个客户端正在与MSN服务器进行通信,然后将消息转发到最初连接到服务器的客户端。

当用户想要接收连接时,NAT只是一个问题,但当MSN服务器上的帐号login时,所有的客户端都会启动连接,并且该连接保持打开并用于转发消息。