CN104518935A - 实现虚拟网络通信的方法、装置和系统 - Google Patents

实现虚拟网络通信的方法、装置和系统 Download PDF

Info

Publication number
CN104518935A
CN104518935A CN201310452313.6A CN201310452313A CN104518935A CN 104518935 A CN104518935 A CN 104518935A CN 201310452313 A CN201310452313 A CN 201310452313A CN 104518935 A CN104518935 A CN 104518935A
Authority
CN
China
Prior art keywords
virtual
network message
mark
virtual network
vff
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.)
Granted
Application number
CN201310452313.6A
Other languages
English (en)
Other versions
CN104518935B (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 CN201310452313.6A priority Critical patent/CN104518935B/zh
Priority to PCT/CN2014/075789 priority patent/WO2015043168A1/zh
Publication of CN104518935A publication Critical patent/CN104518935A/zh
Application granted granted Critical
Publication of CN104518935B publication Critical patent/CN104518935B/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]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • 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]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种虚拟网络通信方法、装置和系统,该方法包括:第一VFF接收来自第一虚拟机VM或网络设备的虚拟网络报文,处理所述虚拟网络报文并发送至第二VFF,所述虚拟网络报文中包括虚拟拓扑信息;第二VFF处理所述虚拟网络报文并发送至第二VM。这样,在网络设备的功能虚拟化后,可以在vNF间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。

Description

实现虚拟网络通信的方法、装置和系统
技术领域
本发明实施例涉及计算机通信领域,尤其涉及一种实现虚拟网络通信的方法、装置和系统。
背景技术
随着云计算的发展,网络功能虚拟化(network function virtualization,简称NFV)技术逐步兴起。NFV技术将由网络设备的硬件实现的网络功能,例如防火墙,网络地址转换(network address,简称NAT)等,通过虚拟机(virtual machine,简称VM)中运行的虚拟网络功能(virtual network function,简称vNF)来实现,从而在基础网络(英文:infrastructure)之上构建虚拟网络。
网络虚拟化叠加(network virtualization over layer3,简称NVO3)是虚拟网络隔离技术,可以构建虚拟网络域。一个虚拟网络域内任意两点主机/VM直接可达,而属于不同虚拟网络域的主机/VM是不能互通的。NVO3技术通过为每个租户分配一个虚拟网络标识(virtual network identifier,简称VNID),可以实现隔离式多租户(英文:tenant)的数据中心(data center,简称DC)环境。
发明内容
本发明实施例提供了一种实现虚拟网络通信的方法、装置和系统,用于解决网络设备的功能虚拟化之后,在网络设备的vNF间构建虚拟网络拓扑,通信架构,实现虚拟网络中vNF与物理网络拓朴解耦合。
第一方面,本发明提供了一种实现虚拟网络通信的方法,包括:
第一虚拟转发功能VFF接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述第一vNF的虚拟端口的标识,其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上;所述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;
根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至第二VFF;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第一方面,在第一方面的第一种可能实现方式中,所述根据所述第一虚拟网络报文得到第二虚拟网络报文;将所述第二虚拟网络报文发送至第二VFF包括:
获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;
根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
根据第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口具体包括:
根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。
根据第一方面的第一种可能实现方式,在第一方面的第三种可能实现方式中,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;
相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口具体包括:
根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括所述业务路径标识。
根据第一方面的第一种可能实现方式,在第一方面的第四种可能实现方式中,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息;所述第一虚拟拓扑信息包括所述业务路径标识或所述接口标识;
所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;
根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
根据第一方面的第一种至第四种可能实现方式中任意一种,在第一方面的第五种可能实现方式中,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;
相应地,所述第二虚拟网络报文还包括网络虚拟化叠加NVO3头部和所述第二VFF的IP地址,所述NVO3头部中虚拟网络标识VNID为所述第一VFF接收所述第一虚拟网络报文的入端口对应的VNID。
根据第一方面的第一种至第五种可能实现方式中任意一种,在第一方面的第六种可能实现方式中,所述方法还包括:根据所述第一VFF接收所述第一虚拟网络报文的入端口,获取虚拟网络标识VNID;
相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根据所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
根据第一方面的第一种至第六种可能实现方式中任意一种,在第一方面的第七种可能实现方式中,所述方法还包括:所述第一VFF接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;其中,所述网络设备附着在所述第一VFF上;
根据所述第三虚拟网络报文得到第四虚拟网络报文,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;将所述第四虚拟网络报文发送至第三VFF;所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第一方面的第七种可能实现方式,在第一方面的第八种可能实现方式中,所述根据所述第三虚拟网络报文得到第四虚拟网络报文,将所述第四虚拟网络报文发送至第三VFF包括:
根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;
根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址;
从所述第二出端口发送所述第四虚拟网络报文至所述第三VFF。
第二方面,本发明提供了一种实现虚拟网络通信的方法,包括:
第一虚拟转发功能VFF接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息,所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM内,所述第二VM附着在所述第二VFF上;
根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的虚拟端口的标识;将所述第二虚拟网络报文发送至第一虚拟机VM;
其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上;所述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第二方面,在第二方面的第一种可能实现方式中,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,并将所述第二虚拟网络报文发送至第一VM,包括:
根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的虚拟网卡vINC的媒体访问控制MAC地址;
根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
从所述第一出端口发送所述第二虚拟网络报文至所述第一VM。
根据第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所述方法还包括:从所述第一虚拟网络报文中获取虚拟网络标识VNID;
相应地,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,包括:根据所述VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。
根据第二方面以及第二方面的第一种和第二种可能实现方式中任意一种,在第二方面的第三种可能实现方式中,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
根据第二方面以及第二方面的第一种至第三种可能实现方式中任意一种,在第二方面的第四种可能实现方式中,所述方法还包括:
所述第一VFF接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识;其中,所述第三vNF位于第三虚拟机VM内,所述第三VM附着在所述第三VFF上;
根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文,并将所述第四虚拟网络报文发送至第一网络设备,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括所述第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第一VFF上;所述第二虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第二方面以及第二方面的第一种至第四种可能实现方式中任意一种,在第二方面的第五种可能实现方式中,所述方法还包括:
第一VFF接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息;所述第三虚拟源信息包括第二网络设备的端口的标识;其中,所述第二网络设备附着在所述第四VFF上;
根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文,所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的虚拟端口的标识;将所述第六虚拟网络报文发送至所述第一VM;所述第三虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第二方面以及第二方面的第一种至第五种可能实现方式中任意一种,在第二方面的第六种可能实现方式中,所述方法还包括:
所述第一VFF维护虚拟网络拓扑信息,所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口。
根据第二方面的第六种可能实现方式,在第二方面的第七种可能实现方式中,所述虚拟网络拓扑信息还包括入端口和虚拟网络标识。
第三方面,本发明提供了一种实现虚拟网络通信的方法,包括:
虚拟容器接收第一虚拟网络功能vNF发送的第一业务报文;
根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;
将所述第一虚拟网络报文发送给第一虚拟转发功能VFF;
其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
根据第三方面,在第三方面的第一种可能实现方式中,所述方法包括:接收所述第一vNF发送的第三vNF的标识;
相应地,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括所述第三vNF的标识。
根据第三方面,在第三方面的第二种可能实现方式中,还包括:接收所述第一vNF发送的第一业务路径标识或第一接口标识;
相应地,所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信息包括所述第一业务路径标识或所述第一接口标识。
根据第三方面以及第三方面的第一种和第二种可能实现方式中任意一种,在第三方面的第三种可能实现方式中,还包括:
所述虚拟容器接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
解封装所述第二虚拟网络报文以得到第二业务报文;
根据所述第二虚拟目的信息,发送所述第二业务报文。
根据第三方面的第三种可能实现方式,在第三方面的第四种可能实现方式中,还包括:
所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;
相应地,所述方法还包括:根据所述第二虚拟目的信息发送所述第二业务路径标识或所述第二接口标识。
根据第三方面以及第三方面的第一种至第四种可能实现方式中任意一种,在第三方面的第五种可能实现方式中,所述虚拟容器位于所述第一VM中;或者,所述虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,所述虚拟容器与所述第一VFF位于同一设备内。
根据第三方面的第三种至第五种可能实现方式中任意一种,在第三方面的第六种可能实现方式中,所述第二虚拟目的信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识。
根据第三方面的第三种或第四种可能实现方式,在第三方面的第七种可能实现方式中,所述第二虚拟目的信息包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内,所述虚拟容器位于所述第一VM中。
根据第三方面以及第三方面的第一种至第七种可能实现方式中任意一种,在第三方面的第八种可能实现方式中,所述方法还包括:
所述虚拟容器接收网络设备发送的第三业务报文以及所述网络设备的端口的标识;
根据所述第三业务报文得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网络设备的端口的标识;
将所述第三虚拟网络报文发送给所述第一VFF;
其中,所述网络设备附着在所述第一VFF上。
根据第三方面的第八种可能实现方式,在第三方面的第九种可能实现方式中,所述虚拟容器位于所述网络设备内。
第四方面,本发明提供了一种实现第一虚拟转发功能VFF的装置,用于构建虚拟网络拓扑并实现虚拟网络报文的转发,包括:
接收单元,用于接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息,所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述第一vNF的虚拟端口的标识,其中,所述第一vNF位于所述第一VM内;所述第一VM附着在实现所述第一VFF的装置上;
处理单元,用于根据所述第一虚拟网络报文得到第二虚拟网络报文;所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
发送单元,用于将所述第二虚拟网络报文发送至第二VFF。
在第四方面的第一种可能实现方式中,所述处理单元,具体用于获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
相应地,所述发送单元,具体用于从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
根据第四方面的第一种可能实现方式,在第四方面的第二种可能实现方式中,所述处理单元,具体用于根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。
根据第四方面的第一种可能实现方式,在第四方面的第三种可能实现方式中,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;
相应地,所述处理单元,具体用于根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括业务路径标识。
根据第四方面的第一种可能实现方式,在第四方面的第四种可能实现方式中,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息;所述第一虚拟拓扑信息包括业务路径标识或接口标识;
相应地,所述处理单元,具体用于从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
根据第四方面的第一种至第四种可能实现方式中任一种,在第四方面的第五种可能实现方式中,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;
相应地,所述处理单元,具体还用于根据所述第二VFF的IP地址和所述VFF接收所述第一虚拟网络报文的入端口对应的虚拟网络标识VNID,封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括网络虚拟化叠加NVO3头部和所述第二VFF的IP地址,所述NVO3头部中VNID为所述VFF接收所述第一虚拟网络报文的入端口对应的VNID。
根据第四方面以及第四方面的第一种至第五种可能实现方式中任一种,在第四方面的第六种可能实现方式中,所述VFF还包括:获取单元,用于根据所述VFF接收所述第一虚拟网络报文的入端口,获取VNID;
相应地,所述处理单元,还用于根据所述获取单元获取的所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
根据第四方面以及第四方面的第一种至第六种可能实现方式中任一种,在第四方面的第七种可能实现方式中,所述接收器,还用于接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;其中,所述网络设备附着在实现所述第一VFF的装置上;
所述处理单元,还用于根据所述第三虚拟网络报文,得到第四虚拟网络报文,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息,所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述发送单元,还用于将所述第四虚拟网络报文发送至第三VFF。
根据第四方面第七种可能实现方式,在第四方面的第八种可能实现方式中,所述处理单元,具体用于根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址;
相应地,所述发送单元,具体用于从所述第二出端口发送所述第四虚拟网络报文至所述第三VFF。
第五方面,本发明提供了一种实现第一虚拟转发功能VFF的装置,用于构建虚拟网络拓扑并实现虚拟网络报文的转发,包括:
接收单元,用于接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM内;所述第二VM附着在所述第二VFF上;
处理单元,用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的虚拟端口的标识;
所述发送单元,用于将所述第二虚拟网络报文发送至第一虚拟机VM;其中,所述第一vNF位于所述第一VM内;所述第一VM附着在实现所述第一VFF的装置上;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
在第五方面的第一种可能实现方式中,所述处理单元,具体用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的虚拟网卡vINC的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
相应地,所述发送器,具体用于从所述第一出端口发送所述第二虚拟网络报文至所述第一VM。
根据第五方面的第一种可能实现方式,在第五方面的第二种可能实现方式中,所述VFF还包括:获取单元,用于从所述第一虚拟网络报文中获取虚拟网络标识VNID;
相应地,所述处理单元,具体用于根据所述获取单元获取的所述VNID,以及所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。
根据第五方面以及第五方面的第一种和第二种可能实现方式中任意一种,在第五方面的第三种可能实现方式中,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
根据第五方面以及第五方面的第一种至第三种可能实现方式中任意一种,在第五方面的第四种可能实现方式中,所述接收器,还用于接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识;其中,所述第三vNF位于第三虚拟机VM内;所述第三VM附着在所述第三VFF上;
所述处理单元,还用于根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文,得到第四虚拟网络报文;所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第三VFF上;所述第二虚拟拓扑信息包括包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述发送器,还用于将所述第四虚拟网络报文发送至所述第一网络设备。
根据第五方面以及第五方面的第一种至第四种可能实现方式中任意一种,在第五方面的第五种可能实现方式中,所述接收器,还用于接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息;所述第三虚拟源信息包括第二网络设备的端口的标识;其中,所述第二网络设备附着在所述第四VFF上;
所述处理单元,还用于根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文,得到第六虚拟网络报文;所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的虚拟端口的标识;所述第三虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述发送器,还用于将所述第六虚拟网络报文发送至所述第一VM。
根据第五方面以及第五方面的第一种至第五种可能实现方式中任意一种,在第五方面的第六种可能实现方式中,所述VFF还包括:拓扑维护单元,用于维护虚拟网络拓扑信息,所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口。
第六方面,本发明提供了一种实现虚拟容器的装置,包括:
接收模块,用于接收第一虚拟网络功能vNF发送的第一业务报文;
处理模块,用于根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;
发送模块,将所述第一虚拟网络报文发送给第一虚拟转发功能VFF;其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
在第六方面的第一种可能实现方式中,所述接收模块还用于接收所述第一vNF发送的第三vNF的标识;
相应地,所述处理模块,具体用于根据所述第三vNF的标识,处理所述第一业务报文,得到所述第一虚拟网络报文;所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括所述第三vNF的标识。
在第六方面的第二种可能实现方式中,所述接收模块,还用于接收所述第一vNF发送的第一业务路径标识或第一接口标识;
相应地,所述处理模块,具体用于根据所述第一业务路径标识或所述第一接口标识处理所述第一业务报文以得到所述第一虚拟网络报文;所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信息包括所述第一业务路径标识或所述接口标识。
根据第六方面以及第六方面的第一种和第二种可能实现方式中任意一种,在第六方面的第三种可能实现方式中,所述接收模块,还用于接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
所述处理模块,还用于解封装所述第二虚拟网络报文以得到第二业务报文;
所述发送模块,还用于根据所述第二虚拟目的信息,发送所述第二业务报文。
根据第六方面的第三种可能实现方式,在第六方面的第四种可能实现方式中,所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;
相应地,所述处理模块,具体用于解封装所述第二虚拟网络报文,得到第二业务报文,和所述第二业务路径标识或所述第二接口标识;
所述发送模块,还用于根据所述第二虚拟目的信息,发送所述第二业务路径标识或所述第二接口标识。
根据第六方面以及第六方面的第一种至第四种可能实现方式,在第六方面的第五种可能实现方式中,所述虚拟容器位于所述第一VM中;或者,所述虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,所述虚拟容器与所述第一VFF位于同一设备内。
根据第六方面的第三种至第五种可能实现方式中任一种,在第六方面的第六种可能实现方式中,所述第二虚拟目的信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识。
根据第六方面的第三种或第四种可能实现方式,在第六方面的第七种可能实现方式中,所述第二虚拟目的信息包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内,所述虚拟容器位于所述第一VM中。
根据第六方面以及第六方面的第一种至第七种可能实现方式,在第六方面的第八种可能实现方式中,所述接收模块,还用于接收网络设备发送的第三业务报文以及所述网络设备的端口的标识;
所述处理模块,还用于根据所述第三业务报文得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网络设备的端口的标识;
所述发送模块,还用于将所述第三虚拟网络报文发送给所述第一VFF;其中,所述网络设备附着在所述第一VFF上。
根据第六方面的第八种可能实现方式,在第六方面的第九种可能实现方式中,所述虚拟容器位于所述网络设备内。
第七方面,本发明提供了一种虚拟网络通信系统,包括:第一虚拟机VM和第一虚拟转发功能VFF,以及第二VM和第二虚拟转发功能;
所述第一VM包括第一虚拟网络功能vNF,所述第一VM附着在所述第一VFF上;所述第二VM包括第二vNF,所述第二VM附着在所述第二VFF上;
所述第一VFF和所述第二VFF用于在所述第一VM和所述第二VM之间构建虚拟网络拓扑;
所述第一VFF用于接收来自所述第一VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至第二VFF;所述第一虚拟拓扑信息包括如下任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述第二VFF,用于接收来自所述第一VFF的所述第二虚拟网络报文;根据所述第二虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第三虚拟网络报文,所述第三虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括所述第二vNF的标识或所述第二vNF的虚拟端口的标识;将所述第三虚拟网络报文发送至所述第二VM。
在第七方面的第一种可能实现方式中,所述第一VM还包括第一虚拟容器;所述第一vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一VFF是独立的设备,或者与所述第一VM位于同一设备上。
根据第七方面的第一种可能实现方式,在第七方面的第二种可能实现方式中,所述第一VM还包括第三vNF;
所述第三vNF通过所述第一虚拟容器与所述第一VFF通信;
所述虚拟容器,用于维护vNF的虚拟端口与虚拟网卡vNIC的对应关系。
根据第七方面,在第七方面的第三种可能实现方式中,所述系统还包括第一虚拟容器;所述第一虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中,所述第一VFF是独立的设备或者与所述第一VM位于同一设备上;或者,所述第一虚拟容器、所述第一VM与所述第一VFF位于同一设备上;
所述第一vNF通过所述第一虚拟容器与所述第一VFF通信。
根据第七方面以及第七方面的第一种至第三种可能实现方式中的任意一种,在第七方面的第四种可能实现方式中,所述系统还包括第一网络设备,所述第一网络设备附着在所述第一VFF上;
所述第一VFF,还用于接收来自所述第一网络设备的第四虚拟网络报文,所述第二虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述第一网络设备的端口的标识;根据所述第四虚拟网络报文得到第五虚拟网络报文,所述第五虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;发送所述第五虚拟网络报文;所述第二虚拟拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第七方面以及第七方面的第一种至第四种可能实现方式中的任意一种,在第七方面的第五种可能实现方式中,所述系统还包括第二网络设备和第三VFF,所述第二网络设备附着在所述第三VFF上;
所述第三VFF,用于接收来自所述第二网络设备的第六虚拟网络报文,所述第六虚拟网络报文中包括第三虚拟源信息,所述第三虚拟源信息包括所述第二网络设备的端口的标识;根据所述第六虚拟网络报文得到第七虚拟网络报文,所述第七虚拟网络报文中包括所述第三虚拟源信息和第三虚拟拓扑信息;发送所述第七虚拟网络报文;所述第三虚拟拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
根据第七方面的第五种可能实现方式,在第七方面的第六种可能实现方式中,所述第二VFF,还用于接收来自所述第三VFF的所述第七虚拟网络报文,所述第七虚拟网络报文包括所述第三虚拟源信息和所述第三虚拟拓扑信息;根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第七虚拟网络报文以得到第八虚拟网络报文,所述第八虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第二vNF的虚拟端口的标识;将所述第八虚拟网络报文发送至所述第二VM。
采用本发明实施例提供的技术方案,通过虚拟转发功能VFF和虚拟容器可以在网络设备的功能虚拟化后,在虚拟网络功能vNF间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。
附图说明
图1是本发明实施例提供的虚拟网络报文的格式示意图;
图2是本发明实施例提供的一种虚拟网络通信系统的结构示意图;
图3a、3b、3c和3d是本发明实施例提供的虚拟网络通信系统中VM与VFF间结构示意图;
图4A和4B是本发明实施例提供的一种实现虚拟网络通信的方法流程图;
图5A、5B和5C是本发明实施例提供的另一种实现虚拟网络通信的方法流程图;
图6A、6B和6C是本发明实施例提供的又一种实现虚拟网络通信的方法流程图;
图7是本发明实施例提供的一种虚拟网络通信的网络场景示意图;
图8A是本发明实施例提供的一种vNF间虚拟链路通信方法流程图;
图8B是本发明实施例提供的vNF间虚拟链路通信的虚拟网络报文转发示意图;
图9A是本发明实施例提供的一种vNF间虚拟共享总线通信方法流程图;
图9B是本发明实施例提供的vNF间虚拟共享总线通信的虚拟网络报文转发示意图;
图10A是本发明实施例提供的一种vNF间业务路径通信方法流程图;
图10B是本发明实施例提供的vNF间业务路径通信的虚拟网络报文转发示意图;
图11A是本发明实施例提供的一种实现物理网络到虚拟网络映射互通的方法流程图;
图11B是本发明实施例提供的物理网络到虚拟网络映射互通的虚拟网络报文转发示意图;
图12A是本发明实施例提供的一种vNF间进行接口调用的方法流程图;
图12B是本发明实施例提供的vNF间进行接口调用的虚拟网络报文转发示意图;
图13A是本发明实施例提供的一种实现第一VFF的装置结构示意图;
图13B是本发明实施例提供的另一种实现第一VFF的装置结构示意图;
图14A是本发明实施例提供的一种实现第一VFF的装置硬件结构示意图;
图14B是本发明实施例提供的另一种实现第一VFF的装置硬件结构示意图;
图15是本发明实施例提供的一种实现虚拟容器的装置结构示意图;
图16是本发明实施例提供的一种实现虚拟容器的装置硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,详细描述本发明实施例中的技术方案,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中公开了一种虚拟网络通信方法、装置和系统,定义了一种虚拟转发功能(virtual forward function,简称VFF)和虚拟容器,用于在网络设备的功能虚拟化后,在虚拟网络功能(virtual network function,简称vNF)间构建虚拟网络拓扑,实现vNF间通信。虚拟机(virtual machine,简称VM)通过附着在(英文:attach to)VFF上,可以实现VM间通信,具体地,可以在vNF间构建虚拟链路(英文:vnLine),或虚拟共享总线(英文:vnLAN),或业务路径(英文:service chain),或者虚拟共享总线结合业务路径,或虚拟链路结合业务路径,或进行接口调用等。网络设备也可以附着到VFF上,实现物理网络与虚拟网络的映射互通,具体地,实现网络设备的端口,包括物理端口或逻辑端口,到vNF的虚拟端口的映射,可以在网络设备的端口到vNF的虚拟端口之间构建虚拟链路,或虚拟共享总线,或业务路径,或者虚拟共享总线和业务路径,或虚拟链路和业务路径等。VFF可以是独立的设备,也可以同所附着的VM位于一个设备,例如服务器或主机(host)上,具体根据网络需求部署,本发明对此不作限定。
其中,虚拟链路(英文:vnLine):是仿照连接两个物理端口的链路,构建在两个虚拟网络功能vNF之间的虚拟网络线路,所述两个vNF通过所述虚拟链路直接可达。
虚拟共享总线(英文:vnLAN):是模拟物理共享总线,构建在多个vNF的虚拟端口之间的虚拟局域网段;所有附着在虚拟共享总线上的vNF的虚拟端口之间可相互通信。通过在多个vNF的虚拟端口之间构建的虚拟共享总线,从附着在虚拟共享总线上的某个vNF的虚拟端口发出的报文,附着在虚拟共享总线上的其他vNF的虚拟端口都可以收到。
业务路径(英文:service chain):是一系列vNF顺序处理报文所构成的业务节点链;该一系列vNF中,每个vNF实现不同的业务节点功能,例如防火墙,网络地址转换(network address translation,简称NAT)等。举例来说,从vNF0发送给vNF3的报文,必须先经过位于虚拟机1中的vNF1做防火墙处理,再经过位于虚拟机2中的vNF2做NAT处理,然后才能到达vNF3,则vNF0-vNF1-vNF2-vNF3构成一条业务路径。
接口(英文:interface)调用:在一个vNF与另一个vNF之间实现通信接口,使得两个vNF之间能协同运作,就象同一物理主机内的不同模块间通信,或者跨物理主机的进程通信。
物理网络与虚拟网络映射互通:实现物理设备的物理端口或逻辑端口与vNF的虚拟端口的映射互通。
本发明中,还定义了一种虚拟网络报文,用于实现本发明的虚拟网络通信。虚拟网络报文具体包括有效载荷和外层报文头,有效载荷(英文:payload)可以是vNF发出的业务报文或业务数据,外层报文头中包括虚拟网络路由信息和虚拟网络封装信息,具体包括虚拟源信息、虚拟目的信息、虚拟路径信息和虚拟下一跳的地址等。本发明实施例中,将外层报文头分为虚拟层叠头和虚拟网络头两部分;虚拟层叠头中包括虚拟源信息、虚拟目的信息和虚拟路径信息等,用于实现虚拟网络路由,包括vNF与VFF之间的路由,两个VFF之间的路由;虚拟网络头包括虚拟下一跳的地址等虚拟网络封装信息;虚拟下一跳的地址包括媒体访问控制(media address control,简称MAC)地址,还可以包括网际协议(Internetprotocol,简称IP)地址。本发明实施例中,虚拟网络报文的格式具体如图1所示,其中,虚拟层叠头包括:
版本(ver):3位(3bits),协议版本号;
标志位(flags):5bits,本发明中定义flags中第一个标志位为O标志位,用于指示虚拟层叠头中是否包括可选项(英文:option),例如O标志位置1,指示包括option,置0指示不包括option;其余未定义标志位保留,可扩展定义;
虚拟源类型(S-type):4bits,用于指示虚拟源信息的类型;
虚拟目的类型(D_type):4bits,用于指示虚拟目的信息的类型;
虚拟源信息(vSrc):32bits,包括vNF的标识,虚拟端口的标识,物理端口的标识,或逻辑端口的标识等;
虚拟目的信息(vDst):32bits,包括vNF的标识,vNF的虚拟端口的标识等;vNF的虚拟端口的标识可以是全局唯一的,也可以是vNF上唯一的。若vNF的虚拟端口的标识是vNF上唯一的,vNF的虚拟端口的标识可以由vNF的标识与虚拟端口号的形式组成;
虚拟拓扑信息:32bits,其中包括业务路径标识(pathID)16bits,用于标识一个业务路径;还包括虚拟网段标识(segID),32bits,用于标识虚拟网段,包括虚拟链路标识,虚拟共享总线标识,或接口标识等;
保留(英文:reserve):8bits,目前作为保留域,可供扩展定义;
协议(英文:protocol):8bits,指示有效载荷中业务报文的协议类型,可以是以太网,网际协议第四版(Internet protocol version4,简称IPv4),网际协议第六版(Internet protocol version6,简称IPv6),用户数据报协议(user datagramprotocol,简称UDP),传输控制协议(transmission control protocol,简称TCP)等。
长度(英文:length):16bits,指示除虚拟网络报文的基本头之外的报文总长度(字节数),具体来说,指示有效载荷和可选项的长度;
可选项(英文:option):通过类型长度值(type-length-value,简称TLV)的形式携带信息;本发明实施例中,虚拟网络报文可以包括处理结果选项,通过type指示该option类型为处理结果,vlaue中包括业务处理结果。
虚拟网络头包括:源MAC地址,目的MAC地址;可选地,还包括虚拟局域网(virtual local area network,简称VLAN)标识(identifier,简称ID)或者NVO3封装头。参见图1所示,虚拟网络头有三种封装格式:
封装格式1:以太报文头封装,包括源MAC地址(sMAC),目的MAC地址(dMAC);
封装格式2:带VLAN的以太报文头封装,包括源MAC地址(sMAC),目的MAC地址(dMAC)和VLAN ID。本发明中,对于包括多个vNF的VM附着到同一个VFF,需要通过VLAN区分各个vNF时,则可采用封装格式2;另外,同一数据中心二层互通,需要多租户隔离时,两个VFF之间通信的虚拟网络报文也可以采用封装2,用VLAN区分不同租户;
封装格式3:利用NVO3技术,将以太报文头封装到UDP/IP/以太报文头中,穿越IP网络。
需要说明的是,上述虚拟网络报文的格式仅作为本发明实施例提供的一种示例,本发明对报文的具体格式不做限定。
如图2所示,本发明实施例提供了一种虚拟网络通信系统,包括第一VM和第一VFF,以及第二VM和第二VFF;
所述第一VFF和所述第二VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;
所述第一VM包括第一虚拟网络功能vNF,所述第一VM附着在(英文:attach to)所述第一VFF上;所述第二VM包括第二vNF,所述第二VM附着在所述第二VFF上;
所述第一VFF和所述第二VFF用于在所述第一VM和所述第二VM之间构建虚拟网络拓扑,包括如下任意一种:虚拟链路(英文:vnLine);虚拟共享总线(英文:vnLAN);业务路径(英文:service chain);虚拟共享总线和业务路径;虚拟链路和业务路径;接口调用。可以理解的是,本发明并不限于上述网络拓扑,随着网络虚拟化技术的发展,还可应用于更多网络拓扑的构建。
所述第一VFF用于接收来自所述第一VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至第二VFF;所述第一虚拟拓扑信息包括如下任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述第二VFF,用于接收来自所述第一VFF的所述第二虚拟网络报文;根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第二虚拟网络报文以得到第三虚拟网络报文,所述第三虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括所述第二vNF的标识或所述第二vNF的虚拟端口的标识;将所述第三虚拟网络报文发送至所述第二VM;
具体地,第一VM与第一VFF间结构,可以如图3a或3b所示,其中,所述第一VM还包括第一虚拟容器,所述第一vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一VFF可以是独立的设备,也可以与所述第一VM位于同一设备,例如,服务器或主机(host)上。如图3a所示,所述第一vNF与所述第一VM一一对应;相应地,第一vNF的虚拟端口与所述第一VM的虚拟网卡(virtual network interface card,简称vNIC)一一对应。进一步地,vNF与VM可以是多对一的关系,如图3b所示,所述第一VM还可以包括第二vNF;相应地,vNF的虚拟端口与vNIC是多对一的关系。可以理解的是,第二VM与第二VFF的结构也可以如图3a或3b所示。
本发明实施例中,在图3a和3b所示虚拟容器中,为vNF提供套接字(英文:socket)接口,将vNF的虚拟端口与vNIC或者vNIC+VLAN绑定;socket接口可由vNF创建,也可以由VM中的管理程序创建。socket接口可以基于vNF创建,也可以基于vNF的虚拟端口创建。vNF调用socket接口将业务报文发送给虚拟容器,虚拟容器将业务报文封装成虚拟网络报文,然后发送给VFF。虚拟容器接收到VFF发送的虚拟网络报文时,对虚拟网络报文进行解封装得到业务报文,并根据虚拟网络报文找到对应的socket接口,将业务报文发送给vNF。
示例性的,本发明实施例中定义如下socket管理接口和socket使用接口;vNF或VM中的管理软件调用socket管理接口,创建socket接口;在socket接口创建之后,vNF可以通过socket使用接口收发报文。
socket管理接口可以包括:
S=Plug(name,conn_type,protocol);
unPlug(S);
S.bind(nicDevice,vlanid);
S.setQoS();//参数略
S.getInfo();//参数略
其中,S=Plug(name,conn_type,protocol)表示基于vNF名称或vNF端口名称建立socket接口;参数name用于指定vNF名称或vNF端口名称,参数conn_type用于指示该socket连接类型,包括虚拟链路(vnLine),虚拟共享总线(vnLAN),业务路径,物理网络与虚拟网络的映射互通,接口调用等;参数protocol用于指示报文(vNF发出的报文,或者虚拟网络报文中的payload)的封装类型,例如,以太封装,IPv4封装,或者应用数据等。unPlug(S)表示销毁一个已创建的socket接口。S.bind(nicDevice,vlanid)表示将socket接口映射到一个vNIC,或vNIC+VLAN。S.setQoS()表示设置socket接口的服务质量(quality of service,简称QoS)信息。S.getInfo()表示获取socket接口的信息。
Socket使用接口可以包括:
S=GetSocket(Name);
S.Send();//参数略
S.Receive();//参数略
S.connected();//参数略
其中,S=GetSocket(name)表示获得对应一个vNF或vNF的虚拟端口创建的socket接口;参数name用于指定vNF名称或vNF端口名称。S.Send()表示vNF调用socket接口发送报文。S.Receive()表示vNF调用socket接口接收报文。S.connected()表示检测是否已连接到基础网络。
或者,第一VM与第一VFF间结构也可以如图3c所示,所述系统还包括第一虚拟容器;所述第一虚拟容器位于所述第一VM所在设备,例如,服务器或主机,的虚拟机管理程序(英文:hypervisor)中;所述第一vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一VFF可以是独立的设备,也可以位于所述第一VM所在设备上。所述第一vNF的虚拟端口与所述第一VM的vNIC一一对应。可以理解的是,第二VM与第二VFF的结构也可以如图3c所示,还包括第二虚拟容器;所述第二虚拟容器位于所述第二VM所在设备的hypervisor中;所述第二vNF通过所述第二虚拟容器与所述第二VFF通信。
或者,第一VM与第一VFF间结构也可以如图3d所示,所述系统还包括第一虚拟容器;所述第一虚拟容器、所述第一VM与所述第一VFF位于同一设备,例如,服务器或主机上;所述第一vNF通过所述第一虚拟容器与所述第一VFF通信。同样,所述第一vNF的虚拟端口与所述第一VM的vNIC一一对应。可以理解的是,第二VM与第二VFF的结构也可以如图3d所示,还包括第二虚拟容器;所述第二虚拟容器、所述第二VM与所述第二VFF位于同一设备;所述第二vNF通过所述第二虚拟容器与所述第二VFF通信。
本发明实施例中,在图3c或图3d所示结构中的虚拟容器,简化了实现,无需复杂的socket接口,主要进行报文的封装与解封装。
进一步地,在图3b所示结构中,所述第一VM还可以包括第三vNF;所述第三vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一虚拟容器,还用于维护vNF的虚拟端口与虚拟网卡vNIC的对应关系。
可选地,所述系统还包括第一网络设备,所述第一网络设备附着在所述第一VFF上;所述第一VFF,还用于接收来自所述第一网络设备的第四虚拟网络报文,所述第四虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述第一网络设备的端口的标识;根据所述第四虚拟网络报文得到第五虚拟网络报文,所述第五虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;发送所述第五虚拟网络报文;所述第二虚拟拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识、虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
可选地,所述系统还包括第二网络设备和第三VFF,所述第二网络设备附着在所述第三VFF上;所述第二网络设备可以与所述第一VM,通过所述第一VFF和所述第三VFF通信;所述第二网络设备也可以与所述第二VM,通过所述第二VFF和所述第三VFF通信。具体地,以第二网络设备可以与所述第二VM通信为例,所述第二网络设备与所述第二VM,通过所述第二VFF和所述第三VFF,可以实现所述第二网络设备的端口到所述第二vNF的虚拟端口的映射,包括在所述第二网络设备的端口与所述第二vNF的虚拟端口之间构建虚拟链路,或虚拟共享总线,或业务路径,或者虚拟共享总线和业务路径,或虚拟链路和业务路径等。所述第二网络设备的端口包括物理端口或逻辑端口。
所述第三VFF,用于接收来自所述第二网络设备的第六虚拟网络报文,所述第六虚拟网络报文中包括第三虚拟源信息,所述第三虚拟源信息包括所述第二网络设备的端口的标识;根据所述第六虚拟网络报文得到第七虚拟网络报文,所述第七虚拟网络报文中包括所述第三虚拟源信息和第三虚拟拓扑信息;发送所述第七虚拟网络报文至所述第二VFF;所述第三虚拟拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
所述第二VFF,用于接收来自所述第三VFF的所述第七虚拟网络报文;根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第七虚拟网络报文以得到第八虚拟网络报文,所述第八虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第二vNF的虚拟端口的标识;发送所述第八虚拟网络报文至所述第二VM。
本实施例中,所述虚拟网络通信系统中的所述第一VFF的结构和功能可以如本发明图13A,13B,14A和14B任一所示;所述第一虚拟容器可以如本发明图15或16所示。可以理解的是,所述第二VFF或第三VFF的结构和功能与所述第一VFF相同或相似。
本发明实施例提供的虚拟网络通信系统,在vNF之间或者网络设备与vNF之间构建虚拟网络拓扑,实现vNF间或网络设备与vNF间的通信。从而可以将网络设备通过NFV技术虚拟出的网络功能(即vNF)与NFV拓朴解耦合,使得NFV技术虚拟出的虚拟设备的运营和管理更加方便、灵活。
结合上述虚拟网络通信系统,接下来将详细说明本发明技术方案,介绍实现虚拟网络通信的方法,VFF和虚拟容器。
参见图4A,为本发明实施例提供的一种实现虚拟网络通信的方法,所述方法包括:
401、第一VFF接收来自第一VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括第一vNF的标识或所述第一vNF的虚拟端口的标识;
其中,所述第一vNF位于所述第一VM内;所述第一VM附着在所述第一VFF上,所述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发。
具体地,所述第一VFF从入端口接收所述虚拟网络报文。
所述第一虚拟网络报文还包括第一有效载荷;具体来说,所述第一虚拟网络报文是在所述第一有效载荷的外层封装了虚拟网络头和虚拟层叠头,其中所述虚拟层叠头中包括所述第一虚拟源信息。
402、根据所述第一虚拟网络报文得到第二虚拟网络报文;
所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
同样的,所述第二虚拟网络报文还包括所述第一有效载荷。
具体地,第一VFF获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括第二VFF的MAC地址;并根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文;所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址。
可选地,在多租户场景中,所述方法还包括:根据所述第一VFF接收所述第一虚拟网络报文的入端口,获取虚拟网络标识VNID。相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根据所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
进一步地,所述第一虚拟网络报文还可以包括处理结果选项(result option),用于向所述第一VFF传递所述第一vNF对所述虚拟网络报文中有效净荷,即所述第一有效载荷的处理结果;这样所述第一VFF可以根据所述处理结果选项中的处理结果对所述第一虚拟网络报文进行不同的处理。例如,处理结果指示需要进行过滤,则选择pathID为220的service chain,以及相应地虚拟下一跳的地址和出端口;指示不需要过滤,则选择pathID为210的service chain或者vnLine1,以及相应地虚拟下一跳的地址和出端口。
403、将所述第二虚拟网络报文发送至第二VFF;
具体地,所述第一VFF从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。可选地,在多租户场景中,根据所述VNID和所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
可选地,所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信息包括业务路径标识或接口标识。相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;
根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。可选地,在多租户场景中,根据所述VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
可选地,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上。相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括业务路径标识。可选地,在多租户场景中,根据所述VNID、所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
可选地,所述第一虚拟下一跳的地址还包括所述第二VFF的IP地址;则所述第二虚拟网络报文还包括网络虚拟化叠加NVO3头部和所述第二VFF的IP地址,所述NVO3头部中VNID为所述第一VFF接收所述第一虚拟网络报文的入端口对应的所述VNID。
进一步地,如图4B所示,所述方法还可以包括:
404、所述第一VFF接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;
其中,所述网络设备附着在所述第一VFF上;所述网络设备的端口包括物理端口或逻辑端口。
所述第三虚拟网络报文还包括第二有效载荷。
405、所述第一VFF根据所述第三虚拟网络报文得到第四虚拟网络报文;
所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
同样,所述第四虚拟网络报文还包括所述第二有效载荷。
具体地,所述第一VFF根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文;所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址。
406、将所述第四虚拟网络报文发送至第三VFF。
具体地,所述第一VFF从所述第二出端口发送所述第四虚拟网络报文至所述第三VFF。
本发明实施例提供的实现虚拟网络通信的方法,网络设备采用NFV技术虚拟出的虚拟网络功能(vNF)附着到VFF,通过VFF接收并处理vNF间通信的虚拟网络报文,可以构建灵活的vNF通信架构,使得NFV技术虚拟出的虚拟设备的运营和管理更加方便、灵活;从而解决虚拟网络功能(vNF)与NFV拓朴耦合,消耗VNID资源、无法灵活控制vNF、实现vNF间通信的问题。
参见图5A,为本发明实施例提供的另一种实现虚拟网络通信的方法,所述方法包括:
501、第一虚拟转发功能VFF接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;
其中,所述第二vNF位于第二虚拟机VM内,所述第二VM附着在所述第二VFF上;
具体地,所述第一VFF从入端口接收所述第一虚拟网络报文。
所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
所述第一虚拟网络报文还包括第一有效载荷;具体来说,所述第一虚拟网络报文是在所述第一有效载荷的外层封装了虚拟网络头和虚拟层叠头,其中所述虚拟层叠头中包括所述第一虚拟源信息和所述第一虚拟拓扑信息。
502、根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文;
所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的第一虚拟端口的标识;其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上。
所述第一VFF和所述第二VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发。
所述第一VFF可以根据所述第一VFF的虚拟网络拓扑信息处理所述第一虚拟网络报文。所述第一VFF的虚拟网络拓扑信息可以是预先配置在所述第一VFF上的,也可以是所述第一VFF动态获取的,比如到一个中心拓朴管理器请求并获取拓朴信息。所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口;所述虚拟网络拓扑信息还可以包括入端口和VNID。
具体地,所述第一VFF根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的第一虚拟网卡vINC的MAC地址;并根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址。
同样,所述第二虚拟网络报文还包括所述第一有效载荷。
进一步地,在多租户场景中,所述方法还包括:从所述第一虚拟网络报文中获取第一VNID。相应地,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,包括:根据所述第一VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。
503、将所述第二虚拟网络报文发送至所述第一VM。
具体地,所述第一VFF从所述第一出端口发送所述第二虚拟网络报文至所述第一VM;具体地,发送至所述第一vNF或所述第一vNF的第一虚拟端口。
可选地,如果所述第一虚拟拓扑信息中包括业务路径标识或接口标识,则所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
本实施例中,在网络设备的功能虚拟化后,通过VFF在vNF间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。
进一步地,如图5B所示,所述方法还可以包括:
504、所述第一VFF接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;
所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识,所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
其中,所述第三vNF位于第三虚拟机VM内,所述第三VM附着在所述第三VFF上。
所述第三虚拟网络报文中还包括第二有效载荷。
505、所述第一VFF根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文;
所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第一VFF上。
同样,所述第四虚拟网络报文还包括所述第二有效载荷。
具体地,所述第一VFF根据所述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚拟目的信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第一网络设备的MAC地址;并根据所述第二虚拟源信息、所述第二虚拟目的信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第一虚拟下一跳的地址。
进一步地,在多租户场景中,所述方法还包括:从所述第三虚拟网络报文中获取第二VNID。相应地,所述根据所述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚拟目的信息、所述第二虚拟下一跳的地址和所述第二出端口,包括:根据所述第二VNID、所述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚拟目的信息、所述第二虚拟下一跳的地址和所述第二出端口。
506、所述第一VFF将所述第四虚拟网络报文发送至所述第一网络设备。
具体地,所述第一VFF从所述第二出端口将所述第四虚拟网络报文发送至所述第一网络设备;具体发送至所述第一网络设备的所述端口。
进一步地,如图5C所示,所述方法还可以包括:
507、所述第一VFF接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息;
所述第三虚拟源信息包括第二网络设备的端口的标识,所述第三虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;其中,所述第二网络设备附着在所述第四VFF上。
所述第五虚拟网络报文中还包括第三有效载荷。
508、所述第一VFF根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文;
所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的第二虚拟端口的标识。
具体地,所述第一VFF根据所述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚拟目的信息、第三虚拟下一跳的地址和第三出端口,所述第三虚拟下一跳的地址包括所述第一VM的第二vNIC的MAC地址;并根据所述第三虚拟源信息、所述第三虚拟目的信息和所述第三虚拟下一跳的地址封装所述第五虚拟网络报文,得到所述第六虚拟网络报文,所述第六虚拟网络报文中还包括所述第三虚拟下一跳的地址。
同样地,所述第六虚拟网络报文中还包括所述第三有效载荷。
进一步地,在多租户场景中,所述方法还包括:从所述第三虚拟网络报文中获取第三VNID。相应地,所述根据所述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚拟目的信息、所述第三虚拟下一跳的地址和所述第三出端口,包括:根据所述第三VNID、所述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚拟目的信息、所述第三虚拟下一跳的地址和所述第三出端口。
509、所述第一VFF将所述第六虚拟网络报文发送至所述第一VM。
具体地,所述第一VFF从所述第三出端口将所述第六虚拟网络报文发送至所述第一VM;具体发送至所述第一VM的所述第一vNF的第二虚拟端口。
本实施例中,网络设备可以直接附着在VFF上,通过VFF在网络设备的端口和vNF的虚拟端口间构建虚拟网络拓扑,就如同vNF直接实现在网络设备的该端口上一般,可以实现物理设备和虚拟设备间的映射互通。
参见图6A,为本发明实施例提供的又一种实现虚拟网络通信的方法,所述方法包括:
601、虚拟容器接收第一虚拟网络功能vNF发送的第一业务报文;
其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
可选地,所述虚拟容器还接收所述第一vNF发送的第三vNF的标识。
可选地,所述虚拟容器还接收所述第一vNF发送的第一业务路径标识或第一接口标识。
具体地,如图3a和3b所示结构中,所述第一vNF可以调用为所述第一vNF或所述第一vNF的第一虚拟端口创建的socket接口,向所述虚拟容器发送所述第一业务报文,并将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为参数。可选地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第三vNF的标识作为参数。可选地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第一业务路径标识或所述第一接口标识作为参数。
602、所述虚拟容器根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;
所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识;
所述虚拟容器获取所述第一vNF或所述第一vNF的第一虚拟端口对应的第一vNIC或所述第一vNIC的一个VLAN;具体地,如图3a和3b所示结构中,所述虚拟容器根据发送所述第一业务报文的socket接口,找到所述第一vNIC,或所述第一vNIC的一个VLAN(vNIC+VLAN);然后,将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为第一虚拟源信息;将所述第一vNIC的MAC地址,或所述第一VNIC的MAC地址+VLAN ID作为虚拟网络头的源地址,将所述第一VFF的MAC地址作为虚拟网络头的目的地址,封装所述第一业务报文,得到所述第一虚拟网络报文。
可选地,若所述虚拟容器还接收所述第一vNF发送的第三vNF的标识,封装所述第一业务报文时还包括:将所述第三vNF的标识作为第一虚拟目的信息,所述第一虚拟网络报文还包括所述第一虚拟目的信息。
可选地,若所述虚拟容器还接收所述第一vNF发送的第一业务路径标识或第一接口标识,封装所述第一业务报文时还包括:将所述第一业务路径标识或所述第一接口标识包括在第一虚拟拓扑信息,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息。
603、所述虚拟容器将所述第一虚拟网络报文发送给所述第一VFF;
具体地,所述虚拟容器将所述第一虚拟网络报文通过所述第一vNIC发送给所述第一VFF,以使所述第一VFF处理所述第一虚拟网络报文。
本实施例中,在网络设备的功能虚拟化后,通过虚拟容器实现vNF与VFF间通信,通过虚拟容器和VFF在vNF间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。
进一步地,如图6B所示,所述方法还包括:
604、所述虚拟容器接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
605、所述虚拟容器解封装所述第二虚拟网络报文以得到第二业务报文;
具体地,所述虚拟容器去除所述第二虚拟网络报文的虚拟层叠头和虚拟网络头以得到所述第二业务报文。
606、所述虚拟容器根据所述第二虚拟目的信息,发送所述第二业务报文。
具体的,所述虚拟容器将所述第二业务报文发送给所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口。
可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口可以包括所述第一vNF的标识或所述第一vNF的所述第一虚拟端口的标识或所述第一vNF的第二虚拟端口的标识。相应地,所述虚拟容器根据所述第一vNF的标识或所述第一vNF的所述第一虚拟端口的标识或所述第一vNF的所述第二虚拟端口的标识,将所述第二业务报文发送给所述第一vNF或所述第一vNF的所述第一虚拟端口或所述第二虚拟端口。所述虚拟容器可以位于所述第一VM中;或者,位于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,与所述第一VFF位于同一设备内,具体如图3a-3d所示。
可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口也可以包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内。相应地,所述虚拟容器根据所述第二vNF的标识或所述第二vNF的虚拟端口的标识调用相应的socket接口,将所述第二业务报文发送给所述第二vNF或所述第二vNF的虚拟端口。所述虚拟容器可以位于所述第一VM中,具体如图3b所示。
可选地,所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;可以理解的是,所述第二业务路径标识或第二接口标识可以与所述第一业务路径标识或第一接口标识相同或不同。相应地,所述方法还包括:
所述虚拟容器根据所述第二虚拟目的信息发送所述第二业务路径标识或所述第二接口标识。具体地,所述虚拟容器将所述第二业务路径标识或所述第二接口标识,与所述第二业务报文一起发送给所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口。
可以理解的是,上述604-606可以在601-603之前或之后执行,也可以与601-603同步进行。
进一步地,如图6C所示,所述方法还可以包括:
607、虚拟容器接收网络设备发送的第三业务报文以及所述网络设备的端口的标识;
所述网络设备的端口包括物理端口或逻辑端口。
所述网络设备附着在所述第一VFF上。
所述虚拟容器可以位于所述网络设备内。
608、所述虚拟容器根据所述第三业务报文和所述网络设备的端口的标识,得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网络设备的端口的标识;
所述虚拟容器将所述网络设备的端口的标识作为第三虚拟源信息;将所述网络设备的MAC地址作为第三虚拟网络头的源地址,将所述第一VFF的MAC地址作为第三虚拟网络头的目的地址,封装所述第三业务报文,得到所述第三虚拟网络报文。
609、所述虚拟容器将所述第三虚拟网络报文发送给所述第一VFF;
具体地,所述虚拟容器将所述第三虚拟网络报文通过所述网络设备与所述第一VFF连接的端口发送给所述第一VFF,以使所述第一VFF处理所述第三虚拟网络报文。
进一步可选地,所述虚拟容器还接收来自所述第一VFF的第四虚拟网络报文,所述第四虚拟网络报文包括第四虚拟目的信息;所述第四虚拟目的信息包括所述网络设备的端口的标识。所述虚拟容器解封装所述第四虚拟网络报文以得到第四业务报文;并根据所述第四虚拟目的信息,发送所述第四业务报文至所述网络设备的所述端口。
可以理解的是,本实施例中以所述第一VM、所述网络设备附着到第一VFF,通过所述虚拟容器与所述第一VFF通信作为一种示例;具体实现中,所述第一VM和所述网络设备可以分别配置各自的虚拟容器,附着到相同的VFF或者分别附着到不同的VFF,本发明对此不作限定。
本实施例中,网络设备可以直接附着在VFF上,通过虚拟容器与VFF通信,从而通过虚拟容器和VFF在网络设备的端口和vNF的虚拟端口间构建虚拟网络拓扑,就如同vNF直接实现在网络设备的该端口上一般,进而实现物理设备和虚拟设备间的映射互通。
本发明实施例提供的虚拟容器,接收来自第一VM中第一vNF的第一业务报文并封装为第一虚拟网络报文发送给该第一VM附着的第一VFF,此外接收来自第一VFF的第二虚拟网络报文,解封装该第二虚拟网络报文得到第二业务报文,并发送该第二业务报文给第一vNF,从而可以通过所述第一VFF与其他vNF通信,在vNF间构建虚拟拓扑,从而解决虚拟网络中的vNF与拓朴耦合,消耗VNID资源、无法灵活控制vNF、实现vNF间通信的问题。
基于上述实施例提供的虚拟网络通信方法,以下将结合几种不同虚拟网络场景和应用,介绍本发明技术方案。图7为本发明实施例提供的一种虚拟网络通信的网络场景示意图;如图7所示,系统中包括VM1,VFF1,VM2,VFF2,VM3和VFF3;其中VM1中包括vNF1,vNF1包括两个虚拟端口p11和p12;VM2中包括vNF2,vNF2包括两个虚拟端口p21和p22;VM3中包括vNF3,vNF3包括两个虚拟端口p31和p32。其中,vNF1,vNF2和vNF3构成一个虚拟网络;VM1和VFF1,VM2和VFF2处于同一数据中心网络,VM3和VFF3位于另一数据中心网络中,VM3和VFF3通过三层网络与VM1和VFF1,VM2和VFF2通信。
进一步地,VFF1、VFF2和VFF3分别维护各自的虚拟网络拓扑信息,实现vNF1、vNF2、vNF3间的通信。
本发明实施例中,在单租户场景下,所述虚拟网络拓扑信息包括:虚拟源信息、虚拟目的信息、虚拟拓扑信息和新的虚拟目的信息、虚拟下一跳的地址和出端口;在多租户场景下,所述虚拟网络拓扑信息还包括入端口和VNID。在单租户场景下,VFF可以通过拓扑转发表和网络地址映射表来维护虚拟网络拓扑信息;在多租户场景下,VFF可以通过拓扑转发表、端口到虚拟网络映射表和网络地址映射表来维护虚拟网络拓扑信息。拓扑转发表中包括虚拟源信息、虚拟目的信息、虚拟拓扑信息和新的虚拟目的信息的对应关系;网络地址映射表包括新的虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口的对应关系;端口到虚拟网络映射表包括入端口和VNID的对应关系。当然,在具体实现中,也可以将拓扑转发表和网络地址映射表合并为一张表。
下面以多租户场景为例,给出VFF1、VFF2和VFF3上用于维护虚拟网络拓扑信息的表项。具体如下:
表11VFF1的拓朴转发表
表12VFF1端口到虚拟网络映射表
vport VNID
vp102 1000
vp101 1001
vp162 1001
vp163 1001
vp103 1003
vp153 1003
表13VFF1网络地址映射表
表21VFF2拓朴转发表
表22VFF2端口到虚拟网络映射表
vport VNID
vp201 1000
vp251 1000
vp211 1001
vp252 1001
表23VFF2网络地址映射表
表31VFF3拓朴转发表
虚拟源 虚拟拓扑 新的虚拟目的 新的虚拟拓扑
pathID segID pathID segID
vNF3.p31 - - - - vnLAN1
vNF2.p22 - vnLAN1 vNF3.p31 - -
vNF1.p11 - vnLAN1 vNF3.p31 - -
vNF2 210 - vNF3 210 -
port1 - - - - vnLine3
表32VFF3端口到虚拟网络映射表
vport VNID
vp301 1001
vp351 1001
vp361 1001
vp362 1001
vp300 1003
vp350 1003
表33VFF3网络地址映射表
需要说明的是,上述各表仅为本发明给出的一种示例,具体实现中,各表中的表项可以增加或删减,本发明对此不作限定。本发明实施例中,VFF和VM可以位于同一设备,例如主机或服务器中,VFF可以由软件实现,也可以由软件结合硬件实现;VFF也可以是独立的设备,本发明对此不作限定;例如,VFF1与VM1可以位于同一主机中,VFF1也可以是独立的设备。
参见图8A,为本发明实施例提供的一种vNF间虚拟链路通信方法流程图。具体地,在图7所示vNF1的虚拟端口p12与vNF2的虚拟端口p21间实现虚拟链路vnLine1;图8B为本发明实施例提供的vNF间虚拟链路通信的虚拟网络报文转发示意图,参见图8A和8B所示,具体的通信过程如下:
801、vNF1从虚拟端口p12发送业务报文到VM1的虚拟容器;
802、VM1的虚拟容器获取虚拟端口p12对应的虚拟网卡vNIC12,然后封装所述业务报文,得到第一虚拟网络报文;
具体地,VM1的虚拟容器可以根据虚拟端口与虚拟网卡的对应关系,获取所述p12对应的虚拟网卡vNIC12;然后VM1的虚拟容器在所述业务报文的外层封装虚拟层叠头和虚拟网络头,得到所述第一虚拟网络报文;具体地,将vNF1的虚拟端口p12的标识作为虚拟源信息封装在虚拟层叠头中,将vNIC12的MAC地址作为源MAC地址、VFF1的MAC地址作为目的MAC地址封装在虚拟网络头中,得到所述第一虚拟网络报文;
803、VM1的虚拟容器发送该第一虚拟网络报文到VFF1;
具体地,VM1的虚拟容器从vNIC12发送该第一虚拟网络报文到VFF1。
804、VFF1接收该第一虚拟网络报文,根据VFF1的虚拟网络拓扑信息处理该第一虚拟网络报文以得到第二虚拟网络报文;
具体地,VFF1从入端口vp102收到该第一虚拟网络报文,根据虚拟源信息,查询所述VFF1的虚拟网络拓扑信息,获取虚拟拓扑信息、虚拟虚拟下一跳的地址和出端口。
进一步地,VFF1可以支持多租户,通过VNID区分各个租户所属的虚拟网络域,具体参见表12。VFF1可以从接收虚拟网络报文的端口得知对应的VNID,其中vport标识VFF1接收虚拟网络报文的端口,对应的VNID标识接收虚拟网络报文的端口所属的虚拟网络域。VNID可以包括在虚拟网络报文中NVO3封装头的VNID字段。
本实施例中,VFF1维护拓扑转发表(表11),端口与虚拟网络关系表(表12)和网络地址映射表(表13),用于维护所述VFF1的虚拟网络拓扑信息。具体地,VFF1从入端口vp102收到该第一虚拟网络报文,根据所述虚拟源信息,即vNF1的虚拟端口p12的标识,查找表11,获取到新的虚拟拓扑信息,即segID为vnLine1;根据入端口vp102,查找表12,获取VNID为1000;然后根据VNID:1000和segID:vnLine1,查找表13,获取到出端口为vp152,虚拟下一跳的地址为VFF2的地址,包括VFF2的MAC地址和IP地址。然后VFF1封装生成第二虚拟网络报文,具体地,将vnLine1作为虚拟拓扑信息的虚拟网段标识,以及所述虚拟源信息:vNF1的虚拟端口p12的标识,封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VFF2的MAC地址作为目的MAC地址,VNID:1000放在NVO3封装头的VNID字段,封装在虚拟网络头中。
805、VFF1发送该第二虚拟网络报文;
具体地,从出端口vp152发送该第二虚拟网络报文到VFF2。
806、VFF2接收该第二虚拟网络报文,并根据VFF2的虚拟网络拓扑信息处理该第二虚拟网络报文以得到第三虚拟网络报文;
本实施例中,VFF2维护拓扑转发表(表21),端口与虚拟网络关系表(表22)和网络地址映射表(表23),用于维护所述VFF1的虚拟网络拓扑信息。
具体地,VFF2从入端口vp201接收该第二虚拟网络报文,根据该第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF1的虚拟端口p12的标识和segID:vnLine1,查找表21,获取到新的虚拟目的信息为vNF2的虚拟端口p21的标识;然后根据所述VNID和所述新的虚拟目的信息,即VNID:1000和vNF2的虚拟端口p21的标识,查找表23,获取到出端口为vp251,虚拟下一跳的地址为VM2的vNIC21的MAC地址。然后VFF2封装生成第三虚拟网络报文,具体地,将vNF2的虚拟端口p21的标识作为虚拟目的信息,以及所述虚拟源信息:vNF1的虚拟端口p12的标识,封装在虚拟层叠头中;将VFF2的MAC地址作为源MAC地址,VM2的vNIC21的MAC地址作为目的MAC地址,封装在虚拟网络头中。
807、VFF2发送该第三虚拟网络报文;
具体地,从出端口vp251发送该第三虚拟网络报文到VM2。
808、VM2的虚拟容器接收该第三虚拟网络报文,解封装所述第三虚拟网络报文,得到该业务报文,并根据该第三虚拟网络报文中包括的虚拟目的信息发送所述业务报文;
具体地,VM2的虚拟容器接收该第三虚拟网络报文,去掉所述第三虚拟网络报文外层的虚拟网络头和虚拟层叠头,得到该业务报文。然后,VM2的虚拟容器根据该第三虚拟网络报文中包括的虚拟目的信息,即vNF2的虚拟端口p21的标识,将该业务报文发送到vNF2的虚拟端口p21。
vNF2收到该业务报文后,处理该业务报文。
本实施例中,在vNF1的虚拟端口p12和vNF2的虚拟端口p21之间建立虚拟链路,连接两个vNF的虚拟端口,从而实现两个vNF的虚拟端口间直接通信。
参见图9A,为本发明实施例提供的一种vNF间虚拟共享总线通信方法流程图。其中,具体地,在图7所示vNF1的虚拟端口p11、vNF2的虚拟端口p22及vNF3的虚拟端口p31实现虚拟共享总线vnLAN1,通过vnLAN1通信。从vNF1的虚拟端口p11发出的报文,附着在vnLAN1上的vNF2的虚拟端口p22及vNF3的虚拟端口p31均会收到;同理,从vNF2的虚拟端口p22发出的报文,附着在vnLAN1上的vNF1的虚拟端口p11及vNF3的虚拟端口p31均会收到;从vNF3的虚拟端口p31发出的报文,附着在vnLAN1上的vNF1的虚拟端口p11及vNF2的虚拟端口p22均会收到。下面以vNF1的虚拟端口p11发出业务报文,实现vNF间虚拟共享总线通信的过程为例。图9B为本发明实施例提供的vNF间虚拟共享总线通信的虚拟网络报文转发示意图,参见图9A和9B所示,具体的通信过程如下:
901、vNF1从虚拟端口p11发送业务报文到VM1的虚拟容器;
902、VM1的虚拟容器获取虚拟端口p11对应的虚拟网卡vNIC11,然后封装所述业务报文,得到第一虚拟网络报文;
具体地,VM1的虚拟容器可以根据虚拟端口与虚拟网卡的对应关系,获取所述p11对应的虚拟网卡vNIC11;然后VM1的虚拟容器可以在所述业务报文的外层封装虚拟层叠头和虚拟网络头,得到所述第一虚拟网络报文;具体地,将vNF1的虚拟端口p11的标识作为虚拟源信息封装在虚拟层叠头中;将vNIC12的MAC地址作为源MAC地址,VFF1的MAC地址作为目的MAC地址封装在虚拟网络头中,得到所述第一虚拟网络报文;
903、VM1的虚拟容器发送该第一虚拟网络报文到VFF1;
具体地,VM1的虚拟容器从vNIC11发送该第一虚拟网络报文到VFF1。
904、VFF1接收该第一虚拟网络报文,根据VFF1的虚拟网络拓扑信息处理该第一虚拟网络报文以得到第二虚拟网络报文和第三虚拟网络报文;
具体地,VFF1从入端口vp101收到该第一虚拟网络报文,根据虚拟源信息,查询所述VFF1的虚拟网络拓扑信息,获取虚拟拓扑信息、虚拟下一跳的地址和出端口。
本实施例中,VFF1维护拓扑转发表(表11),端口与虚拟网络关系表(表12)和网络地址映射表(表13),用于维护所述VFF1的虚拟网络拓扑信息。具体地,VFF1根据虚拟源信息,即vNF1的虚拟端口p11的标识,查找表1,获取到新的虚拟拓扑信息,即segID为vnLAN1;根据入端口vp101,查找表2,获取到VNID为1001;然后根据VNID和新的虚拟拓扑信息,即VNID:1001和segID:vnLAN1,查找表3,获取到两条匹配的表项,
第一条匹配的表项:出端口为vp162,虚拟下一跳的地址为VFF2的地址,包括VFF2的MAC地址;
第二条匹配的表项:出端口vp163,虚拟下一跳的地址为VFF3,包括VFF3的MAC地址和IP地址。
然后,VFF1根据第一条匹配的表项封装生成第二虚拟网络报文,具体地,将vnLAN1作为虚拟拓扑信息的虚拟网段标识,以及所述虚拟源信息:vNF1的虚拟端口p11的标识,封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VFF2的MAC地址作为目的MAC地址,封装在虚拟网络头中;VFF1根据第二条匹配的表项封装生成第三虚拟网络报文,具体地,将vnLAN1作为虚拟拓扑信息的虚拟网段标识,以及所述虚拟源信息:vNF1的虚拟端口p11的标识,封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VFF3的MAC地址作为目的MAC地址,VNID:1001放在NVO3封装头的VNID字段,封装在虚拟网络头中。
905、VFF1发送所述第二虚拟网络报文和所述第三虚拟网络报文;
具体地,VFF1将所述第二虚拟网络报文,从出端口vp162发送给VFF2,继续执行906-908;VFF1将所述第三虚拟网络报文,从出端口vp163发送给VFF3,继续执行909-911。
906、VFF2接收所述第二虚拟网络报文,并根据VFF2的虚拟网络拓扑信息处理该第二虚拟网络报文以得到第四虚拟网络报文;
本实施例中,VFF2维护拓扑转发表(表21),端口与虚拟网络关系表(表22)和网络地址映射表(表23),用于维护所述VFF1的虚拟网络拓扑信息。
具体地,VFF2从入端口vp211接收该第二虚拟网络报文,根据该第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF1的虚拟端口p11的标识和segID:vnLAN1,查找表21,获取到新的虚拟目的信息为vNF2的虚拟端口p22的标识;然后根据VNID:1001和所述p22的标识,查找表23,获取到出端口为vp252,虚拟下一跳的地址为VM2的vNIC22的MAC地址。然后VFF2封装该第二虚拟网络报文生成第四虚拟网络报文,具体地,将vNF2的虚拟端口p22的标识作为虚拟目的信息,以及所述虚拟源信息:vNF1的虚拟端口p11的标识,封装在虚拟层叠头中;将VFF2的MAC地址作为源MAC地址,VM2的vNIC22的MAC地址作为目的MAC地址,封装在虚拟网络头中。
907、VFF2发送该第四虚拟网络报文;
具体地,从出端口vp252发送该第四虚拟网络报文到VM2。
VFF2基于水平分割原则,不会再将报文发送到VFF3。水平分割的判断原则可以是:若虚拟网络报文的虚拟网络头中源MAC地址为VFF的MAC地址,则不再转发给另一个VFF。
908、VM2的虚拟容器接收该第四虚拟网络报文,解封装所述第四虚拟网络报文,得到该业务报文,并根据所述第四虚拟网络报文中包括的虚拟目的信息发送所述业务报文;
具体地,VM2的虚拟容器接收该第四虚拟网络报文,去掉所述第四虚拟网络报文外层的虚拟网络头和虚拟层叠头,得到该业务报文。然后,VM2的虚拟容器根据该第四虚拟网络报文中包括的虚拟目的信息,即vNF2的虚拟端口p22的标识,将该业务报文发送到vNF2的虚拟端口p22。vNF2收到该业务报文后,处理该业务报文。
909、VFF3接收第三虚拟网络报文,并根据VFF3的虚拟网络拓扑信息处理该第三虚拟网络报文以得到第五虚拟网络报文;
本实施例中,VFF3维护拓扑转发表(表31),端口与虚拟网络关系表(表32)和网络地址映射表(表33),用于维护所述VFF3的虚拟网络拓扑信息。
具体地,VFF3从入端口vp301接该第三虚拟网络报文,根据该第三虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF1的虚拟端口p11的标识和segID:vnLAN1,查找表31,获取到新的虚拟目的信息为vNF3的虚拟端口p31的标识;然后根据VNID和新的虚拟目的,即VNID:1001和所述vNF3的虚拟端口p31的标识,查找表33,获取到出端口为vp351,虚拟下一跳的地址为VM3的vNIC31的MAC地址。
然后VFF3封装该第三虚拟网络报文生成第五虚拟网络报文,具体地,将vNF3的虚拟端口p31的标识作为虚拟目的信息,以及所述虚拟源信息:vNF1的虚拟端口p11的标识,封装在虚拟层叠头中;将VFF3的MAC地址作为源MAC地址,VM3的vNIC31的MAC地址作为目的MAC地址,封装在虚拟网络头中。
910、VFF3发送该第五虚拟网络报文;
具体地,VFF3从出端口vp351发送该第五虚拟网络报文到VM3。
同样地,VFF3基于水平分割原则,不会再将报文发送到VFF2。水平分割的判断原则可以是:若虚拟网络报文的虚拟网络头中源MAC地址为VFF的MAC地址,则不再转发给另一个VFF。
911、VM3的虚拟容器接收该第五虚拟网络报文,解封装所述第五虚拟网络报文,得到该业务报文,并根据所述第五虚拟网络报文中包括的虚拟目的信息发送所述业务报文;
具体地,VM3的虚拟容器接收该第五虚拟网络报文,去掉所述第五虚拟网络报文外层的虚拟网络头和虚拟层叠头,得到该业务报文。然后,VM3的虚拟容器根据所述第五虚拟网络报文中包括的虚拟目的信息,即vNF3的虚拟端口p31的标识,将该业务报文发送到vNF3的虚拟端口p31。vNF3收到该业务报文后,处理该业务报文。
需要说明的是,虚拟共享总线是模拟物理共享总线的行为。从附着在虚拟共享总线上的某个vNF的虚拟端口发出的业务报文,无论是单播报文还是组播报文,附着在虚拟共享总线上的其他所有虚拟端口都会收到该业务报文。本实施例中,假设vNF1的虚拟端口p11通过vnLAN1向vNF3发送的业务报文为单播报文,该业务报文也将被发送到vNF2的虚拟端口p22,然后由vNF2判断是否丢弃该业务报文。
本实施例中,在vNF1的虚拟端口p11、vNF2的虚拟端口p22及vNF3的虚拟端口p31间建立虚拟共享总线,无需像现有技术额外占用VNID资源,即可连接多个vNF间的虚拟端口,实现多个vNF间直接通信。
参见图10A,为本发明实施例提供的一种vNF间业务路径通信方法流程图。本实施例中,假设图7所示场景中,策略要求从vNF1到vNF3的通信,必须经过vNF2,即实现vNF1-vNF2-vNF3的业务路径(英文:service chain)。图10B为本发明实施例提供的vNF间业务路径通信的虚拟网络报文转发示意图,参见图10A和10B所示,具体的通信过程如下:
1001、vNF1从虚拟端口p13发送业务报文和vNF3的标识到VM1的虚拟容器;
1002、VM1的虚拟容器获取虚拟端口p13对应的虚拟网卡vNIC13,然后封装所述业务报文,得到第一虚拟网络报文;
具体地,VM1的虚拟容器可以根据虚拟端口与虚拟网卡的对应关系,获取所述p13对应的虚拟网卡vNIC13;然后VM1的虚拟容器在所述业务报文的外层封装虚拟层叠头和虚拟网络头,得到所述第一虚拟网络报文;具体地,将vNF1的标识作为虚拟源信息,将vNF3的标识作为虚拟目的信息封装在虚拟层叠头中;将vNIC13的MAC地址作为源MAC地址,VFF1的MAC地址作为目的MAC地址封装在虚拟网络头中,得到所述第一虚拟网络报文;
1003、VM1的虚拟容器发送该第一虚拟网络报文到VFF1;
具体地,VM1的虚拟容器从vNIC13发送该第一虚拟网络报文到VFF1。
1004、VFF1接收该第一虚拟网络报文,根据VFF1的虚拟网络拓扑信息处理该第一虚拟网络报文得到第二虚拟网络报文;
具体地,VFF1从入端口vp103收到该第一虚拟网络报文,根据该第一虚拟网络报文中包括的虚拟源信息和虚拟目的信息,基于业务策略判定业务路径为vNF1-vNF2-vNF3,对应的业务路径标识pathID为210。然后VFF1查询所述VFF1的虚拟网络拓扑信息,获取虚拟下一跳的地址和出端口;具体地,VFF1根据虚拟拓扑信息,即pathID:210,查找表3,获取到出端口为vp158,虚拟下一跳的地址为VFF2的MAC地址。然后VFF1封装生成第二虚拟网络报文,具体地,将pathID:210作为虚拟拓扑信息中的业务路径标识,以及所述虚拟源信息:vNF1的标识,封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VFF2的MAC地址作为目的MAC地址,封装在虚拟网络头中。
可选地,为了提高兼容性,保证业务路由准确性,VFF1从入端口vp103收到该第一虚拟网络报文,基于业务策略判定业务路径为vNF1-vNF2-vNF3(对应的业务路径标识pathID为210)之后,VFF1根据虚拟源信息和虚拟拓扑信息,获取新的虚拟目的,虚拟下一跳和出端口;具体地,VFF1根据vNF1的标识和pathID:210,查找表11,获得新的虚拟目的信息为vNF2的标识;根据所述新的虚拟目的信息:vNF2的标识和pathID:210,查找表13,获取到出端口为vp158,虚拟下一跳的地址为VFF2的MAC地址。然后VFF1封装生成第二虚拟网络报文,具体地,将pathID:210作为虚拟路径信息中的业务路径标识,所述虚拟源信息:vNF1的标识,封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VFF2的MAC地址作为目的MAC地址,封装在虚拟网络头中。
1005、VFF1发送该第二虚拟网络报文;
具体地,VFF1从出端口vp158发送该第二虚拟网络报文至VFF2。
1006、VFF2接收第二虚拟网络报文,并根据VFF2的虚拟网络拓扑信息处理该第二虚拟网络报文以得到第三虚拟网络报文;
具体地,VFF2从入端口vp253接收所述第二虚拟网络报文,然后VFF2根据所述第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,查询所述VFF2的虚拟网络拓扑信息,获取虚拟下一跳的地址和出端口。
VFF2根据所述第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF1的标识和pathID:210,查找表21,获取到新的虚拟目的信息为vNF2的标识;然后根据vNF2的标识和pathID:210,查找表23,获取到出端口为vp203,虚拟下一跳的地址为vNIC23的MAC地址。
然后VFF2封装生成第三虚拟网络报文;具体地,将vNF2的标识作为虚拟目的信息,pathID:210作为虚拟拓扑信息中的业务路径标识,以及所述虚拟源信息:vNF1的标识,封装在虚拟层叠头中;将VFF2的MAC地址作为源MAC地址,vNIC23的MAC地址作为目的MAC地址,封装在虚拟网络头中。
1007、VFF2发送该第三虚拟网络报文;
具体地,从出端口vp203发送该第三虚拟网络报文到VM2。
1008、VM2的虚拟容器接收该第三虚拟网络报文,解封装所述第三虚拟网络报文,得到该业务报文,并获取业务路径标识pathID:210,根据所述第三虚拟网络报文中包括的虚拟目的信息发送所述业务报文和pathID:210;
具体地,VM2的虚拟容器接收该第三虚拟网络报文,剥去所述第三虚拟网络报文的虚拟网络头和虚拟层叠头,得到该业务报文,并获取pathID:210;然后,VM2的虚拟容器根据该第三虚拟网络报文中包括的虚拟目的信息,即vNF2的标识,将该业务报文和pathID:210发送到vNF2。vNF2收到该业务报文和pathID:210后,处理该业务报文。
1009、vNF2根据该业务报文,判定自己不是所述业务报文的目的地,则将所述业务报文和pathID:210发送到VM2的虚拟容器;
具体地,vNF2在处理完该业务报文之后,根据该业务报文,判定自己不是该业务报文目的地,则将该业务报文和pathID:210从虚拟端口p24发送到VM2的虚拟容器;
1010、VM2的虚拟容器根据所述业务报文和所述pathID:210得到第四虚拟网络报文;
具体地,VM2的虚拟容器可以根据虚拟端口与虚拟网卡的对应关系,获取虚拟端口p24对应的虚拟网卡vNIC24,然后封装所述业务报文,得到所述第四虚拟网络报文。具体地,将vNF2的标识作为虚拟源信息,将pathID:210作为虚拟拓扑信息中的业务路径标识,封装在虚拟层叠头中;将vNIC24的MAC地址作为源MAC地址,VFF2的MAC地址作为目的MAC地址封装在虚拟网络头中;
1011、VM2将该第四虚拟网络报文发送至VFF2;
具体的,VM2从vNIC24发送该第四虚拟网络报文到VFF2。
1012、VFF2接收该第四虚拟网络报文,根据VFF2的虚拟网络拓扑信息处理该第四虚拟网络报文以得到第五虚拟网络报文;
具体地,VFF2从入端口vp204接收该第四虚拟网络报文,根据pathID:210,查找表23,获取到出端口为vp254,虚拟下一跳的地址为VFF3的地址,包括IP地址和MAC地址。然后VFF2封装生成第五虚拟网络报文,并从出端口vp254将所述第五虚拟网络报文发送给VFF3;具体地,将pathID:210作为虚拟拓扑信息中的业务路径标识,以及虚拟源信息:vNF2的标识,封装在虚拟层叠头中,将VFF2的MAC地址作为源MAC地址,VFF3的MAC地址作为目的MAC地址,VNID1000作为NVO3头的VNID封装在虚拟网络头中。
可选地,为了提高兼容性,保证业务路由准确性,VFF2从入端口vp204接收该第四虚拟网络报文之后,根据该第四虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF2的标识和pathID:210,查找表21,获取到新的虚拟目的信息为VNF3的标识;再根据VNF3的标识和pathID:210,查找表23,获取到出端口为vp254,虚拟下一跳的地址为VFF3的地址,包括IP地址和MAC地址。然后VFF2封装生成第五虚拟网络报文,并从出端口vp254将所述第五虚拟网络报文发送给VFF3;具体地,将pathID:210作为虚拟拓扑信息中的业务路径标识,以及虚拟源信息:vNF2的标识,封装在虚拟层叠头中,将VFF2的MAC地址作为源MAC地址,VFF3的MAC地址作为目的MAC地址,VNID1000作为NVO3头的VNID封装在虚拟网络头中。
1013、VFF2发送该第五虚拟网络报文;
具体地,从出端口vp254发送该第五虚拟网络报文到VFF3。
1014、VFF3接收该第五虚拟网络报文,并根据VFF3的虚拟网络拓扑信息处理该该第五虚拟网络报文以得到第六虚拟网络报文;
具体地,VFF3从入端口vp352接收所述第五虚拟网络报文,VFF3根据所述第五虚拟网络报文的虚拟源信息和虚拟拓扑信息,查询所述VFF3的虚拟网络拓扑信息,获取虚拟下一跳的地址和出端口。
VFF3根据所述第五虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF2的标识和pathID:210,查找表31,获取到新的虚拟目的信息为vNF3的标识;再根据vNF3的标识和pathID:210,查找表33,获取到出端口为vp303,虚拟下一跳的地址为vNIC33的MAC地址。
然后VFF3封装生成第六虚拟网络报文;具体地,将pathID:210作为虚拟拓扑信息中的业务路径标识,虚拟源信息:vNF2的标识,和新的虚拟目的信息:vNF3的标识,封装在虚拟层叠头中;将VFF2的MAC地址作为源MAC地址,vNIC33的MAC地址作为目的MAC地址,封装在虚拟网络头中。
1015、VFF3发送该第六虚拟网络报文;
具体地,从出端口vp303发送该第六虚拟网络报文到VM3。
1016、VM3的虚拟容器接收该第六虚拟网络报文,解封装所述第六虚拟网络报文,得到该业务报文,并获取pathID:210,根据所述第六虚拟网络报文中的虚拟目的信息发送所述业务报文和pathID:210;
具体地,VM3的虚拟容器接收该第六虚拟网络报文,剥去所述第六虚拟网络报文的虚拟网络头和虚拟层叠头,得到该业务报文,并获取pathID:210;然后,VM3的虚拟容器根据该第六虚拟网络报文中的虚拟目的信息,即vNF3的标识,将该业务报文和pathID:210发送到vNF3。vNF3收到该业务报文和pathID:210后,处理该业务报文。vNF3根据该业务报文,判定自己是所述业务报文目的地,整个业务路径的通信过程结束。
本实施例中,通过在多个vNF间构建业务路径,可以解决业务流按序经过多个vNF处理的需求。
参见图11A,为本发明实施例提供的一种实现物理网络到虚拟网络映射互通的方法流程图。具体地,图7所示设备1的物理端口port1与vNF1的虚拟端口p13映射互通,在设备1的物理端口port1与vNF1的虚拟端口p13间建立虚拟链路vnLine3;图11B为本发明实施例提供的物理网络到虚拟网络映射互通的虚拟网络报文转发示意图,参见图11A和11B所示,具体通信过程如下:
1101、设备1的虚拟容器接收设备1发送的业务报文和端口port1的标识,封装所述业务报文,得到第一虚拟网络报文;
如果设备1从端口port1接收到业务报文,设备1将所述业务报文和端口port1的标识发送给虚拟容器;虚拟容器接收所述业务报文和端口port1的标识,封装所述业务报文,得到第一虚拟网络报文,具体地,可以在所述业务报文的外层封装虚拟层叠头和网络报文头,将物理端口port1的标识作为虚拟源信息封装在虚拟层叠头中,将设备1的MAC地址作为源MAC地址,VFF3的MAC地址作为目的MAC地址封装在虚拟网络头中。
所述虚拟容器可以位于所述设备1内;设备1附着在所述VFF3上。
1102、设备1的虚拟容器发送该第一虚拟网络报文到VFF3;
1103、VFF3接收该第一虚拟网络报文,根据VFF3的虚拟网络拓扑信息处理该第一虚拟网络报文以得到第二虚拟网络报文;
具体地,VFF3从入端口vp300收到该第一虚拟网络报文,根据该第一虚拟网络报文的虚拟源信息,查询所述VFF3的虚拟网络拓扑信息,获取虚拟拓扑信息、虚拟下一跳的地址和出端口。VFF3根据该第一虚拟网络报文的虚拟源信息,即物理端口port1的标识,查找表31,获取到虚拟网段标识segID为vnLine3;根据入端口vp300,查找表32,获取到VNID为1003;再根据VNID1001和segID:vnLine3,查找表33,获取到出端口为vp350,虚拟下一跳的地址为VFF1的地址,包括IP地址和MAC地址。然后VFF3封装生成所述第二虚拟网络报文,具体地,将segID:vnLine3作为虚拟拓扑信息中的虚拟网段标识封装在虚拟层叠头中;将VFF3的MAC地址作为源MAC地址,VFF1的MAC地址作为目的MAC地址,VNID1003作为NVO3头的VNID封装在虚拟网络头中。
1104、VFF3发送该第二虚拟网络报文;
具体地,从出端口vp350发送该第二虚拟网络报文到VFF1。
1105、VFF1接收该第二虚拟网络报文,并根据VFF1的虚拟网络拓扑信息处理该第二虚拟网络报文以得到第三虚拟网络报文;
具体地,VFF1从入端口vp103接收该第二虚拟网络报文,根据该第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,查询所述VFF1的虚拟网络拓扑信息,获取虚拟下一跳的地址和出端口。
VFF1根据该第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,即port1的标识和segID:vnLine3,查找表11,获取到新的虚拟目的信息为vNF1的虚拟端口p13的标识;再根据VNID1003和vNF1的虚拟端口p13的标识,查找表13,获取到出端口为vp153,虚拟下一跳的地址为VM1的vNIC13的MAC地址。然后VFF1封装生成所述第三虚拟网络报文,将vNF1的虚拟端口p13的标识作为虚拟目的信息,虚拟源信息:port1的标识封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VM1的vNIC13的MAC地址作为目的MAC地址封装在虚拟网络头中。
1106、VFF1发送该第三虚拟网络报文;
具体地,从出端口vp153发送该第三虚拟网络报文到VM1。
1107、VM1的虚拟容器接收该第三虚拟网络报文,解封装所述第三虚拟网络报文,得到该业务报文,并根据所述第三虚拟网络报文中包括的虚拟目的信息发送所述业务报文;
具体地,VM1的虚拟容器接收该第三虚拟网络报文,剥去该第三虚拟网络报文的虚拟网络头和虚拟层叠头,得到该业务报文。然后,VM1的虚拟容器根据该第三虚拟网络报文中的虚拟目的信息,即p13的标识,将该业务报文发送到vNF1的虚拟端口p13。
本实施例中,设备1附着到VFF3,在设备1的端口port1与vNF1的虚拟端口p13间构建虚拟链路,实现物理端口port1到虚拟端口p13的映射互通,如同vNF1的虚拟端口p13位于设备1的物理端口port1一样。需要说明的是,VFF3可以是独立的设备,也可以在设备1内。VFF3位于设备1内时,可以由软件实现,也可以由软件结合硬件实现。
参见图12A,为本发明实施例提供的一种vNF间进行接口调用的方法流程图。具体地,图7中所示vNF1发起接口调用,图12B为本发明实施例提供的vNF间进行接口调用的虚拟网络报文转发示意图,参见图12A和12B所示,具体通信过程如下:
1201、vNF1发送接口a的标识和元数据到VM1的虚拟容器;
vNF1发起接口a调用,具体地,vNF1发送接口a的标识,即intf_a,和元数据(英文:metadata)到VM1的虚拟容器;所述元数据中包括调用函数、回调函数及其参数。
1202、VM1的虚拟容器获取vNF1对应的虚拟网卡vNIC15,并封装生成第一虚拟网络报文;
具体地,VM1的虚拟容器可以根据vNF与虚拟网卡的对应关系,获取所述vNF1对应的vNIC15;然后,所述VM1的虚拟容器将所述元数据作为payload,并在外层封装虚拟层叠头和虚拟网络头,生成所述第一虚拟网络报文;具体地,将所述vNF1的标识作为虚拟源信息,将所述接口a的标识,即intf_a作为虚拟拓扑信息中的虚拟网段标识封装在虚拟层叠头中;将VM1的vNIC15的MAC地址作为源MAC地址,VFF1的MAC地址作为目的MAC地址封装在虚拟网络头中;
1203、VM1的虚拟容器发送该第一虚拟网络报文到VFF1;
具体地,VM1从vNIC15发送该第一虚拟网络报文到VFF1。
1204、VFF1接收该第一虚拟网络报文,并根据VFF1的虚拟网络拓扑信息处理该第一虚拟网络报文以得到第二虚拟网络报文;
具体地,VFF1从入端口vp105接收该第一虚拟网络报文,VFF1根据该第一虚拟网络报文的虚拟源信息和虚拟拓扑信息,查询所述VFF1的虚拟网络拓扑信息,获取虚拟下一跳的地址和出端口。VFF1根据该第一虚拟网络报文的虚拟源信息和虚拟拓扑信息,即所述vNF1的标识和segID:intf_a,查找表3,获取到虚拟下一跳的地址为VFF2的地址,出端口为vp155;然后VFF1封装生成所述第二虚拟网络报文,将虚拟源信息:vNF1的标识,将所述接口a的标识,即intf_a作为虚拟拓扑信息中的虚拟网段标识,以及虚拟源信息:vNF1的标识,封装在虚拟层叠头中;将VFF1的MAC地址作为源MAC地址,VFF2的MAC地址作为目的MAC地址封装在虚拟网络头中。
1205、VFF1发送该第二虚拟网络报文;
具体地,从出端口vp155发送该第二虚拟网络报文到VFF2。
1206、VFF2接收该第二虚拟网络报文,并根据VFF2的虚拟网络拓扑信息处理该第二虚拟网络报文以得到第三虚拟网络报文;
具体地,VFF2从端口vp205接收该第二虚拟网络报文,根据该第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,查询所述VFF2的虚拟网络拓扑信息,获取虚拟下一跳的地址和出端口。VFF2根据该第二虚拟网络报文的虚拟源信息和虚拟拓扑信息,即vNF1的标识和segID:intf_a,查找表1,获取到新的虚拟目的信息为vNF2的标识;再根据vNF2的标识和segID:intf_a,查找表3,获取到出端口为vp255,虚拟下一跳的地址为vNIC25的MAC地址。然后VFF2封装生成所述第三虚拟网络报文,将所述接口a的标识,即intf_a作为虚拟拓扑信息中的虚拟网段标识,vNF2的标识作为虚拟目的信息,以及虚拟源信息:vNF1的标识,封装在虚拟层叠头中;将VFF2的MAC地址作为源MAC地址,vNIC25的MAC地址作为目的MAC地址封装在虚拟网络头中。
1207、VFF2发送该第三虚拟网络报文;
具体地,从出端口vp255发送该第三虚拟网络报文到VM2。
1208、VM2的虚拟容器接收该第三虚拟网络报文,解封装所述第三虚拟网络报文,得到所述元数据,并根据所述第三虚拟网络报文中的虚拟目的信息发送所述元数据;
具体地,VM2的虚拟容器接收该第三虚拟网络报文,剥去该第三虚拟网络报文的虚拟网络头和虚拟层叠头,得到所述元数据;然后VM2的虚拟容器根据该第三虚拟网络报文中的虚拟目的信息,即vNF2的标识,将所述元数据送到vNF2。
然后vNF2可以执行所述元数据中的调用函数及其参数,获取调用结果。如果vNF2要返回结果,可采用上述类似过程,将包括回调函数和返回参数的元数据作为payload封装发送回vNF1。
本实施例中,通过在vNF间的接口调用,可以实现类似于同一物理主机内的不同模块间通信或跨物理主机的进程通信。需要说明的是,上述图8~12所示的各种虚拟网络通信方法仅为本发明实施例提供的实现虚拟网络通信方法的示例,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
图13A为本发明实施例提供的一种实现第一VFF的装置的结构框图,用于实现如本发明图4A-4B、图8A、9A、10A、11A以及12A任一所示的虚拟网络通信方法,构建虚拟网络拓扑并实现虚拟网络报文的转发。如图13A所示,所述装置包括接收单元1301A,处理单元1302A和发送单元1303A;其中:
所述接收单元1301A,用于接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;
所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述第一vNF的虚拟端口的标识;其中,所述第一vNF位于所述第一VM内;所述第一VM附着在所述装置上。
例如,所述第一VFF为图7中VFF1,所述第一虚拟网络报文可能来自VM1。
所述第一VFF还包括入端口,所述接收单元1301A,具体用于从所述入端口接收所述第一虚拟网络报文。
所述第一虚拟网络报文还包括第一有效载荷;具体来说,所述第一虚拟网络报文是在所述第一有效载荷的外层封装了虚拟网络头和虚拟层叠头,其中所述虚拟层叠头中包括所述第一虚拟源信息。
所述处理单元1302A,用于根据所述第一虚拟网络报文得到第二虚拟网络报文;所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;
所述第一虚拟拓扑信息包括下述任意一种:
虚拟链路标识;
虚拟共享总线标识;
业务路径标识;接口标识;
虚拟链路标识及业务路径标识;
虚拟共享总线标识及业务路径标识。
所述发送单元1303A,用于将所述第二虚拟网络报文发送至第二VFF。
所述处理单元1302A,可以根据所述第一VFF的虚拟网络拓扑信息处理所述虚拟网络报文。所述第一VFF的虚拟网络拓扑信息可以是预先配置在所述装置上的,也可以是动态获取的,比如到一个中心拓朴管理器请求并获取拓朴信息。所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口;
进一步地,在多租户场景中,所述装置还包括:获取单元,用于根据所述接收单元1301A接收所述第一虚拟网络报文的入端口,获取VNID;相应地,所述处理单元1302A,还用于根据所述获取单元获取的所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
所述虚拟网络拓扑信息还可以包括入端口和VNID。
所述处理单元1302A,具体用于获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
同样地,所述第二虚拟网络报文还包括所述第一有效载荷。
相应地,所述发送单元1303A,具体用于从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
一种可能实现方式中,所述处理单元1302A,具体用于根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。在多租户场景中,所述处理单元1302A,具体用于根据所述VNID和所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口
另一种可能实现方式中,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;相应地,所述处理单元1302A,具体用于根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括业务路径标识。在多租户场景中,所述处理单元1302A,具体用于根据所述VNID和所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
又一种可能实现方式中,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息;所述第一虚拟拓扑信息包括业务路径标识或接口标识;相应地,所述处理单元1302A,具体用于从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。在多租户场景中,所述处理单元1302A,具体用于根据所述VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
可选地,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;相应地,所述处理单元1302A,具体还用于根据所述第二VFF的IP地址和所述接收单元1301A接收所述第一虚拟网络报文的入端口对应的VNID,封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括网络虚拟化叠加NVO3头部和所述第二VFF的IP地址,所述NVO3头部中VNID为所述VFF接收所述第一虚拟网络报文的入端口对应的VNID。进一步地,所述第一虚拟网络报文还可以包括处理结果选项(result option),用于向所述第一VFF传递所述第一vNF对所述第一虚拟网络报文的有效载荷,即所述第一有效载荷的处理结果;这样所述VFF可以根据所述处理结果选项中的处理结果对所述第一虚拟网络报文进行不同的处理,例如选择不同的业务路径。
进一步地,所述接收器1301A,还用于接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;其中,所述网络设备附着在所述VFF上;
所述第三虚拟网络报文中还包括第二有效载荷。
所述处理单元1302A,还用于处理所述第三虚拟网络报文,得到第四虚拟网络报文,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息,所述第二虚拟拓扑信息包括虚拟共享总线标识或虚拟链路标识;
具体地,所述处理单元1302A,根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文;所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址。
同样地,所述第四虚拟网络报文中还包括所述第二有效载荷。
所述发送器1303A,还用于将处理后的第二虚拟网络报文发送至第三VFF;具体从所述第二出端口发送所述处理后的第二虚拟网络报文至所述第三VFF。
图13B为本发明实施例提供的另一种实现第一VFF的装置的结构框图,用于实现如本发明图5A-5C、图8A、9A、10A、11A以及12A任一所示的虚拟网络通信方法,构建虚拟网络拓扑并实现虚拟网络报文的转发。如图13B所示,所述装置包括接收单元1301B,处理单元1302B和发送单元1303B;其中:
所述接收单元1301B,用于接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM内;所述第二VM附着在所述第二VFF上;
所述第一虚拟拓扑信息包括虚拟链路标识,虚拟共享总线标识,业务路径标识,接口标识,虚拟链路标识及业务路径标识,虚拟共享总线标识及业务路径标识中的任意一种;
所述处理单元1302B,用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的第一虚拟端口的标识;
所述发送器1303B,用于将所述第二虚拟网络报文发送至第一虚拟机VM;其中,所述第一vNF位于所述第一VM内;所述第一VM附着在所述装置上。
所述第一虚拟网络报文中还包括第一有效载荷。
所述处理单元1302B,可以根据所述第一VFF的虚拟网络拓扑信息处理所述第一虚拟网络报文。所述第一VFF的虚拟网络拓扑信息可以是预先配置在所述装置上的,也可以是动态获取的,比如到一个中心拓朴管理器请求并获取拓朴信息。所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口;
进一步地,在多租户场景中,所述装置还包括:获取单元,用于根据所述第一虚拟网络报文,获取第一VNID;相应地,所述处理单元,还用于根据所述获取单元获取的所述第一VNID,获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。所述虚拟网络拓扑信息还可以包括VNID。
所述装置还可以包括:拓扑维护单元,用于维护所述虚拟网络拓扑信息。
所述处理单元1302B,具体用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的第一vINC的MAC地址;根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;在多租户场景中,所述处理单元1302B,具体用于根据所述获取单元获取的所述第一VNID,以及所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。相应地,所述发送器1303B,具体用于从所述第一出端口发送所述第二虚拟网络报文至所述第一VM的所述第一vNF或所述第一vNF的第一虚拟端口。
可选地,所述第一虚拟拓扑信息包括业务路径标识或接口标识;相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
进一步地,所述接收器1301B,还用于接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识,所述第三vNF位于第三虚拟机VM内;所述第三VM附着在所述第三VFF上;
其中,所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
在多租户场景中,所述获取单元,还用于根据所述第三虚拟网络报文,获取第二VNID;
所述处理单元1302B,还用于根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文;所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第三VFF上;
具体地,所述处理单元1302B根据所述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚拟目的信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第一网络设备的MAC地址;根据所述第二虚拟源信息、所述第二虚拟目的信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址;在多租户场景中,所述处理单元1302B,具体根据所述获取单元获取的所述第二VNID,以及所述第二虚拟源信息和所述第二虚拟拓扑信息,获取所述第二虚拟目的信息、所述第二虚拟下一跳的地址和所述第二出端口。
所述发送器1303B,还用于将所述第四虚拟网络报文发送至所述第一网络设备;具体地,从所述第二出端口将所述第四虚拟网络报文发送至所述第一网络设备。
进一步可选地,所述接收器1301B,还用于接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息;所述第三虚拟源信息包括第二网络设备的端口的标识,所述第二网络设备附着在所述第四VFF上;
其中,所述第三虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
在多租户场景中,所述获取单元,还用于根据所述第五虚拟网络报文,获取第三VNID;
所述处理单元1302B,还用于根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文;所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的第二虚拟端口的标识;
具体地,所述处理单元1302B根据所述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚拟目的信息、第三虚拟下一跳的地址和第三出端口,所述第三虚拟下一跳的地址包括所述第一VM的第二vNIC的MAC地址;根据所述第三虚拟源信息、所述第三虚拟目的信息和所述第三虚拟下一跳的地址封装所述第五虚拟网络报文,得到所述第六虚拟网络报文,所述第六虚拟网络报文中还包括所述第三虚拟下一跳的地址;在多租户场景中,所述处理单元1302B,具体根据所述获取单元获取的所述第三VNID,以及所述第三虚拟源信息和所述第三虚拟拓扑信息,获取所述第三虚拟目的信息、所述第三虚拟下一跳的地址和所述第三出端口。
所述发送器1303B,还用于将所述第六虚拟网络报文发送至所述第一VM;具体从所述第三出端口间所述第六虚拟网络报文发送至所述第一VM的第一vNF的第二虚拟端口。
本领域技术人员可以理解的是,图13A和13B所示实施例中仅示出了所述第一VFF中与本发明相关的部分结构,还可以包括比图示更多的部件,或者不同的部件布置。
图14A为本发明实施例提供的一种实现第一VFF的装置的硬件结构示意图,用于实现如本发明图4A-4B、图8A、9A、10A、11A以及12A任一所示的虚拟网络通信方法,构建虚拟网络拓扑并实现虚拟网络报文的转发;如图14A所示,所述装置包括:处理器1401A,存储器1402A,通信端口1403A和总线1404A;处理器1401A、存储器1402A和通信端口1403A通过总线1404A相互连接;所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14A中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1402A,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
其中,处理器1401A包括中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP),数字信号处理器(digital Signalprocessor,简称DSP),专用集成电路(application special integrated circuit,简称ASIC),现成可编程门阵列(field programmable gate array,简称FPGA),微处理器等;存储器1402A包括高速随机存取存储器(random access memory,简称RAM)存储器,非易失性存储器(non-volatile memory,简称NVM),例如电可擦可编程只读存储器(electrically erasable and programmable readonly memory,简称EEPROM),闪存(Flash)等。
所述通信端口1403A用于连接其他设备,并与其他设备进行通信。
处理器1401A执行存储器1402A所存放的程序,执行本发明实施例提供的实现虚拟网络通信的方法,包括:
接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述第一vNF的虚拟端口的标识;其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述装置上;
根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;
将所述第二虚拟网络报文发送至第二VFF;
所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
例如,所述第一VFF为图7中VFF1,所述第一虚拟网络报文来自VM1。
所述接收第一虚拟网络报文具体包括:从入端口接收所述第一虚拟网络报文;所述通信端口1403A中包括所述入端口。
可选地,可以根据所述第一VFF的虚拟网络拓扑信息处理所述第一虚拟网络报文。所述第一VFF的虚拟网络拓扑信息可以是预先配置在所述装置上的,也可以是动态获取的,比如到一个中心拓朴管理器请求并获取拓朴信息。所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口。
所述存储器1402A还可用于保存所述第一VFF的虚拟网络拓扑信息。
所述根据所述第一虚拟网络报文得到第二虚拟网络报文具体包括:获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
进一步地,在多租户场景中,所述方法还包括:根据接收所述第一虚拟网络报文的入端口,获取VNID。所述虚拟网络拓扑信息还可以包括入端口和VNID。相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根据所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
进一步地,所述第一虚拟网络报文还可以包括处理结果选项(result option),相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根据所述处理结果选项,获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口。
一种可能实现方式中,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口具体包括:根据所述第一虚拟源信息获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路或虚拟共享总线;在多租户场景中,具体根据所述VNID和所述虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
另一种可能实现方式中,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口具体包括:根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口;所述第一虚拟拓扑信息包括业务路径标识;在多租户场景中,具体根据所述VNID和所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
又一种可能实现方式中,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息;所述第一虚拟拓扑信息包括业务路径标识或接口标识;相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口具体包括:根据所述第一虚拟网络报文,获取所述第一虚拟拓扑信息;再根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取第一虚拟下一跳的地址和第一出端口;在多租户场景中,具体根据所述VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
所述通信端口1403A中还包括所述第一出端口。
可选地,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;相应地,所述方法还包括:根据所述第二VFF的IP地址和接收所述第一虚拟网络报文的入端口对应的VNID,封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括NVO3头部和所述第二VFF的IP地址,所述NVO3头部中VNID为接收所述第一虚拟网络报文的入端口对应的VNID。
进一步地,所述方法还包括:
接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;其中,所述网络设备附着在所述装置上;
根据所述第三虚拟网络报文得到第四虚拟网络报文,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;
将所述第四虚拟网络报文发送至第三VFF;
所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
所述第三虚拟网络报文还包括第二有效载荷。
所述根据所述第三虚拟网络报文得到第四虚拟网络报文具体包括:根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文;所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址。
同样,所述第四虚拟网络报文还包括所述第二有效载荷。
所述通信端口1403A中还包括所述第二出端口。
本领域技术人员可以理解的是,本发明实施例中仅示出了VFF中与本发明相关的部分结构,还可以包括比图示更多的部件,或者不同的部件布置。
图14B为本发明实施例提供的另一种实现第一VFF的装置的硬件结构示意图,用于实现如本发明图5A-5C、图8A、9A、10A、11A以及12A任一所示的虚拟网络通信方法,构建虚拟网络拓扑并实现虚拟网络报文的转发;如图14B所示,所述装置包括:处理器1401B,存储器1402B,通信端口1403B和总线1404B;处理器1401B、存储器1402B和通信端口1403B通过总线1404B相互连接;所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1402B,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
其中,处理器包括CPU,NP,DSP,ASIC,FPGA,微处理器等;存储器包括RAM,NVM,例如EEPROM,Flash等。
所述通信端口1403B用于连接其他设备,并与其他设备进行通信。
处理器1401B执行存储器1402B所存放的程序,执行本发明实施例提供的实现虚拟网络通信的方法,包括:
接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM内;所述第二VM附着在所述第二VFF上;
根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的第一虚拟端口的标识;
将所述第二虚拟网络报文发送至第一虚拟机VM;其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述装置上。
所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
具体地,可以根据所述第一VFF的虚拟网络拓扑信息处理所述第一虚拟网络报文以得到所述第二虚拟网络报文。所述第一VFF的虚拟网络拓扑信息可以是预先配置在所述装置上的,也可以是动态获取的,比如到一个中心拓朴管理器请求并获取拓朴信息。所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口;
所述存储器1402B还可用于保存所述第一VFF的虚拟网络拓扑信息。
进一步地,在多租户场景中,所述方法还包括:根据所述第一虚拟网络报文,获取第一VNID;所述虚拟网络拓扑信息还可以包括入端口和VNID。所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文包括:根据所述第一VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文。
所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文具体包括:根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的第一vINC的MAC地址;根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;在多租户场景中,具体根据所述第一VNID,以及所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。
可选地,所述第一虚拟拓扑信息包括业务路径标识或接口标识;相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
进一步地,所述方法还包括:
接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识,所述第三vNF位于第三虚拟机VM内;所述第三VM附着在所述第三VFF上;
根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文;所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第三VFF上;
将所述第四虚拟网络报文发送至所述第一网络设备。
其中,所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
在多租户场景中,所述方法还包括:从所述第三虚拟网络报文中获取第二VNID;
所述根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文具体包括:根据所述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚拟目的信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第一网络设备的MAC地址;根据所述第二虚拟源信息、所述第二虚拟目的信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址;在多租户场景中,具体根据所述第二VNID,以及所述第二虚拟源信息和所述第二虚拟拓扑信息,获取所述第二虚拟目的信息、所述第二虚拟下一跳的地址和所述第二出端口。
进一步可选地,所述方法还包括:
接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息;所述第三虚拟源信息包括第二网络设备的端口的标识,所述第二网络设备附着在所述第四VFF上;
根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文;所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的第二虚拟端口的标识;
将所述第六虚拟网络报文发送至所述第一VM。
其中,所述第三虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
在多租户场景中,所述方法还包括:从所述第五虚拟网络报文中获取第三VNID;
所述根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文具体包括:根据所述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚拟目的信息、第三虚拟下一跳的地址和第三出端口,所述第三虚拟下一跳的地址包括所述第一VM的第二vNIC的MAC地址;根据所述第三虚拟源信息、所述第三虚拟目的信息和所述第三虚拟下一跳的地址封装所述第五虚拟网络报文,得到所述第六虚拟网络报文,所述第六虚拟网络报文中还包括所述第三虚拟下一跳的地址;在多租户场景中,具体根据所述第三VNID,以及所述第三虚拟源信息和所述第三虚拟拓扑信息,获取所述第三虚拟目的信息、所述第三虚拟下一跳的地址和所述第三出端口。
本发明实施例提供的实现所述第一VFF的装置,接收并处理vNF间或vNF与网络设备间通信的虚拟网络报文,可以构建灵活的vNF通信架构,解决网络设备采用NFV技术虚拟出的虚拟网络功能(vNF)与NFV拓朴耦合,消耗VNID资源、无法灵活控制vNF、实现vNF间通信的问题。
图15为本发明实施例提供的一种实现虚拟容器的装置的结构示意图,用于实现如本发明图6A、6B和图8-12任一所示的虚拟网络通信方法。如图15所示,所述VFF包括接收模块1501,处理模块1502和发送模块1503;其中:
所述接收模块1501,用于接收第一虚拟网络功能vNF发送的第一业务报文;其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上;
所述处理模块1502,用于根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识;
所述发送模块1503,用于将所述第一虚拟网络报文发送给第一VFF。
具体地,图3a和图3b所示结构中,所述第一vNF可以调用为所述第一vNF或所述第一vNF的第一虚拟端口创建的socket接口,向所述虚拟容器发送所述第一业务报文,并将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为参数。可选地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第三vNF的标识作为参数。可选地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第一业务路径标识或所述第一接口标识作为参数。
所述处理模块1502,具体用于获取所述第一vNF或所述第一vNF的第一虚拟端口对应的第一vNIC;具体地,如图3a和3b所示结构中,可以根据发送所述第一业务报文的socket接口,找到对应的vNIC端口,或vNIC端口的一个VLAN(vNIC+VLAN),封装所述第一业务报文,得到所述第一虚拟网络报文;具体地,将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为第一虚拟源信息;将所述vNIC的MAC地址,或所述VNIC的MAC地址+VLAN ID作为虚拟网络头的源地址,将第一VFF的MAC地址作为虚拟网络头的目的地址,封装所述第一业务报文,得到所述第一虚拟网络报文。
可选地,所述接收模块1501,还用于接收所述第一vNF发送的第三vNF的标识。相应地,所述处理模块1502,还用于在封装所述第一业务报文时,将所述接收模块1501接收的所述第三vNF的标识作为第一虚拟目的信息,所述第一虚拟网络报文还包括第一虚拟目的信息。
可选地,所述接收模块1501,还用于接收所述第一vNF发送的第一业务路径标识或第一接口标识。相应地,所述处理模块1502,还用于在封装所述第一业务报文时,将所述接收模块1501接收的所述第一业务路径标识或所述第一接口标识作为第一虚拟拓扑信息,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息。
所述发送模块1503,具体用于将所述第一虚拟网络报文通过所述第一vNIC发送给所述第一VFF,以使所述第一VFF处理所述第一虚拟网络报文。
进一步地,所述接收模块1501,还用于接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
所述处理模块1502,还用于解封装所述第二虚拟网络报文以得到第二业务报文;
所述发送模块1503,还用于根据所述第二虚拟目的信息,发送所述第二业务报文。
所述处理模块1502,具体用于去除所述第二虚拟网络报文的虚拟层叠头和虚拟网络头,得到所述第二业务报文。
具体地,所述发送模块1503将所述第二业务报文发送给所述虚拟目的信息指示的目的vNF或目的vNF的虚拟端口。
可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口可以包括所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识或所述第一vNF的第二虚拟端口的标识。相应地,所述发送模块1503,具体用于将所述第二业务报文发送给所述第一vNF或所述第一vNF的第一虚拟端口或第二虚拟端口。所述虚拟容器可以位于所述第一VM中;或者,位于所述第一VM所在设备的虚拟机管理程序(英文:hypervisor)中;或者,与所述第一VFF位于同一设备内,具体如图3a-3d所示。
可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口也可以包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内。相应地,所述发送模块1503具体用于根据所述第二vNF的标识或所述第二vNF的虚拟端口的标识调用相应的socket接口,将所述第二业务报文发送给所述第二vNF或所述第二vNF的虚拟端口。所述虚拟容器可以位于所述第一VM中,具体如图3b所示。
进一步地,所述第二虚拟网络报文还可以包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;可以理解的是,所述第二业务路径标识或第二接口标识可以与所述第一业务路径标识或第一接口标识相同或不同。相应地,所述发送模块1503,还用于根据所述第二虚拟目的信息发送所述业务路径标识或所述接口标识。具体地,所述发送模块1503,具体用于将所述业务路径标识或所述接口标识,与所述第二业务报文一起发送给目的vNF或目的vNF的虚拟端口。
进一步可选地,所述接收模块1501,还用于接收网络设备发送的第三业务报文以及所述网络设备的端口的标识;所述网络设备附着在所述第一VFF上。
所述处理模块1502,还用于根据所述第三业务报文和所述网络设备的端口的标识,得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网络设备的端口的标识;
具体地,所述处理模块1502将所述网络设备的端口的标识作为第三虚拟源信息;将所述网络设备的MAC地址作为第三虚拟网络头的源地址,将所述第一VFF的MAC地址作为第三虚拟网络头的目的地址,封装所述第三业务报文,得到所述第三虚拟网络报文。
所述发送模块1501,还用于将所述第三虚拟网络报文发送给所述第一VFF。
所述网络设备的端口包括物理端口或逻辑端口。所述虚拟容器可以位于所述网络设备内。
本实施例中,网络设备直接附着在VFF上,通过虚拟容器与VFF通信,从而通过虚拟容器和VFF在网络设备的端口和vNF的虚拟端口间构建虚拟网络拓扑,就如同vNF直接实现在网络设备的该端口上一般,进而实现物理设备和虚拟设备间的映射互通。
可以理解的是,本实施例中以所述第一VM、所述网络设备附着到第一VFF,通过所述虚拟容器与所述第一VFF通信作为一种示例;具体实现中,所述第一VM和所述网络设备可以分别配置各自的虚拟容器,附着到相同的VFF或者分别附着到不同的VFF,本发明对此不作限定。
本实施例中,在网络设备的功能虚拟化后,通过虚拟容器实现vNF或网络设备与VFF间通信,通过虚拟容器和VFF在vNF间或vNF与网络设备间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。
本发明实施例还提供一种实现虚拟容器的装置,如图16所示,包括:处理器1601,存储器1602,通信端口1603和总线1604;处理器1601、存储器1602和通信端口1603通过总线1604相互连接;所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1602,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
其中,处理器1601包括CPU,NP,DSP,ASIC,FPGA,微处理器等;存储器1602包括RAM,NVM,例如EEPROM,Flash等。
所述通信端口1603用于连接其他设备,并与其他设备进行通信。
处理器1601执行存储器1602所存放的程序,执行本发明实施例提供的实现虚拟网络通信的方法,包括:
接收第一虚拟网络功能vNF发送的第一业务报文;其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上;
根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识;
将所述第一虚拟网络报文发送给第一VFF。
可选地,所述方法还包括:接收所述第一vNF发送的第三vNF的标识。
可选地,所述方法还包括:接收所述第一vNF发送的第一业务路径标识或第一接口标识。
具体地,如图3a和3b所示结构中,所述第一vNF可以调用为所述第一vNF或所述第一vNF的第一虚拟端口创建的socket接口,向所述虚拟容器发送所述第一业务报文,并将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为参数。可选地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第三vNF的标识作为参数。可选地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第一业务路径标识或所述第一接口标识作为参数。
所述根据所述第一业务报文得到第一虚拟网络报文包括:获取所述第一vNF或所述第一vNF的第一虚拟端口对应的第一vNIC或所述第一vNIC的一个VLAN;具体地,如图3a和3b所示结构中,根据发送所述第一业务报文的socket接口,找到所述第一vNIC,或所述第一vNIC端口的一个VLAN(vNIC+VLAN),封装所述第一业务报文,得到所述第一虚拟网络报文。具体地,将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为第一虚拟源信息;将所述vNIC的MAC地址,或所述VNIC的MAC地址+VLAN ID作为虚拟网络头的源地址,将第一VFF的MAC地址作为虚拟网络头的目的地址,封装所述第一业务报文,得到所述第一虚拟网络报文。可选地,在封装所述第一业务报文时,将所述第三vNF的标识作为第一虚拟目的信息,所述第一虚拟网络报文还包括第一虚拟目的信息。可选地,在封装所述第一业务报文时,将所述第一业务路径标识或所述第一接口标识作为第一虚拟拓扑信息,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息。
进一步地,所述方法还包括:
接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
解封装所述第二虚拟网络报文以得到第二业务报文;
根据所述虚拟目的信息,发送所述第二业务报文。
可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口可以包括所述第一vNF的标识或所述第一vNF的所述第一虚拟端口的标识或所述第一vNF的第二虚拟端口的标识。相应地,所述根据所述虚拟目的信息,发送所述第二业务报文包括:将所述第二业务报文发送给所述第一vNF或所述第一vNF的所述第一虚拟端口或所述第二虚拟端口。所述虚拟容器可以位于所述第一VM中;或者,位于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,与所述第一VFF位于同一设备内,具体如图3a-3d所示。
可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口也可以包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内。相应地,所述根据所述虚拟目的信息,发送所述第二业务报文包括:根据所述第二vNF的标识或所述第二vNF的虚拟端口的标识调用相应的socket接口,将所述第二业务报文发送给所述第二vNF或所述第二vNF的虚拟端口。所述虚拟容器可以位于所述第一VM中,具体如图3b所示。
可选地,所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;可以理解的是,所述第二业务路径标识或第二接口标识可以与所述第一业务路径标识或第一接口标识相同或不同。相应地,所述方法还包括:根据所述第二虚拟目的信息发送所述第二业务路径标识或所述第二接口标识。具体地,将所述第二业务路径标识或所述第二接口标识,与所述第二业务报文一起发送给所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口。
进一步地,所述方法还包括:
接收网络设备发送的第三业务报文以及所述网络设备的端口的标识,所述网络设备附着在所述第一VFF上;
根据所述第三业务报文和所述网络设备的端口的标识,得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网络设备的端口的标识;
将所述第三虚拟网络报文发送给所述第一VFF。
所述根据所述第三业务报文和所述网络设备的端口的标识,得到第三虚拟网络报文包括:将所述网络设备的端口的标识作为第三虚拟源信息;将所述网络设备的MAC地址作为第三虚拟网络头的源地址,将所述第一VFF的MAC地址作为第三虚拟网络头的目的地址,封装所述第三业务报文,得到所述第三虚拟网络报文。
所述网络设备的端口包括物理端口或逻辑端口。
所述虚拟容器可以位于所述网络设备内。
进一步所述方法还包括:接收来自所述第一VFF的第四虚拟网络报文,所述第四虚拟网络报文包括第四虚拟目的信息;所述第四虚拟目的信息包括所述网络设备的端口的标识。解封装所述第四虚拟网络报文,得到第四业务报文;并根据所述第四虚拟目的信息,发送所述第四业务报文至所述网络设备的所述端口。
可以理解的是,本实施例中以所述第一VM、所述网络设备附着到第一VFF,通过所述虚拟容器与所述第一VFF通信作为一种示例;具体实现中,所述第一VM和所述网络设备可以分别配置各自的虚拟容器,附着到相同的VFF或者分别附着到不同的VFF,本发明对此不作限定。
本实施例中,网络设备可以直接附着在VFF上,通过虚拟容器与VFF通信,从而通过虚拟容器和VFF在网络设备的端口和vNF的虚拟端口间构建虚拟网络拓扑,就如同vNF直接实现在网络设备的该端口上一般,进而实现物理设备和虚拟设备间的映射互通。
本发明实施例提供的虚拟容器,接收来自第一VM中第一vNF的第一业务报文并封装为第一虚拟网络报文发送给该第一VM附着的第一VFF,此外接收来自第一VFF的第二虚拟网络报文,解封装该第二虚拟网络报文得到第二业务报文,并发送该第二业务报文给第一vNF,从而可以通过所述第一VFF与其他vNF通信,在vNF间构建虚拟拓扑,从而解决虚拟网络中的vNF与拓朴耦合,消耗VNID资源、无法灵活控制vNF、实现vNF间通信的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (60)

1.一种实现虚拟网络通信的方法,其特征在于,包括:
第一虚拟转发功能VFF接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息,所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述第一vNF的虚拟端口的标识,其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上;所述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;
根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;
将所述第二虚拟网络报文发送至第二VFF;所述第一虚拟拓扑信息包括下述任意一种:
虚拟链路标识;
虚拟共享总线标识;
业务路径标识;
接口标识;
虚拟链路标识及业务路径标识;
虚拟共享总线标识及业务路径标识。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一虚拟网络报文得到第二虚拟网络报文,将所述第二虚拟网络报文发送至第二VFF,包括:
获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;
根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。
4.根据权利要求2所述的方法,其特征在于,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;
相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括所述业务路径标识。
5.根据权利要求2所述的方法,其特征在于,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息,所述第一虚拟拓扑信息包括所述业务路径标识或所述接口标识;
所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;
根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;
相应地,所述第二虚拟网络报文还包括网络虚拟化叠加NVO3头部和所述第二VFF的IP地址,所述NVO3头部中虚拟网络标识VNID为所述第一VFF接收所述第一虚拟网络报文的入端口对应的VNID。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述方法还包括:根据所述第一VFF接收所述第一虚拟网络报文的入端口,获取虚拟网络标识VNID;
相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根据所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
所述第一VFF接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;其中,所述网络设备附着在所述第一VFF上;
根据所述第三虚拟网络报文得到第四虚拟网络报文,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;
将所述第四虚拟网络报文发送至第三VFF;所述第二虚拟拓扑信息包括下述任意一种:
虚拟共享总线标识;
虚拟链路标识;
业务路径标识;
虚拟链路标识及业务路径标识;
虚拟共享总线标识及业务路径标识。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第三虚拟网络报文生成第四虚拟网络报文;将所述第四虚拟网络报文发送至第三VFF,包括:
根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;
根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址;
从所述第二出端口发送所述第四虚拟网络报文至所述第三VFF。
10.一种实现虚拟网络通信的方法,其特征在于,包括:
第一虚拟转发功能VFF接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息,所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM内,所述第二VM附着在所述第二VFF上;
根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的虚拟端口的标识;
将所述第二虚拟网络报文发送至第一虚拟机VM
其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上;所述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;
所述第一虚拟拓扑信息包括下述任意一种:
虚拟链路标识;
虚拟共享总线标识;
业务路径标识;
接口标识;
虚拟链路标识及业务路径标识;
虚拟共享总线标识及业务路径标识。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,将所述第二虚拟网络报文发送至第一VM,包括:
根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的虚拟网卡vINC的媒体访问控制MAC地址;
根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
从所述第一出端口发送所述第二虚拟网络报文至所述第一VM。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:从所述第一虚拟网络报文中获取虚拟网络标识VNID;
相应地,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,包括:根据所述VNID、所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。
13.根据权利要求10至12任一项所述的方法,其特征在于,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
14.根据权利要求10至13任一项所述的方法,其特征在于,还包括:
所述第一VFF接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识;其中,所述第三vNF位于第三虚拟机VM内,所述第三VM附着在所述第三VFF上;
根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文,并将所述第四虚拟网络报文发送至第一网络设备,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括所述第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第一VFF上;
所述第二虚拟拓扑信息包括下述任意一种:
虚拟链路标识;
虚拟共享总线标识;
业务路径标识;
虚拟链路标识及业务路径标识;
虚拟共享总线标识及业务路径标识。
15.根据权利要求10至14任一项所述的方法,其特征在于,还包括:
第一VFF接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息,所述第三虚拟源信息包括第二网络设备的端口的标识;其中,所述第二网络设备附着在所述第四VFF上;
根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文,所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的虚拟端口的标识;将所述第六虚拟网络报文发送至所述第一VM;
所述第三虚拟拓扑信息包括下述任意一种:
虚拟链路标识;
虚拟共享总线标识;
业务路径标识;
虚拟链路标识及业务路径标识;
虚拟共享总线标识及业务路径标识。
16.根据权利要求10至15任一项所述的方法,其特征在于,还包括:所述第一VFF维护虚拟网络拓扑信息,所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口。
17.根据权利要求16所述的方法,其特征在于,所述虚拟网络拓扑信息还包括入端口和虚拟网络标识。
18.一种实现虚拟网络通信的方法,其特征在于,包括:
虚拟容器接收第一虚拟网络功能vNF发送的第一业务报文;
根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;
将所述第一虚拟网络报文发送给第一虚拟转发功能VFF;
其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
19.根据权利要求18所述的方法,其特征在于,还包括:接收所述第一vNF发送的第三vNF的标识;
相应地,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括所述第三vNF的标识。
20.根据权利要求18所述的方法,其特征在于,还包括:接收所述第一vNF发送的第一业务路径标识或第一接口标识;
相应地,所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信息包括所述第一业务路径标识或所述第一接口标识。
21.根据权利要求18至20任一项所述的方法,其特征在于,还包括:
所述虚拟容器接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
解封装所述第二虚拟网络报文以得到第二业务报文;
根据所述第二虚拟目的信息,发送所述第二业务报文。
22.根据权利要求21所述的方法,其特征在于,所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;
相应地,所述方法还包括:根据所述第二虚拟目的信息发送所述第二业务路径标识或所述第二接口标识。
23.根据权利要求18至22任一项所述的方法,其特征在于,
所述虚拟容器位于所述第一VM中;或者,
所述虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,
所述虚拟容器与所述第一VFF位于同一设备内。
24.根据权利要求21至23任一项所述的方法,其特征在于,所述第二虚拟目的信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识。
25.根据权利要求21或22所述的方法,其特征在于,所述第二虚拟目的信息包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内,所述虚拟容器位于所述第一VM中。
26.根据权利要求18至25任一项所述的方法,其特征在于,还包括:
所述虚拟容器接收网络设备发送的第三业务报文以及所述网络设备的端口的标识;
根据所述第三业务报文和所述网络设备的端口的标识,得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文,所述第三虚拟源信息包括所述网络设备的端口的标识;
将所述第三虚拟网络报文发送给所述第一VFF;
其中,所述网络设备附着在所述第一VFF上。
27.根据权利要求26所述的方法,其特征在于,所述虚拟容器位于所述网络设备内。
28.一种实现第一虚拟转发功能VFF的装置,其特征在于,用于构建虚拟网络拓扑并实现虚拟网络报文的转发,包括:
接收单元,用于接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息,所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述第一vNF的虚拟端口的标识,其中,所述第一vNF位于所述第一VM内,所述第一VM附着在实现所述第一VFF的装置上;
处理单元,用于根据所述第一虚拟网络报文得到第二虚拟网络报文;所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识中的;
发送单元,用于将所述第二虚拟网络报文发送至第二VFF。
29.根据权利要求28所述的装置,其特征在于,
所述处理单元,具体用于获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
相应地,所述发送单元,具体用于从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
30.根据权利要求29所述的装置,其特征在于,所述处理单元,具体用于根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。
31.根据权利要求29所述的装置,其特征在于,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;
相应地,所述处理单元,具体用于根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括业务路径标识。
32.根据权利要求29所述的装置,其特征在于,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
相应地,所述处理单元,具体用于从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
33.根据权利要求29至32任一项所述的装置,其特征在于,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;
相应地,所述处理单元,具体还用于根据所述第二VFF的IP地址和所述VFF接收所述第一虚拟网络报文的入端口对应的虚拟网络标识VNID,封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括网络虚拟化叠加NVO3头部和所述第二VFF的IP地址,所述NVO3头部中VNID为所述VFF接收所述第一虚拟网络报文的入端口对应的VNID。
34.根据权利要求28至33任一项所述的装置,其特征在于,还包括:获取单元,用于根据所述VFF接收所述第一虚拟网络报文的入端口,获取VNID;
相应地,所述处理单元,还用于根据所述获取单元获取的所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
35.根据权利要求28至34任一项所述的装置,其特征在于,
所述接收单元,还用于接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;其中,所述网络设备附着在所述实现所述第一VFF的装置上;
所述处理单元,还用于根据所述第三虚拟网络报文,得到第四虚拟网络报文,所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息,所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述发送单元,还用于将所述第四虚拟网络报文发送至第三VFF。
36.根据权利要求35所述的装置,其特征在于,
所述处理单元,具体用于根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟下一跳的地址;
相应地,所述发送单元,具体用于从所述第二出端口发送所述第四虚拟网络报文至所述第三VFF。
37.一种实现第一虚拟转发功能VFF的装置,其特征在于,用于构建虚拟网络拓扑并实现虚拟网络报文的转发,包括:
接收单元,用于接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息,所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识,其中,所述第二vNF位于第二虚拟机VM内,所述第二VM附着在所述第二VFF上;
处理单元,用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的虚拟端口的标识;
发送单元,用于将所述第二虚拟网络报文发送至第一虚拟机VM;
其中,所述第一vNF位于所述第一VM内;所述第一VM附着在实现所述第一VFF的装置上;所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
38.根据权利要求37所述的装置,其特征在于,
所述处理单元,具体用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的虚拟网卡vINC的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
相应地,所述发送器,具体用于从所述第一出端口发送所述第二虚拟网络报文至所述第一VM。
39.根据权利要求38所述的装置,其特征在于,还包括:获取单元,用于从所述第一虚拟网络报文中获取虚拟网络标识VNID;
相应地,所述处理单元,具体用于根据所述获取单元获取的所述VNID,以及所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和所述第一出端口。
40.根据权利要求37至39任一项所述的装置,其特征在于,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
41.根据权利要求37至40任一项所述的装置,其特征在于,
所述接收器,还用于接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识,其中,所述第三vNF位于第三虚拟机VM内;所述第三VM附着在所述第三VFF上;
所述处理单元,还用于根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文以得到第四虚拟网络报文;所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第三VFF上;所述第二虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述发送器,还用于将所述第四虚拟网络报文发送至所述第一网络设备。
42.根据权利要求37至41任一项所述的装置,其特征在于,
所述接收器,还用于接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息,所述第三虚拟源信息包括第二网络设备的端口的标识;其中,所述第二网络设备附着在所述第四VFF上;
所述处理单元,还用于根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文以得到第六虚拟网络报文;所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的虚拟端口的标识;所述第三虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述发送器,还用于将所述第六虚拟网络报文发送至所述第一VM。
43.根据权利要求37至42任一项所述的装置,其特征在于,还包括:拓扑维护单元,用于维护虚拟网络拓扑信息,所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口。
44.一种实现虚拟容器的装置,其特征在于,包括:
接收模块,用于接收第一虚拟网络功能vNF发送的第一业务报文;
处理模块,用于根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;
发送模块,将所述第一虚拟网络报文发送给第一虚拟转发功能VFF;
其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
45.根据权利要求44所述的装置,其特征在于,所述接收模块还用于接收所述第一vNF发送的第三vNF的标识;
相应地,所述处理模块,具体用于根据所述第三vNF的标识,处理所述第一业务报文,得到所述第一虚拟网络报文;所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括所述第三vNF的标识。
46.根据权利要求44所述的装置,其特征在于,所述接收模块,还用于接收所述第一vNF发送的第一业务路径标识或第一接口标识;
相应地,所述处理模块,具体用于根据所述第一业务路径标识或所述第一接口标识处理所述第一业务报文以得到所述第一虚拟网络报文;所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信息包括所述第一业务路径标识或所述第一接口标识。
47.根据权利要求44至46任一项所述的装置,其特征在于,
所述接收模块,还用于接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
所述处理模块,还用于解封装所述第二虚拟网络报文以得到第二业务报文;
所述发送模块,还用于根据所述第二虚拟目的信息,发送所述第二业务报文。
48.根据权利要求47所述的装置,其特征在于,所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径标识或第二接口标识;
相应地,所述处理模块,具体用于解封装所述第二虚拟网络报文以得到第二业务报文,和所述第二业务路径标识或所述第二接口标识;
所述发送模块,还用于根据所述第二虚拟目的信息,发送所述第二业务路径标识或所述第二接口标识。
49.根据权利要求44至48任一项所述的装置,其特征在于,
所述虚拟容器位于所述第一VM中;或者,
所述虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,
所述虚拟容器与所述第一VFF位于同一设备内。
50.根据权利要求47至49任一项所述的装置,其特征在于,所述第二虚拟目的信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识。
51.根据权利要求47或48所述的装置,其特征在于,所述第二虚拟目的信息包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内,所述虚拟容器位于所述第一VM中。
52.根据权利要求44至51任一项所述的装置,其特征在于,
所述接收模块,还用于接收网络设备发送的第三业务报文以及所述网络设备的端口的标识;
所述处理模块,还用于根据所述第三业务报文和所述网络设备的端口的标识,得到第三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文,所述第三虚拟源信息包括所述网络设备的端口的标识;
所述发送模块,还用于将所述第三虚拟网络报文发送给所述第一VFF;
其中,所述网络设备附着在所述第一VFF上。
53.根据权利要求52所述的装置,其特征在于,所述虚拟容器位于所述网络设备内。
54.一种虚拟网络通信系统,其特征在于,包括:第一虚拟机VM和第一虚拟转发功能VFF,以及第二VM和第二VFF;
所述第一VM包括第一虚拟网络功能vNF,所述第一VM附着在所述第一VFF上;所述第二VM包括第二vNF,所述第二VM附着在所述第二VFF上;
所述第一VFF和所述第二VFF用于在所述第一VM和所述第二VM之间构建虚拟网络拓扑;
所述第一VFF用于接收来自所述第一VM的第一虚拟网络报文,所述第一虚拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的虚拟端口的标识;根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至第二VFF;所述第一虚拟拓扑信息包括如下任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
所述第二VFF,用于接收来自所述第一VFF的所述第二虚拟网络报文,所述第二虚拟网络报文包括所述第一虚拟源信息和所述第一虚拟拓扑信息;根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第三虚拟网络报文,所述第三虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一虚拟目的信息包括所述第二vNF的标识或所述第二vNF的虚拟端口的标识;将所述第三虚拟网络报文发送至所述第二VM。
55.根据权利要求54所述的系统,其特征在于,所述第一VM还包括第一虚拟容器;所述第一vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一VFF是独立的设备,或者与所述第一VM位于同一设备上。
56.根据权利要求55所述的系统,其特征在于,所述第一VM还包括第三vNF;
所述第三vNF通过所述第一虚拟容器与所述第一VFF通信;
所述虚拟容器,还用于维护vNF的虚拟端口与虚拟网卡vNIC的对应关系。
57.根据权利要求54所述的系统,其特征在于,所述系统还包括第一虚拟容器;
所述第一虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中,所述第一VFF是独立的设备或者与所述第一VM位于同一设备上;或者,所述第一虚拟容器、所述第一VM与所述第一VFF位于同一设备上;
所述第一vNF通过所述第一虚拟容器与所述第一VFF通信。
58.根据权利要求54至57任一项所述的系统,其特征在于,所述系统还包括第一网络设备,所述第一网络设备附着在所述第一VFF上;
所述第一VFF,还用于接收来自所述第一网络设备的第四虚拟网络报文,所述第四虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述第一网络设备的端口的标识;根据所述第四虚拟网络报文得到第五虚拟网络报文,所述第五虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;发送所述第五虚拟网络报文;所述第二虚拟拓扑信息包括如下任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
59.根据权利要求54至58任一项所述的系统,其特征在于,所述系统还包括第二网络设备和第三VFF,所述第二网络设备附着在所述第三VFF上;
所述第三VFF,用于接收来自所述第二网络设备的第六虚拟网络报文,所述第六虚拟网络报文中包括第三虚拟源信息,所述第三虚拟源信息包括所述第二网络设备的端口的标识;根据所述第六虚拟网络报文得到第七虚拟网络报文,所述第七虚拟网络报文中包括所述第三虚拟源信息和第三虚拟拓扑信息;发送所述第七虚拟网络报文;所述第三虚拟拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
60.根据权利要求59所述的系统,其特征在于,
所述第二VFF,还用于接收来自所述第三VFF的所述第七虚拟网络报文,所述第七虚拟网络报文包括所述第三虚拟源信息和所述第三虚拟拓扑信息;根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第七虚拟网络报文以得到第八虚拟网络报文,所述第八虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第二vNF的虚拟端口的标识;将所述第八虚拟网络报文发送至所述第二VM。
CN201310452313.6A 2013-09-27 2013-09-27 实现虚拟网络通信的方法、装置和系统 Active CN104518935B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310452313.6A CN104518935B (zh) 2013-09-27 2013-09-27 实现虚拟网络通信的方法、装置和系统
PCT/CN2014/075789 WO2015043168A1 (zh) 2013-09-27 2014-04-21 实现虚拟网络通信的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310452313.6A CN104518935B (zh) 2013-09-27 2013-09-27 实现虚拟网络通信的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104518935A true CN104518935A (zh) 2015-04-15
CN104518935B CN104518935B (zh) 2018-05-25

Family

ID=52741941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310452313.6A Active CN104518935B (zh) 2013-09-27 2013-09-27 实现虚拟网络通信的方法、装置和系统

Country Status (2)

Country Link
CN (1) CN104518935B (zh)
WO (1) WO2015043168A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812221A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 虚拟可扩展本地区域网络中数据传输的设备和方法
WO2016184045A1 (zh) * 2015-05-21 2016-11-24 华为技术有限公司 一种网络业务扩容的方法和装置
WO2017000221A1 (zh) * 2015-06-30 2017-01-05 华为技术有限公司 通过远端网元端口通信的方法和装置
WO2017059762A1 (en) * 2015-10-09 2017-04-13 Huawei Technologies Co., Ltd. Service function bundling for service function chains
CN106712988A (zh) * 2015-08-25 2017-05-24 新华三技术有限公司 一种虚拟网络管理方法及装置
WO2018028592A1 (zh) * 2016-08-11 2018-02-15 华为技术有限公司 接收和发送报文的方法及设备
CN108418705A (zh) * 2018-01-29 2018-08-17 山东汇贸电子口岸有限公司 虚拟机与容器混合嵌套架构的虚拟网络管理方法及系统
CN109218158A (zh) * 2017-07-05 2019-01-15 中国电信股份有限公司 基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统
CN109309634A (zh) * 2018-09-25 2019-02-05 新华三技术有限公司 一种报文处理系统及网络设备
CN109803281A (zh) * 2017-11-16 2019-05-24 华为技术有限公司 网络业务的管理方法、设备及系统
CN110719237A (zh) * 2018-07-13 2020-01-21 华为技术有限公司 传输报文的方法、装置、设备及存储介质
CN111580936A (zh) * 2020-05-19 2020-08-25 山东超越数控电子股份有限公司 虚拟化数据处理方法和系统
CN111628921A (zh) * 2019-02-27 2020-09-04 华为技术有限公司 一种报文的处理方法、报文转发装置以及报文处理装置
WO2021147358A1 (zh) * 2020-01-23 2021-07-29 华为技术有限公司 一种网络接口的建立方法、装置及系统
WO2022183927A1 (zh) * 2021-03-02 2022-09-09 华为技术有限公司 一种报文传输方法及装置
CN115552819A (zh) * 2020-05-06 2022-12-30 质一科技有限公司 虚拟网络设备
CN116248590A (zh) * 2022-12-16 2023-06-09 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430110A (zh) * 2015-10-30 2016-03-23 浪潮(北京)电子信息产业有限公司 一种虚拟网络系统的容器配置方法及网络传输装置
CN114338606B (zh) * 2020-09-25 2023-07-18 华为云计算技术有限公司 一种公有云的网络配置方法及相关设备
CN114844787B (zh) * 2022-04-11 2024-01-26 电子科技大学 一种支持灵活高效动态实验的网络模拟系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044262A1 (en) * 2002-11-21 2005-02-24 Cisco Technology, Inc. System and method for interconnecting heterogeneous layer 2 VPN applications
US20080253367A1 (en) * 2005-08-26 2008-10-16 Hamid Ould-Brahim Method for Establishing Multi Segment Pseudowire Across Domains Having Different Pseudowire Signaling Protocol
CN101459534A (zh) * 2008-12-03 2009-06-17 福建星网锐捷网络有限公司 一种树状网络的网络拓扑收集方法和网络设备
CN101505227A (zh) * 2009-03-11 2009-08-12 华为技术有限公司 一种实现点到多点伪线的方法、设备和系统
CN102437967A (zh) * 2012-02-01 2012-05-02 杭州华三通信技术有限公司 报文转发方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044262A1 (en) * 2002-11-21 2005-02-24 Cisco Technology, Inc. System and method for interconnecting heterogeneous layer 2 VPN applications
US20080253367A1 (en) * 2005-08-26 2008-10-16 Hamid Ould-Brahim Method for Establishing Multi Segment Pseudowire Across Domains Having Different Pseudowire Signaling Protocol
CN101459534A (zh) * 2008-12-03 2009-06-17 福建星网锐捷网络有限公司 一种树状网络的网络拓扑收集方法和网络设备
CN101505227A (zh) * 2009-03-11 2009-08-12 华为技术有限公司 一种实现点到多点伪线的方法、设备和系统
CN102437967A (zh) * 2012-02-01 2012-05-02 杭州华三通信技术有限公司 报文转发方法和装置

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812221A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 虚拟可扩展本地区域网络中数据传输的设备和方法
CN105812221B (zh) * 2014-12-31 2019-07-12 华为技术有限公司 虚拟可扩展本地区域网络中数据传输的设备和方法
US10432460B2 (en) 2015-05-21 2019-10-01 Huawei Technologies Co., Ltd. Network service scaling method and apparatus
WO2016184045A1 (zh) * 2015-05-21 2016-11-24 华为技术有限公司 一种网络业务扩容的方法和装置
WO2017000221A1 (zh) * 2015-06-30 2017-01-05 华为技术有限公司 通过远端网元端口通信的方法和装置
US10491423B2 (en) 2015-06-30 2019-11-26 Huawei Technologies Co., Ltd. VLAN tag communication method by using a remote network element port and apparatus
CN106712988A (zh) * 2015-08-25 2017-05-24 新华三技术有限公司 一种虚拟网络管理方法及装置
US10572291B2 (en) 2015-08-25 2020-02-25 New H3C Technologies Co., Ltd. Virtual network management
CN106712988B (zh) * 2015-08-25 2019-11-12 新华三技术有限公司 一种虚拟网络管理方法及装置
WO2017059762A1 (en) * 2015-10-09 2017-04-13 Huawei Technologies Co., Ltd. Service function bundling for service function chains
US9729441B2 (en) 2015-10-09 2017-08-08 Futurewei Technologies, Inc. Service function bundling for service function chains
WO2018028592A1 (zh) * 2016-08-11 2018-02-15 华为技术有限公司 接收和发送报文的方法及设备
CN109218158A (zh) * 2017-07-05 2019-01-15 中国电信股份有限公司 基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统
CN109218158B (zh) * 2017-07-05 2021-05-11 中国电信股份有限公司 基于VxLAN的数据传输方法、控制方法及控制器、网关、中间网元和系统
US11831509B2 (en) 2017-11-16 2023-11-28 Huawei Technologies Co., Ltd. Network service management method, device, and system
CN109803281A (zh) * 2017-11-16 2019-05-24 华为技术有限公司 网络业务的管理方法、设备及系统
CN108418705B (zh) * 2018-01-29 2021-01-08 浪潮云信息技术股份公司 虚拟机与容器混合嵌套架构的虚拟网络管理方法及系统
CN108418705A (zh) * 2018-01-29 2018-08-17 山东汇贸电子口岸有限公司 虚拟机与容器混合嵌套架构的虚拟网络管理方法及系统
CN110719237A (zh) * 2018-07-13 2020-01-21 华为技术有限公司 传输报文的方法、装置、设备及存储介质
CN110719237B (zh) * 2018-07-13 2022-01-07 华为技术有限公司 传输报文的方法、装置、设备及存储介质
US11804985B2 (en) 2018-07-13 2023-10-31 Huawei Technologies Co., Ltd. Packet transmission method, apparatus, and system, and storage medium
CN109309634A (zh) * 2018-09-25 2019-02-05 新华三技术有限公司 一种报文处理系统及网络设备
CN111628921A (zh) * 2019-02-27 2020-09-04 华为技术有限公司 一种报文的处理方法、报文转发装置以及报文处理装置
US11683272B2 (en) 2019-02-27 2023-06-20 Huawei Technologies Co., Ltd. Packet processing method, packet forwarding apparatus, and packet processing apparatus
CN111628921B (zh) * 2019-02-27 2021-07-20 华为技术有限公司 一种报文的处理方法、报文转发装置以及报文处理装置
WO2021147358A1 (zh) * 2020-01-23 2021-07-29 华为技术有限公司 一种网络接口的建立方法、装置及系统
CN115552819A (zh) * 2020-05-06 2022-12-30 质一科技有限公司 虚拟网络设备
CN111580936A (zh) * 2020-05-19 2020-08-25 山东超越数控电子股份有限公司 虚拟化数据处理方法和系统
CN111580936B (zh) * 2020-05-19 2024-02-09 超越科技股份有限公司 虚拟化数据处理方法和系统
WO2022183927A1 (zh) * 2021-03-02 2022-09-09 华为技术有限公司 一种报文传输方法及装置
CN116248590A (zh) * 2022-12-16 2023-06-09 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质
CN116248590B (zh) * 2022-12-16 2024-05-10 中国联合网络通信集团有限公司 数据转发方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2015043168A1 (zh) 2015-04-02
CN104518935B (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN104518935A (zh) 实现虚拟网络通信的方法、装置和系统
CN103200069B (zh) 一种报文处理的方法和设备
CN105359465B (zh) 用于扩展跨多个数据中心站点的虚拟可扩展局域网段的方法和装置
CN104869042B (zh) 报文转发方法和装置
EP2853066B1 (en) Layer-3 overlay gateways
CN106936777B (zh) 基于OpenFlow的云计算分布式网络实现方法、系统
CN102594711B (zh) 一种在边缘设备上的报文转发方法和边缘设备
CN102025591B (zh) 虚拟专用网络的实现方法及系统
CN104158718B (zh) 一种报文处理方法和装置
CN106101023B (zh) 一种vpls报文处理方法及设备
CN104702476B (zh) 基于分布式网关的报文处理方法及网络虚拟化边缘点
CN105284080B (zh) 数据中心的虚拟网络管理方法及数据中心系统
CN102447752B (zh) 基于二层隧道协议的业务访问方法、系统和装置
WO2022100554A1 (zh) Bier报文转发的方法、设备以及系统
CN109891838A (zh) 基于规则的网络标识符映射
CN104601472A (zh) 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN103081418A (zh) 计算机系统和计算机系统中的通信方法
CN105187311B (zh) 一种报文转发方法及装置
CN104243269A (zh) 一种虚拟扩展局域网报文的处理方法及装置
CN106878136B (zh) 一种报文转发方法及装置
CN103841023A (zh) 数据转发的方法和设备
CN105490957A (zh) 一种负载分担方法及装置
WO2020220459A1 (zh) 基于VXLAN和OpenFlow的虚拟家庭网络共享方法及系统
EP3446512B1 (en) Dynamic multi-destination traffic management in a distributed tunnel endpoint
CN106209638A (zh) 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备

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