报文转发方法及装置制造方法及图纸

技术编号:15695277 阅读:171 留言:0更新日期:2017-06-24 10:42
本申请提供一种报文转发方法及装置,其中,该方法包括:接收本地VM发来的第一用户报文;确定第一用户报文所属的第一VPN实例,根据第一用户报文的目的地址,在第一VPN实例对应的转发表中查找SSL VPN隧道;该SSL VPN隧道还用于转发属于除第一VPN实例之外的其它VPN实例的用户报文;在第一用户报文中封装第一VPN实例对应的VPN标签后进行隧道封装得到第一隧道封装报文,通过该SSL VPN隧道转发第一隧道封装报文,以使接收到第一隧道封装报文的远端网关设备,对第一隧道封装报文进行隧道解封装后得到第一用户报文,根据第一用户报文携带的VPN标签,将第一用户报文在第一VPN实例内进行本地转发。

【技术实现步骤摘要】
报文转发方法及装置
本申请涉及网络通信
,特别涉及一种报文转发方法及装置。
技术介绍
为了实现高可靠性和冗余部署,提供更好的服务,大多数企业网络及其数据中心或服务提供商通常在异地部署多个数据中心,实现负载分担和高可靠性,并实现虚拟机(VirtualMachine,虚拟机)在数据中心之间的自由迁移。如图1所示,数据中心1、数据中心2和数据中心3处于不同地域,GW1、GW2和GW3分别是数据中心1、数据中心2和数据中心3的网关设备,GW1、GW2和GW3都接入互联网,通过互联网实现数据中心之间的数据通信。SSL(SecureSocketsLayer,安全套接层)VPN(VirtualPrivateNetwork,虚拟专用网络)是以SSL为基础的VPN技术。SSLVPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,能够为应用层之间的通信建立安全连接。目前,SSLVPN技术主要应用于远程用户主机接入企业网络。当SSLVPN技术应用于如图1所示的多数据中心网络时,由于数据中心内部存在多个VPN,因此,需要在两个数据中心的网关设备之间为每个VPN均建立对应的SSLVPN隧道,从而,占用了较多的隧道资源和公网IP地址资源。
技术实现思路
有鉴于此,本申请提供一种报文转发方法及装置。具体地,本申请是通过如下技术方案实现的:一方面,提供了一种报文转发方法,该方法应用于数据中心的网关设备,该方法包括:接收本数据中心内的本地VM发来的第一用户报文;确定第一用户报文所属的第一VPN实例,根据第一用户报文的目的地址,在第一VPN实例对应的转发表中查找用于转发第一用户报文的SSLVPN隧道;用于转发第一用户报文的SSLVPN隧道还用于转发属于除第一VPN实例之外的其它VPN实例的用户报文;在第一用户报文中封装第一VPN实例对应的VPN标签后进行SSLVPN隧道封装得到第一隧道封装报文,通过用于转发第一用户报文的SSLVPN隧道转发第一隧道封装报文,以使接收到第一隧道封装报文的远端网关设备,对第一隧道封装报文进行SSLVPN隧道解封装后得到第一用户报文,根据第一用户报文携带的VPN标签,将第一用户报文在第一VPN实例内进行本地转发。另一方面,还提供了一种报文转发装置,该装置应用于数据中心的网关设备中,该装置包括:接收单元,用于接收本数据中心内的本地VM发来的第一用户报文;查找单元,用于确定第一用户报文所属的第一VPN实例,根据第一用户报文的目的地址,在第一VPN实例对应的转发表中查找用于转发第一用户报文的SSLVPN隧道;用于转发第一用户报文的SSLVPN隧道还用于转发属于除第一VPN实例之外的其它VPN实例的用户报文;发送单元,用于在第一用户报文中封装第一VPN实例对应的VPN标签后进行SSLVPN隧道封装得到第一隧道封装报文,通过查找单元查找到的用于转发第一用户报文的SSLVPN隧道转发第一隧道封装报文,以使接收到第一隧道封装报文的远端网关设备,对第一隧道封装报文进行SSLVPN隧道解封装后得到第一用户报文,根据第一用户报文携带的VPN标签,将第一用户报文在第一VPN实例内进行本地转发。通过本申请的以上技术方案,不同数据中心的网关设备之间建立SSLVPN隧道,网关设备接收到某一VPN实例内的本地VM发来的用户报文后,会将该VPN实例对应的VPN标签携带在该用户报文中,然后通过该SSLVPN隧道发送给远端网关设备,远端网关设备通过该报文中携带的VPN标签即可确定出对应的VPN实例,从而将该用户报文在该VPN实例内进行本地转发,这样,数据中心内的多个VPN实例可以共享同一SSLVPN隧道,无需在网关设备之间为每个VPN均建立对应的SSLVPN隧道,从而节约了隧道资源和公网IP地址资源。而且,由于通过SSLVPN隧道进行数据中心之间的数据通信,从而确保了数据中心之间数据通信的可靠性。附图说明图1是包含有多个数据中心的网络架构示意图;图2是本申请一示例性实施例示出的报文转发方法的流程图;图3是本申请一示例性实施例示出的建立SSLVPN隧道的流程图;图4是本申请一示例性实施例示出的建立了SSLVPN隧道的网络架构示意图;图5是本申请实施例一示出的用户报文与隧道封装报文的格式对比示意图;图6是本申请一示例性实施例示出的报文转发装置所在网关设备的硬件结构示意图;图7是本申请一示例性实施例示出的报文转发装置的一种结构示意图;图8是本申请一示例性实施例示出的报文转发装置的另一种结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请以下实施例中提供了一种报文转发方法,以及一种可以实现该方法的报文转发装置,可以基于SSLVPN隧道实现跨数据中心的数据通信。本申请实施例的报文转发方法可以由如图1所示的任一数据中心的网关设备来执行,如图2所示,该方法中包括以下步骤:步骤S101,接收本数据中心内的本地VM发来的第一用户报文;步骤S102,确定第一用户报文所属的第一VPN实例,根据第一用户报文的目的地址,在第一VPN实例对应的转发表中查找用于转发第一用户报文的SSLVPN隧道;用于转发第一用户报文的SSLVPN隧道还用于转发属于除第一VPN实例之外的其它VPN实例的用户报文;步骤S103,在第一用户报文中封装第一VPN实例对应的VPN标签后进行SSLVPN隧道封装得到第一隧道封装报文,通过用于转发第一用户报文的SSLVPN隧道转发第一隧道封装报文,以使接收到第一隧道封装报文的远端网关设备,对第一隧道封装报文进行SSLVPN隧道解封装后得到第一用户报文,根据第一用户报文携带的VPN标签,将第一用户报文在第一VPN实例内进行本地转发。另外,本端网关设备也会接收远端网关设备通过SSLVPN隧道发来的第二隧道封装报文,对接收到的第二隧道封装报文进行SSLVPN隧道解封装后得到第二用户报文,然后,确定与该第二用户报文携带的VPN标签对应的第二VPN实例,将该第二用户报文在该第二VPN实例内进行本地转发,最终发送给本地VM。在本端网关设备与远端网关设备进行数据通信之前,需要建立本端网关设备与远端网关设备之间的SSLVPN隧道,隧道建立过程如下:当本本文档来自技高网...
报文转发方法及装置

【技术保护点】
一种报文转发方法,其特征在于,所述方法应用于数据中心的网关设备,所述方法包括:接收本数据中心内的本地虚拟机VM发来的第一用户报文;确定所述第一用户报文所属的第一VPN实例,根据所述第一用户报文的目的地址,在所述第一VPN实例对应的转发表中查找用于转发所述第一用户报文的SSL VPN隧道;所述用于转发所述第一用户报文的SSL VPN隧道还用于转发属于除第一VPN实例之外的其它VPN实例的用户报文;在所述第一用户报文中封装所述第一VPN实例对应的VPN标签后进行SSL VPN隧道封装得到第一隧道封装报文,通过所述用于转发所述第一用户报文的SSL VPN隧道转发所述第一隧道封装报文,以使接收到所述第一隧道封装报文的远端网关设备,对所述第一隧道封装报文进行SSL VPN隧道解封装后得到第一用户报文,根据所述第一用户报文携带的VPN标签,将所述第一用户报文在所述第一VPN实例内进行本地转发。

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法应用于数据中心的网关设备,所述方法包括:接收本数据中心内的本地虚拟机VM发来的第一用户报文;确定所述第一用户报文所属的第一VPN实例,根据所述第一用户报文的目的地址,在所述第一VPN实例对应的转发表中查找用于转发所述第一用户报文的SSLVPN隧道;所述用于转发所述第一用户报文的SSLVPN隧道还用于转发属于除第一VPN实例之外的其它VPN实例的用户报文;在所述第一用户报文中封装所述第一VPN实例对应的VPN标签后进行SSLVPN隧道封装得到第一隧道封装报文,通过所述用于转发所述第一用户报文的SSLVPN隧道转发所述第一隧道封装报文,以使接收到所述第一隧道封装报文的远端网关设备,对所述第一隧道封装报文进行SSLVPN隧道解封装后得到第一用户报文,根据所述第一用户报文携带的VPN标签,将所述第一用户报文在所述第一VPN实例内进行本地转发。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收远端网关设备通过SSLVPN隧道发来的第二隧道封装报文,对所述第二隧道封装报文进行SSLVPN隧道解封装后得到第二用户报文,确定与所述第二用户报文携带的VPN标签对应的第二VPN实例,将所述第二用户报文在所述第二VPN实例内进行本地转发。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当本设备作为SSLVPN客户端时,向作为SSLVPN服务器的远端网关设备发送SSLVPN连接请求消息,以使所述作为SSLVPN服务器的远端网关设备对本设备进行身份认证,在认证通过后,将所述作为SSLVPN服务器的远端网关设备所属的远端数据中心内的多个远端VM的地址和多个远端VM所属VPN实例对应的VPN标签携带在资源授权报文中发送给本设备;接收所述作为SSLVPN服务器的远端网关设备发来的所述资源授权报文;确认本设备与所述作为SSLVPN服务器的远端网关设备之间的SSLVPN隧道建立成功;根据所述多个远端VM的地址和多个远端VM所属VPN实例对应的VPN标签,针对所述多个远端VM中的每个远端VM,将建立成功的SSLVPN隧道与该远端VM的地址的对应关系配置到该远端VM所属VPN实例对应的转发表中。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当本设备作为SSLVPN服务器时,接收作为SSLVPN客户端的远端网关设备发来的SSLVPN连接请求消息;对所述作为SSLVPN客户端的远端网关设备进行身份认证,在认证通过后,将多个本地VM的地址和多个本地VM所属VPN实例对应的VPN标签携带在资源授权报文中发送给所述作为SSLVPN客户端的远端网关设备。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:接收控制器发来的需要建立SSLVPN隧道的网关设备的地址列表,以及VPN实例与VPN标签的对应关系;在判断出所述地址列表中存在本设备的地址时,针对所述地址列表中除本设备的地址以外的其它地址,将本设备作为SSLVPN客户端,将地址为所述其它地址的远端网关设备作为SSLVPN服务器,向作为SSLVPN服务器的远端网关设备发送SSLVPN连接请求消息,以建立本设备与作为SSLVPN服务器的远端网关设备之间的SSLVPN隧道。6.一种报文转发装置,其特征在于,所述装置应用于数据中心的网关设备中,所述装置包括:接收单元,用于接...

【专利技术属性】
技术研发人员:宋小恒
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1