CN106506354B - 一种报文传输方法和装置 - Google Patents
一种报文传输方法和装置 Download PDFInfo
- Publication number
- CN106506354B CN106506354B CN201610971698.0A CN201610971698A CN106506354B CN 106506354 B CN106506354 B CN 106506354B CN 201610971698 A CN201610971698 A CN 201610971698A CN 106506354 B CN106506354 B CN 106506354B
- Authority
- CN
- China
- Prior art keywords
- ssl vpn
- vpn gateway
- message
- address
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文传输方法和装置,该方法包括:向本SSL VPN网关的邻居网络设备发布携带组地址的路由,以使所述邻居网络设备将目的IP地址为所述组地址的报文,发送给网关组内的SSL VPN网关;接收所述邻居网络设备发送的报文;若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关,则确定第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息,并将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备,将所述认证加密信息发送给每个备SSL VPN网关。通过本申请的技术方案,提高SSL VPN网关的处理性能,提高用户使用体验,避免业务中断。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法和装置。
背景技术
SSL(Secure Sockets Layer,安全套接字层)VPN(Virtual Private Network,虚拟专用网络)是以SSL为基础的VPN技术,可以充分利用SSL协议提供的身份认证、数据加密、消息完整性验证等机制,为应用层的通信建立安全连接。
在部署了SSL VPN网关的网络中,终端设备向SSL VPN网关发送会话协商请求报文,SSL VPN网关为终端设备分配认证加密信息,并将认证加密信息发送给终端设备。终端设备在发送数据报文时,利用认证加密信息对数据报文进行加密等处理,SSL VPN网关在接收到数据报文后,对数据报文进行解密等处理,并将数据报文发送给服务器。上述方式可以保证数据报文的传输安全性。
目前,若网络中部署两个以上的SSL VPN网关,则不同的SSL VPN网关为不同终端设备提供服务。当某个SSL VPN网关下线时,接入该SSL VPN网关的终端设备会被强制下线,之后重新接入到其它SSL VPN网关,从而影响了用户使用体验,且终端设备的业务会发生中断。
发明内容
本申请提供一种报文传输方法,应用于网关组内的安全套接字层虚拟专用网络SSL VPN网关,所述网关组包括一个主SSL VPN网关和至少一个备SSL VPN网关,所述网关组内的各SSL VPN网关使用相同组地址,该方法包括:
向本SSL VPN网关的邻居网络设备发布携带所述组地址的路由,以使所述邻居网络设备将目的IP地址为所述组地址的报文,发送给所述网关组内的SSL VPN网关;
接收所述邻居网络设备发送的报文;
若所述报文为会话协商请求报文且本SSL VPN网关是备SSL VPN网关,则将所述会话协商请求报文发送给主SSL VPN网关;
若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关,则确定所述会话协商请求报文的源IP地址对应的第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息,并将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备,将所述认证加密信息发送给每个备SSL VPN网关。
本申请提供一种报文传输装置,应用于网关组内的安全套接字层虚拟专用网络SSL VPN网关,所述网关组包括一个主SSL VPN网关和至少一个备SSL VPN网关,所述网关组内的各SSL VPN网关使用相同组地址,所述装置包括:
发送模块,用于向本SSL VPN网关的邻居网络设备发布携带所述组地址的路由,以使所述邻居网络设备将目的IP地址为所述组地址的报文,发送给所述网关组内的SSL VPN网关;
接收模块,用于接收所述邻居网络设备发送的报文;
所述发送模块,还用于当所述报文为会话协商请求报文且本SSL VPN网关是备SSLVPN网关时,则将所述会话协商请求报文发送给主SSL VPN网关;
确定模块,用于当所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关时,则确定所述会话协商请求报文的源IP地址对应的第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息;
所述发送模块,还用于当本SSL VPN网关是主SSL VPN网关时,将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备,并将所述认证加密信息发送给每个备SSL VPN网关。
基于上述技术方案,本申请实施例中,可以在网络中部署至少两个SSL VPN网关,并在这至少两个SSL VPN网关之间进行负载分担,从而避免一个SSL VPN网关对大量终端设备提供服务,提高SSL VPN网关的处理性能,SSL VPN网关不会成为性能瓶颈。而且,网关组内的主SSL VPN网关和备SSL VPN网关均会向本SSL VPN网关的邻居网络设备发布携带组地址的路由,这样,在邻居网络设备上,就会形成到达该组地址的等价路由。另外,主SSL VPN网关和备SSL VPN网关均存储有终端设备对应的加密认证信息。基于此,邻居网络设备在接收到来自终端设备的报文后,若该报文的目的IP地址为该组地址,则邻居网络设备就可以基于该等价路由,将该报文发送给网关组内的任意一个SSL VPN网关,从而使得一个终端设备的报文可以在不同SSL VPN网关上分担,而不是由一个SSL VPN网关对终端设备的报文进行处理。这样,当某个SSL VPN网关下线时,可以自动进行路由的收敛,将报文发送到剩余的SSL VPN网关上,即终端设备能够无缝切换到其它SSL VPN网关,可以及时的对业务进行保护,不会对用户造成任何影响,提高用户使用体验,避免业务发生中断,提升了用户接入的可靠性和稳定性,并实现了SSL VPN网关之间的及时流量保护。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一种实施方式中的报文传输方法的流程图;
图2是本申请一种实施方式中的应用场景示意图;
图3是本申请一种实施方式中的SSL VPN网关的硬件结构图;
图4是本申请一种实施方式中的报文传输装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种报文传输方法,该方法可以应用于网关组内的SSL VPN网关。该网关组可以包括一个主SSL VPN网关和至少一个备SSL VPN网关,该网关组内的各SSL VPN网关使用相同的组地址(即IP地址)。
在一个例子中,针对网关组内的各SSL VPN网关,可以配置一个SSL VPN网关为主SSL VPN网关,并配置剩余的其它SSL VPN网关为备SSL VPN网关。主SSL VPN网关负责处理来自终端设备的会话协商请求报文,为终端设备执行认证和授权等操作。备SSL VPN网关不负责为终端设备执行认证和授权等操作,而是直接将自身收到的会话协商请求报文转发给主SSL VPN网关。主SSL VPN网关和备SSL VPN网关均可以处理来自终端设备的数据报文。其中,当主SSL VPN网关正常工作时,备SSL VPN网关不为终端设备执行认证和授权等操作,当主SSL VPN网关异常时,备SSL VPN网关成为新的主SSL VPN网关,并负责处理来自终端设备的会话协商请求报文,对终端设备执行认证和授权等操作。
参见图1所示,为报文传输方法的流程图,该方法可以应用于网关组内的SSL VPN网关(主SSL VPN网关或者备SSL VPN网关),该方法可以包括以下步骤:
步骤101,向本SSL VPN网关的邻居网络设备发布携带该组地址的路由,以使邻居网络设备将目的IP地址为该组地址的报文,发送给网关组内的SSL VPN网关,即发送给网关组内的主SSL VPN网关或者任一备SSL VPN网关。
在一个例子中,当存在多个SSL VPN网关时,可以将这些SSL VPN网关组成一个网关组,该网关组内的各SSL VPN网关使用相同的组地址。而且,终端设备不需要关注网关组内的各SSL VPN网关的实际IP地址,只需要获知该组地址(如用户可以获知该组地址,并将该组地址配置到终端设备上),就可以发送目的IP地址为该组地址的会话协商请求报文或者数据报文。
网关组内的各SSL VPN网关可以向本SSL VPN网关的邻居网络设备发布携带该组地址的路由,这样,在该邻居网络设备上,就会形成到达该组地址的等价路由。邻居网络设备在接收到来自终端设备的报文(如会话协商请求报文或者数据报文)后,若报文的目的IP地址为该组地址,则可以将该报文发送给网关组内的任意一个SSL VPN网关,如主SSL VPN网关或者备SSL VPN网关。
步骤102,接收邻居网络设备发送的报文,该报文可以为会话协商请求报文或者数据报文。若该报文为会话协商请求报文,则执行步骤103。
步骤103,若本SSL VPN网关是备SSL VPN网关,则将会话协商请求报文发送给主SSL VPN网关。若本SSL VPN网关是主SSL VPN网关,则确定第一终端设备能够访问的服务器及该第一终端设备对应的加密认证信息。其中,该第一终端设备是指:该会话协商请求报文的源IP地址对应的终端设备。
在一个例子中,主SSL VPN网关在接收到会话协商请求报文(第一终端设备直接发送给主SSL VPN网关的会话协商请求报文,或者备SSL VPN网关转发给主SSL VPN网关的会话协商请求报文)后,从会话协商请求报文中解析出身份信息(如用户名、密码等),并利用身份信息对第一终端设备进行认证。若认证成功,确定第一终端设备能够访问的服务器及第一终端设备对应的加密认证信息。若认证失败,则向第一终端设备发送认证失败的响应报文。
在一个例子中,针对“确定第一终端设备能够访问的服务器”的过程,可以在主SSLVPN网关上配置身份信息与资源的映射关系,并在主SSL VPN网关上配置提供各资源的服务器的信息(如服务器的IP地址)。基于此,主SSL VPN网关从会话协商请求报文中解析出身份信息后,就可以得到该身份信息对应的资源,并可以确定出提供该资源的服务器的IP地址。该资源可以为FTP(File Transfer Protocol,文件传输协议)资源、WEB资源、文件存储资源等。
在一个例子中,对于确定的认证加密信息,包括但不限于:加密算法、交换加密密钥、消息完整性验证算法等信息,对此认证加密信息不做限制。
步骤104,主SSL VPN网关将携带该服务器的IP地址及该加密认证信息的响应报文发送给第一终端设备,并将该认证加密信息发送给每个备SSL VPN网关,如可以将携带该认证加密信息的通知报文发送给每个备SSL VPN网关。
第一终端设备在接收到该响应报文后,可以从该响应报文中解析出服务器的IP地址及加密认证信息,并利用该IP地址及该加密认证信息发送数据报文。
在一个例子中,针对各终端设备发送的数据报文,会被邻居网络设备发送给网关组内的主SSL VPN网关或者备SSL VPN网关。基于此,主SSL VPN网关或者备SSL VPN网关在接收到邻居网络设备发送的报文后,若该报文为数据报文,利用第二终端设备对应的认证加密信息对该数据报文包括的内层报文进行解密处理,并将解密处理后的内层报文发送给该内层报文的目的IP地址对应的服务器。第二终端设备为该数据报文的外层源IP地址对应的终端设备。
在一个例子中,若报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关,在将携带服务器的IP地址及加密认证信息的响应报文发送给第一终端设备之前,还可以为第一终端设备分配UDP(User Datagram Protocol,用户数据报协议)端口标识,并将该UDP端口标识发送给每个备SSL VPN网关。而且,上述响应报文还携带该UDP端口标识,该UDP端口标识用于使第一终端设备在发送数据报文时,在外层报文头中添加该UDP端口标识。
在一个例子中,主SSL VPN网关或者备SSL VPN网关在接收到服务器发送的数据响应报文后,可以利用第三终端设备对应的认证加密信息对该数据响应报文进行加密处理,得到加密数据报文。其中,第三终端设备为该数据响应报文的目的IP地址对应的终端设备。之后,对加密数据报文进行封装,封装后的加密数据报文的外层源IP地址为组地址,源端口为第三终端设备对应的UDP端口标识。之后,将封装后的加密数据报文发送给第三终端设备。
基于上述技术方案,本申请实施例中,可以在网络中部署至少两个SSL VPN网关,并在这至少两个SSL VPN网关之间进行负载分担,从而避免一个SSL VPN网关对大量终端设备提供服务,提高SSL VPN网关的处理性能,SSL VPN网关不会成为性能瓶颈。而且,网关组内的主SSL VPN网关和备SSL VPN网关均会向本SSL VPN网关的邻居网络设备发布携带组地址的路由,这样,在邻居网络设备上,就会形成到达该组地址的等价路由。另外,主SSL VPN网关和备SSL VPN网关均存储有终端设备对应的加密认证信息。基于此,邻居网络设备在接收到来自终端设备的报文后,若该报文的目的IP地址为该组地址,则邻居网络设备就可以基于该等价路由,将该报文发送给网关组内的任意一个SSL VPN网关,从而使得一个终端设备的报文可以在不同SSL VPN网关上分担,而不是由一个SSL VPN网关对终端设备的报文进行处理。这样,当某个SSL VPN网关下线时,可以自动进行路由的收敛,将报文发送到剩余的SSL VPN网关上,即终端设备能够无缝切换到其它SSL VPN网关,可以及时的对业务进行保护,不会对用户造成任何影响,提高用户使用体验,避免业务发生中断,提升了用户接入的可靠性和稳定性,并实现了SSL VPN网关之间的及时流量保护。
以下结合图2所示的应用场景,对本申请实施例的上述过程进行详细说明。
在图2中,可以包括终端设备、网络设备R1、SSL VPN网关1、SSL VPN网关2、网络设备R2、服务器1和服务器2等设备。其中,终端设备的IP地址为100.1.1.1,服务器1的IP地址为20.1.1.254,服务器2的IP地址为30.1.1.254。SSL VPN网关1和SSL VPN网关2位于同一个网关组,SSL VPN网关1为主SSL VPN网关,SSL VPN网关2为备SSL VPN网关,该网关组的组地址为1.1.1.254,该网关组的TCP端口标识为TCP端口443(默认TCP SSL端口)。
在上述应用场景下,该报文传输方法可以包括以下步骤:
步骤1、SSL VPN网关1对外发布携带IP地址1.1.1.254和TCP端口443的路由;网络设备R1、网络设备R2可以学习到携带IP地址1.1.1.254和TCP端口443的路由。SSL VPN网关2对外发布携带IP地址1.1.1.254和TCP端口443的路由;网络设备R1、网络设备R2均可以学习到携带IP地址1.1.1.254和TCP端口443的路由。网络设备R1、网络设备R2可以学习到IP地址1.1.1.254的两条路由,这两条路由在网络设备R1、网络设备R2上,形成等价路由。
步骤2、用户登陆SSL VPN页面,并输入用户名、密码等身份信息,并输入SSL VPN网关的组地址1.1.1.254以及TCP端口443等信息。终端设备利用该身份信息、该组地址1.1.1.254、该TCP端口443生成会话协商请求报文,并发送该会话协商请求报文。其中,该会话协商请求报文的源IP地址可以为100.1.1.1,目的IP地址可以为1.1.1.254,目的TCP端口可以为443。
步骤3、网络设备R1在接收到该会话协商请求报文后,由于本地存在目的IP地址1.1.1.254的两条路由,SSL VPN网关1和VPN SSL网关2都是目的IP地址1.1.1.254对应的下一跳,因此,可以将该会话协商请求报文发送给SSL VPN网关1或者SSL VPN网关2,以发送给SSL VPN网关2为例进行说明。
步骤4、SSL VPN网关2在接收到会话协商请求报文后,由于本SSL VPN网关2是备SSL VPN网关,因此将该会话协商请求报文发送给SSL VPN网关1。
步骤5、SSL VPN网关1在接收到会话协商请求报文后,从会话协商请求报文中解析出身份信息,并利用该身份信息对终端设备进行认证。若认证成功,则执行步骤6。若认证失败,则向终端设备发送认证失败的响应报文,结束流程。
步骤6、SSL VPN网关1为该终端设备分配UDP端口标识4430(如随机选取一个UDP端口标识),并为该终端设备分配虚拟接入IP地址10.1.1.1和虚拟接入MAC(Media AccessControl,介质访问控制)地址(如虚拟MAC1)。
在一个例子中,可以在SSL VPN网关1上预先配置虚IP网段,如10.1.1.0/24,SSLVPN网关1在为终端设备分配虚拟接入IP地址时,可以直接从该虚IP网段内选择一个可用的IP地址10.1.1.1,并标记该IP地址不可用。同理,可以在SSL VPN网关1上预先配置虚MAC范围,且SSL VPN网关1在为终端设备分配虚拟接入MAC地址时,可以直接从虚MAC范围内选择一个可用的MAC地址(如虚拟MAC1),并标记该MAC地址不可用。而且,在服务器上也会预先配置该虚IP网段和该虚MAC范围,且该服务器只会对源IP地址属于该虚IP网段、源MAC地址属于该虚MAC范围的数据报文进行处理。
步骤7、SSL VPN网关1确定该终端设备能够访问服务器1和服务器2,并确定服务器1的IP地址20.1.1.254和服务器2的IP地址30.1.1.254,并确定该终端设备对应的认证加密信息。该认证加密信息可以包括但不限于:加密算法、交换加密密钥、消息完整性验证算法等信息,对此认证加密信息不做限制。
步骤8、SSL VPN网关1将携带UDP端口标识4430、虚拟接入IP地址10.1.1.1、虚拟MAC1、服务器1的IP地址20.1.1.254、服务器2的IP地址30.1.1.254、认证加密信息的响应报文发送给终端设备,并将携带认证加密信息、UDP端口标识4430和IP地址100.1.1.1的通知报文发送给SSL VPN网关2。
步骤9、SSL VPN网关1和SSL VPN网关2在本地存储介质中,保存该认证加密信息、该UDP端口标识4430和该IP地址100.1.1.1。
步骤10、终端设备在接收到来自SSL VPN网关1的该响应报文之后,从该响应报文中解析出该UDP端口标识4430、虚拟接入IP地址10.1.1.1、虚拟MAC1、服务器1的IP地址20.1.1.254、服务器2的IP地址30.1.1.254、以及认证加密信息,并利用上述信息向服务器1或者服务器2发送数据报文。
在一个例子中,终端设备在向服务器1(IP地址为20.1.1.254)发送数据报文的过程中,可以先生成一个内层报文,该内层报文的源IP地址为虚拟接入IP地址10.1.1.1,目的IP地址为服务器1的IP地址20.1.1.254,源MAC地址为虚拟MAC1,目的MAC地址为任意MAC。之后,终端设备利用该认证加密信息对该内层报文进行加密等处理,得到一个加密数据报文。之后,终端设备在该加密数据报文之前封装外层报文头,得到一个数据报文。其中,该外层报文头的源IP地址为100.1.1.1,目的IP地址为SSL VPN网关的组地址1.1.1.254。
需要说明的是,与传统方式不同的是,该数据报文并不是一个TCP类型的数据报文,而是一个UDP类型的数据报文。因此,该数据报文中未携带源TCP端口和目的TCP端口,而是携带源UDP端口和目的UDP端口。其中,该源UDP端口可以为任意的端口标识,目的UDP端口为上述UDP端口标识4430。
同理,针对终端设备向服务器2(IP地址为30.1.1.254)发送数据报文的过程,与终端设备向服务器1发送数据报文的过程类似,在此不再重复赘述。
在一个例子中,对于数据报文采用UDP类型,而不是采用TCP类型的原因,将在本申请实施例的后续过程中进行说明,在此不再详见赘述。
步骤11、网络设备R1在接收到数据报文之后,由于本地存在目的IP地址1.1.1.254的两条路由,SSL VPN网关1和VPN SSL网关2都是目的IP地址1.1.1.254对应的下一跳,因此,可以将该数据报文发送给SSL VPN网关1或者SSL VPN网关2,以将数据报文发送给SSLVPN网关1为例进行说明。
在一个例子中,若SSL VPN网关1发生故障,即SSL VPN网关1不在线后,则网络设备R1在检测到SSL VPN网关1故障时,会将SSL VPN网关1从1.1.1.254对应的下一跳中删除,这样,网络设备R1只会将目的IP地址1.1.1.254的数据报文发送给SSL VPN网关2。同理,若SSLVPN网关2发生故障,即SSL VPN网关2不在线后,则网络设备R1在检测到SSL VPN网关2故障时,会将SSL VPN网关2从1.1.1.254对应的下一跳中删除,这样,网络设备R1只会将目的IP地址1.1.1.254的数据报文发送给SSL VPN网关1。
步骤12、SSL VPN网关1在接收到数据报文后,确定数据报文的外层源IP地址100.1.1.1对应的认证加密信息,并利用该认证加密信息对该数据报文包括的内层报文进行解密处理。
步骤13、SSL VPN网关1将解密处理后的内层报文发送给服务器1。该内层报文的源IP地址为虚拟接入IP地址10.1.1.1,目的IP地址为服务器1的IP地址20.1.1.254,源MAC地址为虚拟MAC1,目的MAC地址为任意MAC。
步骤14、服务器1在接收到该内层报文后,向终端设备返回数据响应报文。其中,该数据响应报文的源IP地址可以为服务器1的IP地址20.1.1.254,目的IP地址可以为虚拟接入IP地址10.1.1.1,源MAC地址可以为服务器1的MAC地址,目的MAC地址可以为虚拟MAC1。
步骤15、网络设备R2在接收到该数据响应报文之后,进行负载分担,将该数据响应报文转发给SSL VPN网关1或者SSL VPN网关2。为了方便描述,以网络设备R2将该数据响应报文转发给SSL VPN网关2为例进行说明。
在一个例子中,可以在SSL VPN网关1和SSL VPN网关2上预先配置虚IP网段,如10.1.1.0/24。而且,SSL VPN网关1可以对外发布携带该IP网段10.1.1.0/24的路由,网络设备R2可以学习到携带该IP网段10.1.1.0/24的路由。SSL VPN网关2可以对外发布携带该IP网段10.1.1.0/24的路由,网络设备R2可以学习到携带该IP网段10.1.1.0/24的路由。因此,网络设备R2可以学习到IP网段10.1.1.0/24的两条路由,这两条路由在网络设备R2上,可以形成等价路由。综上所述,网络设备R2在接收到数据响应报文后,由于目的IP地址为IP地址10.1.1.1,该IP地址10.1.1.1可以匹配到IP网段10.1.1.0/24的两条路由,因此,可以将该数据响应报文转发给SSL VPN网关1或者SSL VPN网关2。
步骤16、SSL VPN网关2接收到该数据响应报文后,利用认证加密信息对该数据响应报文进行加密处理,得到加密数据报文。对加密数据报文进行封装,封装后的加密数据报文的外层源IP地址为组地址1.1.1.254,源UDP端口为UDP端口标识4430,目的IP地址为该终端设备的IP地址100.1.1.1,目的UDP端口为任意的端口标识。发送封装后的加密数据报文。
其中,SSL VPN网关2在接收到该数据响应报文后,可以先基于目的IP地址(10.1.1.1)和目的MAC地址(虚拟MAC1)确定终端设备的IP地址100.1.1.1,然后找到该IP地址100.1.1.1对应的认证加密信息和UDP端口标识4430,继而使用该认证加密信息对该数据响应报文进行加密处理,并在对加密数据报文进行封装处理时,在封装后的加密数据报文的外层源UDP端口中记录UDP端口标识4430。
需要说明的是,与传统方式不同的是,封装后的加密数据报文并不是一个TCP类型的报文,而是一个UDP类型的报文。因此,该报文中未携带源TCP端口和目的TCP端口,而是携带源UDP端口和目的UDP端口。其中,该源UDP端口可以为上述UDP端口标识4430,目的UDP端口为任意的端口标识。
在一个例子中,对于封装后的加密数据报文采用UDP类型,而不是采用TCP类型的原因,将在本申请实施例的后续过程中进行说明,在此不再赘述。
步骤17、网络设备R1在接收到封装后的加密数据报文后,将封装后的加密数据报文发送给终端设备。终端设备从封装后的加密数据报文中剥掉外层报文头,得到一个加密数据报文,并利用认证加密信息对该加密数据报文进行解密等处理,得到数据响应报文,即服务器返回的数据响应报文。
至此,完成了终端设备访问VPN网络内的服务器资源的过程。
以下对报文采用UDP类型的原因进行详细说明。
若终端设备向SSL VPN网关1发送TCP类型的数据报文(即外层报文头携带的是TCP端口的信息),只有SSL VPN网关1返回的响应报文,终端设备才认为是上述数据报文的响应报文,可以继续发送数据报文,而对于SSL VPN网关2返回的响应报文,终端设备不认为是上述数据报文的响应报文,因此会丢弃该响应报文,继续等待响应报文,从而导致传输异常。
实际上,无论是网络设备R1向SSL VPN网关1或者SSL VPN网关2发送数据报文,还是网络设备R2向SSL VPN网关1或者SSL VPN网关2发送响应报文,为了实现负载分担功能,均会将数据报文/响应报文发送给SSL VPN网关1或者SSL VPN网关2,因此会存在上述传输异常的问题。
与此不同的是,若终端设备向SSL VPN网关1发送UDP类型的数据报文(即外层报文头携带的是UDP端口的信息),则无论是SSL VPN网关1返回的响应报文,还是SSL VPN网关2返回的响应报文,终端设备均认为是上述数据报文的响应报文,终端设备可以继续发送数据报文,避免传输异常。基于此,本申请实施例中,终端设备向SSL VPN网关发送UDP类型的数据报文(即外层报文头携带UDP端口标识4430),SSL VPN网关向终端设备发送UDP类型的响应报文(即外层报文头携带UDP端口标识4430)。
基于与上述方法同样的申请构思,本申请实施例中还提供了一种报文传输装置,应用于网关组内的SSL VPN网关,所述网关组包括一个主SSL VPN网关和至少一个备SSLVPN网关,所述网关组内的各SSL VPN网关使用相同组地址。其中,该报文传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的SSL VPN网关的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本申请提出的报文传输装置所在的SSLVPN网关的一种硬件结构图,除了图3所示的处理器、非易失性存储器外,该SSL VPN网关还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该SSL VPN网关还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图4所示,为本申请提出的报文传输装置的结构图,包括:
发送模块11,用于向本SSL VPN网关的邻居网络设备发布携带所述组地址的路由,以使所述邻居网络设备将目的IP地址为所述组地址的报文,发送给所述网关组内的SSLVPN网关;
接收模块12,用于接收所述邻居网络设备发送的报文;
所述发送模块11,还用于当所述报文为会话协商请求报文且本SSL VPN网关是备SSL VPN网关时,将所述会话协商请求报文发送给主SSL VPN网关;
确定模块13,用于当所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关时,则确定所述会话协商请求报文的源IP地址对应的第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息;
所述发送模块11,还用于当本SSL VPN网关是主SSL VPN网关时,将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备,并将所述认证加密信息发送给每个备SSL VPN网关。
在所述接收模块12接收所述邻居网络设备发送的报文之后;
所述发送模块11,还用于当所述报文为数据报文时,则利用第二终端设备对应的认证加密信息对所述数据报文包括的内层报文进行解密处理;其中,所述第二终端设备为所述数据报文的外层源IP地址对应的终端设备;将解密处理后的内层报文发送给所述内层报文的目的IP地址对应的服务器。
若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关;所述确定模块13,还用于从所述会话协商请求报文中解析出身份信息,并利用所述身份信息对所述第一终端设备进行认证;若认证成功,则确定所述第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息。
若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关;所述确定模块13,还用于为所述第一终端设备分配用户数据报协议UDP端口标识;所述发送模块12,还用于将所述UDP端口标识发送给每个备SSL VPN网关;所述响应报文还携带所述UDP端口标识,所述UDP端口标识用于使所述第一终端设备在发送数据报文时,在外层报文头中添加所述UDP端口标识。
所述发送模块11,还用于在接收到服务器发送的数据响应报文后,利用第三终端设备对应的认证加密信息对所述数据响应报文进行加密处理,得到加密数据报文;其中,所述第三终端设备为所述数据响应报文的目的IP地址对应的终端设备;对所述加密数据报文进行封装,封装后的加密数据报文的外层源IP地址为所述组地址,源端口为所述第三终端设备对应的UDP端口标识;将封装后的加密数据报文发送给所述第三终端设备。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (8)
1.一种报文传输方法,其特征在于,应用于网关组内的安全套接字层虚拟专用网络SSLVPN网关,所述网关组包括一个主SSL VPN网关和至少一个备SSL VPN网关,所述网关组内的各SSL VPN网关使用相同组地址,该方法包括:
向本SSL VPN网关的邻居网络设备发布携带所述组地址的路由,以使所述邻居网络设备将目的IP地址为所述组地址的报文,发送给所述网关组内的SSL VPN网关;其中,本SSLVPN网关为主SSL VPN网关或备SSL VPN网关;
接收所述邻居网络设备发送的报文;
若所述报文为会话协商请求报文且本SSL VPN网关是备SSL VPN网关,则将所述会话协商请求报文发送给主SSL VPN网关;
若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关,则确定所述会话协商请求报文的源IP地址对应的第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息,并将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备,将所述加密认证信息发送给每个备SSL VPN网关;
其中,若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关,在将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备之前,所述方法还包括:
为所述第一终端设备分配用户数据报协议UDP端口标识;
将所述UDP端口标识发送给每个备SSL VPN网关;
所述响应报文还携带所述UDP端口标识,所述UDP端口标识用于使所述第一终端设备在发送数据报文时,在外层报文头中添加所述UDP端口标识。
2.根据权利要求1所述的方法,其特征在于,在接收所述邻居网络设备发送的报文之后,所述方法还包括:
若所述报文为数据报文,则利用第二终端设备对应的加密认证信息对所述数据报文包括的内层报文进行解密处理;其中,所述第二终端设备为所述数据报文的外层源IP地址对应的终端设备;
将解密处理后的内层报文发送给所述内层报文的目的IP地址对应的服务器。
3.根据权利要求1所述的方法,其特征在于,若所述报文为会话协商请求报文且本SSLVPN网关是主SSL VPN网关,在确定所述会话协商请求报文的源IP地址对应的第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息之前,所述方法还包括:
从所述会话协商请求报文中解析出身份信息,并利用所述身份信息对所述第一终端设备进行认证;
若认证成功,则执行确定所述第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息的过程。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在接收到服务器发送的数据响应报文后,利用第三终端设备对应的加密认证信息对所述数据响应报文进行加密处理,得到加密数据报文;其中,所述第三终端设备为所述数据响应报文的目的IP地址对应的终端设备;
对所述加密数据报文进行封装,封装后的加密数据报文的外层源IP地址为所述组地址,源端口为所述第三终端设备对应的UDP端口标识;
将封装后的加密数据报文发送给所述第三终端设备。
5.一种报文传输装置,其特征在于,应用于网关组内的安全套接字层虚拟专用网络SSLVPN网关,所述网关组包括一个主SSL VPN网关和至少一个备SSL VPN网关,所述网关组内的各SSL VPN网关使用相同组地址,所述装置包括:
发送模块,用于向本SSL VPN网关的邻居网络设备发布携带所述组地址的路由,以使所述邻居网络设备将目的IP地址为所述组地址的报文,发送给所述网关组内的SSL VPN网关;其中,本SSL VPN网关为主SSL VPN网关或备SSL VPN网关;
接收模块,用于接收所述邻居网络设备发送的报文;
所述发送模块,还用于当所述报文为会话协商请求报文且本SSL VPN网关是备SSL VPN网关时,则将所述会话协商请求报文发送给主SSL VPN网关;
确定模块,用于当所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关时,则确定所述会话协商请求报文的源IP地址对应的第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息;
所述发送模块,还用于当本SSL VPN网关是主SSL VPN网关时,将携带所述服务器的IP地址及所述加密认证信息的响应报文发送给所述第一终端设备,并将所述加密认证信息发送给每个备SSL VPN网关;
其中,若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关;所述确定模块,还用于为所述第一终端设备分配用户数据报协议UDP端口标识;所述发送模块,还用于将所述UDP端口标识发送给每个备SSL VPN网关;所述响应报文还携带所述UDP端口标识,所述UDP端口标识用于使所述第一终端设备在发送数据报文时,在外层报文头中添加所述UDP端口标识。
6.根据权利要求5所述的装置,其特征在于,
在所述接收模块接收所述邻居网络设备发送的报文之后;
所述发送模块,还用于当所述报文为数据报文时,则利用第二终端设备对应的加密认证信息对所述数据报文包括的内层报文进行解密处理;其中,所述第二终端设备为所述数据报文的外层源IP地址对应的终端设备;将解密处理后的内层报文发送给所述内层报文的目的IP地址对应的服务器。
7.根据权利要求5所述的装置,其特征在于,
若所述报文为会话协商请求报文且本SSL VPN网关是主SSL VPN网关;
所述确定模块,还用于从所述会话协商请求报文中解析出身份信息,并利用所述身份信息对所述第一终端设备进行认证;若认证成功,则确定所述第一终端设备能够访问的服务器及所述第一终端设备对应的加密认证信息。
8.根据权利要求5所述的装置,其特征在于,
所述发送模块,还用于在接收到服务器发送的数据响应报文后,利用第三终端设备对应的加密认证信息对所述数据响应报文进行加密处理,得到加密数据报文;其中,所述第三终端设备为所述数据响应报文的目的IP地址对应的终端设备;对所述加密数据报文进行封装,封装后的加密数据报文的外层源IP地址为所述组地址,源端口为所述第三终端设备对应的UDP端口标识;将封装后的加密数据报文发送给所述第三终端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610971698.0A CN106506354B (zh) | 2016-10-31 | 2016-10-31 | 一种报文传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610971698.0A CN106506354B (zh) | 2016-10-31 | 2016-10-31 | 一种报文传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106506354A CN106506354A (zh) | 2017-03-15 |
CN106506354B true CN106506354B (zh) | 2021-02-26 |
Family
ID=58323126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610971698.0A Active CN106506354B (zh) | 2016-10-31 | 2016-10-31 | 一种报文传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106506354B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108401262A (zh) * | 2018-02-06 | 2018-08-14 | 武汉斗鱼网络科技有限公司 | 一种终端应用通信数据获取与分析的方法及装置 |
CN110505244B (zh) * | 2019-09-19 | 2020-06-02 | 南方电网数字电网研究院有限公司 | 远程隧道访问技术网关以及服务器 |
CN112995120A (zh) * | 2019-12-18 | 2021-06-18 | 北京国双科技有限公司 | 一种数据监测方法及装置 |
CN110995564B (zh) * | 2019-12-31 | 2021-11-12 | 北京天融信网络安全技术有限公司 | 一种报文传输方法、装置及安全网络系统 |
CN111371798B (zh) * | 2020-02-24 | 2024-08-16 | 迈普通信技术股份有限公司 | 数据安全传输方法、系统、装置及存储介质 |
CN113766434B (zh) * | 2021-10-08 | 2022-03-04 | 亿次网联(杭州)科技有限公司 | 文件共享方法、装置、家庭云服务器及存储介质 |
CN116781428B (zh) * | 2023-08-24 | 2023-11-07 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于虚拟专用网络vpn流量的转发系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9219781B2 (en) * | 2013-04-06 | 2015-12-22 | Citrix Systems, Inc. | Systems and methods for GSLB preferred backup list |
CN105393220A (zh) * | 2013-05-15 | 2016-03-09 | 思杰系统有限公司 | 用于在集群系统中部署点状虚拟服务器的系统和方法 |
US9438701B2 (en) * | 2012-05-05 | 2016-09-06 | Citrix Systems, Inc. | Systems and methods for a SPDY to HTTP gateway |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286884B (zh) * | 2008-05-15 | 2010-07-28 | 杭州华三通信技术有限公司 | 一种实现非状态多主备份的方法及代理网关 |
US8613072B2 (en) * | 2009-02-26 | 2013-12-17 | Microsoft Corporation | Redirection of secure data connection requests |
CN101902400A (zh) * | 2010-07-21 | 2010-12-01 | 成都市华为赛门铁克科技有限公司 | 网关负载均衡方法、系统和客户端设备 |
CN102223365B (zh) * | 2011-06-03 | 2014-02-12 | 杭州华三通信技术有限公司 | 基于ssl vpn网关集群的用户接入方法及其装置 |
US9900379B2 (en) * | 2013-04-06 | 2018-02-20 | Citrix Systems, Inc. | Systems and methods for startup round robin enhancement |
CN104702476B (zh) * | 2013-12-05 | 2018-07-31 | 华为技术有限公司 | 基于分布式网关的报文处理方法及网络虚拟化边缘点 |
-
2016
- 2016-10-31 CN CN201610971698.0A patent/CN106506354B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9438701B2 (en) * | 2012-05-05 | 2016-09-06 | Citrix Systems, Inc. | Systems and methods for a SPDY to HTTP gateway |
US9219781B2 (en) * | 2013-04-06 | 2015-12-22 | Citrix Systems, Inc. | Systems and methods for GSLB preferred backup list |
CN105393220A (zh) * | 2013-05-15 | 2016-03-09 | 思杰系统有限公司 | 用于在集群系统中部署点状虚拟服务器的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106506354A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106506354B (zh) | 一种报文传输方法和装置 | |
US10708245B2 (en) | MACsec for encrypting tunnel data packets | |
US11165604B2 (en) | Method and system used by terminal to connect to virtual private network, and related device | |
KR101680955B1 (ko) | 다중 터널 가상 사설 네트워크 | |
US7774837B2 (en) | Securing network traffic by distributing policies in a hierarchy over secure tunnels | |
US8713305B2 (en) | Packet transmission method, apparatus, and network system | |
ES2596177T3 (es) | Método, equipo y sistema de red para hacer comunicar un terminal con un servidor de infraestructura de un subsistema multimedia IP (IMS) atravesando una red privada | |
CN104168173B (zh) | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络系统 | |
US20180375644A1 (en) | Introducing middleboxes into secure communications between a client and a server | |
CN111385259B (zh) | 一种数据传输方法、装置、相关设备及存储介质 | |
EP3861690B1 (en) | Securing mpls network traffic | |
CN110690961B (zh) | 一种量子网络功能虚拟化方法与装置 | |
WO2019129201A1 (en) | Session management for communications between a device and a dtls server | |
KR101743559B1 (ko) | 가상 사설 네트워크 시스템, 그를 이용하는 pc방 네트워크, 및 그를 위한 매니저 장치 | |
CN112367163B (zh) | 一种量子网络虚拟化方法与装置 | |
US9473466B2 (en) | System and method for internet protocol security processing | |
US20240114013A1 (en) | Packet processing method, client end device, server end device, and computer-readable medium | |
US20080072033A1 (en) | Re-encrypting policy enforcement point | |
CN105591748B (zh) | 一种认证方法和装置 | |
CN108924157B (zh) | 一种基于IPSec VPN的报文转发方法及装置 | |
CN112887187B (zh) | 一种设备间通信建立方法、系统、装置、设备及介质 | |
KR101329968B1 (ko) | IPSec VPN 장치들 사이의 보안 정책을 결정하기 위한 방법 및 시스템 | |
US20080222693A1 (en) | Multiple security groups with common keys on distributed networks | |
CN103067282A (zh) | 数据备份方法、装置及系统 | |
WO2016082363A1 (zh) | 用户数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |