[发明专利]一种基于反向多连接的端口映射系统及其端口映射方法有效
申请号: | 201810670373.8 | 申请日: | 2018-06-22 |
公开(公告)号: | CN108848099B | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 金国庆;陈尚武 | 申请(专利权)人: | 杭州叙简科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L29/12 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 310012 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 反向 连接 端口映射 系统 及其 方法 | ||
1.一种基于反向多连接的端口映射系统,其特征在于,包括需要被端口映射的内部设备(1),反向多连接网关设备,反向多连接服务器(6),客户端(7);其中反向多连接网关设备包括连接管理模块(2),移动网络模块(3),数据转发模块(4),有线网络模块(5);
内部设备(1):内部设备(1)为客户端(7)提供TCP服务的设备,内部设备(1)与客户端(7)不在同一网络内,内部设备(1)通过向反向多连接网关设备提供TCP连接,最终给客户端(7)提供服务;
客户端(7):客户端(7)为需要访问内部设备(1)服务的终端设备,客户端(7)与内部设备(1)不在同一网络内,客户端(7)通过TCP连接到反向多连接服务器(6),最终访问内部设备(1)的TCP服务器;
反向多连接服务器(6):反向多连接服务器(6)是客户端(7)与反向多连接网关设备的中间桥接设备,反向多连接服务器(6)提供给客户端(7)与反向多连接网关设备的TCP连接服务,同时负责转发客户端(7)与反向多连接网关设备的TCP数据报文转发服务;
反向多连接网关设备:反向多连接网关设备是反向多连接服务器(6)与内部设备(1)的中间桥接设备与管理设备,反向多连接网关设备同时连接到反向多连接服务器(6)与内部设备(1),同时负责转发反向多连接服务器(6)与内部设备(1)的TCP数据报文转发服务;反向多连接网关设备管理内部设备(1)的TCP端口到反向多连接服务器(6)的TCP端口映射关系;
连接管理模块(2):用于管理内部设备(1)的TCP端口到反向多连接服务器(6)的TCP端口映射关系,管理反向多连接网关设备到内部设备(1)与反向多连接服务器(6)的TCP连接;
数据转发模块(4):用于负责管理多连接网关设备与内部设备(1)之间、以及多连接网关设备与反向多连接服务器(6)之间的TCP连接,负责管理转发反向多连接服务器(6)与内部设备(1)的TCP数据报文转发服务;
移动网络模块(3):用于实现反向多连接网关设备与反向多连接服务器(6)之间的移动通讯连接,分别为连接管理模块(2)与数据转发模块(4)提供网络服务;
有线网络模块(5):用于实现反向多连接网关设备与反向多连接服务器(6)之间的有线通讯连接,分别为连接管理模块(2)与数据转发模块(4)提供网络服务。
2.一种基于反向多连接的端口映射方法,其特征在于,包括如下步骤:
步骤(a)、连接管理模块(2)建立反向多连接服务器(6)的冗余信令连接,有线网络模块(5)与移动网络模块(3)分别建立反向多连接服务器(6)的TCP信令连接;
步骤(b)、连接管理模块(2)优先使用有线网络模块(5)与反向多连接服务器(6)的TCP信令连接通讯;当该TCP信令连接中断后,连接管理模块(2)才使用移动网络模块(3)与反向多连接服务器(6)的TCP信令连接通讯;
步骤(c)、连接管理模块(2)把内部设备(1)的端口映射请求发送给反向多连接服务器(6);
步骤(d)、反向多连接服务器(6)接收到映射请求,把内部设备(1)的端口在映射到反向多连接服务器(6)映射端口,并把映射关系保存到哈希映射表h1中;
步骤(e)、反向多连接服务器(6)映射端口接收到客户端(7)TCP连接,查询哈希映射表h1获得映射关系,向连接管理模块(2)发送客户端连接请求;
步骤(f)、连接管理模块(2)接收到连接请求,通知数据转发模块(4)建立反向数据连接;
步骤(g)、数据转发模块(4)选择建立内部设备(1)的端口的TCP数据连接;
步骤(h)、数据转发模块(4)建立与反向多连接服务器(6)反向数据连接流程:
(h.1)、当有线网络模块(5)与反向多连接服务器(6)的TCP信令连接连通状态,选择有线网络模块(5)与反向多连接服务器(6)建立TCP数据连接;
(h.2)、当有线网络模块(5)与反向多连接服务器(6)的TCP信令连接中断状态,选择移动网络模块(3)与反向多连接服务器(6)建立TCP数据连接;
(h.3)、当有线网络模块(5)与反向多连接服务器(6)的TCP信令数据故障时,切换到移动网络模块(3)向反向多连接服务器(6)建立TCP数据连接;
(h.4)、当移动网络模块(3)与反向多连接服务器(6)的TCP信令数据也故障时,通知连接管理模块(2)连接中断,结束此次TCP映射连接业务;
(h.5)、因为是数据转发模块(4)主动TCP连接反向多连接服务器(6),所以即使反向多连接网关设备在多重NAT仍然能够实现NAT穿透;
步骤(i)、客户端(7)向内部设备(1)发送数据报文流程:
(i.1)、客户端(7)发送反向多连接服务器(6)的数据报文;
(i.2)、反向多连接服务器(6)接收到客户端(7)的数据包文后增加八字节包头,转发数据转发模块(4);八字节包头包括四字节长度和四字节序号,四字节长度用于数据转发模块(4)的TCP分包,四字节序号为递增序号,用于有线网络模块(5)、移动网络模块(3)与反向多连接服务器(6)的TCP数据连接切换报文续传;
(i.3)、反向多连接服务器(6)转发给数据转发模块(4)的数据包保存发包缓存中;反向多连接服务器(6)接收到序号确认请求,根据序号清楚发包缓存的数据;
(i.4)、数据转发模块(4)接收到反向多连接服务器(6)的数据包文,去除八字节包头,把数据报文转发给内部设备(1);数据转发模块(4)取出八字节包头的四字节序号,通过连接管理模块(2)与反向多连接服务器(6)的TCP信令连接发送序号确认请求,用于反向多连接服务器(6)清楚发包缓存的数据;
(i.5)、当有线网络模块(5)与反向多连接服务器(6)的TCP信令数据故障,移动网络模块(3)向反向多连接服务器(6)重新建立TCP数据连接;反向多连接服务器(6)把发包缓存的报文重新发送给数据转发模块(4),保证连接切换时,客户端(7)发送给内部设备(1)的数据报文不丢失;
步骤(j)、内部设备(1)向客户端(7)发送数据报文流程:
(j.1)、内部设备(1)发送数据转发模块(4)的数据报文;
(j.2)、数据转发模块(4)接收到内部设备(1)的数据包文后增加八字节包头,转发数据转发模块(4),八字节包头包括四字节长度和四字节序号;
(j.3)、数据转发模块(4)转发给反向多连接服务器(6)的数据包保存发包缓存中;反向数据转发模块(4)接收到序号确认请求,根据序号清楚发包缓存的数据;
(j.4)、反向多连接服务器(6)接收到数据转发模块(4)的数据包文,去除八字节包头,把数据报文转发给客户端(7);反向多连接服务器(6)取出八字节包头的四字节序号,通过连接管理模块(2)与反向多连接服务器(6)的TCP信令连接发送序号确认请求;
(j.5)、当有线网络模块(5)与反向多连接服务器(6)的TCP信令数据故障,移动网络模块(3)向反向多连接服务器(6)重新建立TCP数据连接;数据转发模块(4)把发包缓存的报文重新发送给反向多连接服务器(6);保证连接切换时,内部设备(1)发送给客户端(7)的数据报文不丢失;
步骤(k)、这样通过客户端(7)建立反向多连接服务器(6)的TCP实际连接,反向多连接网关设备建立内部设备(1)的TCP实际连接,以及反向多连接网关设备到反向多连接服务器(6)两条冗余备份反向TCP实际连接,给客户端(7)与内部设备(1)提供类似直连的TCP虚拟连接,最终实现有线网络与移动网络冗余备份与多重NAT的端口映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州叙简科技股份有限公司,未经杭州叙简科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810670373.8/1.html,转载请声明来源钻瓜专利网。