一种隧道建立方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:28326645 阅读:18 留言:0更新日期:2021-05-04 13:08
本发明专利技术公开了一种隧道建立方法、装置、设备及计算机可读存储介质,涉及通信技术领域,以解决广域网环境GRE协议的应用范围受限的问题。该方法包括:通过第二端的NAT探测服务器确定第一端需穿越的NAT的类型;根据所述第一端需穿越的NAT的类型,配置第一端的GRE隧道信息,以建立与所述第二端之间的GRE隧道;其中,所述第二端具有公网地址。本发明专利技术实施例可扩大广域网环境GRE协议的应用范围。

【技术实现步骤摘要】
一种隧道建立方法、装置、设备及计算机可读存储介质
本专利技术涉及通信
,尤其涉及一种隧道建立方法、装置、设备及计算机可读存储介质。
技术介绍
对于运行在公网上的GRE(GenericRoutingEncapsulation,通用路由封装)隧道,两端必须至少一端具有公网地址,才能穿越NAT(NetworkAddressTranslation,网络地址转换)建立隧道,否则GRE隧道无法建立。因此,利用现有的方案限制了广域网环境GRE协议的应用范围。
技术实现思路
本专利技术实施例提供一种隧道建立方法、装置、设备及计算机可读存储介质,以解决广域网环境GRE协议的应用范围受限的问题。第一方面,本专利技术实施例提供了一种隧道建立方法,应用于待建立的通用路由封装GRE隧道的第一端,包括:通过第二端的网络地址转换NAT探测服务器确定第一端需穿越的NAT的类型;根据所述第一端需穿越的NAT的类型,配置第一端的GRE隧道信息,以建立与所述第二端之间的GRE隧道;其中,所述第二端具有公网地址。其中,在所述第一端需穿越的NAT的类型为基本NAT的情况下,所述配置第一端的通用路由封装GRE隧道信息,包括:配置源地址为第一端的私网地址,目的地址为第二端的公网地址。其中,在所述第一端需穿越的NAT的类型为对称型NAT的情况下,所述配置第一端的通用路由封装GRE隧道信息,包括:探测源用户数据报协议UDP端口号和目的UDP端口号均为预设值的报文、第一端经NAT映射后的源IP地址和源UDP端口号;将GRE报文封装在源UDP端口号和目的UDP端口号均为所述预设值的因特网协议IP报文中,并向所述第二端发送所述IP报文;接收所述第二端发送的报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述预设值,目的IP为第一端的IP地址、目的端口号为预设值。其中,在所述第一端需穿越的NAT的类型为完全圆锥型NAT或者为地址限制圆锥型NAT或者为端口限制圆锥型NAT的情况下,所述配置第一端的通用路由封装GRE隧道信息,包括:探测源UDP端口号和目的UDP端口号均为预设值的报文、第一端经NAT映射后的源IP地址和源UDP端口号;利用第一端经NAT映射后的源IP地址、源UDP端口号和所述第二端的公网地址进行哈希计算,将得到的哈希值作为目的UDP端口号,并向所述第二端发送所述目的UDP端口号;将GRE报文封装在源UDP端口号为所述预设值、目的端口号为所述哈希值的IP报文中,并向所述第二端发送所述IP报文;接收所述第二端发送的报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述哈希值,目的IP为第一端的IP地址、目的端口号为预设值。其中,在所述GRE隧道中传输的报文是通过将GRE协议包封装在UDP包中得到的。第二方面,本专利技术实施例还提供一种隧道建立方法,应用于待建立的GRE隧道的第二端,所述第二端设置有NAT探测服务器,包括:确定第一端需穿越的NAT的类型;向所述第一端发送所述第一端需穿越的NAT的类型;其中,所述第二端具有公网地址。其中,所述方法还包括:在所述第一端需穿越的NAT的类型为对称型NAT的情况下,获取所述第一端经NAT映射后的IP地址、UDP端口号,以及目的端口号,其中,所述目的端口号为预设值;接收所述第一端发送的IP报文,其中,所述IP报文是通过将GRE报文封装在源UDP端口号和目的UDP端口号均为所述预设值的报文中得到的;向第一端发送报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述预设值,目的IP为第一端的IP地址、目的端口号为预设值。其中,所述方法还包括:在所述第一端需穿越的NAT的类型为完全圆锥型NAT或者为地址限制圆锥型NAT或者为端口限制圆锥型NAT的情况下,获取所述第一端经NAT映射后的IP地址、UDP端口号,以及目的端口号,其中,所述目的端口号为将NAT映射后的源IP地址、源UDP端口号和所述第二端的公网地址进行哈希计算而得到的哈希值;接收所述第一端发送的IP报文,其中,所述IP报文是通过将GRE报文封装在源UDP端口为所述预设值、目的端口号为所述哈希值的报文中得到的;向第一端发送报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述哈希值,目的IP为第一端的IP地址、目的端口号为预设值。其中,在所述GRE隧道中传输的报文是通过将GRE协议包封装在UDP包中得到的。第三方面,本专利技术实施例还提供一种隧道建立装置,应用于待建立的GRE隧道的第一端,包括:确定模块,用于通过第二端的网络地址转换NAT探测服务器确定第一端需穿越的NAT的类型;配置模块,用于根据所述第一端需穿越的NAT的类型,配置第一端的GRE隧道信息,以建立与所述第二端之间的GRE隧道;其中,所述第二端具有公网地址。其中,所述配置模块具体用于,在所述第一端需穿越的NAT的类型为基本NAT的情况下,配置源地址为第一端的私网地址,目的地址为第二端的公网地址。其中,所述配置模块可包括:第一探测子模块,用于在所述第一端需穿越的NAT的类型为对称型NAT的情况下,探测源用户数据报协议UDP端口号和目的UDP端口号均为预设值的报文、第一端经NAT映射后的源IP地址和源UDP端口号;第一发送子模块,用于将GRE报文封装在源UDP端口号和目的UDP端口号均为所述预设值的因特网协议IP报文中,并向所述第二端发送所述IP报文;第一接收子模块,用于接收所述第二端发送的报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述预设值,目的IP为第一端的IP地址、目的端口号为预设值。其中,所述配置模块可包括:第二探测子模块,用于在所述第一端需穿越的NAT的类型为完全圆锥型NAT或者为地址限制圆锥型NAT或者为端口限制圆锥型NAT的情况下,探测源UDP端口号和目的UDP端口号均为预设值的报文、第一端经NAT映射后的源IP地址和源UDP端口号;计算子模块,用于利用第一端经NAT映射后的源IP地址、源UDP端口号和所述第二端的公网地址进行哈希计算,将得到的哈希值作为目的UDP端口号,并向所述第二端发送所述目的UDP端口号;第二发送子模块,用于将GRE报文封装在源UDP端口号为所述预设值、目的端口号为所述哈希值的IP报文中,并向所述第二端发送所述IP报文;第二接收子模块,用于接收所述第二端发送的报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述哈希值,目的IP为第一端的IP地址、目的端口号为预设值。其中,在所述GRE隧道中传输的报文是通过将GRE协议包封装在UDP包中得到的。第四方面,本专利技术实施例还提供一种隧道建立装置,应用于待建立的GRE隧道的第二端,包括:确定模块,用于确定第一端需穿本文档来自技高网...

【技术保护点】
1.一种隧道建立方法,应用于待建立的通用路由封装GRE隧道的第一端,其特征在于,包括:/n通过第二端的网络地址转换NAT探测服务器确定第一端需穿越的NAT的类型;/n根据所述第一端需穿越的NAT的类型,配置第一端的GRE隧道信息,以建立与所述第二端之间的GRE隧道;/n其中,所述第二端具有公网地址。/n

【技术特征摘要】
1.一种隧道建立方法,应用于待建立的通用路由封装GRE隧道的第一端,其特征在于,包括:
通过第二端的网络地址转换NAT探测服务器确定第一端需穿越的NAT的类型;
根据所述第一端需穿越的NAT的类型,配置第一端的GRE隧道信息,以建立与所述第二端之间的GRE隧道;
其中,所述第二端具有公网地址。


2.根据权利要求1所述的方法,其特征在于,在所述第一端需穿越的NAT的类型为基本NAT的情况下,所述配置第一端的通用路由封装GRE隧道信息,包括:
配置源地址为第一端的私网地址,目的地址为第二端的公网地址。


3.根据权利要求1所述的方法,其特征在于,在所述第一端需穿越的NAT的类型为对称型NAT的情况下,所述配置第一端的通用路由封装GRE隧道信息,包括:
探测源用户数据报协议UDP端口号和目的UDP端口号均为预设值的报文、第一端经NAT映射后的源IP地址和源UDP端口号;
将GRE报文封装在源UDP端口号和目的UDP端口号均为所述预设值的因特网协议IP报文中,并向所述第二端发送所述IP报文;
接收所述第二端发送的报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述预设值,目的IP为第一端的IP地址、目的端口号为所述预设值。


4.根据权利要求1所述的方法,其特征在于,在所述第一端需穿越的NAT的类型为完全圆锥型NAT或者为地址限制圆锥型NAT或者为端口限制圆锥型NAT的情况下,所述配置第一端的通用路由封装GRE隧道信息,包括:
探测源UDP端口号和目的UDP端口号均为预设值的报文、第一端经NAT映射后的源IP地址和源UDP端口号;
利用第一端经NAT映射后的源IP地址、源UDP端口号和所述第二端的公网地址进行哈希计算,将得到的哈希值作为目的UDP端口号,并向所述第二端发送所述目的UDP端口号;
将GRE报文封装在源UDP端口号为所述预设值、目的端口号为所述哈希值的IP报文中,并向所述第二端发送所述IP报文;
接收所述第二端发送的报文,其中,所述报文的源IP为所述第二端的IP、源UDP端口号为所述哈希值,目的IP为第一端的IP地址、目的端口号为所述预设值。


5.根据权利要求1所述的方法,其特征在于,在所述GRE隧道中传输的报文是通过将GRE协议包封装在UDP包中得到的。


6.一种隧道建立方法,应用于待建立的GRE隧道的第二端,所述第二端设置有NAT探测服务器,其特征在于,包括:
确定第一端需穿越的NAT的类型;
向所述第一端发送所述第一端需穿越的NAT的类型;
其中,所述第二端具有公网地址。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第一端需穿越的NAT的类型为对称型NAT的情况下,获取所述第一端经NAT映射后的IP地址、UDP端口号,以及目的端口号,其中,所述目的端口号为预设值;
接收所述第一端发送的IP报文,其中,所述IP报文是通过将GRE报文封装在源UDP端口号和目的UDP端口号均为所述预设值的报文中得...

【专利技术属性】
技术研发人员:韩瑞波李晗
申请(专利权)人:中国移动通信有限公司研究院中国移动通信集团有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1