隧道通信方法、中继节点、分支节点及隧道通信系统与流程

文档序号:31470661发布日期:2022-09-09 23:08阅读:143来源:国知局
隧道通信方法、中继节点、分支节点及隧道通信系统与流程

1.本发明实施例涉及无线通信技术领域,尤其涉及一种隧道通信方法、中继节点、分支节点及隧道通信系统。


背景技术:

2.多点通信主要指中心站点和分支站点之间的通信,例如,企业的总部和分机机构之间的通信。分支站点可通过宽带访问互联网的内网互联网协议(internet protocol,ip)地址,因为分支节点都是位于地址转换场景(network address translation,nat),并且是端口地址转换(port address translation,pat),这种情况下无法建立虚拟网络,无法实现分支节点之间的通信。例如,动态多点虚拟专用网络(virtual private network,vpn)不支持两个分支站点位于同一nat设备之后且nat转换后ip地址相同的nat穿越;动态多点vpn不支持两个分支站点位于不同nat设备之后且启用pat功能的nat穿越;分支站点间互访时,动态多点vpn不支持配置为nat外网互联端口(outbound)的nat穿越。


技术实现要素:

3.本发明提供了一种隧道通信方法、中继节点、分支节点及隧道通信系统,以实现分支节点间的点对点专线通信,提高隧道通信的灵活性。
4.本发明实施例提供了一种隧道通信方法,应用于中继节点,包括:
5.建立中继节点与至少两个分支节点之间的多点通用路由封装(multipoint generic routing encapsulation,mgre)隧道,所述至少两个分支节点包括第一分支节点和第二分支节点,各所述mgre隧道之间相互隔离;
6.通过所述中继节点与所述第一分支节点和所述第二分支节点之间的mgre隧道执行以下操作:
7.将所述第一分支节点的隧道地址转发至所述第二分支节点;
8.将所述第二分支节点的隧道地址转发至所述第一分支节点。
9.本发明实施例还提供了一种隧道通信方法,应用于第一分支节点,包括:
10.请求建立所述第一分支节点与中继节点之间的多点通用路由封装mgre隧道;
11.通过所述第一分支节点与中继节点之间的mgre隧道,向所述中继节点发送所述第一分支节点的隧道地址,并接收所述中继节点转发的第二分支节点的隧道地址;
12.根据所述第二分支节点的隧道地址建立所述第一分支节点与所述第二分支节点之间的通用路由封装(generic routing encapsulation,gre)隧道。
13.本发明实施例还提供了一种隧道通信方法,应用于第二分支节点,包括:
14.请求建立所述第二分支节点与中继节点之间的多点通用路由封装mgre隧道;
15.通过所述第二分支节点与中继节点之间的mgre隧道,接收所述中继节点转发的所述第一分支节点的隧道地址,并向所述中继节点发送所述第二分支节点的隧道地址;
16.根据所述第一分支节点的隧道地址建立与所述第一分支节点之间的通用路由封
装gre隧道。
17.本发明实施例还提供了一种中继节点,包括:
18.一个或多个处理器;
19.存储装置,用于存储一个或多个程序;
20.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现应用于中继节点的隧道通信方法。
21.本发明实施例还提供了一种分支节点,包括:
22.一个或多个处理器;
23.存储装置,用于存储一个或多个程序;
24.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现应用于分支节点的隧道通信方法。
25.本发明实施例还提供了一种隧道通信系统,包括:如上述的中继节点和至少两个如上述的分支节点。
26.本发明实施例提供了一种隧道通信方法、中继节点、分支节点及隧道通信系统,方法包括:建立中继节点与至少两个分支节点之间的mgre隧道,所述至少两个分支节点包括第一分支节点和第二分支节点,各所述mgre隧道之间相互隔离;通过所述中继节点与所述第一分支节点和所述第二分支节点之间的mgre隧道执行以下操作:将所述第一分支节点的隧道地址转发至所述第二分支节点;将所述第二分支节点的隧道地址转发至所述第一分支节点。上述技术方案通过建立中继节点与分支节点之间的mgre隧道,由中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
附图说明
27.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
28.图1为一实施例提供的一种隧道通信方法的流程图;
29.图2为一实施例提供的一种基于隧道地址建立虚拟专用网络的示意图;
30.图3为一实施例提供的一种建立分支节点之间的gre隧道的流程示意图;
31.图4为一实施例提供的另一种隧道通信方法的流程图;
32.图5为一实施例提供的一种建立ipsec隧道的示意图;
33.图6为一实施例提供的一种通过ipsec隧道对待传输数据加解密的示意图;
34.图7为一实施例提供的一种对待传输数据进行认证的示意图;
35.图8为一实施例提供的又一种隧道通信方法的流程图;
36.图9为一实施例提供的一种隧道通信装置的结构示意图;
37.图10为一实施例提供的另一种隧道通信装置的结构示意图;
38.图11为一实施例提供的又一种隧道通信装置的结构示意图;
39.图12为一实施例提供的一种中继节点的硬件结构示意图;
40.图13为一实施例提供的一种分支节点的硬件结构示意图;
41.图14为一实施例提供的一种隧道通信系统的结构示意图。
具体实施方式
42.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
43.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
44.需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
45.图1为一实施例提供的一种隧道通信方法的流程图,本实施例可适用于通过中继节点实现分支节点之间的隧道通信的情况。具体的,该隧道通信方法可以由隧道通信装置执行,该隧道通信装置可以通过软件和/或硬件的方式实现,并集成在中继节点中。
46.如图1所示,该方法具体包括如下步骤:
47.s110、建立中继节点与至少两个分支节点之间的mgre隧道,至少两个分支节点包括第一分支节点和第二分支节点,各mgre隧道之间相互隔离。
48.本实施例中,中继节点(hub)可位于数据中心机房,可以设置固定ip地址或域名,分支节点(spoke)采用相同底层运营商的无固定ip的宽带线路,可利用下一跳解析协议(next hop resolution protocol,nhrp)连接到中继节点上。gre是一种点到点的简单vpn隧道,mgre即多点gre,是一种hub-spoke结构的多点vpn,每个vpn节点上只需要配置一个隧道口即可,且分部的公网ip可变。mgre的中心为中继节点,作为nhrp的服务端。
49.第一分支节点(spoke1)主要指代地址解析请求端,其可以请求其他分支节点解析自身的隧道(tunnel)地址;第二分支节点(spoke2)主要指代地址解析应答端,其可以应答请求端的地址解析请求。第一分支节点与第二分支节点的公网互相是不可知的。需要说明的是,隧道通信系统中的任意一个分支节点都可以作为请求端,也可以作为应答端。
50.本实施例中,中继节点可通过获取各分支节点的隧道地址,从而生成nhrp映射表,建立与各分支节点的mgre隧道,中继节点与第一分支节点和第二分支节点之间的mgre隧道是隔离的。
51.s120、将第一分支节点的隧道地址转发至第二分支节点。
52.s130、将第二分支节点的隧道地址转发至第一分支节点。
53.具体的,中继节点利用与各分支节点之间的mgre隧道,可以交换各分支节点的隧道地址,例如,通过交换第一分支节点和第二分支节点的隧道地址,供第一分支节点和第二分支节点建立点到点的gre隧道。在此基础上,第一分支节点和第二分支节点可建立点对点的专线通信,可以传输待传输数据(即用户数据),而无需经过中继节点的转发。
54.在一实施例中,中继节点至少为两个,其中一个中继节点为常用中继节点或主中继节点,其他中继节点为备用中继节点,从而提供冗余方案:在常用中继节点无法正常工作时,备用中继节点可以代替其工作,例如交换分支节点的隧道地址和管理nhrp映射表等。
55.本实施例提供的一种隧道通信方法,是一种基于动态链路和中继节点的点到点数据专线传输方案,通过建立中继节点与分支节点之间的mgre隧道,由中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
56.图2为一实施例提供的一种基于隧道地址建立虚拟专用网络的示意图。本实施例提供了一套新型的基于pat场景下的三层vpn承载二层点到点线路解决方案,该方案主要由中继节点、分支节点、公共网络链路、分支机构局域网实现。如图2所示,通过引入中继节点,分别将分支节点1和分支节点2和中继节点建立虚拟网络连接,并且两个子网再二层上是相互隔离的。
57.具体的,中继节点上可建立多个mgre隧道接口组,采用nhrp协议进行绑定并自动学习分支节点1和分支节点2的ip路由信息,并且将位于nat场景下的两个分支节点和中继节点建立两个mgre隧道接口,隧道接口1的ip是192.168.100.1/24,分支节点1的隧道地址是192.168.100.2/24,中继节点接口2的ip是192.168.101.1/24,分支节点2的隧道地址是192.168.101.2/24。如果有两个以上的分支节点,则和中继节点建立两个以上的隧道接口,将两个分支节点之间的隧道接口独立开来,使得各个分支节点和中继节点之间形成各自独立的三层网络。在此基础上可以解决nat场景下的dsvpn无法建立的问题。
58.本实施例中,分支站点1的gre隧道是建立在mgre隧道接口之上,相当于先在分支站点1和中继节点之间建立mgre接口,并将mgre接口作为承载网络;分支站点2和中继节点也是同样的流程,这样分支站点1和分支站点2通过中继节点就建立了通信关系。如图2中所示的192.168.100.2和192.168.101.2建立gre隧道关系,分支站点1的隧道以192.168.100.2作为隧道外层的源ip,192.168.101.2作为隧道外层的目的ip,分支站点2的隧道接口则以192.168.101.2作为外层的源ip,192.168.100.2作为外层的目的ip,隧道的内层ip由用户自定义即可。该虚拟专用网络既做到了价廉物美,同时也是二层链路,对客户现有网络架构不需要做任何变更和改动,部署便捷,成本低。
59.在一实施例中,建立中继节点与至少两个分支节点之间的mgre隧道,包括:
60.步骤112:接收各分支节点的注册请求报文,注册请求报文中包含相应分支节点的隧道地址;
61.步骤114:根据各分支节点的隧道地址生成nhrp映射表;
62.步骤116:根据nhrp映射表建立中继节点与各分支节点之间的mgre隧道。
63.具体的,管理员在各分支节点上配置中继节点的隧道地址以后,分支节点可定时向中继节点发送注册请求报文,注册请求报文中包含相应分支节点的隧道地址;然后,中继节点可应答各分支节点的注册请求报文,从注册请求报文中提取相应分支节点的隧道地址并生成nhrp映射表,进而建立分支节点者之间的mgre隧道。
64.在一实施例中,将第一分支节点的隧道地址转发至第二分支节点,包括:
65.接收第一分支节点的地址解析请求报文,地址解析请求报文中包含第一分支节点的隧道地址;将地址解析请求报文转发至第二分支节点。
66.在一实施例中,将第二分支节点的隧道地址转发至第一分支节点,包括:
67.接收第二分支节点的地址解析应答报文,地址解析应答报文中包含第二分支节点的隧道地址;将地址解析请求报文转发至第二分支节点。
68.具体的,中继节点收到第一分支节点的地址解析请求报文后可转发给第二分支节点进行处理;第二分支节点收到地址解析请求报文后,从地址解析请求报文中提取第一分支节点的隧道地址,并将该信息更新到自己的nhrp映射表中,然后可构建并通过中继节点向第一分支节点发送地址解析应答报文,其中携带了第二分支节点的隧道地址;第一分支节点收到地址解析应答报文后,从中提取第二分支节点的隧道地址,更新到自己的nhrp映射表中,第一分支节点与第二分支节点之间的动态mgre隧道随即建立。
69.图3为一实施例提供的一种建立分支节点之间的gre隧道的流程示意图。如图3所示,hub根据spoke1和spoke2发送的注册请求报文生成nhrp映射表,建立mgre隧道;然后通过地址解析请求报文和地址解析应答报文交换spoke1和spoke2的隧道地址,在此过程中,spoke1和spoke2分别将对方的隧道地址更新到自己的nhrp映射表中,据此建立gre隧道。
70.图4为一实施例提供的另一种隧道通信方法的流程图。本实施例可适用于通过中继节点实现分支节点之间的隧道通信的情况。具体的,该隧道通信方法可以由分支节点(地址解析请求端)执行,该隧道通信装置可以通过软件和/或硬件的方式实现,并集成在分支节点中。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
71.如图4所示,该方法具体包括如下步骤:
72.s210、请求建立第一分支节点与中继节点之间的mgre隧道。
73.s220、通过第一分支节点与中继节点之间的mgre隧道,向中继节点发送第一分支节点的隧道地址,并接收中继节点转发的第二分支节点的隧道地址。
74.s230、根据第二分支节点的隧道地址建立第一分支节点与第二分支节点之间的gre隧道。
75.本实施例提供的一种隧道通信方法,是一种基于动态链路和中继节点的点到点数据专线传输方案,分支节点首先与中继节点建立mgre隧道,从而通过中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
76.在一实施例中,请求建立第一分支节点与中继节点之间的mgre隧道,包括:向中继节点发送注册请求报文,注册请求报文中包含第一分支节点的隧道地址。
77.在一实施例中,向中继节点发送第一分支节点的隧道地址,包括:
78.向中继节点发送地址解析请求报文,地址解析请求报文中包含第一分支节点的隧道地址。
79.在一实施例中,接收中继节点转发的第二分支节点的隧道地址,包括:
80.接收中继节点转发的第二分支节点的地址解析应答报文,地址解析应答报文中包含第二分支节点的隧道地址。
81.在一实施例中,根据第二分支节点的隧道地址建立第一分支节点与第二分支节点之间的gre隧道,包括:
82.从地址解析应答报文中提取第二分支节点的隧道地址,并更新到第一分支节点的nhrp映射表中。
83.在一实施例中,该方法还包括:
84.步骤240:将局域网(local area network,lan)端口与gre隧道的接口绑定;
85.步骤250:通过互联网安全协议(internet protocol security,ipsec)虚拟隧道接口建立第一分支节点与第二分支节点之间的ipsec隧道。
86.具体的,在两个分支节点之间建立gre隧道后,两个分支节点可将连接用户交换机的lan口绑定到gre隧道接口,从而lan接口收到的用户以太网数据报文封装到gre报文中,并且gre报文再封装到ipsec隧道中,gre隧道再以mgre隧道作为中间隧道,最后再封装到以太网中,从广域网(wide area network,wan)接口转发出去,最终实现gre隧道承载用户网络的以太协议的报文。在此基础上,建立了一条端到端的二层数据链路通道,建立可靠的安全通信场景,使得用户分支站点之间的个人计算机(personal computer,pc)及服务器都在一个二层网络中。
87.以图2为例,各分支站点mgre隧道接口定义的不同ip地址段,如分支站点1的mgre隧道接口定义的ip地址是192.168.100.2/24,中继节点对应的隧道接口ip定义192.168.100.1/24,分支站点2的mgre隧道接口定义的ip地址是192.168.101.2/24,中继节点对应的隧道接口ip定义为192.168.101.2/24,这些分支站点的ip地址,都是通过中继节点建立连接关系,因此相互之间路由是可达的,在2个分支站点之间通过192.168.100.2和192.168.101.2建立gre点对点连接,2个分支节点之间分别建立gre over mgre over ipsec隧道接口。将用户数据user data封装在gre中,再将gre+user data数据报文封装到ipsec安全加密隧道中,最后再封装到mgre隧道,到ip网络中传输。如图2所示的192.168.1.0/24网络,两个分支之间就像再同一个局域网中一样,使得网络连接变得更简单。该解决方案在宽带网络领域中有着广泛的应用,成本也大幅降低。
88.图5为一实施例提供的一种建立ipsec隧道的示意图。如图5所示,通过ipsec虚拟隧道接口建立ipsec隧道,将所有路由到ipsec虚拟隧道接口的报文都进行ipsec保护,根据该路由的目的地址确定哪些数据流需要ipsec保护,其中ipsec虚拟隧道接口是一种三层逻辑接口。gre隧道封装到ipsec协议中,利用了gre隧道和ipsec协议的优势,通过gre将组播、广播、非ip报文封装成普通的ip报文,通过ipsec为封装后的ip数据报文提供安全的通信,先进行gre封装,再进行ipsec封装,保证用户的数据报文在公网中传输不被窃取。该路由方式还具有以下优点:通过路由将需要ipsec保护的数据流引到虚拟隧道接口,不需使用访问控制列表(access control lists,acl)定义待加/解密的流量特征,简化了ipsec配置的复杂性;支持动态路由协议;通过gre over ipsec支持对组播流量的保护。
89.在一实施例中,第一分支节点作为待传输数据的发送端,该方法还包括:
90.步骤2610:使用对称密钥对待传输数据进行加密;
91.步骤2620:使用公钥对对称密钥进行加密;
92.步骤2630:通过ipsec隧道将加密后的对称密钥发送至第二分支节点,并将加密后的待传输数据发送至第二分支节点。
93.在一实施例中,第一分支节点作为待传输数据的接收端,方法还包括:
94.步骤2710:通过ipsec隧道接收加密后的对称密钥,以及加密后的待传输数据;
95.步骤2720:使用私钥对加密后的对称密钥进行解密,得到对称密钥;
96.步骤2730:使用对称密钥对加密后的待传输数据进行解密,得到待传输数据。
97.本实施例中,分支节点之间基于ipsec隧道可传输待传输数据,每个分支节点可以是待传输数据的发送端,也可以是接收端。通过采用gre over ipsec加密思路,结合对称加密和非对称加密:将待传输数据加解密所用的对称密钥,使用非对称算法进行加密并传递;而待传输数据通过交换后的对称密码加解密。具体的,通过对待传输数据进行加密,可以避免数据在传输时被读取,具体采用对称加密的方式,即发送端和接收端使用相同的密钥(对称密钥)进行加密或解密,这种方式可以保证数据传输效率。此外,在发送端和接收端互相交换对称密钥时,为降低被窃取的风险,使用非对称加密的方式,即发送端使用公钥对对称密钥进行加密、接收端使用私钥对对称密钥进行解密,从而提高交换过程的安全性。
98.图6为一实施例提供的一种通过ipsec隧道对待传输数据加解密的示意图。如图6所示,通过gre over ipsec方案,将gre包头封装的用户数据(即待传输数据)报文,通过ipsec安全隧道加密,确保数据可靠性,安全传送到对端节点,再由对端节点解密,形成一个端到端的加密隧道。
99.在一实施例中,第一分支节点作为待传输数据的发送端,该方法还包括:
100.根据待传输数据计算得到第一哈希值,第一哈希值携带在待传输数据中并通过ipsec隧道发送至第二分支节点。
101.在一实施例中,第一分支节点作为待传输数据的接收端,该方法还包括:
102.根据通过ipsec隧道接收到的待传输数据计算得到第二哈希值;
103.将第二哈希值与待传输数据中携带的第一哈希值进行比对,得到数据认证结果。
104.本实施例中,利用哈希(hash)算法对带传输数据进行数据认证,主要目的是确认数据是否被篡改。每个分支节点可以是待传输数据的发送端,也可以是接收端。发送端数据通过hash算法计算出一个唯一的hash值,该hash值携带在带传输数据中发送给接收端,接收端针对接收到的待传输数据重新计算得到hash值,将此hash值与待传输数据中携带的hash值进行比对,如果两个hash值一致则说明待传输数据没有被篡改。
105.图7为一实施例提供的一种对待传输数据进行认证的示意图。如图7所示,rt1为发送端,例如可以是第一分支节点,rt2为接收端,例如可以是第二分支节点,rt1计算得到第一哈希值(即hash值a),携带在待传输数据中发送给rt2,rt2计算得到第二哈希值(即hash值b),并将第一哈希值与第二哈希值进行比对,完成数据认证,从而进一步提高数据传输的安全性和可靠性。
106.图8为一实施例提供的又一种隧道通信方法的流程图。本实施例可适用于通过中继节点实现分支节点之间的隧道通信的情况。具体的,该隧道通信方法可以由分支节点(地址解析应答端)执行,该隧道通信装置可以通过软件和/或硬件的方式实现,并集成在分支节点中。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
107.如图8所示,该方法具体包括如下步骤:
108.s310、请求建立第二分支节点与中继节点之间的mgre隧道。
109.s320、通过第二分支节点与中继节点之间的mgre隧道,接收中继节点转发的第一分支节点的隧道地址,并向中继节点发送第二分支节点的隧道地址
110.s330、根据第一分支节点的隧道地址建立与第一分支节点之间的gre隧道。
111.本实施例的方法提供的一种隧道通信方法,是一种基于动态链路和中继节点的点到点数据专线传输方案,分支节点首先与中继节点建立mgre隧道,从而通过中继节点交换
分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
112.在一实施例中,请求建立第二分支节点与中继节点之间的mgre隧道,包括:向中继节点发送注册请求报文,注册请求报文中包含第二分支节点的隧道地址。
113.在一实施例中,接收中继节点转发的第一分支节点的隧道地址,包括:
114.接收中继节点转发的第一分支节点的地址解析请求报文,地址解析请求报文中包含第一分支节点的隧道地址。
115.在一实施例中,根据第一分支节点的隧道地址建立与第一分支节点之间的gre隧道,包括:
116.从地址解析请求报文中提取第一分支节点的隧道地址,并更新到第二分支节点的nhrp映射表中。
117.在一实施例中,向中继节点发送第二分支节点的隧道地址,包括:
118.向中继节点发送第二分支节点的地址解析应答报文,地址解析应答报文中包含第二分支节点的隧道地址。
119.在一实施例中,还包括:
120.将局域网lan端口与gre隧道的接口绑定。
121.通过ipsec虚拟隧道接口建立第一分支节点与第二分支节点之间的ipsec隧道。
122.在一实施例中,第二分支节点作为待传输数据的发送端,方法还包括:
123.使用对称密钥对待传输数据进行加密;
124.使用公钥对对称密钥进行加密;
125.通过ipsec隧道将加密后的对称密钥发送至第一分支节点,并将加密后的待传输数据发送至第一分支节点。
126.在一实施例中,第二分支节点作为待传输数据的接收端,方法还包括:
127.通过ipsec隧道接收加密后的对称密钥,以及加密后的待传输数据;
128.使用私钥对加密后的对称密钥进行解密,得到对称密钥;
129.使用对称密钥对加密后的待传输数据进行解密,得到待传输数据。
130.在一实施例中,第二分支节点作为待传输数据的发送端,方法还包括:
131.根据待传输数据计算得到第一哈希值,第一哈希值携带在待传输数据中并通过ipsec隧道发送至第一分支节点。
132.在一实施例中,第二分支节点作为待传输数据的接收端,方法还包括:
133.根据通过ipsec隧道接收到的待传输数据计算得到第二哈希值;
134.将第二哈希值与待传输数据中携带的第一哈希值进行比对,得到数据认证结果。
135.图9为一实施例提供的一种隧道通信装置的结构示意图。如图9所示,本实施例提供的隧道通信装置包括:
136.建立模块410,设置为建立中继节点与至少两个分支节点之间的mgre隧道,所述至少两个分支节点包括第一分支节点和第二分支节点,各所述mgre隧道之间相互隔离;
137.第一转发模块420,设置为通过所述中继节点与所述第一分支节点和所述第二分支节点之间的mgre隧道,将所述第一分支节点的隧道地址转发至所述第二分支节点;
138.第二转发模块430,设置为通过所述中继节点与所述第一分支节点和所述第二分
支节点之间的mgre隧道,将所述第二分支节点的隧道地址转发至所述第一分支节点。
139.本实施例提供的一种隧道通信装置,通过建立中继节点与分支节点之间的mgre隧道,由中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
140.在上述实施例的基础上,建立模块410包括:
141.注册单元,设置为接收各所述分支节点的注册请求报文,所述注册请求报文中包含相应分支节点的隧道地址;
142.生成单元,设置为根据各所述分支节点的隧道地址生成nhrp映射表;
143.建立单元,设置为根据所述nhrp映射表建立所述中继节点与各所述分支节点之间的mgre隧道。
144.在上述实施例的基础上,第一转发模块420,设置为:
145.接收所述第一分支节点的地址解析请求报文,所述地址解析请求报文中包含所述第一分支节点的隧道地址;
146.将所述地址解析请求报文转发至所述第二分支节点。
147.在上述实施例的基础上,第二转发模块430,设置为:
148.接收所述第二分支节点的地址解析应答报文,所述地址解析应答报文中包含所述第二分支节点的隧道地址;将所述地址解析请求报文转发至所述第二分支节点。
149.本实施例提供的隧道通信装置可以用于执行上述任意实施例提供的应用于中继节点的隧道通信方法,具备相应的功能和有益效果。
150.图10为一实施例提供的一种另隧道通信装置的结构示意图。如图10所示,本实施例提供的隧道通信装置包括:
151.第一请求模块510,设置为请求建立所述第一分支节点与中继节点之间的mgre隧道;
152.第一信息收发模块520,设置为向所述中继节点发送所述第一分支节点的隧道地址,并接收所述中继节点转发的第二分支节点的隧道地址;
153.第一建立模块530,设置为根据所述第二分支节点的隧道地址建立所述第一分支节点与所述第二分支节点之间的gre隧道。
154.本实施例提供的一种隧道通信装置,通过建立中继节点与分支节点之间的mgre隧道,由中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
155.在上述实施例的基础上,第一请求模块510,设置为向所述中继节点发送注册请求报文,所述注册请求报文中包含所述第一分支节点的隧道地址。
156.在上述实施例的基础上,第一信息收发模块520,包括:
157.第一发送单元,设置为向所述中继节点发送地址解析请求报文,所述地址解析请求报文中包含所述第一分支节点的隧道地址。
158.在上述实施例的基础上,第一信息收发模块520,包括:
159.第一接收单元,设置为接收所述中继节点转发的所述第二分支节点的地址解析应答报文,所述地址解析应答报文中包含所述第二分支节点的隧道地址。
160.在上述实施例的基础上,第一建立模块530,设置为:
161.从所述地址解析应答报文中提取所述第二分支节点的隧道地址,并更新到所述第一分支节点的nhrp映射表中。
162.在上述实施例的基础上,该装置还包括:
163.第一绑定模块,设置为将局域网lan端口与所述gre隧道的接口绑定;
164.第一安全隧道建立模块,设置为通过ipsec虚拟隧道接口建立所述第一分支节点与所述第二分支节点之间的ipsec隧道。
165.在上述实施例的基础上,该装置应用于待传输数据的发送端,该装置还包括:
166.第一数据加密模块,设置为使用对称密钥对待传输数据进行加密;
167.第一密钥加密模块,设置为使用公钥对所述对称密钥进行加密;
168.第一安全发送模块,设置为通过所述ipsec隧道将加密后的对称密钥发送至所述第二分支节点,并将加密后的待传输数据发送至所述第二分支节点。
169.在上述实施例的基础上,该装置应用于待传输数据的接收端,该装置还包括:
170.第一安全接收模块,设置为通过所述ipsec隧道接收加密后的对称密钥,以及加密后的待传输数据;
171.第一密钥解密模块,设置为使用私钥对所述加密后的对称密钥进行解密,得到所述对称密钥;
172.第一数据解密模块,设置为使用所述对称密钥对所述加密后的待传输数据进行解密,得到所述待传输数据。
173.在上述实施例的基础上,该装置应用于待传输数据的发送端,该装置还包括:
174.第一计算模块,设置为根据所述待传输数据计算得到第一哈希值,所述第一哈希值携带在所述待传输数据中并通过ipsec隧道发送至第二分支节点。
175.在上述实施例的基础上,该装置应用于待传输数据的接收端,该装置还包括:
176.第二计算模块,设置为根据通过ipsec隧道接收到的待传输数据计算得到第二哈希值;
177.第一比对模块,设置为将所述第二哈希值与所述待传输数据中携带的第一哈希值进行比对,得到数据认证结果。
178.本实施例提供的隧道通信装置可以用于执行上述任意实施例提供的应用于第一分支节点的隧道通信方法,具备相应的功能和有益效果。
179.图11为一实施例提供的又一种隧道通信装置的结构示意图。如图11所示,本实施例提供的隧道通信装置包括:
180.第二请求模块610,设置为请求建立所述第二分支节点与中继节点之间的mgre隧道;
181.第二信息收发模块620,设置为接收所述中继节点转发的所述第一分支节点的隧道地址,并向所述中继节点发送所述第二分支节点的隧道地址;
182.第二建立模块630,设置为根据所述第一分支节点的隧道地址建立与所述第一分支节点之间的mgre隧道。
183.本实施例提供的一种隧道通信装置,通过建立中继节点与分支节点之间的mgre隧道,由中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
184.在上述实施例的基础上,第二请求模块610,设置为向所述中继节点发送注册请求报文,所述注册请求报文中包含所述第二分支节点的隧道地址。
185.在上述实施例的基础上,第二信息收发模块620,包括:
186.第二接收单元,设置为接收所述中继节点转发的所述第一分支节点的地址解析请求报文,所述地址解析请求报文中包含所述第一分支节点的隧道地址。
187.在上述实施例的基础上,第二建立模块630,设置为从所述地址解析请求报文中提取所述第一分支节点的隧道地址,并更新到所述第二分支节点的nhrp映射表中。
188.在上述实施例的基础上,第二信息收发模块620,包括:
189.第二发送单元,设置为向所述中继节点发送所述第二分支节点的地址解析应答报文,所述地址解析应答报文中包含所述第二分支节点的隧道地址。
190.在上述实施例的基础上,该装置还包括:
191.第二绑定模块,设置为将局域网lan端口与所述gre隧道的接口绑定;
192.第二安全隧道建立模块,设置为通过ipsec虚拟隧道接口建立所述第一分支节点与所述第二分支节点之间的ipsec隧道。
193.在上述实施例的基础上,该装置应用于待传输数据的发送端,该装置还包括:
194.第二数据加密模块,设置为使用对称密钥对待传输数据进行加密;
195.第二密钥加密模块,设置为使用公钥对所述对称密钥进行加密;
196.第二安全发送模块,设置为通过所述ipsec隧道将加密后的对称密钥发送至所述第一分支节点,并将加密后的待传输数据发送至所述第一分支节点。
197.在上述实施例的基础上,该装置应用于待传输数据的接收端,该装置还包括:
198.第二安全接收模块,设置为通过所述ipsec隧道接收加密后的对称密钥,以及加密后的待传输数据;
199.第二密钥解密模块,设置为使用私钥对所述加密后的对称密钥进行解密,得到所述对称密钥;
200.第二数据解密模块,设置为使用所述对称密钥对所述加密后的待传输数据进行解密,得到所述待传输数据。
201.在上述实施例的基础上,该装置应用于待传输数据的发送端,该装置还包括:
202.第三计算模块,设置为根据所述待传输数据计算得到第一哈希值,所述第一哈希值携带在所述待传输数据中并通过ipsec隧道发送至第一分支节点。
203.在上述实施例的基础上,该装置应用于待传输数据的接收端,该装置还包括:
204.第四计算模块,设置为根据通过ipsec隧道接收到的待传输数据计算得到第二哈希值;
205.第二比对模块,设置为将所述第二哈希值与所述待传输数据中携带的第一哈希值进行比对,得到数据认证结果。
206.本实施例提供的隧道通信装置可以用于执行上述任意实施例提供的应用于第二分支节点的隧道通信方法,具备相应的功能和有益效果。
207.图12为一实施例提供的一种中继节点的硬件结构示意图。如图12所示,本技术提供的中继节点,包括存储装置720、处理器710以及存储在存储装置上并可在处理器上运行的计算机程序,处理器710执行所述程序时实现上述的隧道通信方法。
208.中继节点还可以包括存储装置720;该中继节点中的处理器710可以是一个或多个,图12中以一个处理器710为例;存储装置720用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器710执行,使得所述一个或多个处理器710实现如本技术实施例中所述的隧道通信方法。
209.中继节点还包括:通信装置730、输入装置740和输出装置750。
210.中继节点中的处理器710、存储装置720、通信装置730、输入装置740和输出装置750可以通过总线或其他方式连接,图12中以通过总线连接为例。
211.输入装置740可用于接收输入的数字或字符信息,以及产生与中继节点的用户设置以及功能控制有关的按键信号输入。输出装置750可包括显示屏等显示设备。
212.通信装置730可以包括接收器和发送器。通信装置730设置为根据处理器710的控制进行信息收发通信。
213.存储装置720作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本技术实施例所述隧道通信方法对应的程序指令/模块(例如,隧道通信装置中的建立模块410、第一转发模块420以及第二转发模块430)。存储装置720可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据中继节点的使用所创建的数据等。此外,存储装置720可以包括高速随机存取存储装置,还可以包括非易失性存储装置,例如至少一个磁盘存储装置件、闪存器件、或其他非易失性固态存储装置件。在一些实例中,存储装置720可进一步包括相对于处理器710远程设置的存储装置,这些远程存储装置可以通过网络连接至中继节点。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
214.图13为一实施例提供的一种分支节点的硬件结构示意图。如图13所示,本技术提供的分支节点,包括存储装置820、处理器810以及存储在存储装置上并可在处理器上运行的计算机程序,处理器810执行所述程序时实现上述的隧道通信方法。
215.分支节点还可以包括存储装置820;该分支节点中的处理器810可以是一个或多个,图13中以一个处理器810为例;存储装置820用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器810执行,使得所述一个或多个处理器810实现如本技术实施例中所述的隧道通信方法。
216.分支节点还包括:通信装置830、输入装置840和输出装置850。
217.分支节点中的处理器810、存储装置820、通信装置830、输入装置840和输出装置850可以通过总线或其他方式连接,图13中以通过总线连接为例。
218.输入装置840可用于接收输入的数字或字符信息,以及产生与分支节点的用户设置以及功能控制有关的按键信号输入。输出装置850可包括显示屏等显示设备。
219.通信装置830可以包括接收器和发送器。通信装置830设置为根据处理器810的控制进行信息收发通信。
220.存储装置820作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本技术实施例所述隧道通信方法对应的程序指令/模块(例如,隧道通信装置中的第一请求模块510、第一信息收发模块520和第一建立模块530)。存储装置820可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据分支节点的使用所创建的数据等。此外,存储装置820可以
包括高速随机存取存储装置,还可以包括非易失性存储装置,例如至少一个磁盘存储装置件、闪存器件、或其他非易失性固态存储装置件。在一些实例中,存储装置820可进一步包括相对于处理器810远程设置的存储装置,这些远程存储装置可以通过网络连接至分支节点。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
221.本发明实施例还提供了一种隧道通信系统。图14为一实施例提供的一种隧道通信系统的结构示意图。如图14所示,该系统包括:如上述任意实施例所述的中继节点910,以及至少两个如上述任意实施例所述的分支节点920。
222.本实施例的隧道通信系统,提供了一种基于动态链路和中继节点的点到点数据专线传输方案,通过建立中继节点与分支节点之间的mgre隧道,由中继节点交换分支节点的隧道地址,基于二层链路和现有网络架构即可实现分支节点间的点对点专线通信,提高了隧道通信的灵活性,也降低了成本。
223.本实施例提供的一种隧道通信系统可以用于实现上述任意实施例提供的隧道通信方法,具备相应的功能和有益效果。需要说明的是,未在本实施例中详尽描述的技术细节,可参见上述任意实施例。
224.在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被隧道通信装置执行时实现本发明上述任意实施例中的隧道通信方法,该方法包括:
225.建立中继节点与至少两个分支节点之间的mgre隧道,所述至少两个分支节点包括第一分支节点和第二分支节点,各所述mgre隧道之间相互隔离;
226.通过所述中继节点与所述第一分支节点和所述第二分支节点之间的mgre隧道执行以下操作:
227.将所述第一分支节点的隧道地址转发至所述第二分支节点;
228.将所述第二分支节点的隧道地址转发至所述第一分支节点。
229.或者,该方法包括:
230.请求建立所述第一分支节点与中继节点之间的多点通用路由封装mgre隧道;
231.通过所述第一分支节点与中继节点之间的mgre隧道,向所述中继节点发送所述第一分支节点的隧道地址,并接收所述中继节点转发的第二分支节点的隧道地址;
232.根据所述第二分支节点的隧道地址建立所述第一分支节点与所述第二分支节点之间的gre隧道。
233.或者,该方法包括:
234.请求建立所述第二分支节点与中继节点之间的多点通用路由封装mgre隧道;
235.通过所述第二分支节点与中继节点之间的mgre隧道,接收所述中继节点转发的所述第一分支节点的隧道地址,并向所述中继节点发送所述第二分支节点的隧道地址;
236.根据所述第一分支节点的隧道地址建立与所述第一分支节点之间的通用路由封装gre隧道。
237.本发明实施例所提供的一种包含计算机可执行指令的存储介质,可以采用一个或多个计算机可读的介质的任意组合,例如计算机可读信号介质或者存储介质。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个
或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储装置(random access memory,ram)、只读存储装置(read only memory,rom)、可擦式可编程只读存储装置(erasable programmable read only memory,eprom)、闪存、光纤、便携式cd-rom、光存储装置件、磁存储装置件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
238.计算机可读的信号介质可以包括在基待中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
239.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(radio frequency,rf)等等,或者上述的任意合适的组合。
240.可以以一种或多种程序设计语言或其组合来编写用于执行本技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
241.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储装置(read-only memory,rom)、随机存取存储装置(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
242.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1