我正在开发一个项目,该项目包含许多Raspberry PI N个客户的双向(并且安全)连接 - 已知,可访问, fixed-IP地址服务器。
客户端(Raspberry PI)都通过经典NAT连接到Internet。假设客户端由1到N之间的数字标识。
[Client] Raspberry PI <-> NAT (Internet Provider) <-> Internet
All client's public IP are dynamic
服务器位于互联网上某处 IP地址A
--- 我的 目标:使用 SSH 协议将每个客户端连接到服务器。 ---
服务器需要随意向任何客户端发送数据(无广播),每个客户端都需要向服务器发送数据。
会有&#34; N&#34; SSH隧道,由客户端发起,使用反向端口转发或/和端口转发。
我缺乏SSH知识的地方:
1)服务器如何将每个隧道与客户端相关联 为了能够使用适当的隧道?一个程序怎么样(for 例如,C)识别和&#34;使用&#34;每个隧道用于发送和接收 服务器侧λ
2)使用[反向]端口转发,端口有什么需求 服务器端,每个客户端是否需要服务器上的远程端口?
3)我是否需要创建一个程序,将每个传出端口链接到 客户端ID 和进入端口相同的东西?
我的问题是当服务器需要将数据发送到特定客户端时,该怎么做?
非常感谢。