群晖 nas 的外网访问是直连 nas 服务器的吗;以及 NAT 技术的一些问题请教,谢谢

2019-12-02 12:49:26 +08:00
 rizon

各位 v 站的大神,问题有些多,还望不吝赐教,先谢谢大家了哈

问题 1:
nas 在家中自然是没有外网 ip 的,但是可以通过群晖服务器提供的网址去访问,
问题 1.1 那么访问的时候数据还会经过群晖这个中间人吗,还是直接 p2p 的? 我理解应该是点对点传输的吧?
问题 1.2 包括群晖提供的各种 app 套件,他们也是点对点传输的吧?

对于 nat 的事情不是很了解,所以想问一下

问题 2: 问题 2.1 为了解决 ip 不足问题,内网机器通过一个公网 ip 发出请求,然后用不同的端口号来区分内网主机,是这样一个原理吗? 问题 2.2 那也就是说一个公网 ip 下最多能有几个内网主机是受端口数量限制的吧? 所以实际应用上肯定没这么简单吧?那么是怎么解决这个问题的呢?

问题 3:

向小区中的网络,好像不止是包了一层 nat,应该是有好几层,这个是怎么实现的呢?

问题 4:

我怎么才能知道被 nat 转换后的端口号,如果知道了,我是不是拿端口号和公网 ip 就可以自己访问内网的机器了?

4907 次点击
所在节点    程序员
23 条回复
rizon
2019-12-02 15:46:26 +08:00
@canyue7897 #18 嗯,其实一开始倒是看到这句话了,不过可能是被 p2p 唬住了吧,想想也是,基本上就是市面上的那么个技术而已,也不可能有什么黑科技哈。
txydhr
2019-12-02 15:49:33 +08:00
如果你是用浏览器的话是群晖服务器中转
app 的话会尝试打洞,打洞成功就不经过群晖服务器,失败就服务器中转
lc7029
2019-12-02 16:26:29 +08:00
@rizon 这些 p2p 技术的核心还是 nat 出去之后映射的某个端口号,这技术叫 upnp,当路由器不支持或者在二级路由器下的时候 upnp 不能用,只能连接有公网 IP 的机器或者访问服务器获取数据。另外,upnp 大量创建映射关系,会导致网络设备内存和 CPU 占用飙升,引发死机。
teamviewer 我抓过包,他的套路是所有数据都经过 teamviewer 的服务器中转,所以只要能上网就行,不需要点对点。
通过中间服务器拿到双方的 IP 和端口,由于 tcp 传输完毕后会自动关闭接口,这么做不实用。再者就算双方都通过程序控制完成传输不拆除 tcp 连接,由于来源检查,非中转服务器也不能与双方通信。就算双方设备都修改程序禁用来源检查,运营商设备或者说整个链路上任何一个设备开着来源检查,就会给你丢包。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/625035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX