打洞穿透NAT我已经明白了,但是碰到了新的问题
假设:
客户端A在NAT1后面,客户端B在NAT2后面,A要和B通讯,A向服务器索取B的外网地址(NAT转换后的),
且A告诉服务器,要和B通讯,然后服务器把A的外网地址发给B,通知B打一个洞,于是,B向A的外网地址
发了一个数据包(打洞包,当然这个包A是收不到的),但是B在NAT2这里建立了一个会话,即打洞,之后
A发给B的数据包就可以穿透B那边的NAT了,问题是:除了NAT还有防火墙,而防火墙屏蔽了很多端口,这样,当B发一个打洞包时,因为目的端口是
A的NAT之后的端口,而我们又不能控制NAT转换后的端口,所以,这个打洞包,会被防火墙过滤掉,根本出
不去,大不了洞啊??我还看了一种http隧道技术,但是http隧道技术好像要一个中转的,这就不是p2p了
假设:
客户端A在NAT1后面,客户端B在NAT2后面,A要和B通讯,A向服务器索取B的外网地址(NAT转换后的),
且A告诉服务器,要和B通讯,然后服务器把A的外网地址发给B,通知B打一个洞,于是,B向A的外网地址
发了一个数据包(打洞包,当然这个包A是收不到的),但是B在NAT2这里建立了一个会话,即打洞,之后
A发给B的数据包就可以穿透B那边的NAT了,问题是:除了NAT还有防火墙,而防火墙屏蔽了很多端口,这样,当B发一个打洞包时,因为目的端口是
A的NAT之后的端口,而我们又不能控制NAT转换后的端口,所以,这个打洞包,会被防火墙过滤掉,根本出
不去,大不了洞啊??我还看了一种http隧道技术,但是http隧道技术好像要一个中转的,这就不是p2p了
解决方案 »
- 小弟不怎么上CSDN,刚问了个问题,没人回答啊~~~
- 急求:用VC一次性登陆到其它两个登陆界面
- 禁用windows的复制功能应该HOOK哪个API?求教!
- 怎样用代码把RadioButton设置成选中状态。
- 定义结构时,是不是长度定义成4个字节的倍数,更有效一些??????
- 当一个MFC程序失去焦点时,触发哪个函数
- 是誰看过候捷的《深入浅出MFC》?急急求助!
- 请问在98和2000下如何获得逻辑分区与物理硬盘的对应关系
- socket传送读文件结果为何读第二行时while判读文件指针为空,宕机!高手请进
- 如何在EVC中创建一个URL链接,并通过此链接向服务器发送信息?
- HWND、CWND、WNDCLASS三者有什么关系?
- 如何在VC显示jpg图片
穿透防火墙是一种p2p的传输方式,并不是唯一,
正如果所说 bt 是需要公网IP支持的,但这个公网IP 可以是真IP或NAT映射
p2p指的不是穿透防火墙,是指点对点传输,而无需经过服务器中转. 没错这点我认同.但是如果A在一个内网内,而B在另外一个内网内,2个内网都有设防火墙,都有经过NAT,那么A要和B通讯不仅要穿透NAT,还要穿透防火墙.否则要怎么通讯,而要穿透NAT就要打洞,而打洞的端口基本上会被防火墙过滤,如何是好
这个不在p2p解决方案之内,某种技术是建立在某个环境之下的!所以你的问题是,已经不是p2p可以解决的了
如在某一时刻 A 向 B 出请求B回应被返回应答,那么在这一时刻 A 是 B 的客户端,反之 B 是 A的客户端.BT 上的任何两点即是服务器也是客户端.
或者一个BT已经下载完成,只作种,那它就是一台数据服务器
总结之服务器定义在于你所处的位置,与从何角度去看p2p 没有定义,连接两点是什么样的机器,是否是服务器,是否在内网..........
它的定义是 ,两点传输,这个定义很大,
从p2p 角度去看,任何两点都是客户端
那么a要出去连接b,而防火墙会根据目的端口来过滤,所以你不能保证a一定能出的去.