一、P2P互联的组织方式
- 非结构化:节点间可任意互联,不存在相关性。其具有实现简单、抗抖动性好和抗DDOS攻击的优点,但其一般采用随机或泛洪方式进行路由通信,效率较低。
- 结构化:通过一定的组织结构和算法来管理节点之间连接。一般是基于DHT(Distributed Hash Table)来实现,如Chord、Kademlia。其通信效率高,但引入了节点路由表的维护开销。
Chord节点组织
Kademlia节点组织
二、NAT穿透
- NAT类型分类
完全圆锥形NAT(Full Cone NAT):内部IP地址和端口的所有请求,始终映射到相同的外网IP地址和端口;同时,任意外部主机向该映射的外网IP地址和端口发送报文,都可以实现和内网主机进行通信。
限制锥型NAT(Restricted Cone NAT):当内网主机向某公网主机发送过报文后,只有该公网主机才能向内网主机发送报文,相对于完全圆锥形NAT增加了地址限制,也就是IP受限,而端口不受限。
端口限制式圆锥形NAT(Port Restricted Cone NAT):当内网主机向某公网主机发送过报文后,只有该公网主机该端口才能向内网主机发送报文,相对于地址限制式圆锥形NAT增加了端口限制,也就是说IP、端口都受限。
对称式NAT(Symmetric NAT):所有从同一个私网IP地址和端口发送到一个特定的目的IP地址和端口的请求,都会被映射到同一个IP地址和端口。如果同一台主机使用相同的源地址和端口号发送报文,但是发往不同的目的地,NAT将会使用不同的映射。
- NAT穿透方案
STUN(Session Traversal Utilities for NAT )NAT会话穿越应用。
TURN(Traversal Using Relays around NAT )使用中继穿透NAT。
ICE (Interactive Connectivity Establishment )交互式连接创建。
WebRTC (Web Real-Time Communications)网页实时通信, 基于ICE框架,其DataChannel可用于P2P数据传输。
三、互联方案
针对中心化管理服务平台的需要,采用结构化+非结构化混合P2P组网方式,通过WebRTC实现NAT穿透,终端可按需连接。在路由表维护和通信效率上实现平衡,并实现P2P网络的稳定性。