私网穿透与 Relay 组网

知识网络定位

当前页面已进入跨页知识网络层:不仅展示本页拓扑,还明确它在整站里的分类、被哪些页面引用、又继续指向哪些专题与证据页。

打开知识网络总览
状态:已实现 分组:运行与状态 出链:4 回链:7 相邻推荐:8
注册中心规范键接口查询P2P组网NAT启动

NAT / Relay 当前收口口径

发现面:Contract / DHT / DNS / mDNS / Seed 五层已进入代码结构 连接面:P2P 优先、HTTP fallback、autoUpgradeLoop 已有真实路径 新增:libp2p TCP listen 会扩展 `/ws`,可导出 public / DNS / WSS / relay `/p2p-circuit` handoff 边界:Cloudflare 只可做 control-plane hint 或授权 WSS edge,区块同步 / gossip / heartbeat / 验证者连接仍走 MSG libp2p data-plane 当前结论:仅关闭 local/package WSS anchor handoff fix;远端真实 public/DNS/WSS/relay handoff 与 NAT matrix 仍未关闭
拓扑追踪模式:支持悬停预览、点击锁定、节点搜索、只看上游、只看下游,以及“仅一跳 / 全链路”切换,帮助查看者在复杂拓扑中快速定位流程关系。
搜索 支持热词与别名检索:金库 / 治理 / 证明 / 复核 / 总控 / 注册中心 / 铸造 / 处罚
热词
方向
深度
未锁定 | 双向 | 全链路 | 悬停预览,点击锁定
当前节点 上游链路 下游链路 双向汇聚 非当前路径

flowchart TD
    subgraph Layer0["第0层: Reachability / NAT 自检"]
        NAT["AutoNAT / Reachability 状态"] --> Strategy{"评估 NAT 与连接策略"}
    end

    subgraph Layer1["第1层: 智能合约发现"]
        Contract["ContractDiscovery"] --> PeerBook["DiscoveryManager PeerBook"]
    end

    subgraph Layer2["第2层: DHT 发现"]
        DHT["Bootstrapper + DHTDiscoveryAdapter"] --> PeerBook
    end

    subgraph Layer3["第3层: DNS 发现族"]
        DNS["DNS TXT Discovery"] --> PeerBook
        DNSSRV["DNS Seed SRV Discovery"] --> PeerBook
    end

    subgraph Layer4["第4层: mDNS 本地发现"]
        MDNS["mDNS Discovery"] --> PeerBook
    end

    subgraph Layer5["第5层: Seed Nodes 兜底"]
        Seed["SeedDiscovery / 可达性探测"] --> PeerBook
    end

    PeerBook --> ConnMgr["SmartConnectionManager"]
    Strategy --> ConnMgr
    ConnMgr --> PeerID["PeerID Registry"]
    ConnMgr --> Tunnel["Tunnel URL Registry"]

    subgraph ConnectFlow["连接建立与降级升级"]
        PeerID --> P2P["tryP2PConnect -> libp2p NewStream"]
        Tunnel --> HTTP["tryHTTPConnect -> HTTP Tunnel"]
        ConnMgr --> P2P
        ConnMgr --> HTTP
        P2P --> Success["优先使用 P2P SmartConnection"]
        HTTP --> Fallback["P2P 失败时降级 HTTP"]
        Fallback --> Upgrade["autoUpgradeLoop 周期升级回 P2P"]
        Upgrade --> Success
    end

    subgraph HolePunch["Relay / 打洞 / 监控"]
        Success --> Relay["Circuit Relay v2"]
        Relay -.-> DCUtR["DCUtR / Hole Punching"]
        Success --> Monitor["RTT 监控 / 健康检查 / 重连"]
    end