关于两台处于防火墙内部的客户机的通讯问题(200分)

  • 主题发起人 主题发起人 ridle
  • 开始时间 开始时间
R

ridle

Unregistered / Unconfirmed
GUEST, unregistred user!
关于两台处于防火墙内部的客户机的通讯问题

情景:有两台计算机Client1和Client2,分别
位于防火墙NAT1和NAT2内部。
要求:Client1和Client2能够通讯。
基本办法:增加一台服务器SERVER,服务器位置位于
NAT1和NAT2外部且Client1和Client2都能够访问,
Client1和Client2之间的通讯通过SERVER转发。这么做
的缺点是每次Client1和Client2的通讯都必须通过SERVER,
如果该SERVER承担很多这样的客户端的信息中转工作,负荷
将越来越重。

希望的实现办法:
1、因为Client1和Client2分别位于NAT1和NAT2后面,
所以彼此不能看到对方,所以SERVER是必须的。
2、Client1和Client2首先和SERVER通讯,通过SERVER找到
对方。从SERVER端取得对方的一些连接信息。
3、Client1和Client2之间的数据交换在二者之间进行,不
再需要通过SERVER转发。
4、退出步骤:Client1和Client2分别通知SERVER,注销自己
的在线信息。


现在我也不知道“希望的实现办法”有没有可能实现,如能,怎么实现?

 
3)Client1和Client2之间的数据交换在二者之间进行,不再需要通过SERVER转发。
这条不行,除非Server可以动态调整NAT1,NAT2上的DNAT设置
 
这和QQ有什么区别?还不就是当client在server上登陆的时候把端口确定下来,不和在同一个
NAT上的其他的client使用相同的端口,同时从服务器取得想通信的client使用的端口,
client收信使用固定的端口,发信使用对方注册的端口,用起来和没NAT是没区别的,我
已经做成了,相信你也不难做到。
 
TO:haczcg,
你说的好象只能用于UDP协议吧。对于TCP协议不行。
 
haczc请问,我做了一个中间服务器,我有早间服务器可以得到远端联结者的IP可是得不到端口号阿?
问怎么得到端口号?
谢谢
 
我也想知道,希望留下联系方式
chenyscar0036@sina.com
 
TO:haczcg
发一份给我学习,分数由你定,如何 ?
fsxnjjcj@jlonline.com
 
后退
顶部