用于处理VXLAN报文的方法、装置及系统与流程

文档序号:11842425阅读:463来源:国知局
用于处理VXLAN报文的方法、装置及系统与流程

本发明涉及通信技术,尤其涉及一种用于处理虚拟可扩展局域网(英文全称:Virtual Extensible Local Area Network,英文缩写:VXLAN)报文的方法、装置及系统。



背景技术:

VXLAN可应用于数据中心内部,使虚拟机可以在互相连通的三层网络范围内迁移,而不需要改变互联网协议(英文全称:Internet Protocol,英文缩写:IP)地址和媒体接入控制(英文全称:Media Access Control,英文缩写:MAC)地址,保证业务的连续性。互联网协议安全性(英文全称:Internet Protocol Security,英文缩写:IPSec)协议可通过使用加密的安全服务来确保在IP网络上进行保密而安全的通讯。封装安全载荷(英文全称:Encapsulating Security Payload,英文缩写:ESP)协议是IPsec协议中的一种主要协议,IPsec-ESP可应用于不同的数据中心(英文全称:Data Center,英文缩写:DC)间通信的场景。

在不同的DC间通信场景中,比如在DC1和DC2间通信的场景中,属于DC1的第一路由器可接收属于DC1的虚拟隧道端点(英文全称:virtual tunnel end point,英文缩写:VTEP)发送的VXLAN报文。第一路由器对接收到的VXLAN报文进行IPsec-ESP封装,获得IPsec-ESP报文。IPsec-ESP报文包括加密后的VXLAN报文、封装于加密后的VXLAN报文外的ESP头以及封装于ESP头外的IP头。IP头包括源IP地址和目的IP地址,源IP地址为第一路由器的IP地址,目的IP地址为第二路由器的IP地址。第二路由器属于DC2。第一路由器向第二路由器发送IPsec-ESP报文。

位于第一路由器和第二路由器之间的路由器可转发IPsec-ESP报文,但是,位于第一路由器和第二路由器间的传输路径上的路由器无法感知IPsec-ESP报文中VXLAN报文所包括的与VXLAN相关的信息,比如VXLAN网络标识(英文全称:VXLAN Network Identifier,英文缩写:VNI),进而无法进行负载分担等业务处理。



技术实现要素:

有鉴于此,本发明实施例提供了一种用于处理VXLAN报文的方法、装置及系统,有助于不同的数据中心间的路由器获得VNI。

本发明实施例提供的技术方案如下。

第一方面,提供了一种用于处理VXLAN报文的方法,包括:

第一路由器接收VTEP发送的VXLAN报文,所述VXLAN报文包括VNI;

所述第一路由器根据所述VXLAN报文,获得封装后的报文,所述封装后的报文是对所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、所述VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间;

所述第一路由器向第二路由器发送所述封装后的报文。

在第一方面的第一种可能的实现方式中,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI。

结合上述第一方面,还提供了第一方面的第二种可能的实现方式,所述封装后的报文还包括封装于所述IP头与所述VNI之间的用户数据包协议(英文全称:User Datagram Protocol,英文缩写:UDP)头,所述UDP头为来自所述VTEP的所述VXLAN报文所包括的UDP头;

所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI。

第二方面,提供了一种用于处理VXLAN报文的方法,包括:

第二路由器接收第一路由器发送的封装后的报文,所述封装后的报文是对来自VTEP的VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间;

所述第二路由器从所述封装后的报文获得所述VNI。

在第二方面的第一种可能的实现方式中,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI,所述第二路由器从所述封装后的报文获得所述VNI包括:

所述第二路由器根据所述IP头包括的所述第一标识信息,确定所述封装后的报文包括所述VNI;

所述第二路由器从所述IP头和所述ESP头之间获得所述VNI。

结合上述第二方面,还提供了第二方面的第二种可能的实现方式,所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文包括的UDP头,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI;

所述第二路由器从所述封装后的报文获得所述VNI包括:

所述第二路由器根据所述IP头包括的所述第一标识信息,获得封装于所述IP头与所述VNI之间的UDP头;

所述第二路由器根据封装于所述IP头与所述VNI之间的UDP头包括的所述第二标识信息,确定所述封装后的报文包括所述VNI;

所述第二路由器从所述IP头和所述ESP头之间获得所述VNI。

第三方面,提供了第一路由器,包括:

接收单元,用于接收VTEP发送的VXLAN报文,所述VXLAN报文包括VNI;

处理单元,用于根据所述VXLAN报文,获得封装后的报文,所述封装后的报文是对所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、所述VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间;

发送单元,用于向第二路由器发送所述封装后的报文。

在第三方面的第一种可能的实现方式中,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI。

结合上述第三方面,还提供了第三方面的第二种可能的实现方式,所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文所包括的UDP头;

所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI。

第四方面,提供了第二路由器,包括:

接收单元,用于接收第一路由器发送的封装后的报文,所述封装后的报文是对来自VTEP的所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间;

处理单元,用于从所述封装后的报文获得所述VNI。

在第四方面的第一种可能的实现方式中,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI;

所述处理单元具体用于根据所述IP头包括的所述第一标识信息,确定所述封装后的报文包括所述VNI;

所述处理单元具体用于从所述IP头和所述ESP头之间获得所述VNI。

结合上述第四方面,还提供了第四方面的第二种可能的实现方式,所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文包括的UDP头,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI;

所述处理单元具体用于根据所述IP头包括的所述第一标识信息,获得封装于所述IP头与所述VNI之间的UDP头;

所述处理单元具体用于根据封装于所述IP头与所述VNI之间的UDP头包括的所述第二标识信息,确定所述封装后的报文包括所述VNI;

所述处理单元具体用于从所述IP头和所述ESP头之间获得所述VNI。

第五方面,提供了用于处理VXLAN报文的系统,包括:

上述第三方面或第三方面的任意一种可能的实现方式所提供的第一路 由器和上述第四方面或第四方面的任意一种可能的实现方式所提供的第二路由器。

通过上述方案,本发明实施例提供的用于处理VXLAN报文的方法、装置及系统中,第一路由器对VTEP发送的VXLAN报文进行IPsec-ESP封装,获得封装后的报文。所述第一路由器将所述VTEP发送的所述VXLAN报文包括的VNI封装于所述封装后的报文包括的IP头和ESP头之间。所述第一路由器向第二路由器发送所述封装后的报文。所述第二路由器从所述封装后的报文中获得封装于IP头和ESP头之间的VNI。这样,位于不同的数据中心间的路由器,比如第二路由器,可从接收到的封装后的报文中获得VNI。

附图说明

为了更清楚地说明本发明实施例或现有技术中的方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例提供的用于处理VXLAN报文的方法流程图;

图2为本发明第二实施例提供的用于处理VXLAN报文的方法流程图;

图3a为本发明实施例提供的一种封装后的报文的示意图;

图3b为本发明实施例提供的另一种封装后的报文的示意图;

图4a为本发明实施例提供的一种封装后的报文的示意图;

图4b为本发明实施例提供的另一种封装后的报文的示意图;

图5为本发明实施例提供的封装后的报文包括的IP头的示意图;

图6为本发明实施例提供的封装后的报文包括的UDP头的示意图;

图7为本发明实施例提供的第一路由器的结构示意图;

图8为本发明另一实施例提供的第一路由器的结构示意图;

图9为本发明实施例提供的第二路由器的结构示意图;

图10为本发明另一实施例提供的第二路由器的结构图示意图;

图11为本发明实施例提供的用于处理VXLAN报文的系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明第一实施例提供的用于处理VXLAN报文的方法的流程图。本发明第一实施例是从第一路由器的角度,对用于处理VXLAN报文的方法进行说明。所述第一路由器可以是运营商边缘(英文全称:provider edge,英文缩写:PE)设备。下面结合图1,对本发明第一实施例提供的用于处理VXLAN报文的方法进行说明。

S102,第一路由器接收VTEP发送的VXLAN报文,所述VXLAN报文包括VNI。

举例说明,在不同的DC之间通信场景中,第一路由器可以属于DC1。DC1中的VTEP可将虚拟机(英文全称:virtual machine,英文缩写:VM)发送的业务报文进行VXLAN封装,获得VXLAN报文。DC1中的VTEP所获得的VXLAN报文包括VNI。DC1中的VTEP所获得的VXLAN报文需要发送至另一DC中的VM,比如DC2中的VM。第一路由器可接收DC1 中的VTEP发送的VXLAN报文。其中,VNI可用于区分不同的VXLAN。比如:一个VNI可用于标识一个租户。

S104,所述第一路由器根据所述VXLAN报文,获得封装后的报文,所述封装后的报文是对所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、所述VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间。

举例说明,所述第一路由器可将VXLAN报文包括的VNI插入所述封装后的报文包括的所述IP头和所述ESP头之间。

举例说明,所述第一路由器根据所述VXLAN报文,获得封装后的报文包括:所述第一路由器从所述VXLAN报文获得所述VNI;所述第一路由器对所述VXLAN报文进行IPsec-ESP封装,获得IPsec-ESP封装报文,所述IPsec-ESP封装报文包括加密的VXLAN报文、封装于加密的VXLAN报文外的ESP头和封装于ESP头外的IP头;所述第一路由器将所述VNI插入IPsec-ESP封装报文包括的IP头和所述ESP头之间,获得所述封装后的报文。所述封装后的报文可以为图3a或图3b所示的报文。图3a所示的报文为采用传输(英文名称为transport)模式发送的封装后的报文。图3a所示的报文包括的IP头可采用图5所示的结构。图3b所示的报文为采用隧道(英文名称为tunnel)模式发送的封装后的报文。图3b所示的报文中包括的内网IP头为VTEP向第一路由器发送的VXLAN报文包括的IP头。图3b所示的报文包括的IP头可采用图5所示的结构。图3a和图3b中加密的VXLAN报文是VTEP发送的VXLAN经加密后获得的报文,在此不再对加密的VXLAN报文包括的内容进行赘述。

举例说明,所述第一路由器根据所述VXLAN报文,获得封装后的报文 包括:所述第一路由器从所述VXLAN报文获得所述VNI;所述第一路由器对所述VXLAN报文进行加密,获得加密后的VXLAN报文;所述第一路由器在所述加密后的VXLAN报文外逐层封装所述ESP头、所述VNI和所述IP头。所述封装后的报文可以为图3a或图3b所示的报文。

可选地,所述封装后的报文包括的IP头还可包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI。

举例说明,若图3a或图3b的封装后的报文包括的IP头采用图5所示的IP头。所示第一标识信息可以携带于图5所示的IP头中的协议号字段。在本实施例中图5所示的IP头中的协议号字段可用于表示IP头后的报文类型,例如将所述协议号字段定义为“ESP/VXLAN”,用以标明IP头后的报文类型为封装了VXLAN头的ESP报文。其中,封装了VXLAN头的ESP报文可以是在ESP报文外封装包含VNI的VXLAN头,还可以是在ESP报文外封装了所述VNI。所述第一路由器可在所述ESP头和所述IP头之间增加所述VNI后,对所述IP头包含的信息进行更新。如图5所示的IP头,所述第一路由器可在所述ESP头和所述IP头之间增加了所述VNI后,对IP头包括的协议号字段、总长度字段和头部校验和字段进行更新,使得增加了所述VNI的封装后的报文满足格式要求。

可选地,所述第一路由器可从来自VTEP的VXLAN报文中获得VXLAN头,所述VXLAN头包括所述VNI。所述第一路由器将VXLAN报文包括的VXLAN头封装于所述IP头和所述ESP头之间,获得封装后的报文。这样,所述第一路由器可无需从来自VTEP的VXLAN报文中识别并获取VNI,有助于简化操作。所述第一路由器获得包括VXLAN头的封装后的报文的方法与上述获得包括VNI的封装后的报文的方法相同,在此不 再赘述。

S106,所述第一路由器向第二路由器发送所述封装后的报文。

举例说明,所述第二路由器为不同的DC之间的路由器。比如所述第一路由器属于DC1,第三路由器属于DC2。所述封装后的报文为需要由DC1的第一路由器发送至DC2的第三路由器的报文。所述第二路由器为处于DC1和DC2之间的传输网络中的路由器。

举例说明,若所述封装后的报文为transport模式发送的报文,则所述封装后的报文包括的IP头中的目的IP地址是第三路由器的IP地址。若所述封装后的报文为tunnel模式发送的报文,则所述封装后的报文包括的IP头中的目的IP地址为隧道的目的地址,所述隧道的目的地址为第三路由器的IP地址。

举例说明,所述第一路由器上可预先配置了第一对应关系,所述第一对应关系包括所述VNI和第三路由器的IP地址。所述第一路由器可根据所述第一对应关系和所述VNI,获得所述第三路由器的IP地址。所述第一路由器可将所述第三路由器的IP地址作为所述封装后的报文中的IP头包括的目的IP地址。

举例说明,所述第一路由器上可预先配置了第二对应关系,所述第二对应关系包括地址信息和第三路由器的IP地址。所述地址信息可以是VTEP发送的VXLAN报文包括的源IP地址、目的IP地址、源MAC地址和目的MAC地址中的任意一个或任意组合。

以DC1和DC2之间需要进行通信的场景为例,DC1中的第一路由器获得所述封装后的报文后,依据IP头包括的目的IP地址,向DC2中的第三路由器发送所述封装后的报文。所述封装后的报文中IP头包括的目的IP地址为DC2中的第三路由器的IP地址。DC1中的第一路由器和DC2中的第三路由 器间包括有第二路由器,也就是说,DC1中的第一路由器和DC2中的第三路由器之间的路径上包括第二路由器。第二路由器可以为能够获得所述封装后的报文携带的所述VNI的路由器。DC1中的第一路由器向DC2中的第三路由器发送所述封装后的报文,所述封装后的报文会沿所述第一路由器至所述第三路由器间的路径转发至所述第二路由器。

本发明实施例提供的用于处理VXLAN报文的方法中,第一路由器根据VXLAN报文和所述VXLAN报文中的VNI获得封装后的报文,所述封装后的报文包括的IP头和ESP头之间封装有所述VNI。第一路由器向第二路由器发送所述封装后的报文,有助于所述第二路由器根据所述封装后的报文中携带的所述VNI进行进一步地业务处理,比如负载分担等业务处理,有助于提高网络运行效率。

基于本发明第一实施例提供的用于处理VXLAN报文的方法,本发明另一实施例提供了用于处理VXLAN报文的方法。本发明另一实施例提供的的方法与本发明第一实施例提供的方法不同之处在于:所述第一路由器还可将VXLAN报文包括的UDP头插入所述封装后的报文包括的所述IP头和所述VNI之间。即本发明另一实施例提供的方法包括的S104与本发明第一实施例提供的方法中的S104不同,在此对不同之处进行说明,其它内容可参看本发明第一实施例提供的方法中的相应内容。

举例说明,S104中,所述第一路由器根据所述VXLAN报文,获得封装后的报文包括:所述第一路由器从所述VXLAN报文获得所述VNI和所述UDP头;所述第一路由器对所述VXLAN报文进行IPsec-ESP封装,获得IPsec-ESP封装报文,所述IPsec-ESP封装报文包括加密的VXLAN报文、封装于加密的VXLAN报文外的ESP头和封装于ESP头外的IP头;所述第 一路由器将所述VNI和UDP头插入IPsec-ESP封装报文包括的IP头和所述ESP头之间,获得所述封装后的报文。所述封装后的报文可以为图4a或图4b所示的报文。图4a所示的报文为采用transport模式发送的封装后的报文。图4a所示的报文包括的IP头可采用图5所示的结构,图4a所示的报文包括的UDP头可采用图6所示的结构。图4b所示的报文为采用tunnel模式发送的封装后的报文。图4b所示的报文中包括的内网IP头为VTEP向第一路由器发送的VXLAN报文包括的IP头。图4b所示的报文包括的IP头可采用图5所示的结构,图4b所示的报文包括的UDP头可采用图6所示的结构。图4a和图4b中加密的VXLAN报文是VTEP发送的VXLAN经加密后获得的报文,在此不再对加密的VXLAN报文包括的内容进行赘述。

举例说明,S104中,所述第一路由器根据所述VXLAN报文,获得封装后的报文包括:所述第一路由器从所述VXLAN报文获得所述VNI和所述UDP头;所述第一路由器对所述VXLAN报文进行加密,获得加密后的VXLAN报文;所述第一路由器在所述加密后的VXLAN报文外逐层封装所述ESP头、所述VNI、所述UDP头和所述IP头。所述封装后的报文可以为图4a或图4b所示的报文。

举例说明,所述封装后的报文包括的IP头还可包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI。

举例说明,若图4a或图4b的封装后的报文包括的IP头采用图5所示的IP头。所示第一标识信息可以携带于图5所示的IP头中的协议号字段。 在本实施例中,图5所示的IP头中的协议号字段可定义为UDP,用于表示IP头后携带了UDP头。所述第一路由器可在所述ESP头和所述IP头之间增加所述VNI和所述UDP头后,对所述IP头包含的信息进行更新。如图5所示的IP头,所述第一路由器可在所述ESP头和所述IP头之间增加了所述VNI和所述UDP头后,对IP头包括的协议号字段、总长度字段和头部校验和字段进行更新,以便携带了所述VNI和所述UDP头的封装后的报文满足格式要求。图6所示的UDP头中的目的端口号可用来携带所述第二标识信息。图6所示的UDP头中的目的端口号为ESP/VXLAN端口号,即ESP/VXLAN端口号用来标识UDP头后携带了VNI。如果UDP头后携带的是包含了VNI的VXLAN头,图6所示的UDP头中的目的端口号为ESP/VXLAN端口号,即ESP/VXLAN端口号用来标识UDP头后携带了封装有VXLAN头的ESP报文。图6所示的报文包括的UDP头中包括“UDP校验和”字段。如果图5所示的报文包括的IP头已设置了“头部校验和”,则图6所示的报文包括的UDP头中的“UDP校验和”可以设置为0。

举例说明,DC1的第一路由器和DC2的第三路由器间可包括多条路径。所述多条路径上的每条路径可包括一台或多台路由器。所述封装后的报文包括的UDP头中的源端口号和所述封装后的报文包括的五元组信息可用来从所述多条路径中确定一条用来转发所述封装后的报文的路径。

图2为本发明第二实施例的用于处理VXLAN报文的方法的流程图。本发明第二实施例是从第二路由器的角度,对本发明实施例提供的用于处理VXLAN报文的方法进行说明。所述第二路由器可以是运营商(英文全称:provider,英文缩写:P)设备。下面结合图2,对本发明第二实施例的用于处理VXLAN报文的方法进行具体说明。

S202,第二路由器接收第一路由器发送的封装后的报文,所述封装后的报文是对来自VTEP的VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间。

举例说明,所述第二路由器处于DC1的第一路由器和DC2的第三路由器之间的路径上,所述第二路由器接收到所述第一路由器向所述第三路由器发送的封装后的报文。所述封装后的报文与本发明第一实施例中的封装后的报文相同,在此不再赘述。

可选地,所述封装后的报文包括的IP头还携带了第一标识信息,所述第一标识信息用于标识所述封装后的报文携带了所述VNI。若所述封装后的报文包括封装于所述IP头和所述ESP头的VXLAN头,所述VXLAN头包括所述VNI,则所述第一标识信息可以用于标识所述封装后的报文携带了所述VXLAN头。

举例说明,所述第二路由器接收到的封装后的报文可以是图3a或图3b所示的报文,在此不再对具体结构进行赘述。

S204,所述第二路由器从所述封装后的报文获得所述VNI。

举例说明,所述第二路由器从所述封装后的报文获得所述VNI包括:所述第二路由器可根据所述封装后的报文的IP头中携带的第一标识信息,确定所述封装后的报文携带所述VNI;所述第二路由器从所述封装后的报文的IP头后获得所述封装后的报文携带的VNI。

举例说明,所述第二路由器可利用获得的VNI,对所述封装后的报文进行业务处理,例如Qos、负载分担等业务处理。VNI用于区分不同的VXLAN。所述第二路由器可通过所述VNI,确定所述封装后的报文包括的 VXLAN报文所属的租户。所述第二路由器可存储有VNI与租户的映射关系表。所述第二路由器可根据所述封装后的报文携带的VNI以及所述映射关系表,对所述封装后的报文进行负载分担操作,在此不再对具体的操作过程进行赘述。

本发明实施例提供的用于处理VXLAN报文的方法中,封装后的报文包括的VNI封装于IP头和ESP头之间,第二路由器可以在接收到封装后的报文后,对所述封装后的报文携带的VNI进行识别。所述第二路由器可从所述封装后的报文中获得所述VNI。这样,所述第二路由器可以利用获得的所述VNI进行进一步的业务处理,有助于提高网络运行效率。

在本发明第二实施例提供的用于处理VXLAN报文的方法的基础上,本发明的另一实施例提供了用于处理VXLAN报文的方法。本发明的另一实施例提供的方法中,所述第二路由器接收到的封装后的报文包括封装于IP头和ESP头之间的VNI和UDP头,或者所述第二路由器接收到的封装后的报文包括封装于IP头和ESP头之间的VXLAN头和UDP头,所述VXLAN头包括所述VNI。本发明另一实施例提供的方法与本发明第二实施例提供的方法不同之处在于S204,下面仅对不同之处进行说明,对于相同的内容可参见本发明第二实施例提供的方法中的相应内容。

S202中,所述第二路由器接收到的封装后的报文包括IP头、UDP头、VNI、ESP头和加密的VXLAN报文。所述第二路由器接收到的封装后的报文可以是图4a或图4b所示的报文,在此不再对具体结构进行赘述。在该实施例中,所述封装后的报文的IP头可携带第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述UDP头为VTEP向第一路由器发送的VXLAN报文携带的UDP头。所述封装于所述IP头与 所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI。由于所述VNI通常会携带在VTEP向所述第一路由器发送的VXLAN报文中,若所述封装后的报文包括封装于所述IP头和所述ESP头中的VXLAN头和UDP头,则所述第二标识信息可用于标识所述封装后的报文携带有VXLAN头。

举例说明,S204中,所述第二路由器从所述封装后的报文获得所述VNI包括:所述第二路由器从所述封装后的报文的IP头,获得所述IP头携带的第一标识信息;所述第二路由器根据所述第一标识信息,获得所述封装后的报文包括的位于所述IP头后的UDP头;所述第二路由器根据所述UDP头包括的目的端口号,确定所述封装后的报文携带所述VNI;所述第二路由器从所述封装后的报文的UDP头后获得所述VNI。如果所述封装后的报文的VNI携带于VXLAN头中,所述VXLAN头封装于所述封装后的报文的UDP头和ESP头之间,则所述第二路由器可从所述封装后的报文的UDP头后获得所述VXLAN头,从所述VXLAN头获得所述VNI。

DC2中的第三路由器接收到来自第一路由器的封装后的报文,即经第二路由器转发的封装后的报文,所述第三路由器可对所述封装后的报文进行处理,获得VXLAN报文。

举例说明,若所述封装后的报文包括封装于IP头和ESP头的VNI,则所述第三路由器可对所述封装后的报文进行处理,获得VXLAN报文包括:所述第三路由器可移除所述封装后的报文包括的封装于IP头和ESP头的VNI;所述第三路由器将移除VNI后获得的报文中的IP头进行更新,获得所述VXLAN报文。所述VXLAN报文为DC2中的VTEP能够识别的报文。其中,所述第三路由器将移除VNI后获得的报文中的IP头进行更新可以包 括:所述第三路由器对移除VNI后获得的报文中的IP头的总长度字段、协议号字段和头部校验和字段进行更新,以便所述VXLAN报文能够被DC2中的VTEP识别和/或处理。

举例说明,若所述封装后的报文包括封装于IP头和ESP头的VNI和UEP头,则所述第三路由器可对所述封装后的报文进行处理,获得VXLAN报文包括:所述第三路由器可移除所述封装后的报文包括的封装于IP头和ESP头的VNI和UDP头;所述第三路由器将移除VNI和UDP头后获得的报文中的IP头进行更新,获得所述VXLAN报文。所述VXLAN报文为DC2中的VTEP能够识别的报文。其中,所述第三路由器将移除VNI和UDP头后获得的报文中的IP头进行更新可以包括:所述第三路由器对移除VNI和UDP头后获得的报文中的IP头的总长度字段、协议号字段和头部校验和字段进行更新,以便所述VXLAN报文能够被DC2中的VTEP识别和/或处理。

图7为本发明实施例提供的第一路由器的结构示意图。图7对应的第一路由器可以执行图1对应的实施例提供的方法。图7对应的第一路由器可以是图2对应的实施例中的第一路由器。本发明实施例提供的第一路由器包括接收单元702、处理单元704和发送单元706。

所述接收单元702用于接收VTEP发送的VXLAN报文,所述VXLAN报文包括VNI。

所述处理单元704用于根据所述VXLAN报文,获得封装后的报文,所述封装后的报文是对所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、所述VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间。

所述发送单元706用于向第二路由器发送所述封装后的报文。

可选地,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI。

可选地,所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文所包括的UDP头,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI。

本发明实施例提供的第一路由器中,处理单元根据VXLAN报文和所述VXLAN报文中的VNI获得封装后的报文,所述封装后的报文包括的IP头和ESP头之间封装有所述VNI。发送单元向第二路由器发送所述封装后的报文,有助于所述第二路由器根据所述封装后的报文中携带的所述VNI进行进一步地业务处理,比如负载分担等业务处理,有助于提高网络运行效率。

图8为本发明另一实施例提供的第一路由器的结构示意图。所述第一路由器可执行图1对应的实施例提供的方法。所述第一路由器可为图2对应的实施例中的第一路由器。本发明实施例提供的第一路由器包括处理器801、存储器802、接口803和总线804。其中,接口803可以通过无线或有线的方式实现,例如接口803可为网络接口卡(英文全称:Network Interface Card,英文缩写:NIC)或其它用于实现通信的元件。所述处理器801、所述存储器802、所述接口803可通过所述总线804连接。

所述存储器802用于存储程序代码。可选地,所述程序代码可以包括操作系统程序和应用程序。

所述处理器801根据从所述存储器802中读取的程序所包括的可执行指令,执行如下操作。

所述处理器801通过所述接口803,接收VTEP发送的VXLAN报文,所述VXLAN报文包括VXLAN网络标识符VNI;所述处理器801根据所述VXLAN报文,获得封装后的报文,所述封装后的报文是对所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、所述VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间;所述处理器801通过所述接口803,向第二路由器发送所述封装后的报文。

可选地,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI。

可选地,所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文所包括的UDP头,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI。

本发明实施例提供的第一路由器中,处理器801根据VXLAN报文和所述VXLAN报文中的VNI获得封装后的报文,所述封装后的报文包括的IP头和ESP头之间封装有所述VNI。处理器801通过接口803,向第二路由器发送所述封装后的报文,有助于所述第二路由器根据所述封装后的报文中携带的所述VNI进行进一步地业务处理,比如负载分担等业务处理,有助于提高网络运行效率。

图9为本发明实施例提供的第二路由器的结构示意图。图9所示的第二路由器可执行图2对应的实施例提供的方法。图9所示的第二路由器可以为图1对应的实施例中的第二路由器。本发明实施例提供的第二路由器包括接收单元902和处理单元904。

所述接收单元902用于接收第一路由器发送的封装后的报文。所述封装后的报文是对来自VTEP的所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间。

所述处理单元904用于从所述封装后的报文获得所述VNI。

举例说明,若所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI,则所述处理单元904具体用于根据所述IP头包括的所述第一标识信息,确定所述封装后的报文包括所述VNI;所述处理单元904具体用于从所述IP头和所述ESP头之间获得所述VNI。

举例说明,若所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文包括的UDP头,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI,则所述处理单元904具体用于根据所述IP头包括的所述第一标识信息,获得封装于所述IP头与所述VNI之间的UDP头;所述处理单元904具体用于根据封装于所述IP头与所述VNI之间的UDP头包括的所述第二标识信息,确定所述封装后的报文包括所述VNI;所述处理单元904具体用于从所述IP头和所述ESP头之间获得所述VNI。

本发明实施例提供的第二路由器中,封装后的报文包括的VNI封装于IP头和ESP头之间,处理单元904可以在接收到封装后的报文后,对所述封装后的报文携带的VNI进行识别。所述处理单元904可从所述封装后的报文中获得所述VNI。这样,所述第二路由器可以利用获得的所述VNI进行进一步的业务处理,有助于提高网络运行效率。

图10为本发明另一实施例提供的第二路由器结构示意图。所述第二路由器可以执行图2对应的实施例提供的方法。所述第二路由器可以为1对应的实施例中的第二路由器。本发明实施例提供的第二路由器包括:处理器1001、存储器1002、接口1003和总线1004。其中,接口1003可以通过无线或有线的方式实现,比如NIC或其它用于实现通信的元件。所述处理器1001、所述存储器1002、所述接口1003通过所述总线1004连接。

所述存储器1002用于存储程序代码。可选的,程序代码可以包括操作系统程序和应用程序。

所述处理器1001根据从所述存储器1002中读取的程序所包括的可执行指令,执行如下操作。

所述处理器1001通过所述接口1003,接收第一路由器发送的封装后的报文。所述封装后的报文是对来自VTEP的所述VXLAN报文进行IPsec-ESP封装后获得的报文,所述封装后的报文包括IP头、VNI、ESP头和加密的所述VXLAN报文,所述VNI封装于所述IP头和所述ESP头之间;所述处理器1001从所述封装后的报文获得所述VNI。

举例说明,若所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述VNI,则所述处理器1001根据所述IP头包括的所述第一标识信息,确定所述封装后的报文包括所述VNI;所述处 理器1001从所述IP头和所述ESP头之间获得所述VNI。

举例说明,若所述封装后的报文还包括封装于所述IP头与所述VNI之间的UDP头,所述UDP头为来自所述VTEP的所述VXLAN报文包括的UDP头,所述IP头包括第一标识信息,所述第一标识信息用于标识所述封装后的报文携带有所述UDP头,所述封装于所述IP头与所述VNI之间的UDP头包括第二标识信息,所述第二标识信息用于标识所述封装后的报文携带有所述VNI,则所述处理器1001根据所述IP头包括的所述第一标识信息,获得封装于所述IP头与所述VNI之间的UDP头;所述处理器1001根据封装于所述IP头与所述VNI之间的UDP头包括的所述第二标识信息,确定所述封装后的报文包括所述VNI;所述处理器1001从所述IP头和所述ESP头之间获得所述VNI。

本发明实施例提供的第二路由器中,封装后的报文包括的VNI封装于IP头和ESP头之间,处理器1001可以在接收到封装后的报文后,对所述封装后的报文携带的VNI进行识别。所述处理器1001可从所述封装后的报文中获得所述VNI。这样,所述第二路由器可以利用获得的所述VNI进行进一步的业务处理,有助于提高网络运行效率。

图11为本发明实施例提供的用于处理VXLAN报文的系统。本发明实施例提供的系统可以包括前述图7或图8对应的实施例提供的第一路由器和图9或图10对应的实施例提供的第二路由器,在此不再对第一路由器和第二路由器进行赘述。

本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完 全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。

计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(英文全称:random access memory,英文缩写:RAM)、只读存储器(英文全称:read-only memory,英文缩写:ROM)、可擦除可编程只读存储器((英文全称:erasable programmable read only memory,英文缩写:EPROM)或者快闪存储器)、光纤、便携式只读存储器(英文全称:compact disc read-only memory,英文缩写:CD-ROM)。

计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。

计算机可读程序代码可以完全在用户的本地计算机上执行、部分在用户的本地计算机上执行、作为单独的软件包、部分在用户的本地计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块 有时候可能被以相反顺序执行。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1