返回列表 发帖
您未登陆,无法回复!请点此处进行登陆!

nat穿透是怎么做到的

nat穿透是怎么做到的

查了好多资料,搞到最后都搞唔明。有没有办法用一个已知的服务器进行,两台内网的nat穿透通讯。就像qq视频或qq文件传输,远程这种。谁懂??
本文地址: http://www.zqsx.net/bbs/viewthread.php?tid=619105 复制
我有!我精彩! 炫幻电动车。
看你所描述的,觉得你应该用vpn隧道连接两个异地的内网.
率性守则不要求任何人遵守,只作为版主和管理员的操作基本准则.不了解的话有可能对您造成损失,所以建议还是看一看.

我的联系方式:
刘伯温:“岂能尽如人意,但求无愧我心。”
率性才是道,性是人性、个性。
现在的内网、很可能是多重子网。

例如中国电信的光纤上网、分配到的地址、是一个运营商级别的地址、100.64.x.x。

感觉网络上的数据包、就像是包裹蒸、每经过一个网关、就包一层地址信息。

到达时、数据包就有了完整的返回路径。
    如果贴主是女性的话欢迎每周五晚上一起交流学习,我也想做习下,因为嫖赌饮当吹都不沾总要稳样野折腾下的
2# 方舟 vpn已经可以了,问题是如果使用vpn的话,出现防火墙的gre协议被关,或者ipsec被禁,就会直接导致vpn 806错误。用vpn的缺陷也很大,每个终端都要占据服务器的带宽,在带宽有限的情况下,会严重制约文件的传输速度。
现在的假设是,如果A电脑登录后,接通服务器,服务器接受到A电脑的数据后,记录A地址,然后B连接到服务器后,记录B地址。然后告诉A和B对方的地址。这样就算是动态ip也可以做到。可是问题不通啊,有NAT的问题。
腾讯是怎么穿透NAT实现文件传输的?一万个不明白
我有!我精彩! 炫幻电动车。
发包啊,简单。
5# zhaoqingtiannen


试过这样吗?
路由A做 VPN Server
路由B做 VPN Client
路由C做 VPN Client
B,C拨号至A, CBA局域网可以互通,然后各自PC不需要拨号.

另外,几年前发现pptp跟lt2p时不时出现无法连接的情况,然后就转用了OPENVPN,很稳定的说.

机房跟电信都说没对相关协议进行拦截屏蔽(谁知道谁说谎呢...)
上两星期朋友的lt2p也是出现拨不上的情况..

穿透frp,花生壳的穿透,teamviewer 这些都是吧
率性守则不要求任何人遵守,只作为版主和管理员的操作基本准则.不了解的话有可能对您造成损失,所以建议还是看一看.

我的联系方式:
刘伯温:“岂能尽如人意,但求无愧我心。”
率性才是道,性是人性、个性。
一字咁浅,自从IPV4地址吃紧,后来出现应对的NAT方案系咁嘅:
内网向网关投送一个外网目标地址的UDP包,NAT即分配一个临时的端口,用NAT外网IP和这个临时端口替换原报文包的相应位置并重新计算各校验字节并从WAN端口发出(有可能发给上一级的NAT),随后记录该包源地址、源端口和新分配端口的对应条目,并为该条目设定一个定时器(一般是1分钟);当WAN口接收到报文时则查找对应表,如找到相应条目则把报文转发给记录里的内网IP和端口(替换报头);同样,内网再次发出报文时也查找替换报头,这个过程称为UDP隧道。
如果两台分别处于两个相互不知道公网IP的内网机器相互通讯时,简单有效的方案是:
1. 有一台具有域名或固定IP的公网服务器A(可以是轻量级的),提供一个服务端口,假设为6000
2. 终端B先连接服务器A(如使用域名则先DNS),以本机的一个端口(假设是6001)向服务器A的6000端口发送一个特定报文(通常包含自己的ID,或者QQ号吧),服务器记录终端B的IP和端口(经过多级NAT过程的最终IP和替换端口),通常还附带一个时间;
3. 终端C同样执行2的过程;
---- 以下过程中A,B,C的端口号都不变 ----
4. 终端B向服务器A发送请求与C通讯的报文(报文中包含C的ID)
5. 服务器A解释报文并查找注册表,得到C的IP和端口,把C的IP和端口回送给B
6. B向C的IP和端口(经过多级NAT过程的最终IP和替换端口)发送报文,基于之前的描述,NAT最终把报文投送到实际内网C的6000端口
7. 每一次通讯链路上所有节点都复位其定时器,保持隧道打开。

这样,就完成了由B到C的直接通讯,实际通讯数据是可以不经过服务器的,因此服务器的吞吐量其实不大的。
这种方案在我设计的几个基于网络上的远程视频项目中都有应用,很稳定的。
7# 方舟
这样做的结果是无法利用终端程序做到通信,每次都要涉及路由
而且vpn的连接路由的结果是 开放了局域网,内网安全性就得不到保障了。
更重要的问题是网络资源实际上是会被一直占用
当连接得越多终端,就越卡。nat穿透的目的是充分利用相互之间的网络带宽资源,而不需要经过中间服务器。
少量的连接问题不大,可是多的时候,问题就来了
我有!我精彩! 炫幻电动车。
8# SupermanTm
理论上是这样,可是问题是有个万恶的Symmetric NAT型 (对称型) 这样的nat 。这个nat每个端口都给他随机弄一个独立的端口。现在就是卡死在这个万恶的对称型nat上。其他的nat能穿透,也试过了。可是随着ip越来越缺乏,很多都是这种nat。坑得要死要死的
我有!我精彩! 炫幻电动车。
10# zhaoqingtiannen
对于 Symmetric NAT,TCP肯定穿透不了,但UDP可以,你可以自己写个简单的测试程序试试的
因为对于UDP,它必须保持一段时间的,否则那些网游都玩不了的(人家就是要通过这个UDP端口给你消息的)
返回列表 发帖
您未登陆,无法回复!请点此处进行登陆!