异地组网原理

文章目录

异地组网原理

之前描述了 异地组网方案,但是没有说异地组网原理

c 复制代码
异地组网通常使用一系列网络技术来连接不同地理位置的网络,并实现远程通信和资源共享。

以下是一些常见的技术和方法:

VPN(虚拟专用网络):VPN技术允许通过公共网络(通常是互联网)建立安全的网络连接。不同类型的VPN,如站点到站点VPN和远程访问VPN,可以用于将不同地理位置的网络连接在一起。VPN可以提供加密和隧道功能,以确保数据在传输过程中的安全性。

广域网(WAN)连接:使用专用线路、光纤、卫星连接等各种WAN技术,可以将不同地理位置的网络物理连接在一起。这些连接可以用于传输数据和实现广域网。

路由器和防火墙配置:在不同地理位置的网络中配置路由器和防火墙,以处理数据包的路由和安全性。这些网络设备可以配置成在不同地理位置之间建立连接。

远程桌面和远程应用:通过使用远程桌面协议(如RDP、VNC)或远程应用软件,用户可以远程访问和控制另一个地理位置上的计算机或应用程序,从而实现远程办公和资源共享。

云服务:使用云计算服务,可以将应用程序和数据部署在云中,以便不同地理位置的用户和网络访问。云服务提供了灵活性和可伸缩性,以适应异地组网的需求。

这些技术和方法可以单独或结合使用,根据组织的需求和网络架构来实现异地组网。异地组网的目标是在不同地理位置之间建立稳定的、安全的网络连接,以便实现远程通信、资源共享和远程访问。
c 复制代码
我认为 VPN 和 广域网(WAN)连接 才是解决方案
路由器和防火墙配置 是 为了安全,是安全方案
远程桌面和远程应用 能解决A访问B,但不能解决B访问A
云服务 避免了异地组网问题, 将资源全部上云 
	而异地组网就是为了 使用 异地的资源(算力,存储)
c 复制代码
这里只介绍 VPN技术

VPN技术

  • 这里 已经描述了如何使用TUN设备完成 VPN 的搭建

传统VPN 和 P2PVPN

c 复制代码
是的,P2PVPN和传统的VPN之间存在区别。以下是它们的主要区别:

架构:

传统VPN:传统VPN通常使用客户端-服务器(Client-Server)模型,其中有一个中央服务器(VPN服务器)用于管理和连接客户端设备。
P2PVPN:P2PVPN使用对等网络(Peer-to-Peer)模型,其中没有中央服务器,而是直接连接各个设备,使它们能够互相通信。
中央控制:

传统VPN:传统VPN通常由中央服务器进行管理和控制,它负责验证用户身份、路由流量、加密通信等。
P2PVPN:P2PVPN中没有中央控制点,设备之间平等地建立连接,每个设备通常扮演客户端和服务器的双重角色。
用途:

传统VPN:传统VPN通常用于连接远程用户或分支办公室到公司网络,或者提供访问受保护资源的远程访问。
P2PVPN:P2PVPN更常用于直接设备之间的安全通信,例如点对点文件共享、在线协作、视频通话等。
安全性:

传统VPN:传统VPN通常提供较高级别的安全性,包括身份验证、加密和访问控制,以保护数据在互联网上的传输。
P2PVPN:P2PVPN的安全性取决于所使用的协议和配置,通常较简单,可能需要额外的安全措施来确保数据的保护。
中继:

传统VPN:传统VPN通常需要中央服务器来中继数据流量,这可能导致性能瓶颈。
P2PVPN:P2PVPN直接连接设备,减少了中继和性能瓶颈的问题。
总的来说,P2PVPN适用于需要直接设备之间通信的场景,而传统VPN更适合连接到中央网络或提供受保护资源访问的场景。选择哪种技术取决于特定的用途和需求。

P2PVPN的两个Point的连接建立

c 复制代码
P2PVPN ,刚开始的时候怎么验证是否在线?

P2PVPN在建立连接时通常会涉及一些验证和发现过程,以确定设备是否在线。以下是一些常见的方法来验证设备在线状态:

Rendezvous服务器:P2PVPN系统可能使用中继服务器(也称为rendezvous服务器),设备在初始连接时会与该服务器通信。服务器负责记录在线设备的信息,如IP地址和端口。设备可以定期向服务器发送心跳信号以表示在线状态,或者服务器可以在设备首次加入网络时记录其信息。其他设备可以从服务器获取在线设备的信息,然后直接连接到目标设备。

NAT穿越:NAT(网络地址转换)设备通常用于将私有网络内的设备映射到公共互联网地址。P2PVPN系统可能使用NAT穿越技术,通过一系列协议和技巧来克服NAT的限制,以建立直接的P2P连接。这有助于设备之间直接通信,而无需中继服务器。

UPnP(通用即插即用):某些P2PVPN系统可以利用UPnP协议,该协议允许设备自动配置路由器以便进行P2P通信。当设备启动时,它可以尝试配置路由器以允许P2P连接。

Peer Discovery:P2PVPN应用程序可能使用对等发现协议,通过向局域网内的其他设备广播或查询来查找其他在线设备。一旦发现其他设备,它们可以建立直接连接。

这些方法可以单独使用或组合使用,以帮助P2PVPN设备验证对等设备是否在线并建立连接。选择的方法取决于P2PVPN系统的设计和要求。不同的P2PVPN应用程序和协议可能使用不同的方法来实现在线设备的验证和发现。

基于P2PVPN 的 ZeroTier

c 复制代码
ZeroTier 这一类 P2P VPN 是在互联网的基础上将自己的所有设备组成一个私有的网络,可以理解为互联网连接的局域网。最常见的场景就是在公司可以用手机直接访问家里的 NAS,而且是点对点直连,数据传输并不经由第三方服务器中转。

Zerotier 在多设备之间建立了一个 Peer to Peer VPN(P2PVPN) 连接,如:在笔记本电脑、台式机、嵌入式设备、云资源和应用。这些设备只需要通过 ZeroTier One ( ZeroTier 的客户端) 在不同设备之间建立直接连接,即使它们位于 NAT 之后。连接到虚拟 LAN 的任何计算机和设备通常通过 NAT 或路由器设备与 Internet 连接,ZeroTier One 使用 STUN 和隧道来建立 NAT 后设备之间的 VPN 直连。

简单一点说,Zerotier 就是通过 P2P 等方式实现形如交换机或路由器上 LAN 设备的内网互联。
c 复制代码
ZeroTier 官方搭建了一个行星根服务器叫做 地球 Earth,这个行星根服务器是唯一且是免费的,它记录了所有的路径信息,一般情况下大家都直接用的这个。

行星根服务器 R 记录了所有的路径信息,设备 A 能通过 ZeroTier 唯一地址标识找到需要连接的设备 B。这个过程如下:

A 想要将数据包发送到 B,但由于它没有直接路径,因此将其向上发送到 R。
如果 R 有直接链接到 B,它会转发数据包给 B。否则它会继续向上游发送数据包,直到达到行星根 (planet)。行星根知道所有节点,所以如果 B 在线,最终数据包将到达 B。
R 还向 A 发送一个消息,包含有关它如何到达 B 的提示。同时,将消息发给 B,通知 B 它如何到达 A。
A 和 B 获取它们的消息并尝试相互发送测试消息,可能会对 NAT 或状态防火墙进行穿透。如果这样可以建立直接链路,则不再需要中继。
如果无法建立直接路径,则通信可以继续中继 (速度慢)
除此之外还有 12 个遍布全球的根服务器,这些是收费的服务。由于 Earth 在国外,如果使用免费套餐,连接时的延迟可能会很高。不过 ZeroTier 能自己创建根服务器 月球 Moons,这样我们就能在大局域网中得到更好的体验了。
相关推荐
ManThink Technology32 分钟前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
珠海西格电力科技1 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
QT.qtqtqtqtqt1 小时前
未授权访问漏洞
网络·安全·web安全
半壶清水2 小时前
[软考网规考点笔记]-软件开发、项目管理与知识产权核心知识与真题解析
网络·笔记·压力测试
JMchen1232 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
yuanmenghao2 小时前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
那就回到过去2 小时前
MPLS多协议标签交换
网络·网络协议·hcip·mpls·ensp
那就回到过去3 小时前
VRRP协议
网络·华为·智能路由器·ensp·vrrp协议·网络hcip
极客小云3 小时前
【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】
网络·python·自动化·comfyui
符哥20084 小时前
用Apollo + RxSwift + RxCocoa搭建一套网络请求框架
网络·ios·rxswift