高分请教nat穿越相关问题,高手请进

qish 2007-08-30 10:08:42
1: 位于2个不同的nat后的主机A和B,如果主机A直接发数据包给负责B的NAT设备,负责B的Nat设备由于找不到对应的绑定关系,会直接丢弃该数据包,请问这时候负责B的nat设备是否会发icmp之类的控制报文回应给主机A?


2:主机A上装有一些网络软件,我通过抓数据包的工具能够知道这些数据包的目的地址,我通过什么方法能够知道该目的地址是公网上的服务器或者是NAT设备(即真正的数据包目标是一个内网的主机)?


3:如果有方法对问题2进行判断,即我知道数据包是发给一个内网的主机的,我能否认为该流佷有可能是一个p2p流。因为看到的资料都是p2p才会使用nat穿越技术进行传输。

请大侠给点意见,不胜感激,有兴趣的朋友也进来关注一下,谢谢啦!
...全文
242 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
laibach0304 2008-08-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 danjm536 的回复:]
最近试了下UDT,用来穿透内网。发现很受限制,至少不支持回环和多重NAT,达人们,有没有比UDT更好的开源包啊,要我一个人单枪匹马写一个这样的包太不现实了!!另,UDT太耗资源了,受不了!!
[/Quote]

什么叫多重nat呢?

udt所有的socket都是从一个udp端口出去的,打通就打一个端口就可以了
north1999 2008-08-22
  • 打赏
  • 举报
回复
有一款现成的成熟的通讯开发库可以使用,http://www.xechwic.net/chi/bbs/dispbbs.asp?boardID=18&ID=75&page=1,这个开发库集成了p2p udp通讯,多路视音频处理等会客厅核心技术,同时又可以自定义任何类型的数据进行实时传输.可供任何语言来调用,从复杂的通讯底层开发中解脱出来,致力于应用层的开发.
danjm536 2008-08-22
  • 打赏
  • 举报
回复
楼主:怎么能仅凭一个目的地址就判断目的主机是公网还是内网?就算知道对方是内网,也不能断定这个流是p2p流啊!
danjm536 2008-08-22
  • 打赏
  • 举报
回复
最近试了下UDT,用来穿透内网。发现很受限制,至少不支持回环和多重NAT,达人们,有没有比UDT更好的开源包啊,要我一个人单枪匹马写一个这样的包太不现实了!!另,UDT太耗资源了,受不了!!
laibach0304 2008-08-21
  • 打赏
  • 举报
回复
看来楼主对计算机网络还不是很清楚呀
crystalbug 2008-08-21
  • 打赏
  • 举报
回复
我严重怀疑楼主还处于一知半解的程度,包括一台处于内网主机都要通过简单的探查机制借助服务器(参考stun协议)才能对其自身的NAT身份以及是否处于公网的情况得到了解。对于一个任意的IP地址是单凭简单的判断是无法确认它是否只是NAT上一个内网主机的映射地址

建议楼主去再去对P2P相关技术做些了解
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
没遇到过这种情况.
Allen_zhang 2007-10-09
  • 打赏
  • 举报
回复
2:主机A上装有一些网络软件,我通过抓数据包的工具能够知道这些数据包的目的地址,我通过什么方法能够知道该目的地址是公网上的服务器或者是NAT设备(即真正的数据包目标是一个内网的主机)?

》这个是肯定不知道的,应该对外只是nat主机的一个端口映射。外部看到的只是nat主机的ip和一个端口
只是nat主机才知道这个数据包给谁的。内部主机向外通信的时候会在nat主机上做一个端口映射。
nat主机这个端口收到数据后就直接查找这个端口映射表直接转给内部主机。

3:如果有方法对问题2进行判断,即我知道数据包是发给一个内网的主机的,我能否认为该流佷有可能是一个p2p流。因为看到的资料都是p2p才会使用nat穿越技术进行传输。

》先理解P2P是怎样一个概念。
kenical 2007-09-27
  • 打赏
  • 举报
回复
1: 位于2个不同的nat后的主机A和B,如果主机A直接发数据包给负责B的NAT设备,负责B的Nat设备由于找不到对应的绑定关系,会直接丢弃该数据包,请问这时候负责B的nat设备是否会发icmp之类的控制报文回应给主机A?
我记得好像B的nat设备会发ICMP的控制报文给主机A,不过会给主机A的nat设备收到,并没有发送到主机A

2:主机A上装有一些网络软件,我通过抓数据包的工具能够知道这些数据包的目的地址,我通过什么方法能够知道该目的地址是公网上的服务器或者是NAT设备(即真正的数据包目标是一个内网的主机)?
应该无法知道是会网上的服务器还是Nat设备

3:如果有方法对问题2进行判断,即我知道数据包是发给一个内网的主机的,我能否认为该流佷有可能是一个p2p流。因为看到的资料都是p2p才会使用nat穿越技术进行传输。
一般的C/S模式也会用nat穿越技术的吧,如果C端是内网的,S网是公网的,C端主动同S端通信后,S端发回数据给C端,这时数据包也是发给一个内网的主机啊
newone2007 2007-09-12
  • 打赏
  • 举报
回复
关注,帮顶。
njdragonfly 2007-09-03
  • 打赏
  • 举报
回复
http://www.ppcn.net/n1306c2.aspx
可以看看这篇
qish 2007-09-03
  • 打赏
  • 举报
回复
看过了,这篇文章是说如何实现穿越的,但是和本问题似乎没有什么直接的联系。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧