CN105471693B - 一种报文发送方法和网络节点 - Google Patents

一种报文发送方法和网络节点 Download PDF

Info

Publication number
CN105471693B
CN105471693B CN201410407249.4A CN201410407249A CN105471693B CN 105471693 B CN105471693 B CN 105471693B CN 201410407249 A CN201410407249 A CN 201410407249A CN 105471693 B CN105471693 B CN 105471693B
Authority
CN
China
Prior art keywords
node
message
business chain
network
information
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
Application number
CN201410407249.4A
Other languages
English (en)
Other versions
CN105471693A (zh
Inventor
徐卫平
黄勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910054904.5A priority Critical patent/CN109861897B/zh
Priority to CN201410407249.4A priority patent/CN105471693B/zh
Priority to PCT/CN2015/086918 priority patent/WO2016026406A1/zh
Publication of CN105471693A publication Critical patent/CN105471693A/zh
Application granted granted Critical
Publication of CN105471693B publication Critical patent/CN105471693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Abstract

本发明涉及通信技术领域,尤其涉及一种报文发送方法和网络节点,使得在虚拟网络中部署业务链时,虚拟网络端点不依赖于接收到的报文包括的目的MAC地址转发报文,有助于简化报文的封装。本发明实施例中第一节点接收的第一报文中包括第二报文以及封装在第二报文上的业务链头,该业务链头包括业务链的信息;第一节点根据所述业务链的信息以及第一报文来自的虚拟网络的网络标识,获得第三节点的位置信息,第一节点根据第三节点的位置信息,将处理第一报文后获得的第三报文发往第三节点。第二节点发送给第一节点的报文无需进行封装,有助于第一节点不依赖于接收到的报文中的目的MAC地址转发所述接收到的报文,简化对接收到的报文的封装。

Description

一种报文发送方法和网络节点
技术领域
本发明涉及通信技术领域,尤其涉及一种报文发送方法和网络节点。
背景技术
当基于覆盖(overlay)技术实现虚拟网络时,虚拟网络端点提供了物理网络与虚拟网络之间的出口和/或入口。基于overlay的虚拟网络有多种类型,比如:虚拟可扩展局域网(Virtual Extensible Local Area Network,VXLAN)和采用通用路由封装的网络虚拟化(Network Virtualization using Generic Routing Encapsulation,NVGRE)等。
以VXLAN为例,VXLAN中的虚拟网络端点可被称为VXLAN隧道终点(VXLAN TunnelEnd Point,VTEP)。如图1所示,VTEP之间传送的VXLAN报文包括以太网帧和封装于以太网帧上的VXLAN封装。其中,以太网帧包括内部MAC SA、内部MAC DA和负荷。内部MAC SA为该以太网帧的源媒体访问控制(Medium Access Control,MAC)地址,所述源MAC地址用于标识发送所述以太网帧的设备;内部MAC DA为该以太网帧的目的MAC地址,所述目的MAC地址用于标识接收所述以太网帧的设备。该以太网帧中还包括可选的内部802.1Q信息和循环冗余校验(Cyclic Redundancy Check,CRC)信息。VXLAN封装包括VXLAN头和overlay网络头,VXLAN头中包括VXLAN标识(VXLAN ID)。overlay网络头中的外部UDP为封装的UDP头;外部IP SA为源VTEP的IP地址;外部IP DA为目的VTEP的IP地址;外部MAC SA为源VTEP的MAC地址;外部MACDA为目的VTEP的MAC地址。其中,所述源VTEP可与所述源MAC地址标识的设备通信,所述源VTEP可与所述目的VTEP通信,所述目的VTEP可与所述目的MAC地址标识的设备通信。
所述源VTEP收到所述源MAC地址标识的设备发送的所述以太网帧后,获得VXLANID。所述源VTEP根据VXLAN ID和所述以太网帧的目的MAC地址,获得所述目的VTEP的IP地址和所述目的VTEP的MAC地址。所述源VTEP根据所述以太网帧,获得所述VXLAN报文,如图1所示。所述源VTEP向所述目的VTEP发送所述VXLAN报文。
发明内容
本发明实施例提供一种报文发送方法和网络节点,有助于虚拟网络端点不依赖于接收到的报文包括的目的MAC地址转发所述报文,有助于简化所述报文的封装。
第一方面,本发明实施例提供一种报文发送方法,所述方法应用于基于覆盖overlay的虚拟网络,包括:
第一节点接收第二节点发送的第一报文,所述第一报文包括第二报文以及封装在所述第二报文上的业务链头,所述业务链头包括业务链的信息;
所述第一节点获取所述虚拟网络的网络标识;
所述第一节点根据所述网络标识以及所述业务链的信息,获得第三节点的位置信息;
所述第一节点根据所述第三节点的位置信息,将第三报文发往所述第三节点,所述第三报文为所述第一节点处理所述第一报文后获得的报文。
结合第一方面,在第一种可能的实现方式中,所述业务链的信息包括:
所述业务链的第一业务功能SF节点的标识;或
所述业务链的第一SF节点的标识和所述业务链的路径的标识。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的业务转发实体SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中的第二SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第一SF节点连接所述第四虚拟网络端点。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述第一SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点。
结合第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第一节点获取所述虚拟网络的网络标识包括:
所述第一节点获取所述第一节点的端口,所述端口连接所述第二节点;
所述第一节点将所述端口所属的虚拟网络的网络标识,作为所述网络标识;
所述第三报文中包括:所述第一报文、封装在所述第一报文上的虚拟网络头和封装在所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识,所述overlay网络头包括所述第三节点的位置信息。
结合第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述业务链头还包括所述网络标识,所述第一节点获取虚拟网络的网络标识包括:
所述第一节点从所述第一报文的业务链头中,获取所述网络标识;
所述第三报文中包括:所述第一报文以及封装在所述第一报文上的overlay网络头,所述overlay网络头中包括所述第三节点的位置信息。
结合第一方面的第二种可能的实现方式,在第六种可能的实现方式中,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第四报文,所述第四报文用于通知下述三项信息:所述网络标识、所述业务链的信息和所述第三节点的位置信息;所述第一节点从所述第四报文中获取该三项信息,并记录该三项信息的对应关系。
结合第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式、第一方面的第五种可能的实现方式,在第七种可能的实现方式中,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第五报文,并记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述第一节点接收所述第三节点发送的第六报文,并记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
结合第一方面的第一种可能的实现方式,在第八种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述第一SF节点。
结合第一方面的第一种可能的实现方式,在第九种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述业务链中的第二SF节点,所述第一SF节点连接所述第四虚拟网络端点。
结合第一方面的第八种可能的实现方式、第一方面的第九种可能的实现方式,在第十种可能的实现方式中,所述第一报文中还包括:封装于所述业务链头上的虚拟网络头和封装于所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识;
所述第一节点获取所述虚拟网络的网络标识包括:
所述第一节点从所述虚拟网络头中获取所述网络标识;
所述第三报文为所述第一节点剥离了所述第一报文包括的所述overlay网络头和所述虚拟网络头后获得的报文。
结合第一方面的第八种可能的实现方式、第一方面的第九种可能的实现方式,在第十一种可能的实现方式中,所述第一报文还包括封装于所述业务链头上的overlay网络头,所述业务链头还包括所述网络标识,所述第一节点获取所述第二节点所属的虚拟网络的网络标识包括:
所述第一节点从所述业务链头获取所述网络标识;
所述第三报文为所述第一节点剥离所述第一报文包括的所述overlay网络头后获得的报文。
结合第一方面的第八种可能的实现方式、第一方面的第九种可能的实现方式、第一方面的第十种可能的实现方式、第一方面的第十一种可能的实现方式,在第十二种可能的实现方式中,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第七报文,并记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述第一节点接收所述第三节点发送的第八报文,并记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
第二方面,本发明实施例提供一种第一节点,所述第一节点为基于覆盖overlay的虚拟网络的网络节点,所述第一节点包括:
收发模块,用于接收第二节点发送的第一报文,所述第一报文包括第二报文以及封装在所述第二报文上的业务链头,所述业务链头包括业务链的信息;
处理模块,用于获取所述虚拟网络的网络标识,根据所述网络标识以及所述业务链的信息,获得第三节点的位置信息;
所述收发模块还用于:根据所述第三节点的位置信息,将第三报文发往所述第三节点,所述第三报文为所述处理模块处理所述第一报文后获得的报文。
结合第二方面,在第一种可能的实现方式中,所述业务链的信息包括:
所述业务链的第一业务功能SF节点的标识;或
所述业务链的第一SF节点的标识和所述业务链的路径的标识。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的业务转发实体SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中的第二SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第一SF节点连接所述第四虚拟网络端点。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述第一SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点。
结合第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理模块具体用于:
获取所述第一节点的端口,所述端口连接所述第二节点;
将所述端口所属的虚拟网络的网络标识,作为所述网络标识;
所述第三报文中包括:所述第一报文、封装在所述第一报文上的虚拟网络头和封装在所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识,所述overlay网络头包括所述第三节点的位置信息。
结合第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述业务链头还包括所述网络标识,所述处理模块具体用于:
从所述第一报文的业务链头中,获取所述网络标识;
所述第三报文中包括:所述第一报文以及封装在所述第一报文上的overlay网络头,所述overlay网络头中包括所述第三节点的位置信息。
结合第二方面的第二种可能的实现方式,在第六种可能的实现方式中,
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第四报文,所述第四报文用于通知下述三项信息:所述网络标识、所述业务链的信息和所述第三节点的位置信息;
所述处理模块还用于从所述第四报文中获取该三项信息,并记录该三项信息的对应关系。
结合第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式、第二方面的第四种可能的实现方式、第二方面的第五种可能的实现方式,在第七种可能的实现方式中,
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第五报文;所述处理模块还用于记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第六报文;所述处理模块还用于记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
结合第二方面的第一种可能的实现方式,在第八种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述第一SF节点。
结合第二方面的第一种可能的实现方式,在第九种可能的实现方式中,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述业务链中的第二SF节点,所述第一SF节点连接所述第四虚拟网络端点。
结合第二方面的第八种可能的实现方式、第二方面的第九种可能的实现方式,在第十种可能的实现方式中,所述第一报文中还包括:封装于所述业务链头上的虚拟网络头和封装于所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识;
所述处理模块具体用于:
从所述虚拟网络头中获取所述网络标识;
所述第三报文为所述处理模块剥离了所述第一报文包括的所述overlay网络头和所述虚拟网络头后获得的报文。
结合第二方面的第八种可能的实现方式、第二方面的第九种可能的实现方式,在第十一种可能的实现方式中,所述第一报文还包括封装于所述业务链头上的overlay网络头,所述业务链头还包括所述网络标识,所述处理模块具体用于:
从所述业务链头获取所述网络标识;
所述第三报文为所述处理模块剥离所述第一报文包括的所述overlay网络头后获得的报文。
结合第二方面的第八种可能的实现方式、第二方面的第九种可能的实现方式、第二方面的第十种可能的实现方式、第二方面的第十一种可能的实现方式,在第十二种可能的实现方式中,
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第七报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第八报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
综上,在所述虚拟网络中部署业务链时,本发明实施例中第一节点接收的第一报文中包括第二报文以及封装在第二报文上的业务链头,该业务链头包括业务链的信息;第一节点根据所述业务链的信息以及第一报文来自的虚拟网络的网络标识,获得第三节点的位置信息,第一节点根据第三节点的位置信息,将处理第一报文后获得的第三报文发往第三节点。第二节点发送给第一节点的报文无需进行封装,例如以太网封装或overlay封装,即有助于第一节点不依赖于接收到的报文中的目的MAC地址转发所述接收到的报文,有助于简化所述接收到的报文的封装。
附图说明
图1为VXLAN报文的组成示意图;
图2为业务链头的示意图;
图3为一种业务链域的场景的示意图;
图4为部署了业务链的VXLAN的场景示意图;
图5为NVGRE报文的组成示意图;
图6为本发明实施例一的方法流程图;
图7~图10为虚拟网络端点收到的第一报文的示意图;
图11为本发明实施例部署了业务链的VXLAN的场景示意图;
图12为本发明实施例四的方法流程图;
图13为另一种业务链头的示意图;
图14为本发明实施例中部署了业务链的VXLAN的场景示意图;
图15为本发明实施例六的方法流程图;
图16为本发明实施例八的方法流程图;
图17为本发明实施例九的网络拓扑和VTEP转发表的示意图
图18为本发明实施例九的方法流程图;
图19为本发明实施例十中通过广播报文建立转发表的示意图;
图20为本发明实施例十一的方法流程图;
图21为本发明实施例十二的方法流程图;
图22为本发明实施例十三的网络拓扑和VTEP转发表的示意图;
图23为本发明实施例十三的方法流程图;
图24为本发明实施例十四中通过广播报文建立转发表的示意图;
图25为本发明实施例十五的方法流程图;
图26为本发明实施例十六的方法流程图;
图27为本发明实施例十七的网络拓扑和SFE转发表的示意图;
图28为本发明实施例十七的方法流程图;
图29为本发明实施例十八提供的一种第一节点的结构示意图;
图30为本发明实施例十九提供的另一种第一节点的结构示意图。
具体实施方式
本发明实施例提供一种报文发送方法和网络节点,所述方法和网络节点可应用于基于overlay的虚拟网络中,有助于所述虚拟网络中的虚拟网络端点对接收到的报文进行转发时,不依赖于所述报文包括的目的MAC地址,有助于简化所述报文的封装。
下面,对本申请涉及的“业务链”以及“业务链的信息”的概念加以说明。
业务链,是运营商实现将不同的业务灵活提供给不同的客户时采用的一种技术。具体地,业务分类器(Service Classifier)接收用户报文,并根据预先配置的分类规则,将属于某一业务的用户报文标记上与所述业务对应的业务链的信息。其中,用户报文可以是用户发送的报文。业务链的信息包含与该业务类型对应的业务路径id(path-id)以及处理该报文的业务功能节点(Service Function,SF)的标识SF-id。包括所述业务链的信息的报文被业务转发实体(Service Forwarding Entities,SFE)转发,并顺序经过一条业务路径上的所有SF。所述业务路径上的SF可对接收到的包括所述业务链的信息的报文进行处理。
业务链的信息可携带于一个分组首部中,该分组首部可称为“业务链头”。业务链头的定义方式也可有多种,如图2所示,业务链头包括但不限于path-id和SF-id;或者,图2中的业务链头中的SF-id可替换成index,该index是SF的索引值或SF-id的索引值。SF-id或index可以视为SF节点的标识。SF-id可以是SF的名称或SF的编号等。
下面参考图3,简要说明业务链中报文处理的流程。
如图3所示,业务链域(Service Chain Domain)包括一个业务分类器、SFE1、SFE2、SF1、SF2和SF3。业务分类器接收到用户报文后,对所述用户报文进行分类并在所述用户报文上添加与业务类型对应的业务链头(Service Chain Header)。其中,业务类型可以是用户报文所属的业务类型,所述业务链头可以包括SF-id和path-id。携带有业务链头的报文可依次经过SFE1、SF1、SFE1、SF2、SFE1、SFE2和SF3的转发和处理。SFE2接收到SF3发送的经SF3处理后的携带有业务链头的报文后,剥离经SF3处理后的报文中的业务链头,获得所述用户报文。
SFE1和SFE2中的任意一个SFE可以从接收到的携带了业务链头的报文中获取业务链的信息,并根据所述业务链的信息对接收到的报文进行转发。比如:SFE2接收SFE1发送的携带业务链头的报文,从所述业务链头中获取SF-id。若所述SF-id可标识连接SFE2的SF3,SFE2可根据预存的SF-id对应的SF3的位置信息,将来自SFE1的报文路由到SF3。若所述SF-id可标识连接SFE1的SF2,SF2是SF3在所述业务链上的上一跳SF,SFE2可根据SF-id对应的SF3的位置信息,将来自SFE1的报文路由到SF3。SFE1也可采用与SFE2相同的处理方式,在此不再赘述。
或者,比如:SFE2接收SFE1发送的携带业务链头的报文,从所述业务链头中获取SF-id和path-id。若所述SF-id可标识连接SFE2的SF3,SFE2可根据预存的SF-id和path-id,获得SF3的位置信息。SFE2将来自SFE1的报文路由到SF3。若所述SF-id可标识连接SFE1的SF2,SF2是SF3在所述业务链上的上一跳SF,SFE2可根据SF-id和path-id,获得SF3的位置信息。SFE2将来自SFE1的报文路由到SF3。SFE1也可采用与SFE2相同的处理方式,在此不再赘述。
当在所述虚拟网络中部署业务链时,如图4所示,在VXLAN中部署业务链时,SF可与SFE通信,所述SFE可与VTEP通信。所述SFE可接收来自所述SF的报文,所述来自所述SF的报文可包括第二报文和封装在所述第二报文上的业务链头。其中,所述业务链头可包括所述SF节点的标识和所述业务链的pah-id。所述业务链头可由业务分类器(图4中未示出)添加至所述第二报文,在此不再赘述。所述SFE可在所述来自所述SF的报文上添加第一overlay网络头,获得第一报文。第一overlay网络头中可包括目的MAC地址和源MAC地址;源MAC地址可以是所述SFE的MAC地址。所述VTEP接收来自所述SFE的第一报文后,获得所述SFE所属的虚拟网络的网络标识和所述目的MAC地址。所述VTEP根据所述网络标识和所述目的MAC地址,获得另一VTEP的地址。所述另一VTEP可通过物理网络与所述VTEP通信,所述另一VTEP可连接所述目的MAC地址对应的设备。所述VTEP在所述第一报文外封装VXLAN头和第二overlay网络头,获得第三报文。所述VXLAN头可包括所述网络标识,所述第二overlay网络头可包括所述另一VTEP的地址。所述VTEP通过所述物理网络,向所述另一VTEP发送所述第三报文。由于所述VTEP根据所述目的MAC地址和所述网络标识获得另一VETP的地址,所述SFE需要在所述来自所述SF的报文上封装所述第一overlay网络头,这样,所述第三报文的封装效率不高,若所述第一overlay网络头和所述第二overlay网络头均包括IP地址,可能会造成地址浪费。
针对上述问题,提出了不依赖于目的MAC地址进行报文转发的方法。该方法中,当在所述虚拟网络中部署业务链时,第一节点接收的第一报文中包括第二报文以及封装在第二报文上的业务链头,该业务链头包括业务链的信息;第一节点根据所述业务链的信息以及第一报文来自的虚拟网络的网络标识,获得第三节点的位置信息,第一节点根据第三节点的位置信息,将处理第一报文后获得的第三报文发往第三节点。第二节点发送给第一节点的报文无需进行封装,例如以太网封装或overlay封装,即有助于第一节点不依赖于接收到的报文中的目的MAC地址转发所述接收到的报文,有助于简化所述接收到的报文的封装。
在NVGRE中,虚拟网络端点可被称为NVGRE端点(NVGRE EndPoint)。NVGRE可利用现有通用路由封装(Generic Routing Encapsulation,GRE)头的KEY字段承载NVGRE的网络标识,如图5所示,NVGRE报文中GRE头部KEY字段的低24bit可为出租网络标识(TenantNetwork ID),即NVGRE的网络标识。对于NVGRE,内部目的MAC地址可以是图5所示的内层原始二层报文中包括的目的MAC地址。
本发明实施例提及的虚拟网络可以为VXLAN、NVGRE等基于overlay的虚拟网络。若所述虚拟网络是NVGRE,则所述虚拟网络的网络标识为NVGRE的网络标识,虚拟网络头为GRE头。若所述虚拟网络是VXLAN,则所述虚拟网络的网络标识为VXLAN的网络标识,虚拟网络头为VXLAN头。所述虚拟网络头用于标识所述虚拟网络的网络信息。
实施例一
如图6所示,本发明实施例一提供的方法包括:
S601:虚拟网络中的第一节点接收第二节点发送的第一报文,该第一报文包括第二报文以及封装在第二报文上的业务链头,该业务链头包括业务链的信息;
S602:第一节点获取该虚拟网络的网络标识;
S603:第一节点根据该网络标识以及该业务链的信息,获得第三节点的位置信息;
S604:第一节点根据该第三节点的位置信息,将第三报文发往第三节点,其中,该第三报文为第一节点处理第一报文后获得的报文。
由于是在虚拟网络中进行报文的路由转发,第一节点需要根据业务链的信息和虚拟网络的网络标识,对第一报文进行路由转发。
其中,所述业务链的信息可包括:所述业务链的第一SF节点的标识。或者,所述业务链的信息可包括:所述业务链的第一SF节点的标识和所述业务链的路径的标识。所述第一SF节点可以连接所述第三节点,或者所述第一SF节点可连接所述第二节点。所述连接可以是直接连接,也可以是通过间接连接。
所述业务链的信息可包括:目的SF节点的标识和/或源SF节点的标识。所述目的SF节点为连接所述第三节点的SF节点;所述源SF节点为所述第二节点,或者连接所述第二节点的SF节点。可选地,所述业务链的信息还可包括:所述业务链的路径的标识。
实施例一的方法中,第一节点可以是虚拟网络端点或具有SFE功能的虚拟网络端点。第一节点可以根据接收到第一报文包括的业务链的信息和虚拟网络的网络标识,转发第三报文至第三节点,实现了不依赖于目的MAC地址确定第三节点的地址。
如图4所示的场景中,所述SFE接收到的来自SF节点的报文,所述来自SF节点的报文包括第二报文和封装在第二报文上的业务链头。所述SFE在所述业务链头外封装第一overlay网络头,获得第一报文。所述第一overlay网络头用以表示承载第一报文的网络的网络信息。根据承载第一报文的网络的不同,所述第一overlay网络头可包括ETH头,如图8所示;或所述第一overlay网络头可包括UDP头、IP头和ETH头,如图9所示;或所述第一overlay网络头可包括GRE头、IP头和ETH头,如图10所示。从所述VTEP发送到物理网络的报文包括第二报文、业务链头、第一overlay网络头、VXLAN头和第二overlay网络头,所述VXLAN头和所述第二overlay网络头可以是图1中的VXLAN封装。所述第二overlay网络头可以包括UDP头、IP头和ETH头。
若图4所示的场景中是NVGRE,NVGRE中的虚拟网络端点发送至物理网络的报文可为图5的形式,即内层原始二层报文可包括第一overlay网络头,GRE头可以为虚拟网络头,IP头和ETH头可为第二overlay网络头。
根据图4和图5可知,虚拟网络端点从SFE获得的报文的封装效率不高,比如,若两个overlay网络均基于UDP,每个overlay网络头需要42字节(UDP头8字节+IP头20字节+ETH头14字节),两层overlay网络头需要42×2=84字节,如果第二报文只有64字节,报文效率只有64/(64+84)=43%。虚拟网络端点从SFE获得的报文还可能存在地址浪费的问题,例如,若两个overlay网络均基于UDP,每个overlay网络头的IP头都有IP地址,需要为此分配2个IP地址。
图7为本发明实施例提供的虚拟网络端点与其连接的SFE间传输的报文示意图,或者图7为本发明实施例提供的虚拟网络端点与其连接的SF间传输的报文示意图。图7所示的报文包括第二报文和封装在第二报文上的业务链头。本发明实施例二中,由于采用了图6所示的方法,作为虚拟网络端点的第一节点可收到来自SFE或SF的报文,所述来自SFE的报文或所述来自SF的报文不包括第一overlay网络头。图11所示的场景中,VTEP接收到的SFE发送的第一报文,所述第一报文包括第二报文和封装于第二报文上的业务链头。
基于overlay的虚拟网络中,图4所示的VTEP点需要根据SFE发送的报文中第一overlay网络头包括的目的MAC地址,对第一报文进行路由转发。由于本发明实施例中的VTEP可采用图6所示的方法处理第一报文,即不依赖于目的MAC地址转发第三报文,这样,图11所示的SFE无需在业务链头上添加第一overlay网络头,有助于提高报文的封装效率,节省了IP地址资源。
为了提高虚拟网络端点对接收的报文的处理能力,可选地,可采用本发明实施例三,实现虚拟网络端点对各种不同类型报文的灵活处理。
实施例三
虚拟网络端点可在接收第一报文之后,发送第三报文之前,确定第一报文的报文类型,比如:为图7~图10所示的报文类型中的一种,根据确定的第一报文的报文类型,确定第一报文的业务链头在第一报文中的数据偏移量;
根据确定的数据偏移量,获取第一报文业务链头中的业务链的信息。
图7~图10所示的报文中,图7所示的报文可为第一节点与其连接的SFE或SF传输的报文,图8~图10所示的报文可为作为第一节点的虚拟网络端点与其连接的另一虚拟网络端点传输的报文。
作为第一节点的虚拟网络端点确定报文类型的方法有很多,比如,在第一报文中添加用于指示第一报文的报文类型的指示信息,作为第一节点的虚拟网络端点读取该指示信息,根据读取的该指示信息确定第一报文的报文类型。
可选地,在虚拟网络端点上电运行之前,配置虚拟网络端点的报文转发方式。比如,根据虚拟网络的网络标识以及第一报文业务链头中的业务链的信息,对第三报文进行路由转发。或者,也可在第一报文中携带用于指示转发方式的指示信息,虚拟网络端点在收到第一报文后,根据该指示信息对应的转发方式,对第一报文进行转发。对于上述第一种实现机制,虚拟网络端点在收到第一报文后,无需判断转发方式,只需根据预设的转发方式进行路由转发即可;对于第二种实现机制,虚拟网络端点在收到第一报文后,需要根据第一报文中携带的用于指示转发方式的指示信息,确定转发方式。
本发明实施例中,第一节点接收的第一报文可来自本端,也可来自远端。远端可以是经物理网络传输后到达的一端,本端可以是不经物理网络传输到达的一端。若第一报文不包括第二overlay网络头,则第一节点确定第一报文来自本端;若第一报文包括第二overlay网络头,则第一节点确定第一报文来自远端。
若第一SF节点可作为目的SF节点,当第一报文来自本端时,第一节点为第一虚拟网络端点,第二节点为业务链中的SFE,所述SFE属于本端,第三节点为第二虚拟网络端点,所述第二虚拟网络端点属于远端,所述第一SF节点连接所述第二虚拟网络端点,业务链的第二SF节点可连接SFE;或第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为业务链中的第二SF节点,所述第二SF节点属于本端,第三节点为业务链中具有SFE功能的第四虚拟网络端点,所述第四虚拟网络端点属于远端,第一SF节点连接所述第四虚拟网络端点。
若第一SF节点可作为目的SF节点,当第一报文来自远端时,第一节点为第一虚拟网络端点,第二节点为第二虚拟网络端点,所述第二虚拟网络端点属于远端,第三节点为业务链中的SFE,所述SFE属于本端,所述第一SF节点连接所述SFE,第二SF节点可连接第二虚拟网络端点;或第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为业务链中具有SFE功能的第四虚拟网络端点,所述第四虚拟网络端点属于远端,第二SF节点连接所述第四虚拟网络端点,第三节点为所述第一SF节点,所述第一SF节点属于本端。
若第一SF节点可作为源SF节点,当第一报文来自本端时,第一节点为第一虚拟网络端点,第二节点为业务链中的SFE,所述SFE属于本端,第三节点为第二虚拟网络端点,所述第二虚拟网络端点属于远端,第一SF节点连接所述SFE,第二SF节点连接所述第二虚拟网络端点;或第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为第一SF节点,所述第一SF节点属于本端,第三节点为业务链中具有SFE功能的第四虚拟网络端点,所述第四虚拟网络端点属于远端,第二SF节点连接第四虚拟网络端点。
若第一SF节点可作为源SF节点,当第一报文来自远端时,第一节点为第一虚拟网络端点,第二节点为第二虚拟网络端点,所述第二虚拟网络端点属于远端,第三节点为业务链中的SFE,所述SFE属于本端,所述第一SF节点连接所述第二虚拟网络端点,第二SF节点连接所述SFE;或第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为业务链中具有SFE功能的第四虚拟网络端点,所述第四虚拟网络端点属于远端,所述第一SF节点连接所述第四虚拟网络端点,第三节点为业务链中的第二SF节点,所述第二SF节点属于本端。
实施例四、第一报文来自本端,第一报文业务链头中不包括虚拟网络的网络标识,第一节点获取第一节点的端口,该端口连接第二节点,第一节点将该端口所属的虚拟网络的网络标识,作为步骤S602中获取的网络标识;
实施例五、第一报文来自本端,第一报文业务链头中包括虚拟网络的网络标识,第一节点从第一报文的业务链头中获取虚拟网络的网络标识,作为步骤S602获取的网络标识;
实施例六、第一报文来自远端,第一报文业务链头中不包括虚拟网络的网络标识,第一节点将第一报文的虚拟网络头中包括的虚拟网络的网络标识,作为步骤S602中获取的网络标识;
实施例七、第一报文来自远端,第一报文业务链头中包括虚拟网络的网络标识,第一节点从第一报文业务链头中获取虚拟网络的网络标识,作为步骤S602中获取的网络标识。
下面,分别对实施例四~实施例七详细说明。
实施例四
如图12所示,第一报文来自本端的第一端口,第一节点的处理包括如下步骤:
S1201:第一节点将第一端口所属的虚拟网络的网络标识作为步骤S602中获取的网络标识,或者,将第一报文中携带的虚拟网络的网络标识作为步骤S602中获取的网络标识,再或者,将第一报文中携带的虚拟网络的网络标识进行格式转换后,作为步骤S602中获取的网络标识;
步骤S1201中的最后一种方案可能的应用场景是,比如:在VXLAN网络中,第一节点收到了第一报文中携带了传统的虚拟网络的网络标识,则虚拟网络端点需要将该网络标识按照预设的规则转换成VXLAN的网络标识,即VXLAN ID。
S1202:第一节点根据获取的网络标识以及从第一报文业务链头中获取的业务链的信息,确定第三节点的位置信息;
第一节点保存有虚拟网络的网络标识、第一报文的业务链头中的业务链的信息以及第三节点的位置信息的对应关系。可选地,所述对应关系可记录在转发表中。
这里,第三节点的位置信息可以是可能是该第三节点自身的位置信息,也可以是该第三节点所在网络设备的位置信息,可包括但不限于下列信息中的一种或多种:网络地址,比如:IP地址;隧道标识,比如:GRE隧道ID;物理端口标识,比如:槽位号或端口号,此时虚拟网络端点之间通过端口物理直连。
S1203:第一节点在第一报文外封装虚拟网络头和第二overlay网络头形成第三报文,封装的虚拟网络头中包括步骤S1201中获取的网络标识,封装的第二overlay网络头中包括确定的第三节点的位置信息;
S1204:第一节点将第三报文发往第三节点。
虚拟网络的网络标识、业务链的信息以及第三节点的位置信息可通过但不限于如下两种方式获得:
方式一、通过广播报文;
方式二、通过学习。
对于方式一,若第一SF节点连接所述第三节点时,在第一节点接收第一报文之前,所述方法还包括:第一节点接收第三节点广播的第四报文,第四报文用于通知该第三节点的位置信息、第一SF节点的标识和虚拟网络的网络标识;第一节点从第四报文中获取第三节点的位置信息、第一SF节点的标识和虚拟网络的网络标识,并记录三者的对应关系。可选地,第四报文还可包括业务链的路径的标识,第一节点还可获取所述路径的标识,进而获取第三节点的位置信息、第一SF节点的标识、所述路径的标识和所述虚拟网络的网络标识间的对应关系。
对于方式二,若第一SF节点连接所述第三节点或所述第二节点,在第一节点接收第一报文之前,所述方法还包括:第一节点接收第三节点发送的第五报文;第一节点获取第五报文业务链头中的业务链的信息、第五报文的第二overlay网络头中的第三节点的位置信息以及第五报文的虚拟网络头中的虚拟网络的网络标识;第一节点记录所述业务链的信息、第三节点的位置信息和虚拟网络的网络标识的对应关系。可选地,第五报文包括的业务链的信息可包括第一SF节点的ID和第二SF节点的ID,第一SF节点可以是远端的节点或本端的节点,第一节点可根据需要从所述业务链的信息中获取转发所需的SF节点的ID。
或者,对于方式二,若第一SF节点连接所述第三节点或所述第二节点,在第一节点接收第一报文之前,所述方法还包括:第一节点接收第三节点发送的第六报文;第一节点获取第六报文业务链头中的业务链的信息、所述业务链头中的虚拟网络的网络标识以及第六报文的第二overlay网络头中的第三节点的位置信息;第一节点记录所述业务链的信息、第三节点的位置信息和虚拟网络的网络标识的对应关系。可选地,第六报文包括的业务链的信息可包括第一SF节点的ID和第二SF节点的ID,第一SF节点可以是远端的节点或本端的节点,第一节点可根据需要从所述业务链的信息中获取转发所需的SF节点的ID。
实施例五
实施例五中,第一报文也来自本端,与实施例四的区别在于,实施例五中第一报文的业务链头中包括虚拟网络的网络标识。比如,当虚拟网络为VXLAN时,第一报文的业务链头的一种可能的报文格式如图13所示,可包括但不限于VXLAN ID、path-id和SF-id。第一节点可从第一报文的业务链头中获得虚拟网络的网络标识。
对于实施例五,当第一节点为具有SFE功能的虚拟网络端点时,该融合了虚拟网络端点和SFE的新的网络设备在虚拟局域网中提供了虚拟网络和物理网络的接口,因此,其也可看作是一种新型的虚拟网络端点。该方式下的报文处理如图14所示。与实施例四不同之处在于,实施例五中的第一节点可从业务链头中获得虚拟网络的网络标识,第一节点可在接收到的第一报文上封装第二overlay网络头,获得第三报文。实施例五包括的其它内容与实施例四相同,在此不再赘述,
实施例五中的第一节点可通过上述广播或学习的方式,获得业务链的信息、虚拟网络的网络标识和第三节点的位置信息的对应关系。与实施例四不同之处在于,实施例五中的第一节点可从接收到的报文的业务链头中获得虚拟网络的网络标识,而不再从虚拟网络头中获得虚拟网络的网路标识,有助于进一步提高封装效率。
实施例六
如图15所示,第一报文来自远端,第一节点的处理包括如下步骤:
S1501:第一节点将第一报文中封装于业务链头上的虚拟网络头中的虚拟网络的网络标识,作为步骤S602获取的网络标识;
S1502:第一节点根据获取的网络标识以及从第一报文业务链头中的业务链的信息,确定第一报文要发给本端的第二端口;
第一节点可保存所述网络标识、第二端口的信息和业务链的信息的对应关系。所述第二端口的信息可为物理端口标识,比如:槽位号或端口号。可选地,所述对应关系可保存于转发表项中。
第一节点可根据所述对应关系、所述网络标识和所述业务链的信息,确定所述第二端口。
S1503:第一节点剥离第一报文的第二overlay网络头和虚拟网络头后,得到第三报文;
S1504:第一节点将第三报文发给本端的第二端口。
本发明实施例中,虚拟网络的网络标识、业务链的信息以及第二端口的信息的对应关系,可通过学习的方式获得。具体地,
在第一节点接收第一报文之前,第一节点从本端的第二端口接收第三节点发送的第七报文;第一节点获得第二端口的信息、第二端口所属的虚拟网络的网络标识和第七报文中的业务链头中的业务链的信息;第一节点保存第二端口的信息、虚拟网络的网络标识和业务链的信息的对应关系;或者
在第一节点接收第一报文之前,第一节点从本端的第二端口接收第三节点发送的第八报文;第一节点获得第二端口的信息、第八报文业务链头中的业务链的信息以及第八报文的业务链头中虚拟网络的网络标识;第一节点保存第二端口的信息、业务链的信息和虚拟网络的网路标识的对应关系。
实施例七
实施例七中,第一报文也来自远端,与实施例六的区别在于,实施例七中第一报文的业务链头中包括虚拟网络的网络标识,第一节点将第一报文业务链头中的虚拟网络的网络标识,作为步骤S602中获取的虚拟网络的网络标识。第一节点剥离第一报文包括的第二overlay网络头,获得第三报文。
对于实施例七,业务链头中包括虚拟网络的网络标识,一种可选的业务链头如图13所示。同样,实施例七中,可选地,第一节点也可为具有SFE功能的虚拟网络端点,其报文处理也可如图14所示。
与实施例六相似,虚拟网络的网络标识、第一报文的业务链头中的业务链的信息、以及第二端口的端口标识的对应关系,也可通过学习的方式获得,不同的是,本实施例中,第一节点在从本端的第二端口收到第七报文后,从第七报文业务链头中获得虚拟网络的网络标识,其他可参考实施例六。
下面,以VXLAN为例,通过实施例八~实施例十七举例说明。
实施例八给出了VTEP对接收的报文进行路由转发的一个例子;
实施例九给出了SFE1通过VTEP1、VTEP2向SFE2发送报文的一个例子;
实施例十给出了通过广播报文建立转发表的一个例子;
实施例十一给出了通过学习建立转发表的一个例子;
实施例十二给出了VTEP对接收的报文进行路由转发的另一个例子;
实施例十三给出了SFE1通过VTEP1、VTEP2向SFE2发送报文的另一个例子;
实施例十四给出了通过广播报文建立转发表的另一个例子;
实施例十五给出了通过学习建立转发表的另一个例子;
实施例十六给出了融合VTEP功能的SFE对接收的报文进行路由转发的一个例子;
实施例十七给出了SFE1通过物理网络直接向SFE2发送报文的一个例子。
实施例八
实施例八给出了VTEP对接收的报文进行路由转发的一个例子。如图16所示,实施例八包括如下步骤:
S1601:当收到报文后,判断是否从远端VTEP收到该报文,若是,则执行步骤S1605,否则执行步骤S1602;
S1602:根据接收报文的端口,确定端口所属的VXLAN ID;
S1603:根据确定的VXLAN ID以及接收的报文的业务链头的SF-id,查找VTEP转发表,得到下一跳VTEP地址;
S1604:在报文外层添加VXLAN头和第二overlay网络头,向下一跳VTEP发送,VXLAN头中包括步骤S1602中确定的VXLAN ID,第二overlay网络头中包括下一跳VTEP地址;
S1605:根据报文中的VXLAN ID、SF-id,查找VTEP转发表,确定VTEP的本地端口;
S1606:剥离报文的第二overlay网络头以及VXLAN头,将报文送往确定的本地端口。
实施例九
实施例九给出了SFE1通过VTEP1、VTEP2向SFE2发送报文的一个例子。VTEP2可以是VTEP1的下一跳VTEP。
图17为本发明实施例九的网络拓扑和VTEP转发表的示意图。图17中,SF1连接SFE1,SFE1连接在VTEP1的端口A;SF2连接SFE2,SFE2连接在VTEP2的端口B,VTEP1和VTEP2通过物理网络相连,物理网络可以是Ethernet网络、IP网络、MPLS网络等。VTEP1和VTEP2均包含一张转发表,该转发表至少包含三个键值,分别是VXLAN ID、SF-id和位置信息。在图17中,VTEP1的转发表包括二个表项,第一个表项包括的100为VXLAN ID,第一个表项包括的SF2为SF-id,第一个表项包括的IP_VTEP2为VTEP2的IP地址。第二个表项包括的100为VXLANID,第二个表项包括的SF1为SF-id,第二个表项包括的端口A为VTEP的端口A。
图18为本发明实施例九的方法流程图。图18对应的实施例中,业务链头中的SF-id为作为目的SF节点的SF2的标识。如图18所示,实施例九中发送报文的方法包括:
S1801:SFE1发送带业务链头的报文到VTEP1;
S1802:VTEP1收到该报文后,根据接收该报文的端口,获得端口所属的VXLAN ID;VTEP1根据VXLAN ID以及报文业务链头中的SF-id,查找VTEP转发表,得到位置信息IP_VTEP2;VTEP1在报文外层添加VXLAN头,并根据得到的位置信息添加第二overlay网络头;
其中,端口所属的VXLAN ID需要预先配置。
S1803:VTEP1将包括业务链头、VXLAN头和第二overlay网络头的报文通过物理网络发送到VTEP2;
S1804:VTEP2收到来自VTEP1的报文后,根据报文中VXLAN头中的VXLAN ID以及业务链头中的SF-id,查找VTEP转发表,得到位置信息端口B;VTEP2剥离第二overlay网络头以及VXLAN头,将获得的包括业务链头的报文发送至端口B。
S1805:VTEP2发送的包括业务链头的报文至SFE2。
实施例十
实施例十给出了通过广播报文建立转发表的一个例子。如图19所示,VTEPX、VTEPY和VTEP Z是网络标识为1000的VXLAN中三个虚拟网络端点,VTEP X与SFE1相连,SFE1与SFA相连,VTEP Y与SFE2相连,SFE2与SF B相连,VTEP Z与SFE3相连,SFE3与SF C相连。
定义一个带业务链头的报文用于发现网络的拓扑结构,例如discovery报文。每个SFE定期发送该discovery报文,该discovery报文到达VTEP后,在VXLAN域内广播;虚拟网络中的其它VTEP收到该discovery报文后,提取出discovery报文中携带的VXLAN ID、SF-id、源IP地址,并在VTEP转发表项中自动创建或者更新一个表项。所述源IP地址可作为该转发表项中的位置信息。
图19中,SF B的SF-id是B-ins-001,ip-VTEP Y表示VTEP Y的IP地址,discovery表示报文的类型。图19中,带斜线的块包括业务链头和报文的类型,业务链头包括SF-id。可选地,报文的类型也可以置于业务链头中。图19中,带横线的块包括:VXLAN头、目的IP地址和源IP地址。其中,VXLAN头包括数值为1000的VXLAN ID;目的IP地址的内容为全部,表示为广播地址;源IP地址为VTEP Y的IP地址。
实施例十一
实施例十一给出了VXLAN中的一个VTEP通过学习建立转发表的一个例子。如图20所示,实施例十一包括如下步骤:
S2001:当收到报文后,判断是否从远端VTEP收到该报文,若是,则执行步骤S2005,否则执行步骤S2002;
远端VTEP可以是该VXLAN中不同于该VTEP的另一个VTEP。
S2002:根据接收报文的端口,获得端口所属的VXLAN ID;
S2003:提取报文业务链头中的SF-id;
S2004:使用得到的VXLAN ID和SF-id以及接收报文的端口号,创建或更新一个转发表项;
S2005:提取报文中的VXLAN头中的VXLAN ID和业务链头中的SF-id;
S2006:提取报文的源VTEP地址;
源VTEP地址可以是远端VTEP的地址。
S2007:使用得到的VXLAN ID和SF-id以及接收报文的源VTEP地址,创建或更新一个转发表项。
实施例十二
实施例十二给出了VTEP对接收的报文进行路由转发的另一个例子。如图21所示,实施例十二包括如下步骤:
S2101:当收到报文后,判断是否从远端VTEP收到该报文,若是,则执行步骤S2105,否则执行步骤S2102;
S2102:根据接收报文的端口,确定端口所属的VXLAN ID;
S2103:根据确定的VXLAN ID以及接收的报文的业务链头的SF-id和path-id,查找VTEP转发表,得到下一跳VTEP地址;
S2104:在报文外层添加VXLAN头和第二overlay网络头,向下一跳VTEP发送,VXLAN头中包括步骤S2102中确定的VXLAN ID,第二overlay网络头中包括下一跳VTEP地址;
S2105:根据报文中的VXLAN ID、SF-id和path-id,查找VTEP转发表,确定VTEP的本地端口;
S2106:剥离报文的第二overlay网络头以及VXLAN头,将报文送往确定的本地端口。
实施例十三
实施例十三给出了SFE1通过VTEP1、VTEP2向SFE2发送报文的另一个例子。VTEP2可以是VTEP1的下一跳VTEP。
图22为本发明实施例十三的网络拓扑和VTEP转发表的示意图。图22的网络拓扑与图17所示的网络拓扑相同。不同之处在于,VTEP1和VTEP2保存有一张转发表,该转发表至少包含四个键值,分别是VXLAN ID、SF-id、path-id和位置信息,即图22的转发表项较图17增加了path-id这一栏。
图23为本发明实施例十三的方法流程图。如图23所示,实施例十三包括如下步骤:
S2301:SFE1发送带业务链头的报文到VTEP1;
S2302:VTEP1收到该报文后,根据接收该报文的端口,获得端口所属的VXLAN ID,端口所属的VXLAN ID需要预先配置;根据VXLAN ID以及报文业务链头中的SF-id、path-id,查找VTEP转发表,得到位置信息IP_VTEP2;之后,在报文外层添加VXLAN头,并根据得到的位置信息添加第二overlay网络头;
S2303:VTEP1把上述新的报文通过物理网络发送到VTEP2;
S2304:VTEP2收到报文后,根据报文中VXLAN头中的VXLAN ID以及报文业务链头中的SF-id和path-id,查找VTEP转发表,得到位置信息端口B;之后,剥离报文的第二overlay网络头以及VXLAN头,报文送往出端口B。
S2305:SFE2接收到VTEP2发送的报文。
实施例十四
实施例十四给出了通过广播报文建立转发表的另一个例子。
图24为本发明实施例十四中通过广播报文建立转发表的示意图。图24对应的实施例与图19所对应的实施例的不同之处在于,SFE2广播的报文所包括的业务链头还包括路径的标识,如图24中的数值为200的path-id。图24对应的实施例的其它内容与图19相同,在此不再赘述。
实施例十五
实施例十五给出了通过学习建立转发表的另一个例子。实施例十五中远端VTEP的含义与图20对应的实施例中远端VTEP的含义相同,在此不再赘述。实施例十五中的源VTEP地址为远端VTEP的地址。如图25所示,实施例十五包括如下步骤:
S2501:当收到报文后,判断是否从远端VTEP收到该报文,若是,则执行步骤S2505,否则执行步骤S2502;
S2502:根据接收报文的端口,获得端口所属的VXLAN ID;
S2503:提取报文业务链头中的SF-id和path-id;
S2504:使用得到的VXLAN ID、SF-id和path-id以及接收报文的端口号,创建或更新一个转发表项;
S2505:提取报文中的VXLAN头中的VXLAN ID、业务链头中的SF-id和业务链头中的path-id;
S2506:提取报文的源VTEP地址;
S2507:使用得到的VXLAN ID、SF-id、path-id以及接收报文的源VTEP地址,创建或更新一个转发表项。
实施例十六
实施例十六给出了融合VTEP功能的SFE对接收的报文进行路由转发的一个例子。也可将融合VTEP功能的SFE称为具备SFE功能的VTEP。如图26所示,实施例十六包括如下步骤:
S2601:当收到报文后,判断是否从远端SFE收到该报文,若是,则执行步骤S2605,否则执行步骤S2602;
S2602:从接收的报文的业务链头中,获取VXLAN ID;
S2603:根据获取的VXLAN ID、接收的报文的业务链头的SF-id和path-id,查找SFE转发表,得到下一跳SFE地址;
S2604:在报文外层添加第二overlay网络头,向下一跳SFE发送;
其中,下一跳SFE可以是通过物理网络与该融合VTEP功能的SFE通信的SFE。
S2605:根据报文业务链头中的VXLAN ID、SF-id和path-id,查找SFE转发表,确定SFE的本地端口;
其中,本地端口可连接SF或SFE。
S2606:剥离报文的第二overlay网络头,将报文送往确定的本地端口。
实施例十七
实施例十七给出了SFE1通过物理网络直接向SFE2发送报文的一个例子。SFE2可以是SFE1的下一跳SFE。
图27为本发明实施例十七的网络拓扑和SFE转发表的示意图。如图27所示,SF1连接SFE1,SF2连接SFE2,SFE2通过物理网络相连,物理网络可以是Ethernet网络、IP网络、MPLS网络等。SFE1和SFE2均包含一张转发表,该转发表至少包含四个键值,分别是VXLANID、SF-id、path-id和位置信息。在图27中,SFE1的转发表包括二个表项,第一个表项中,VXLAN ID为100,SF-id为SF2,path-id为1001,位置信息为SFE2的IP地址;第二个表项中,VXLAN ID为100,SF-id为SF1,path-id为1001,位置信息为SFE1的端口A。
图28为本发明实施例十七的方法流程图。如图28所示,实施例十七包括如下步骤:
S2801:SF1发送带业务链头的报文到SFE1;
S2802:SFE1收到该报文后,从该报文的业务链头中获得VXLAN ID,根据VXLAN ID=100以及报文业务链头中的SF-id=SF2、path-id=1001,查找转发表,得到下一跳SFE的位置信息IP_SFE2;之后,根据IP_SFE2,在报文外层添加第二overlay网络头;
S2803:SFE1把上述新的报文通过物理网络发送到SFE2;
S2804:SFE2收到报文后,根据报文业务链头中的VXLAN ID=100,SF-id=SF2和path-id=1001,查找转发表,得到位置信息端口B;之后,剥离报文的第二overlay网络头,报文送往出端口B。
S2805:SF2接收到SFE2发送的报文。
本发明的上述实施例是以VTEP1向VTEP2发送报文进行说明的,VTEP2向VTEP1发送报文的方式与上述实施例提供的方法相似,在此不再赘述。本发明的上述实施例中,转发表项包括的SF-id为作为目的SF节点的SF的标识,还可以将其替换为作为源SF节点的SF的标识。包括作为源SF节点的SF的标识的转发表项的使用方法与上述实施例中的转发表项的使用方法相同,在此不再赘述。本发明上述实施例中的业务链还可称为业务功能链(servicefunction chain),本发明上述实施例中的SF或SF节点可以称为业务处理实体(serviceprocess entity)。
基于同一发明构思,本发明实施例还提供了两种网络节点,由于其解决问题的原理与本发明实施例提供的方法相似,其实施可参照方法的实施,重复之处不再赘述。
实施例十八
图29为本发明实施例十八提供的第一节点的结构示意图。该第一节点为基于覆盖overlay的虚拟网络的网络节点,如图29所示,该第一节点包括:
收发模块2901,用于接收第二节点发送的第一报文,第一报文包括第二报文以及封装在第二报文上的业务链头,业务链头包括业务链的信息;
处理模块2902,用于获取虚拟网络的网络标识,根据网络标识以及业务链的信息,获得第三节点的位置信息;
收发模块2901还用于:根据第三节点的位置信息,将第三报文发往第三节点,第三报文为处理模块2902处理第一报文后获得的报文。
可选地,业务链的信息包括:
业务链的第一业务功能SF节点的标识;或
业务链的第一SF节点的标识和业务链的路径的标识。
可选地,第一节点为第一虚拟网络端点,第二节点为业务链中的业务转发实体SFE,第三节点为第二虚拟网络端点,第一节点连接第二虚拟网络端点;或
第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为业务链中的第二SF节点,第三节点为业务链中具有SFE功能的第四虚拟网络端点,第一SF节点连接第四虚拟网络端点。
可选地,第一节点为第一虚拟网络端点,第二节点为业务链中的SFE,第三节点为第二虚拟网络端点,第一节点连接SFE;或
第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为第一SF节点,第三节点为业务链中具有SFE功能的第四虚拟网络端点。
可选地,处理模块2902具体用于:
获取第一节点的端口,端口连接第二节点;
将端口所属的虚拟网络的网络标识,作为网络标识;
第三报文中包括:第一报文、封装在第一报文上的虚拟网络头和封装在虚拟网络头上的overlay网络头,虚拟网络头包括网络标识,overlay网络头包括第三节点的位置信息。
可选地,业务链头还包括网络标识,处理模块2902具体用于:
从第一报文的业务链头中,获取网络标识;
第三报文中包括:第一报文以及封装在第一报文上的overlay网络头,overlay网络头中包括第三节点的位置信息。
可选地,收发模块2901还用于在接收第二节点发送的第一报文之前,接收第三节点发送的第四报文,第四报文用于通知下述三项信息:网络标识、业务链的信息和第三节点的位置信息;
处理模块2902还用于从第四报文中获取该三项信息,并记录该三项信息的对应关系。
可选地,收发模块2901还用于在接收第二节点发送的第一报文之前,接收第三节点发送的第五报文;处理模块2902还用于记录下述三项信息的对应关系:第五报文的业务链头中的业务链的信息、第五报文的虚拟网络头中的网络标识以及第五报文的overlay网络头中的第三节点的位置信息;或
收发模块2901还用于在接收第二节点发送的第一报文之前,接收第三节点发送的第六报文;处理模块2902还用于记录下述三项信息的对应关系:第六报文的业务链头中的业务链的信息、第六报文的业务链头中的网络标识以及第六报文的overlay网络头中的第三节点的位置信息。
可选地,第一节点为第一虚拟网络端点,第二节点为第二虚拟网络端点,第三节点为业务链中的SFE,第一SF节点连接SFE;或
第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为业务链中具有SFE功能的第四虚拟网络端点,第三节点为第一SF节点。
可选地,第一节点为第一虚拟网络端点,第二节点为第二虚拟网络端点,第三节点为业务链中的SFE,第一SF节点连接第二虚拟网络端点;或
第一节点为业务链中具有SFE功能的第三虚拟网络端点,第二节点为业务链中具有SFE功能的第四虚拟网络端点,第三节点为业务链中的第二SF节点,第一SF节点连接第四虚拟网络端点。
可选地,第一报文中还包括:封装于业务链头上的虚拟网络头和封装于虚拟网络头上的overlay网络头,虚拟网络头包括网络标识;
处理模块2902具体用于:
从虚拟网络头中获取网络标识;
第三报文为处理模块2902剥离了第一报文包括的overlay网络头和虚拟网络头后获得的报文。
可选地,第一报文还包括封装于业务链头上的overlay网络头,业务链头还包括网络标识,处理模块2902具体用于:
从业务链头获取网络标识;
第三报文为处理模块2902剥离第一报文包括的overlay网络头后获得的报文。
可选地,收发模块2901还用于:在接收第二节点发送的第一报文之前,接收第三节点发送的第七报文;处理模块2902还用于:记录下述三项信息的对应关系:第七报文的业务链头中业务链的信息、第一节点的端口的信息以及端口所属的虚拟网络的网络标识,端口连接第三节点;或
收发模块2901还用于:在接收第二节点发送的第一报文之前,接收第三节点发送的第八报文;处理模块2902还用于:记录下述三项信息的对应关系:第八报文的业务链头中业务链的信息、第一节点的端口的信息以及第八报文的业务链头中虚拟网络的网络标识,端口连接第三节点。
实施例十九
图30为本发明实施例十九提供的另一网络节点的结构示意图。该第一节点为基于覆盖overlay的虚拟网络的网络节点,如图30所示,该第一节点包括:
收发器3001,用于接收第二节点发送的第一报文,第一报文包括第二报文以及封装在第二报文上的业务链头,业务链头包括业务链的信息;
处理器3002,用于获取虚拟网络的网络标识,根据网络标识以及业务链的信息,获得第三节点的位置信息;
收发器3001还用于:根据第三节点的位置信息,将第三报文发往第三节点,第三报文为处理器3002处理第一报文后获得的报文。
其中,在图30中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器3002代表的一个或多个处理器和收发器3001代表的接口装置的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。存储器3003可包含一个或多个存储单元。针对不同的用户设备,用户接口3004还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
综上,在所述虚拟网络中部署业务链时,本发明实施例中第一节点接收的第一报文中包括第二报文以及封装在第二报文上的业务链头,该业务链头包括业务链的信息;第一节点根据所述业务链的信息以及第一报文来自的虚拟网络的网络标识,获得第三节点的位置信息,第一节点根据第三节点的位置信息,将处理第一报文后获得的第三报文发往第三节点。第二节点发送给第一节点的报文无需进行封装,例如以太网封装或overlay封装,即有助于第一节点不依赖于接收到的报文中的目的MAC地址转发所述接收到的报文,有助于简化所述接收到的报文的封装。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质,包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备或系统、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (34)

1.一种报文发送方法,所述方法应用于基于覆盖overlay的虚拟网络,其特征在于,所述方法包括:
第一节点接收第二节点发送的第一报文,所述第一报文包括第二报文以及封装在所述第二报文上的业务链头,所述业务链头包括业务链的信息;
所述第一节点获取所述虚拟网络的网络标识;
所述第一节点根据所述网络标识以及所述业务链的信息,获得第三节点的位置信息;
所述第一节点根据所述第三节点的位置信息,将第三报文发往所述第三节点,所述第三报文为所述第一节点处理所述第一报文后获得的报文。
2.如权利要求1所述的方法,其特征在于,所述业务链的信息包括:
所述业务链的第一业务功能SF节点的标识;或
所述业务链的第一SF节点的标识和所述业务链的路径的标识。
3.如权利要求2所述的方法,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的业务转发实体SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中的第二SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第一SF节点连接所述第四虚拟网络端点。
4.如权利要求2所述的方法,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述第一SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点。
5.如权利要求3或4所述的方法,其特征在于,所述第一节点获取所述虚拟网络的网络标识包括:
所述第一节点获取所述第一节点的端口,所述端口连接所述第二节点;
所述第一节点将所述端口所属的虚拟网络的网络标识,作为所述网络标识;
所述第三报文中包括:所述第一报文、封装在所述第一报文上的虚拟网络头和封装在所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识,所述overlay网络头包括所述第三节点的位置信息。
6.如权利要求3或4所述的方法,其特征在于,所述业务链头还包括所述网络标识,所述第一节点获取虚拟网络的网络标识包括:
所述第一节点从所述第一报文的业务链头中,获取所述网络标识;
所述第三报文中包括:所述第一报文以及封装在所述第一报文上的overlay网络头,所述overlay网络头中包括所述第三节点的位置信息。
7.如权利要求3所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第四报文,所述第四报文用于通知下述三项信息:所述网络标识、所述业务链的信息和所述第三节点的位置信息;所述第一节点从所述第四报文中获取该三项信息,并记录该三项信息的对应关系。
8.如权利要求3或4所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第五报文,并记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述第一节点接收所述第三节点发送的第六报文,并记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
9.如权利要求5所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第五报文,并记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述第一节点接收所述第三节点发送的第六报文,并记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
10.如权利要求6所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第五报文,并记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述第一节点接收所述第三节点发送的第六报文,并记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
11.如权利要求2所述的方法,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述第一SF节点。
12.如权利要求2所述的方法,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述业务链中的第二SF节点,所述第一SF节点连接所述第四虚拟网络端点。
13.如权利要求11或12所述的方法,其特征在于,所述第一报文中还包括:封装于所述业务链头上的虚拟网络头和封装于所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识;
所述第一节点获取所述虚拟网络的网络标识包括:
所述第一节点从所述虚拟网络头中获取所述网络标识;
所述第三报文为所述第一节点剥离了所述第一报文包括的所述overlay网络头和所述虚拟网络头后获得的报文。
14.如权利要求11或12所述的方法,其特征在于,所述第一报文还包括封装于所述业务链头上的overlay网络头,所述业务链头还包括所述网络标识,所述第一节点获取所述第二节点所属的虚拟网络的网络标识包括:
所述第一节点从所述业务链头获取所述网络标识;
所述第三报文为所述第一节点剥离所述第一报文包括的所述overlay网络头后获得的报文。
15.如权利要求11或12所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第七报文,并记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述第一节点接收所述第三节点发送的第八报文,并记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
16.如权利要求13所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第七报文,并记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述第一节点接收所述第三节点发送的第八报文,并记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
17.如权利要求14所述的方法,其特征在于,在所述第一节点接收所述第二节点发送的所述第一报文之前,还包括:
所述第一节点接收所述第三节点发送的第七报文,并记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述第一节点接收所述第三节点发送的第八报文,并记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
18.一种第一节点,所述第一节点为基于覆盖overlay的虚拟网络的网络节点,其特征在于,所述第一节点包括:
收发模块,用于接收第二节点发送的第一报文,所述第一报文包括第二报文以及封装在所述第二报文上的业务链头,所述业务链头包括业务链的信息;
处理模块,用于获取所述虚拟网络的网络标识,根据所述网络标识以及所述业务链的信息,获得第三节点的位置信息;
所述收发模块还用于:根据所述第三节点的位置信息,将第三报文发往所述第三节点,所述第三报文为所述处理模块处理所述第一报文后获得的报文。
19.如权利要求18所述的第一节点,其特征在于,所述业务链的信息包括:
所述业务链的第一业务功能SF节点的标识;或
所述业务链的第一SF节点的标识和所述业务链的路径的标识。
20.如权利要求19所述的第一节点,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的业务转发实体SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中的第二SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第一SF节点连接所述第四虚拟网络端点。
21.如权利要求19所述的第一节点,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为所述业务链中的SFE,所述第三节点为第二虚拟网络端点,所述第一节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述第一SF节点,所述第三节点为所述业务链中具有SFE功能的第四虚拟网络端点。
22.如权利要求20或21所述的第一节点,其特征在于,所述处理模块具体用于:
获取所述第一节点的端口,所述端口连接所述第二节点;
将所述端口所属的虚拟网络的网络标识,作为所述网络标识;
所述第三报文中包括:所述第一报文、封装在所述第一报文上的虚拟网络头和封装在所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识,所述overlay网络头包括所述第三节点的位置信息。
23.如权利要求20或21所述的第一节点,其特征在于,所述业务链头还包括所述网络标识,所述处理模块具体用于:
从所述第一报文的业务链头中,获取所述网络标识;
所述第三报文中包括:所述第一报文以及封装在所述第一报文上的overlay网络头,所述overlay网络头中包括所述第三节点的位置信息。
24.如权利要求20所述的第一节点,其特征在于,
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第四报文,所述第四报文用于通知下述三项信息:所述网络标识、所述业务链的信息和所述第三节点的位置信息;
所述处理模块还用于从所述第四报文中获取该三项信息,并记录该三项信息的对应关系。
25.如权利要求20或21所述的第一节点,其特征在于,
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第五报文;所述处理模块还用于记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第六报文;所述处理模块还用于记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
26.如权利要求22所述的第一节点,其特征在于,
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第五报文;所述处理模块还用于记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第六报文;所述处理模块还用于记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
27.如权利要求23所述的第一节点,其特征在于,
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第五报文;所述处理模块还用于记录下述三项信息的对应关系:所述第五报文的业务链头中的所述业务链的信息、所述第五报文的虚拟网络头中的所述网络标识以及所述第五报文的overlay网络头中的所述第三节点的位置信息;或
所述收发模块还用于在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第六报文;所述处理模块还用于记录下述三项信息的对应关系:所述第六报文的业务链头中的所述业务链的信息、所述第六报文的业务链头中的所述网络标识以及所述第六报文的overlay网络头中的所述第三节点的位置信息。
28.如权利要求19所述的第一节点,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述SFE;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述第一SF节点。
29.如权利要求19所述的第一节点,其特征在于,
所述第一节点为第一虚拟网络端点,所述第二节点为第二虚拟网络端点,所述第三节点为所述业务链中的SFE,所述第一SF节点连接所述第二虚拟网络端点;或
所述第一节点为所述业务链中具有SFE功能的第三虚拟网络端点,所述第二节点为所述业务链中具有SFE功能的第四虚拟网络端点,所述第三节点为所述业务链中的第二SF节点,所述第一SF节点连接所述第四虚拟网络端点。
30.如权利要求28或29所述的第一节点,其特征在于,所述第一报文中还包括:封装于所述业务链头上的虚拟网络头和封装于所述虚拟网络头上的overlay网络头,所述虚拟网络头包括所述网络标识;
所述处理模块具体用于:
从所述虚拟网络头中获取所述网络标识;
所述第三报文为所述处理模块剥离了所述第一报文包括的所述overlay网络头和所述虚拟网络头后获得的报文。
31.如权利要求28或29所述的第一节点,其特征在于,所述第一报文还包括封装于所述业务链头上的overlay网络头,所述业务链头还包括所述网络标识,所述处理模块具体用于:
从所述业务链头获取所述网络标识;
所述第三报文为所述处理模块剥离所述第一报文包括的所述overlay网络头后获得的报文。
32.如权利要求28或29所述的第一节点,其特征在于,
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第七报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第八报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
33.如权利要求30所述的第一节点,其特征在于,
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第七报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第八报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
34.如权利要求31所述的第一节点,其特征在于,
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第七报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第七报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述端口所属的所述虚拟网络的网络标识,所述端口连接所述第三节点;或
所述收发模块还用于:在接收所述第二节点发送的所述第一报文之前,接收所述第三节点发送的第八报文;所述处理模块还用于:记录下述三项信息的对应关系:所述第八报文的业务链头中所述业务链的信息、所述第一节点的端口的信息以及所述第八报文的业务链头中所述虚拟网络的网络标识,所述端口连接所述第三节点。
CN201410407249.4A 2014-08-18 2014-08-18 一种报文发送方法和网络节点 Active CN105471693B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910054904.5A CN109861897B (zh) 2014-08-18 2014-08-18 一种获得对应关系的方法、装置及系统
CN201410407249.4A CN105471693B (zh) 2014-08-18 2014-08-18 一种报文发送方法和网络节点
PCT/CN2015/086918 WO2016026406A1 (zh) 2014-08-18 2015-08-14 一种报文发送方法和网络节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410407249.4A CN105471693B (zh) 2014-08-18 2014-08-18 一种报文发送方法和网络节点

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910054904.5A Division CN109861897B (zh) 2014-08-18 2014-08-18 一种获得对应关系的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN105471693A CN105471693A (zh) 2016-04-06
CN105471693B true CN105471693B (zh) 2019-02-05

Family

ID=55350193

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910054904.5A Active CN109861897B (zh) 2014-08-18 2014-08-18 一种获得对应关系的方法、装置及系统
CN201410407249.4A Active CN105471693B (zh) 2014-08-18 2014-08-18 一种报文发送方法和网络节点

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910054904.5A Active CN109861897B (zh) 2014-08-18 2014-08-18 一种获得对应关系的方法、装置及系统

Country Status (2)

Country Link
CN (2) CN109861897B (zh)
WO (1) WO2016026406A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342925B (zh) 2016-04-29 2020-03-06 新华三技术有限公司 一种报文传输方法及装置
CN107579838A (zh) * 2016-07-05 2018-01-12 中兴通讯股份有限公司 数据处理方法及装置
CN107666429B (zh) * 2016-07-29 2020-12-18 平安科技(深圳)有限公司 一种Overlay网络中的交换机逻辑部署方法及终端
CN109150720B (zh) * 2017-06-19 2022-04-12 中兴通讯股份有限公司 业务链报文转发方法、装置、设备及计算机可读存储介质
CN113542112B (zh) * 2020-04-20 2023-11-21 华为技术有限公司 一种报文转发方法及网络设备
CN112511432B (zh) * 2020-11-12 2022-01-25 中国科学院计算技术研究所 一种Overlay网络虚拟化SFC路由配置、传输方法及系统
CN114363259B (zh) * 2021-12-30 2023-12-08 中国光大银行股份有限公司 用于overlay网络的路径探测系统以及路径探测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599883A (zh) * 2008-07-02 2009-12-09 上海恩际恩网络科技有限公司 一种基于重叠网的安全传输网络体系架构
CN101635966A (zh) * 2008-07-22 2010-01-27 华为技术有限公司 无线接入网的切换方法、设备及系统
CN101790167A (zh) * 2010-01-21 2010-07-28 中兴通讯股份有限公司 一种分组数据服务节点的分配方法及系统
CN102308539A (zh) * 2011-07-08 2012-01-04 华为技术有限公司 转发端口快速切换的方法及装置
CN102970227A (zh) * 2012-11-12 2013-03-13 盛科网络(苏州)有限公司 在asic中实现vxlan报文转发的方法和装置
CN103491129A (zh) * 2013-07-05 2014-01-01 华为技术有限公司 一种业务节点配置方法、业务节点池注册器及系统
CN103546451A (zh) * 2012-07-16 2014-01-29 国际商业机器公司 基于流的覆盖网络
CN103957160A (zh) * 2014-05-12 2014-07-30 华为技术有限公司 一种发送报文的方法及设备
CN103973825A (zh) * 2013-02-01 2014-08-06 中兴通讯股份有限公司 叠加网络中通告mac地址可达性的方法、节点设备及发送方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1309221C (zh) * 2003-06-08 2007-04-04 华为技术有限公司 基于多协议标签交换的用户设备双归属实现方法
CN100579063C (zh) * 2006-05-29 2010-01-06 华为技术有限公司 多业务接入网的控制系统及控制方法
CN101882979B (zh) * 2009-05-05 2014-04-30 中兴通讯股份有限公司 一种实现用户间协作的方法及系统
KR20130003274A (ko) * 2011-06-30 2013-01-09 한국전자통신연구원 서비스 오버레이 네트워크 관리 장치 및 방법
US8989192B2 (en) * 2012-08-15 2015-03-24 Futurewei Technologies, Inc. Method and system for creating software defined ordered service patterns in a communications network

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599883A (zh) * 2008-07-02 2009-12-09 上海恩际恩网络科技有限公司 一种基于重叠网的安全传输网络体系架构
CN101635966A (zh) * 2008-07-22 2010-01-27 华为技术有限公司 无线接入网的切换方法、设备及系统
CN101790167A (zh) * 2010-01-21 2010-07-28 中兴通讯股份有限公司 一种分组数据服务节点的分配方法及系统
CN102308539A (zh) * 2011-07-08 2012-01-04 华为技术有限公司 转发端口快速切换的方法及装置
CN103546451A (zh) * 2012-07-16 2014-01-29 国际商业机器公司 基于流的覆盖网络
CN102970227A (zh) * 2012-11-12 2013-03-13 盛科网络(苏州)有限公司 在asic中实现vxlan报文转发的方法和装置
CN103973825A (zh) * 2013-02-01 2014-08-06 中兴通讯股份有限公司 叠加网络中通告mac地址可达性的方法、节点设备及发送方法
CN103491129A (zh) * 2013-07-05 2014-01-01 华为技术有限公司 一种业务节点配置方法、业务节点池注册器及系统
CN103957160A (zh) * 2014-05-12 2014-07-30 华为技术有限公司 一种发送报文的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络虚拟化及网络功能虚拟化技术探讨;赵慧玲,等;《中兴通讯技术》;20140630;第20卷(第3期);第8-11页

Also Published As

Publication number Publication date
CN109861897B (zh) 2023-09-01
CN105471693A (zh) 2016-04-06
CN109861897A (zh) 2019-06-07
WO2016026406A1 (zh) 2016-02-25

Similar Documents

Publication Publication Date Title
CN105471693B (zh) 一种报文发送方法和网络节点
CN103312611B (zh) 报文处理方法、设备标签处理方法及设备
CN102136989B (zh) 报文传输的方法、系统和设备
CN106341298B (zh) 报文发送方法及装置
CN104468384B (zh) 一种实现多业务优先级的系统及方法
CN106330714A (zh) 一种实现业务功能链的方法和装置
CN102301663B (zh) 一种报文处理方法及相关设备
CN104221332B (zh) 局域网复用装置
CN107181663A (zh) 一种报文处理方法、相关设备及计算机可读存储介质
CN109831382A (zh) 一种路径计算方法、装置及设备
CN102724118B (zh) 标签分发方法及设备
CN106603413B (zh) 通过指定路径传输流量的方法和装置
CN107181662A (zh) 一种vxlan隧道负载均衡的方法及系统
CN101442467B (zh) 在基于运营商骨干网传送的网络中提供多点到多点连接的方法
CN106302206A (zh) 报文的转发处理方法、装置及系统
CN106921572B (zh) 一种传播QoS策略的方法、装置及系统
CN105024985A (zh) 一种报文处理方法及装置
CN107770073A (zh) 一种信息同步的方法,装置及系统
CN110138618A (zh) 一种报文处理方法、装置及系统
CN110401599A (zh) 数据包的处理方法及装置、存储介质、电子装置
CN106982157A (zh) 流量工程隧道建立方法和装置
CN107517157A (zh) 一种路径确定方法、装置和系统
CN105991435B (zh) 用于获取端口路径的方法及装置
CN115004656B (zh) 一种报文发送方法、设备及系统
CN103747502B (zh) 一种gtp隧道的处理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant