Skip to content

Latest commit

 

History

History
30 lines (17 loc) · 997 Bytes

File metadata and controls

30 lines (17 loc) · 997 Bytes

netmap

内网穿透

实现公网地址到内网地址的访问和数据获取。 大致的实现思路是,内网机器主动发起多个TCP连接到外网机器上的server中,并保存在转发列表中; 当客户端的连接来时,则对应空余的预设的内网到外网网关机的TCP,以至于可以互相转发通信。

下面是大致的示意图。 示意图

  • 其中公网机器上运行server来接收两侧的TCP连接。

  • 而内网需要运行一个交换程序,来发起到公网机器和外网服务的TCP对,并转发交换TCP对的数据。

问题

如何设计一个可靠的并且较好性能的转发表。

  1. 排除客户端的无效连接

  2. 线程安全

3. 内网IP的出口公网IP的变动引起无法判断

4. 如何区别同一个nat网络下的服务器和客户机

内网机器数据标示

问题4和5,使用特殊的前缀标识内网数据