实现虚拟网络通信的方法、装置和系统的制作方法
【专利摘要】本发明实施例公开了一种虚拟网络通信方法、装置和系统,该方法包括:第一VFF接收来自第一虚拟机VM或网络设备的虚拟网络报文,处理所述虚拟网络报文并发送至第二VFF,所述虚拟网络报文中包括虚拟拓扑信息;第二VFF处理所述虚拟网络报文并发送至第二VM。这样,在网络设备的功能虚拟化后,可以在vNF间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。
【专利说明】实现虚拟网络通信的方法、装置和系统
【技术领域】
[0001] 本发明实施例涉及计算机通信领域,尤其涉及一种实现虚拟网络通信的方法、装 置和系统。
【背景技术】
[0002] 随着云计算的发展,网络功能虚拟化(networkfunctionvirtualization,简称 NFV)技术逐步兴起。NFV技术将由网络设备的硬件实现的网络功能,例如防火墙,网络地 址转换(networkaddress,简称NAT)等,通过虚拟机(virtualmachine,简称VM)中运行 的虚拟网络功能(virtualnetworkfunction,简称vNF)来实现,从而在基础网络(英文: infrastructure)之上构建虚拟网络。
[0003] 网络虚拟化叠加(networkvirtualizationoverlayer3,简称NV03)是虚拟网络 隔离技术,可以构建虚拟网络域。一个虚拟网络域内任意两点主机/VM直接可达,而属于不 同虚拟网络域的主机/VM是不能互通的。NV03技术通过为每个租户分配一个虚拟网络标识 (virtualnetworkidentifier,简称VNID),可以实现隔离式多租户(英文:tenant)的数据 中心(datacenter,简称DC)环境。
【发明内容】
[0004] 本发明实施例提供了一种实现虚拟网络通信的方法、装置和系统,用于解决网络 设备的功能虚拟化之后,在网络设备的VNF间构建虚拟网络拓扑,通信架构,实现虚拟网络 中vNF与物理网络拓朴解耦合。
[0005] 第一方面,本发明提供了一种实现虚拟网络通信的方法,包括:
[0006] 第一虚拟转发功能VFF接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚 拟网络报文包括第一虚拟源信息;所述第一虚拟源信息包括第一虚拟网络功能vNF的标识 或所述第一vNF的虚拟端口的标识,其中,所述第一vNF位于所述第一VM内,所述第一VM附 着在所述第一VFF上;所述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;
[0007] 根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网络报文中包 括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至第二VFF; 所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径 标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0008] 根据第一方面,在第一方面的第一种可能实现方式中,所述根据所述第一虚拟网 络报文得到第二虚拟网络报文;将所述第二虚拟网络报文发送至第二VFF包括:
[0009] 获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚 拟下一跳的地址包括所述第二VFF的媒体访问控制MAC地址;
[0010] 根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址 封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包 括所述第一虚拟下一跳的地址;
[0011] 从所述第一出端口发送所述第二虚拟网络报文至所述第二VFF。
[0012] 根据第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所 述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口具体包括:
[0013] 根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的 地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。
[0014] 根据第一方面的第一种可能实现方式,在第一方面的第三种可能实现方式中,所 述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二VNF的标 识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;
[0015] 相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口 具体包括:
[0016] 根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信 息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括所述业务 路径标识。
[0017] 根据第一方面的第一种可能实现方式,在第一方面的第四种可能实现方式中,所 述第一虚拟网络报文还包括所述第一虚拟拓扑信息;所述第一虚拟拓扑信息包括所述业务 路径标识或所述接口标识;
[0018] 所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
[0019] 从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;
[0020] 根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的 地址和所述第一出端口。
[0021] 根据第一方面的第一种至第四种可能实现方式中任意一种,在第一方面的第五种 可能实现方式中,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;
[0022] 相应地,所述第二虚拟网络报文还包括网络虚拟化叠加NV03头部和所述第二VFF 的IP地址,所述NV03头部中虚拟网络标识VNID为所述第一VFF接收所述第一虚拟网络报 文的入端口对应的VNID。
[0023] 根据第一方面的第一种至第五种可能实现方式中任意一种,在第一方面的第六种 可能实现方式中,所述方法还包括:根据所述第一VFF接收所述第一虚拟网络报文的入端 口,获取虚拟网络标识VNID;
[0024] 相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口 包括:根据所述VNID,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第 一出端口。
[0025] 根据第一方面的第一种至第六种可能实现方式中任意一种,在第一方面的第七种 可能实现方式中,所述方法还包括:所述第一VFF接收来自网络设备的第三虚拟网络报文, 所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的 端口的标识;其中,所述网络设备附着在所述第一VFF上;
[0026] 根据所述第三虚拟网络报文得到第四虚拟网络报文,所述第四虚拟网络报文中包 括所述第二虚拟源信息和第二虚拟拓扑信息;将所述第四虚拟网络报文发送至第三VFF; 所述第二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径 标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0027] 根据第一方面的第七种可能实现方式,在第一方面的第八种可能实现方式中,所 述根据所述第三虚拟网络报文得到第四虚拟网络报文,将所述第四虚拟网络报文发送至第 三VFF包括:
[0028] 根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一跳的地址和 第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;
[0029] 根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址 封装所述第三虚拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包 括所述第二虚拟下一跳的地址;
[0030] 从所述第二出端口发送所述第四虚拟网络报文至所述第三VFF。
[0031] 第二方面,本发明提供了一种实现虚拟网络通信的方法,包括:
[0032] 第一虚拟转发功能VFF接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网 络报文包括第一虚拟源信息和第一虚拟拓扑信息,所述第一虚拟源信息包括第二虚拟网络 功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM 内,所述第二VM附着在所述第二VFF上;
[0033] 根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文 以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟 目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的虚拟端口的标识; 将所述第二虚拟网络报文发送至第一虚拟机VM;
[0034] 其中,所述第一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上;所 述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发;所述第一虚拟拓扑信息包 括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路 标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0035] 根据第二方面,在第二方面的第一种可能实现方式中,所述根据所述第一虚拟源 信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第二虚拟网络报文,并将 所述第二虚拟网络报文发送至第一VM,包括:
[0036] 根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、 第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的虚 拟网卡vINC的媒体访问控制MAC地址;
[0037] 根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的地址 封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包 括所述第一虚拟下一跳的地址;
[0038] 从所述第一出端口发送所述第二虚拟网络报文至所述第一VM。
[0039] 根据第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所 述方法还包括:从所述第一虚拟网络报文中获取虚拟网络标识VNID;
[0040] 相应地,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚 拟目的信息、第一虚拟下一跳的地址和第一出端口,包括:根据所述VNID、所述第一虚拟源 信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、所述第一虚拟下一跳的地址和 所述第一出端口。
[0041] 根据第二方面以及第二方面的第一种和第二种可能实现方式中任意一种,在第二 方面的第三种可能实现方式中,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
[0042] 相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
[0043] 根据第二方面以及第二方面的第一种至第三种可能实现方式中任意一种,在第二 方面的第四种可能实现方式中,所述方法还包括:
[0044] 所述第一VFF接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报文包 括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信息包括所述第三vNF的虚拟端 口的标识;其中,所述第三vNF位于第三虚拟机VM内,所述第三VM附着在所述第三VFF上;
[0045] 根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述第三虚拟网络报文 以得到第四虚拟网络报文,并将所述第四虚拟网络报文发送至第一网络设备,所述第四虚 拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括 所述第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第一VFF上;所述第 二虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚 拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0046] 根据第二方面以及第二方面的第一种至第四种可能实现方式中任意一种,在第二 方面的第五种可能实现方式中,所述方法还包括:
[0047] 第一VFF接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报文包括第 三虚拟源信息和第三虚拟拓扑信息;所述第三虚拟源信息包括第二网络设备的端口的标 识;其中,所述第二网络设备附着在所述第四VFF上;
[0048] 根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述第五虚拟网络报文 以得到第六虚拟网络报文,所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟 目的信息,所述第三虚拟目的信息包括所述第一vNF的虚拟端口的标识;将所述第六虚拟 网络报文发送至所述第一VM;所述第三虚拟拓扑信息包括下述任意一种:虚拟链路标识; 虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及 业务路径标识。
[0049] 根据第二方面以及第二方面的第一种至第五种可能实现方式中任意一种,在第二 方面的第六种可能实现方式中,所述方法还包括:
[0050] 所述第一VFF维护虚拟网络拓扑信息,所述虚拟网络拓扑信息包括虚拟源信息、 虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口。
[0051] 根据第二方面的第六种可能实现方式,在第二方面的第七种可能实现方式中,所 述虚拟网络拓扑信息还包括入端口和虚拟网络标识。
[0052] 第三方面,本发明提供了一种实现虚拟网络通信的方法,包括:
[0053] 虚拟容器接收第一虚拟网络功能vNF发送的第一业务报文;
[0054] 根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网络报文包括第一 虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF的标识或所述第 一vNF的虚拟端口的标识;
[0055] 将所述第一虚拟网络报文发送给第一虚拟转发功能VFF;
[0056] 其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
[0057] 根据第三方面,在第三方面的第一种可能实现方式中,所述方法包括:接收所述第 一vNF发送的第三vNF的标识;
[0058] 相应地,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信 息包括所述第三vNF的标识。
[0059] 根据第三方面,在第三方面的第二种可能实现方式中,还包括:接收所述第一vNF 发送的第一业务路径标识或第一接口标识;
[0060] 相应地,所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信 息包括所述第一业务路径标识或所述第一接口标识。
[0061] 根据第三方面以及第三方面的第一种和第二种可能实现方式中任意一种,在第三 方面的第三种可能实现方式中,还包括:
[0062] 所述虚拟容器接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网络报 文包括第二虚拟目的信息;
[0063] 解封装所述第二虚拟网络报文以得到第二业务报文;
[0064] 根据所述第二虚拟目的信息,发送所述第二业务报文。
[0065] 根据第三方面的第三种可能实现方式,在第三方面的第四种可能实现方式中,还 包括:
[0066] 所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第 二业务路径标识或第二接口标识;
[0067] 相应地,所述方法还包括:根据所述第二虚拟目的信息发送所述第二业务路径标 识或所述第二接口标识。
[0068] 根据第三方面以及第三方面的第一种至第四种可能实现方式中任意一种,在第三 方面的第五种可能实现方式中,所述虚拟容器位于所述第一VM中;或者,所述虚拟容器位 于所述第一VM所在设备的虚拟机管理程序hypervisor中;或者,所述虚拟容器与所述第一 VFF位于同一设备内。
[0069] 根据第三方面的第三种至第五种可能实现方式中任意一种,在第三方面的第六种 可能实现方式中,所述第二虚拟目的信息包括所述第一vNF的标识或所述第一vNF的虚拟 端口的标识。
[0070] 根据第三方面的第三种或第四种可能实现方式,在第三方面的第七种可能实现方 式中,所述第二虚拟目的信息包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述 第二vNF位于所述第一VM内,所述虚拟容器位于所述第一VM中。
[0071] 根据第三方面以及第三方面的第一种至第七种可能实现方式中任意一种,在第三 方面的第八种可能实现方式中,所述方法还包括:
[0072] 所述虚拟容器接收网络设备发送的第三业务报文以及所述网络设备的端口的标 识;
[0073] 根据所述第三业务报文得到第三虚拟网络报文,所述第三虚拟网络报文包括第三 虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网络设备的端口的标识;
[0074] 将所述第三虚拟网络报文发送给所述第一VFF;
[0075] 其中,所述网络设备附着在所述第一VFF上。
[0076] 根据第三方面的第八种可能实现方式,在第三方面的第九种可能实现方式中,所 述虚拟容器位于所述网络设备内。
[0077] 第四方面,本发明提供了一种实现第一虚拟转发功能VFF的装置,用于构建虚拟 网络拓扑并实现虚拟网络报文的转发,包括:
[0078] 接收单元,用于接收来自第一虚拟机VM的第一虚拟网络报文,所述第一虚拟网络 报文包括第一虚拟源信息,所述第一虚拟源信息包括第一虚拟网络功能vNF的标识或所述 第一vNF的虚拟端口的标识,其中,所述第一vNF位于所述第一VM内;所述第一VM附着在 实现所述第一VFF的装置上;
[0079] 处理单元,用于根据所述第一虚拟网络报文得到第二虚拟网络报文;所述第二虚 拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟拓扑信息包括 下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标识;虚拟链路标 识及业务路径标识;虚拟共享总线标识及业务路径标识;
[0080] 发送单元,用于将所述第二虚拟网络报文发送至第二VFF。
[0081] 在第四方面的第一种可能实现方式中,所述处理单元,具体用于获取所述第一虚 拟拓扑信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址包括所述 第二VFF的媒体访问控制MAC地址;根据所述第一虚拟源信息、所述第一虚拟拓扑信息和所 述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述 第二虚拟网络报文中还包括所述第一虚拟下一跳的地址;
[0082] 相应地,所述发送单元,具体用于从所述第一出端口发送所述第二虚拟网络报文 至所述第二VFF。
[0083] 根据第四方面的第一种可能实现方式,在第四方面的第二种可能实现方式中,所 述处理单元,具体用于根据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚 拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享 总线标识。
[0084] 根据第四方面的第一种可能实现方式,在第四方面的第三种可能实现方式中,所 述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信息包括第二vNF的标 识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上;
[0085] 相应地,所述处理单元,具体用于根据所述第一虚拟源信息和所述第一虚拟目的 信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口;所述第 一虚拟拓扑信息包括业务路径标识。
[0086] 根据第四方面的第一种可能实现方式,在第四方面的第四种可能实现方式中,所 述第一虚拟网络报文还包括所述第一虚拟拓扑信息;所述第一虚拟拓扑信息包括业务路径 标识或接口标识;
[0087] 相应地,所述处理单元,具体用于从所述第一虚拟网络报文中获取所述第一虚拟 拓扑信息;根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳 的地址和所述第一出端口。
[0088] 根据第四方面的第一种至第四种可能实现方式中任一种,在第四方面的第五种可 能实现方式中,所述第一虚拟下一跳的地址还包括所述第二VFF的网际协议IP地址;[0089] 相应地,所述处理单元,具体还用于根据所述第二VFF的IP地址和所述VFF接收 所述第一虚拟网络报文的入端口对应的虚拟网络标识VNID,封装所述第一虚拟网络报文, 得到所述第二虚拟网络报文,所述第二虚拟网络报文中还包括网络虚拟化叠加NV03头部 和所述第二VFF的IP地址,所述NV03头部中VNID为所述VFF接收所述第一虚拟网络报文 的入端口对应的VNID。
[0090] 根据第四方面以及第四方面的第一种至第五种可能实现方式中任一种,在第四方 面的第六种可能实现方式中,所述VFF还包括:获取单元,用于根据所述VFF接收所述第一 虚拟网络报文的入端口,获取VNID;
[0091] 相应地,所述处理单元,还用于根据所述获取单元获取的所述VNID,获取所述第一 虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
[0092] 根据第四方面以及第四方面的第一种至第六种可能实现方式中任一种,在第四方 面的第七种可能实现方式中,所述接收器,还用于接收来自网络设备的第三虚拟网络报文, 所述第三虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的 端口的标识;其中,所述网络设备附着在实现所述第一VFF的装置上;
[0093] 所述处理单元,还用于根据所述第三虚拟网络报文,得到第四虚拟网络报文,所述 第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息,所述第二虚拟拓扑信 息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及 业务路径标识;虚拟共享总线标识及业务路径标识;
[0094] 所述发送单元,还用于将所述第四虚拟网络报文发送至第三VFF。
[0095] 根据第四方面第七种可能实现方式,在第四方面的第八种可能实现方式中,所述 处理单元,具体用于根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第二虚拟下一 跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC地址;根据所 述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封装所述第三虚 拟网络报文,得到所述第四虚拟网络报文,所述第四虚拟网络报文中还包括所述第二虚拟 下一跳的地址;
[0096] 相应地,所述发送单元,具体用于从所述第二出端口发送所述第四虚拟网络报文 至所述第三VFF。
[0097] 第五方面,本发明提供了一种实现第一虚拟转发功能VFF的装置,用于构建虚拟 网络拓扑并实现虚拟网络报文的转发,包括:
[0098] 接收单元,用于接收来自第二VFF的第一虚拟网络报文,所述第一虚拟网络报文 包括第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟源信息包括第二虚拟网络功能vNF的标识或所述第二vNF的虚拟端口的标识;其中,所述第二vNF位于第二虚拟机VM内; 所述第二VM附着在所述第二VFF上;
[0099] 处理单元,用于根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一 虚拟网络报文以得到第二虚拟网络报文,所述第二虚拟网络报文中包括所述第一虚拟源信 息和第一虚拟目的信息,所述第一虚拟目的信息包括第一vNF的标识或所述第一vNF的虚 拟端口的标识;
[0100] 所述发送单元,用于将所述第二虚拟网络报文发送至第一虚拟机VM;其中,所述 第一vNF位于所述第一VM内;所述第一VM附着在实现所述第一VFF的装置上;所述第一虚 拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接口标 识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0101] 在第五方面的第一种可能实现方式中,所述处理单元,具体用于根据所述第一虚 拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、第一虚拟下一跳的地址和 第一出端口,所述第一虚拟下一跳的地址包括所述第一VM的虚拟网卡vINC的媒体访问控 制MAC地址;根据所述第一虚拟源信息、所述第一虚拟目的信息和所述第一虚拟下一跳的 地址封装所述第一虚拟网络报文,得到所述第二虚拟网络报文,所述第二虚拟网络报文中 还包括所述第一虚拟下一跳的地址;
[0102] 相应地,所述发送器,具体用于从所述第一出端口发送所述第二虚拟网络报文至 所述第一VM。
[0103] 根据第五方面的第一种可能实现方式,在第五方面的第二种可能实现方式中,所 述VFF还包括:获取单元,用于从所述第一虚拟网络报文中获取虚拟网络标识VNID;
[0104] 相应地,所述处理单元,具体用于根据所述获取单元获取的所述VNID,以及所述第 一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟目的信息、所述第一虚拟下一 跳的地址和所述第一出端口。
[0105] 根据第五方面以及第五方面的第一种和第二种可能实现方式中任意一种,在第五 方面的第三种可能实现方式中,所述第一虚拟拓扑信息包括业务路径标识或接口标识;
[0106] 相应地,所述第二虚拟网络报文还包括所述业务路径标识或所述接口标识。
[0107] 根据第五方面以及第五方面的第一种至第三种可能实现方式中任意一种,在第五 方面的第四种可能实现方式中,所述接收器,还用于接收来自第三VFF的第三虚拟网络报 文,所述第三虚拟网络报文包括第二虚拟源信息和第二虚拟拓扑信息;所述第二虚拟源信 息包括所述第三vNF的虚拟端口的标识;其中,所述第三vNF位于第三虚拟机VM内;所述第 三VM附着在所述第三VFF上;
[0108] 所述处理单元,还用于根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所 述第三虚拟网络报文,得到第四虚拟网络报文;所述第四虚拟网络报文中包括所述第二虚 拟源信息和第二虚拟目的信息,所述第二虚拟目的信息包括第一网络设备的端口的标识; 其中,所述第一网络设备附着在所述第三VFF上;所述第二虚拟拓扑信息包括包括下述任 意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;虚拟链路标识及业务路径标 识;虚拟共享总线标识及业务路径标识;
[0109] 所述发送器,还用于将所述第四虚拟网络报文发送至所述第一网络设备。
[0110] 根据第五方面以及第五方面的第一种至第四种可能实现方式中任意一种,在第五 方面的第五种可能实现方式中,所述接收器,还用于接收来自第四VFF的第五虚拟网络报 文,所述第五虚拟网络报文包括第三虚拟源信息和第三虚拟拓扑信息;所述第三虚拟源信 息包括第二网络设备的端口的标识;其中,所述第二网络设备附着在所述第四VFF上;
[0111] 所述处理单元,还用于根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所 述第五虚拟网络报文,得到第六虚拟网络报文;所述第六虚拟网络报文中包括所述第三虚 拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第一vNF的虚拟端口的标 识;所述第三虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路 径标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识;
[0112] 所述发送器,还用于将所述第六虚拟网络报文发送至所述第一VM。
[0113] 根据第五方面以及第五方面的第一种至第五种可能实现方式中任意一种,在第五 方面的第六种可能实现方式中,所述VFF还包括:拓扑维护单元,用于维护虚拟网络拓扑信 息,所述虚拟网络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的 地址和出端口。
[0114] 第六方面,本发明提供了一种实现虚拟容器的装置,包括:
[0115] 接收模块,用于接收第一虚拟网络功能vNF发送的第一业务报文;
[0116] 处理模块,用于根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟网 络报文包括第一虚拟源信息和所述第一业务报文;所述第一虚拟源信息包括所述第一vNF 的标识或所述第一vNF的虚拟端口的标识;
[0117] 发送模块,将所述第一虚拟网络报文发送给第一虚拟转发功能VFF;其中,所述第 一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
[0118] 在第六方面的第一种可能实现方式中,所述接收模块还用于接收所述第一vNF发 送的第三vNF的标识;
[0119] 相应地,所述处理模块,具体用于根据所述第三vNF的标识,处理所述第一业务报 文,得到所述第一虚拟网络报文;所述第一虚拟网络报文还包括第一虚拟目的信息,所述第 一虚拟目的信息包括所述第三vNF的标识。
[0120] 在第六方面的第二种可能实现方式中,所述接收模块,还用于接收所述第一vNF 发送的第一业务路径标识或第一接口标识;
[0121] 相应地,所述处理模块,具体用于根据所述第一业务路径标识或所述第一接口标 识处理所述第一业务报文以得到所述第一虚拟网络报文;所述第一虚拟网络报文还包括第 一虚拟拓扑信息,所述第一虚拟拓扑信息包括所述第一业务路径标识或所述接口标识。
[0122] 根据第六方面以及第六方面的第一种和第二种可能实现方式中任意一种,在第六 方面的第三种可能实现方式中,所述接收模块,还用于接收来自所述第一VFF的第二虚拟 网络报文,所述第二虚拟网络报文包括第二虚拟目的信息;
[0123] 所述处理模块,还用于解封装所述第二虚拟网络报文以得到第二业务报文;
[0124] 所述发送模块,还用于根据所述第二虚拟目的信息,发送所述第二业务报文。
[0125] 根据第六方面的第三种可能实现方式,在第六方面的第四种可能实现方式中,所 述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信息包括第二业务路径 标识或第二接口标识;
[0126] 相应地,所述处理模块,具体用于解封装所述第二虚拟网络报文,得到第二业务报 文,和所述第二业务路径标识或所述第二接口标识;
[0127] 所述发送模块,还用于根据所述第二虚拟目的信息,发送所述第二业务路径标识 或所述第二接口标识。
[0128] 根据第六方面以及第六方面的第一种至第四种可能实现方式,在第六方面的第五 种可能实现方式中,所述虚拟容器位于所述第一VM中;或者,所述虚拟容器位于所述第一 VM所在设备的虚拟机管理程序hypervisor中;或者,所述虚拟容器与所述第一VFF位于同 一设备内。
[0129] 根据第六方面的第三种至第五种可能实现方式中任一种,在第六方面的第六种可 能实现方式中,所述第二虚拟目的信息包括所述第一vNF的标识或所述第一vNF的虚拟端 口的标识。
[0130] 根据第六方面的第三种或第四种可能实现方式,在第六方面的第七种可能实现方 式中,所述第二虚拟目的信息包括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述 第二vNF位于所述第一VM内,所述虚拟容器位于所述第一VM中。
[0131] 根据第六方面以及第六方面的第一种至第七种可能实现方式,在第六方面的第八 种可能实现方式中,所述接收模块,还用于接收网络设备发送的第三业务报文以及所述网 络设备的端口的标识;
[0132] 所述处理模块,还用于根据所述第三业务报文得到第三虚拟网络报文,所述第三 虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述第三虚拟源信息包括所述网 络设备的端口的标识;
[0133] 所述发送模块,还用于将所述第三虚拟网络报文发送给所述第一VFF;其中,所述 网络设备附着在所述第一VFF上。
[0134] 根据第六方面的第八种可能实现方式,在第六方面的第九种可能实现方式中,所 述虚拟容器位于所述网络设备内。
[0135] 第七方面,本发明提供了一种虚拟网络通信系统,包括:第一虚拟机VM和第一虚 拟转发功能VFF,以及第二VM和第二虚拟转发功能;
[0136] 所述第一VM包括第一虚拟网络功能vNF,所述第一VM附着在所述第一VFF上;所 述第二VM包括第二vNF,所述第二VM附着在所述第二VFF上;
[0137] 所述第一VFF和所述第二VFF用于在所述第一VM和所述第二VM之间构建虚拟网 络拓扑;
[0138] 所述第一VFF用于接收来自所述第一VM的第一虚拟网络报文,所述第一虚拟网络 报文包括第一虚拟源信息;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF 的虚拟端口的标识;根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网 络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至 第二VFF;所述第一虚拟拓扑信息包括如下任意一种:虚拟链路标识;虚拟共享总线标识; 业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径 标识;
[0139] 所述第二VFF,用于接收来自所述第一VFF的所述第二虚拟网络报文;根据所述第 二虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络报文以得到第三虚拟网络 报文,所述第三虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一 虚拟目的信息包括所述第二vNF的标识或所述第二vNF的虚拟端口的标识;将所述第三虚 拟网络报文发送至所述第二VM。
[0140] 在第七方面的第一种可能实现方式中,所述第一VM还包括第一虚拟容器;所述第 一vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一VFF是独立的设备,或者与所 述第一VM位于同一设备上。
[0141] 根据第七方面的第一种可能实现方式,在第七方面的第二种可能实现方式中,所 述第一VM还包括第三vNF;
[0142] 所述第三vNF通过所述第一虚拟容器与所述第一VFF通信;
[0143] 所述虚拟容器,用于维护vNF的虚拟端口与虚拟网卡vNIC的对应关系。
[0144] 根据第七方面,在第七方面的第三种可能实现方式中,所述系统还包括第一虚拟 容器;所述第一虚拟容器位于所述第一VM所在设备的虚拟机管理程序hypervisor中,所述 第一VFF是独立的设备或者与所述第一VM位于同一设备上;或者,所述第一虚拟容器、所述 第一VM与所述第一VFF位于同一设备上;
[0145] 所述第一vNF通过所述第一虚拟容器与所述第一VFF通信。
[0146] 根据第七方面以及第七方面的第一种至第三种可能实现方式中的任意一种,在第 七方面的第四种可能实现方式中,所述系统还包括第一网络设备,所述第一网络设备附着 在所述第一VFF上;
[0147] 所述第一VFF,还用于接收来自所述第一网络设备的第四虚拟网络报文,所述第二 虚拟网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述第一网络设备的端口 的标识;根据所述第四虚拟网络报文得到第五虚拟网络报文,所述第五虚拟网络报文中包 括所述第二虚拟源信息和第二虚拟拓扑信息;发送所述第五虚拟网络报文;所述第二虚拟 拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路 标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0148] 根据第七方面以及第七方面的第一种至第四种可能实现方式中的任意一种,在第 七方面的第五种可能实现方式中,所述系统还包括第二网络设备和第三VFF,所述第二网络 设备附着在所述第三VFF上;
[0149] 所述第三VFF,用于接收来自所述第二网络设备的第六虚拟网络报文,所述第六虚 拟网络报文中包括第三虚拟源信息,所述第三虚拟源信息包括所述第二网络设备的端口的 标识;根据所述第六虚拟网络报文得到第七虚拟网络报文,所述第七虚拟网络报文中包括 所述第三虚拟源信息和第三虚拟拓扑信息;发送所述第七虚拟网络报文;所述第三虚拟拓 扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标 识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0150] 根据第七方面的第五种可能实现方式,在第七方面的第六种可能实现方式中,所 述第二VFF,还用于接收来自所述第三VFF的所述第七虚拟网络报文,所述第七虚拟网络报 文包括所述第三虚拟源信息和所述第三虚拟拓扑信息;根据所述第三虚拟源信息和所述第 三虚拟拓扑信息处理所述第七虚拟网络报文以得到第八虚拟网络报文,所述第八虚拟网络 报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三虚拟目的信息包括所述第 二vNF的虚拟端口的标识;将所述第八虚拟网络报文发送至所述第二VM。
[0151] 采用本发明实施例提供的技术方案,通过虚拟转发功能VFF和虚拟容器可以在网 络设备的功能虚拟化后,在虚拟网络功能vNF间构建虚拟网络拓扑,实现vNF间通信,从而 使得虚拟设备的运营和管理更加方便、灵活。
【专利附图】
【附图说明】
[0152] 图1是本发明实施例提供的虚拟网络报文的格式示意图;
[0153] 图2是本发明实施例提供的一种虚拟网络通信系统的结构示意图;
[0154] 图3a、3b、3c和3d是本发明实施例提供的虚拟网络通信系统中VM与VFF间结构 示意图;
[0155] 图4A和4B是本发明实施例提供的一种实现虚拟网络通信的方法流程图;
[0156] 图5A、5B和5C是本发明实施例提供的另一种实现虚拟网络通信的方法流程图;
[0157] 图6A、6B和6C是本发明实施例提供的又一种实现虚拟网络通信的方法流程图;
[0158] 图7是本发明实施例提供的一种虚拟网络通信的网络场景示意图;
[0159] 图8A是本发明实施例提供的一种vNF间虚拟链路通信方法流程图;
[0160] 图8B是本发明实施例提供的vNF间虚拟链路通信的虚拟网络报文转发示意图;
[0161] 图9A是本发明实施例提供的一种vNF间虚拟共享总线通信方法流程图;
[0162] 图9B是本发明实施例提供的vNF间虚拟共享总线通信的虚拟网络报文转发示意 图;
[0163] 图10A是本发明实施例提供的一种vNF间业务路径通信方法流程图;
[0164] 图10B是本发明实施例提供的vNF间业务路径通信的虚拟网络报文转发示意图;
[0165] 图11A是本发明实施例提供的一种实现物理网络到虚拟网络映射互通的方法流 程图;
[0166] 图11B是本发明实施例提供的物理网络到虚拟网络映射互通的虚拟网络报文转 发示意图;
[0167] 图12A是本发明实施例提供的一种vNF间进行接口调用的方法流程图;
[0168] 图12B是本发明实施例提供的vNF间进行接口调用的虚拟网络报文转发示意图;
[0169] 图13A是本发明实施例提供的一种实现第一VFF的装置结构示意图;
[0170] 图13B是本发明实施例提供的另一种实现第一VFF的装置结构示意图;
[0171] 图14A是本发明实施例提供的一种实现第一VFF的装置硬件结构示意图;
[0172] 图14B是本发明实施例提供的另一种实现第一VFF的装置硬件结构示意图;
[0173] 图15是本发明实施例提供的一种实现虚拟容器的装置结构示意图;
[0174] 图16是本发明实施例提供的一种实现虚拟容器的装置硬件结构示意图。
【具体实施方式】
[0175] 下面将结合本发明实施例中的附图,详细描述本发明实施例中的技术方案,显然, 所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实 施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属 于本发明保护的范围。
[0176] 本发明中公开了一种虚拟网络通信方法、装置和系统,定义了一种虚拟转发功能 (virtualforwardfunction,简称VFF)和虚拟容器,用于在网络设备的功能虚拟化后,在 虚拟网络功能(virtualnetworkfunction,简称vNF)间构建虚拟网络拓扑,实现vNF间 通信。虚拟机(virtualmachine,简称VM)通过附着在(英文:attachto)VFF上,可以实 现VM间通信,具体地,可以在vNF间构建虚拟链路(英文:vnLine),或虚拟共享总线(英文: vnLAN),或业务路径(英文:servicechain),或者虚拟共享总线结合业务路径,或虚拟链路 结合业务路径,或进行接口调用等。网络设备也可以附着到VFF上,实现物理网络与虚拟网 络的映射互通,具体地,实现网络设备的端口,包括物理端口或逻辑端口,到vNF的虚拟端 口的映射,可以在网络设备的端口到vNF的虚拟端口之间构建虚拟链路,或虚拟共享总线, 或业务路径,或者虚拟共享总线和业务路径,或虚拟链路和业务路径等。VFF可以是独立的 设备,也可以同所附着的VM位于一个设备,例如服务器或主机(host)上,具体根据网络需 求部署,本发明对此不作限定。
[0177] 其中,虚拟链路(英文:vnLine):是仿照连接两个物理端口的链路,构建在两个虚 拟网络功能vNF之间的虚拟网络线路,所述两个vNF通过所述虚拟链路直接可达。
[0178] 虚拟共享总线(英文:vnLAN):是模拟物理共享总线,构建在多个vNF的虚拟端口 之间的虚拟局域网段;所有附着在虚拟共享总线上的vNF的虚拟端口之间可相互通信。通 过在多个vNF的虚拟端口之间构建的虚拟共享总线,从附着在虚拟共享总线上的某个vNF 的虚拟端口发出的报文,附着在虚拟共享总线上的其他vNF的虚拟端口都可以收到。
[0179] 业务路径(英文:service chain):是一系列vNF顺序处理报文所构成的业务节 点链;该一系列vNF中,每个vNF实现不同的业务节点功能,例如防火墙,网络地址转换 (network address translation,简称NAT)等。举例来说,从vNFO发送给vNF3的报文,必 须先经过位于虚拟机1中的vNFl做防火墙处理,再经过位于虚拟机2中的vNF2做NAT处 理,然后才能到达vNF3,则vNF0-vNFl-vNF2-vNF3构成一条业务路径。
[0180] 接口(英文:interface)调用:在一个vNF与另一个vNF之间实现通信接口,使得 两个vNF之间能协同运作,就象同一物理主机内的不同模块间通信,或者跨物理主机的进 程通信。
[0181] 物理网络与虚拟网络映射互通:实现物理设备的物理端口或逻辑端口与vNF的虚 拟端口的映射互通。
[0182] 本发明中,还定义了一种虚拟网络报文,用于实现本发明的虚拟网络通信。虚拟网 络报文具体包括有效载荷和外层报文头,有效载荷(英文:payload)可以是vNF发出的业务 报文或业务数据,外层报文头中包括虚拟网络路由信息和虚拟网络封装信息,具体包括虚 拟源信息、虚拟目的信息、虚拟路径信息和虚拟下一跳的地址等。本发明实施例中,将外层 报文头分为虚拟层叠头和虚拟网络头两部分;虚拟层叠头中包括虚拟源信息、虚拟目的信 息和虚拟路径信息等,用于实现虚拟网络路由,包括vNF与VFF之间的路由,两个VFF之间 的路由;虚拟网络头包括虚拟下一跳的地址等虚拟网络封装信息;虚拟下一跳的地址包括 媒体访问控制(media address control,简称MAC)地址,还可以包括网际协议(Internet protocol,简称IP)地址。本发明实施例中,虚拟网络报文的格式具体如图1所示,其中,虚 拟层叠头包括:
[0183] 版本(ver) :3位(3bits),协议版本号;
[0184] 标志位(flags) :5bits,本发明中定义flags中第一个标志位为0标志位,用于指 示虚拟层叠头中是否包括可选项(英文:〇ption),例如0标志位置1,指示包括option,置0 指示不包括option;其余未定义标志位保留,可扩展定义;
[0185] 虚拟源类型(S-type) :4bits,用于指示虚拟源信息的类型;
[0186] 虚拟目的类型(D_type) :4bits,用于指示虚拟目的信息的类型;
[0187] 虚拟源信息(vSrc) :32bits,包括vNF的标识,虚拟端口的标识,物理端口的标识, 或逻辑端口的标识等;
[0188] 虚拟目的信息(vDst) :32bits,包括vNF的标识,vNF的虚拟端口的标识等;vNF的 虚拟端口的标识可以是全局唯一的,也可以是vNF上唯一的。若vNF的虚拟端口的标识是 vNF上唯一的,vNF的虚拟端口的标识可以由vNF的标识与虚拟端口号的形式组成;
[0189] 虚拟拓扑信息:32bits,其中包括业务路径标识(pathID) 16bits,用于标识一个 业务路径;还包括虚拟网段标识(segID),32bits,用于标识虚拟网段,包括虚拟链路标识, 虚拟共享总线标识,或接口标识等;
[0190] 保留(英文reserve) :8bits,目前作为保留域,可供扩展定义;
[0191] 协议(英文:protocol) :8bits,指示有效载荷中业务报文的协议类型,可以是 以太网,网际协议第四版(Internetprotocolversion4,简称IPv4),网际协议第六版 (Internetprotocolversion6,简称IPv6),用户数据报协议(userdatagramprotocol, 简称UDP),传输控制协议(transmissioncontrolprotocol,简称TCP)等。
[0192] 长度(英文:length) :16bits,指示除虚拟网络报文的基本头之外的报文总长度 (字节数),具体来说,指示有效载荷和可选项的长度;
[0193] 可选项(英文:option):通过类型长度值(type-length-value,简称TLV)的形 式携带信息;本发明实施例中,虚拟网络报文可以包括处理结果选项,通过type指示该 option类型为处理结果,vlaue中包括业务处理结果。
[0194] 虚拟网络头包括:源MAC地址,目的MAC地址;可选地,还包括虚拟局域网 (virtual local area network,简称 VLAN)标识(identifier,简称ID)或者 NV03 封装头。 参见图1所示,虚拟网络头有三种封装格式:
[0195] 封装格式1:以太报文头封装,包括源MAC地址(sMAC),目的MAC地址(dMAC);
[0196] 封装格式2:带VLAN的以太报文头封装,包括源MAC地址(sMAC),目的MAC地址 (dMAC)和VLANID。本发明中,对于包括多个vNF的VM附着到同一个VFF,需要通过VLAN 区分各个vNF时,则可采用封装格式2 ;另外,同一数据中心二层互通,需要多租户隔离时, 两个VFF之间通信的虚拟网络报文也可以采用封装2,用VLAN区分不同租户;
[0197] 封装格式3:利用NV03技术,将以太报文头封装到UDP/IP/以太报文头中,穿越IP 网络。
[0198] 需要说明的是,上述虚拟网络报文的格式仅作为本发明实施例提供的一种示例, 本发明对报文的具体格式不做限定。
[0199] 如图2所示,本发明实施例提供了一种虚拟网络通信系统,包括第一VM和第一 VFF,以及第二VM和第二VFF;
[0200] 所述第一VFF和所述第二VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转 发;
[0201] 所述第一VM包括第一虚拟网络功能vNF,所述第一VM附着在(英文:attachto) 所述第一VFF上;所述第二VM包括第二vNF,所述第二VM附着在所述第二VFF上;
[0202] 所述第一VFF和所述第二VFF用于在所述第一VM和所述第二VM之间构建虚拟网 络拓扑,包括如下任意一种:虚拟链路(英文:vnLine);虚拟共享总线(英文:vnLAN);业务路 径(英文:servicechain);虚拟共享总线和业务路径;虚拟链路和业务路径;接口调用。可 以理解的是,本发明并不限于上述网络拓扑,随着网络虚拟化技术的发展,还可应用于更多 网络拓扑的构建。
[0203] 所述第一VFF用于接收来自所述第一VM的第一虚拟网络报文,所述第一虚拟网络 报文包括第一虚拟源信息;所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF 的虚拟端口的标识;根据所述第一虚拟网络报文得到第二虚拟网络报文,所述第二虚拟网 络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;将所述第二虚拟网络报文发送至 第二VFF;所述第一虚拟拓扑信息包括如下任意一种:虚拟链路标识;虚拟共享总线标识; 业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径 标识;
[0204] 所述第二VFF,用于接收来自所述第一VFF的所述第二虚拟网络报文;根据所述第 一虚拟源信息和所述第一虚拟拓扑信息处理所述第二虚拟网络报文以得到第三虚拟网络 报文,所述第三虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第一 虚拟目的信息包括所述第二vNF的标识或所述第二vNF的虚拟端口的标识;将所述第三虚 拟网络报文发送至所述第二VM;
[0205] 具体地,第一VM与第一VFF间结构,可以如图3a或3b所示,其中,所述第一VM还 包括第一虚拟容器,所述第一vNF通过所述第一虚拟容器与所述第一VFF通信;所述第一 VFF可以是独立的设备,也可以与所述第一VM位于同一设备,例如,服务器或主机(host) 上。如图3a所示,所述第一vNF与所述第一VM--对应;相应地,第一vNF的虚拟端口与 所述第一VM的虚拟网卡(virtualnetworkinterfacecard,简称vNIC)--对应。进一 步地,vNF与VM可以是多对一的关系,如图3b所示,所述第一VM还可以包括第二vNF;相应 地,vNF的虚拟端口与vNIC是多对一的关系。可以理解的是,第二VM与第二VFF的结构也 可以如图3a或3b所示。
[0206] 本发明实施例中,在图3a和3b所示虚拟容器中,为vNF提供套接字(英文: socket)接口,将vNF的虚拟端口与vNIC或者vNIC+VLAN绑定;socket接口可由vNF创建, 也可以由VM中的管理程序创建。socket接口可以基于vNF创建,也可以基于vNF的虚拟端 口创建。vNF调用socket接口将业务报文发送给虚拟容器,虚拟容器将业务报文封装成虚 拟网络报文,然后发送给VFF。虚拟容器接收到VFF发送的虚拟网络报文时,对虚拟网络报 文进行解封装得到业务报文,并根据虚拟网络报文找到对应的socket接口,将业务报文发 送给vNF。
[0207] 示例性的,本发明实施例中定义如下socket管理接口和socket使用接口;vNF或 VM中的管理软件调用socket管理接口,仓丨j建socket接口;在socket接口创建之后,vNF可 以通过socket使用接口收发报文。
[0208]socket管理接口可以包括:
[0209]S=Plug(name,conn_type,protocol);
[0210] unPlug(S);
[0211] S.bind(nicDevice,vlanid);
[0212] S.setQoSO;//参数略
[0213]S.getlnfoO;//参数略
[0214]其中,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接口的服务质 量(qualityofservice,简称QoS)信息。S.getlnfoO表示获取socket接口的信息。
[0215]Socket使用接口可以包括:
[0216]S=GetSocket(Name);
[0217] S. Send () ;//参数略
[0218] S. Receive () ;//参数略
[0219] S. connected () ;// 参数略
[0220] 其中,S=GetSocket (name)表示获得对应一个vNF或vNF的虚拟端口创建的 socket接口;参数name用于指定vNF名称或vNF端口名称。S. Send ()表示vNF调用socket 接口发送报文。S.ReceiveO表示vNF调用socket接口接收报文。S.connectedO表示检 测是否已连接到基础网络。
[0221] 或者,第一 VM与第一 VFF间结构也可以如图3c所示,所述系统还包括第一虚拟容 器;所述第一虚拟容器位于所述第一VM所在设备,例如,服务器或主机,的虚拟机管理程序 (英文:hypervisor)中;所述第一 vNF通过所述第一虚拟容器与所述第一 VFF通信;所述第 一 VFF可以是独立的设备,也可以位于所述第一 VM所在设备上。所述第一 vNF的虚拟端口 与所述第一 VM的vNIC--对应。可以理解的是,第二VM与第二VFF的结构也可以如图 3c所示,还包括第二虚拟容器;所述第二虚拟容器位于所述第二VM所在设备的hypervisor 中;所述第二vNF通过所述第二虚拟容器与所述第二VFF通信。
[0222] 或者,第一 VM与第一 VFF间结构也可以如图3d所示,所述系统还包括第一虚拟容 器;所述第一虚拟容器、所述第一 VM与所述第一 VFF位于同一设备,例如,服务器或主机上; 所述第一 vNF通过所述第一虚拟容器与所述第一 VFF通信。同样,所述第一 vNF的虚拟端 口与所述第一 VM的vNIC--对应。可以理解的是,第二VM与第二VFF的结构也可以如图 3d所示,还包括第二虚拟容器;所述第二虚拟容器、所述第二VM与所述第二VFF位于同一 设备;所述第二vNF通过所述第二虚拟容器与所述第二VFF通信。
[0223] 本发明实施例中,在图3c或图3d所示结构中的虚拟容器,简化了实现,无需复杂 的socket接口,主要进行报文的封装与解封装。
[0224] 进一步地,在图3b所示结构中,所述第一 VM还可以包括第三vNF ;所述第三vNF通 过所述第一虚拟容器与所述第一 VFF通信;所述第一虚拟容器,还用于维护vNF的虚拟端口 与虚拟网卡vNIC的对应关系。
[0225] 可选地,所述系统还包括第一网络设备,所述第一网络设备附着在所述第一 VFF 上;所述第一 VFF,还用于接收来自所述第一网络设备的第四虚拟网络报文,所述第四虚拟 网络报文中包括第二虚拟源信息,所述第二虚拟源信息包括所述第一网络设备的端口的标 识;根据所述第四虚拟网络报文得到第五虚拟网络报文,所述第五虚拟网络报文中包括所 述第二虚拟源信息和第二虚拟拓扑信息;发送所述第五虚拟网络报文;所述第二虚拟拓扑 信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识、虚拟链路标识 及业务路径标识;虚拟共享总线标识及业务路径标识。
[0226] 可选地,所述系统还包括第二网络设备和第三VFF,所述第二网络设备附着在所述 第三VFF上;所述第二网络设备可以与所述第一 VM,通过所述第一 VFF和所述第三VFF通 信;所述第二网络设备也可以与所述第二VM,通过所述第二VFF和所述第三VFF通信。具 体地,以第二网络设备可以与所述第二VM通信为例,所述第二网络设备与所述第二VM,通 过所述第二VFF和所述第三VFF,可以实现所述第二网络设备的端口到所述第二vNF的虚拟 端口的映射,包括在所述第二网络设备的端口与所述第二vNF的虚拟端口之间构建虚拟链 路,或虚拟共享总线,或业务路径,或者虚拟共享总线和业务路径,或虚拟链路和业务路径 等。所述第二网络设备的端口包括物理端口或逻辑端口。
[0227] 所述第三VFF,用于接收来自所述第二网络设备的第六虚拟网络报文,所述第六虚 拟网络报文中包括第三虚拟源信息,所述第三虚拟源信息包括所述第二网络设备的端口的 标识;根据所述第六虚拟网络报文得到第七虚拟网络报文,所述第七虚拟网络报文中包括 所述第三虚拟源信息和第三虚拟拓扑信息;发送所述第七虚拟网络报文至所述第二VFF; 所述第三虚拟拓扑信息包括如下任意一种:虚拟共享总线标识;虚拟链路标识;业务路径 标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0228] 所述第二VFF,用于接收来自所述第三VFF的所述第七虚拟网络报文;根据所述第 三虚拟源信息和所述第三虚拟拓扑信息处理所述第七虚拟网络报文以得到第八虚拟网络 报文,所述第八虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第三 虚拟目的信息包括所述第二vNF的虚拟端口的标识;发送所述第八虚拟网络报文至所述第 二VM。
[0229] 本实施例中,所述虚拟网络通信系统中的所述第一VFF的结构和功能可以如本发 明图13A,13B,14A和14B任一所示;所述第一虚拟容器可以如本发明图15或16所示。可 以理解的是,所述第二VFF或第三VFF的结构和功能与所述第一VFF相同或相似。
[0230] 本发明实施例提供的虚拟网络通信系统,在vNF之间或者网络设备与vNF之间构 建虚拟网络拓扑,实现vNF间或网络设备与vNF间的通信。从而可以将网络设备通过NFV 技术虚拟出的网络功能(即vNF)与NFV拓朴解耦合,使得NFV技术虚拟出的虚拟设备的运 营和管理更加方便、灵活。
[0231] 结合上述虚拟网络通信系统,接下来将详细说明本发明技术方案,介绍实现虚拟 网络通信的方法,VFF和虚拟容器。
[0232] 参见图4A,为本发明实施例提供的一种实现虚拟网络通信的方法,所述方法包 括:
[0233] 401、第一VFF接收来自第一VM的第一虚拟网络报文,所述第一虚拟网络报文包括 第一虚拟源信息;所述第一虚拟源信息包括第一vNF的标识或所述第一vNF的虚拟端口的 标识;
[0234] 其中,所述第一vNF位于所述第一VM内;所述第一VM附着在所述第一VFF上,所 述第一VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转发。
[0235] 具体地,所述第一VFF从入端口接收所述虚拟网络报文。
[0236] 所述第一虚拟网络报文还包括第一有效载荷;具体来说,所述第一虚拟网络报文 是在所述第一有效载荷的外层封装了虚拟网络头和虚拟层叠头,其中所述虚拟层叠头中包 括所述第一虚拟源信息。
[0237] 402、根据所述第一虚拟网络报文得到第二虚拟网络报文;
[0238] 所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟拓扑信息;所述第 一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识;业务路径标识;接 口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0239] 同样的,所述第二虚拟网络报文还包括所述第一有效载荷。
[0240] 具体地,第一VFF获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出 端口,所述第一虚拟下一跳的地址包括第二VFF的MAC地址;并根据所述第一虚拟源信息、 所述第一虚拟拓扑信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所 述第二虚拟网络报文;所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址。
[0241] 可选地,在多租户场景中,所述方法还包括:根据所述第一VFF接收所述第一虚拟 网络报文的入端口,获取虚拟网络标识VNID。相应地,所述获取所述第一虚拟拓扑信息、第 一虚拟下一跳的地址和第一出端口包括:根据所述VNID,获取所述第一虚拟拓扑信息、所 述第一虚拟下一跳的地址和所述第一出端口。
[0242] 进一步地,所述第一虚拟网络报文还可以包括处理结果选项(resultoption),用 于向所述第一VFF传递所述第一vNF对所述虚拟网络报文中有效净荷,即所述第一有效载 荷的处理结果;这样所述第一VFF可以根据所述处理结果选项中的处理结果对所述第一虚 拟网络报文进行不同的处理。例如,处理结果指示需要进行过滤,则选择pathID为220的 servicechain,以及相应地虚拟下一跳的地址和出端口;指示不需要过滤,贝U选择pathID 为210的servicechain或者vnLinel,以及相应地虚拟下一跳的地址和出端口。
[0243] 403、将所述第二虚拟网络报文发送至第二VFF;
[0244] 具体地,所述第一VFF从所述第一出端口发送所述第二虚拟网络报文至所述第二 VFF。
[0245] 所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:根 据所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述 第一出端口;所述第一虚拟拓扑信息包括虚拟链路标识或虚拟共享总线标识。可选地,在多 租户场景中,根据所述VNID和所述第一虚拟源信息,获取所述第一虚拟拓扑信息、所述第 一虚拟下一跳的地址和所述第一出端口。
[0246] 可选地,所述第一虚拟网络报文还包括第一虚拟拓扑信息,所述第一虚拟拓扑信 息包括业务路径标识或接口标识。相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一 跳的地址和第一出端口包括:
[0247] 从所述第一虚拟网络报文中获取所述第一虚拟拓扑信息;
[0248] 根据所述第一虚拟源信息和所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的 地址和所述第一出端口。可选地,在多租户场景中,根据所述VNID、所述第一虚拟源信息和 所述第一虚拟拓扑信息,获取所述第一虚拟下一跳的地址和所述第一出端口。
[0249] 可选地,所述第一虚拟网络报文还包括第一虚拟目的信息,所述第一虚拟目的信 息包括第二vNF的标识,所述第二vNF位于第二VM内,所述第二VM附着在所述第二VFF上。 相应地,所述获取所述第一虚拟拓扑信息、第一虚拟下一跳的地址和第一出端口包括:
[0250] 根据所述第一虚拟源信息和所述第一虚拟目的信息,获取所述第一虚拟拓扑信 息、所述第一虚拟下一跳的地址和所述第一出端口;所述第一虚拟拓扑信息包括业务路径 标识。可选地,在多租户场景中,根据所述VNID、所述第一虚拟源信息和所述第一虚拟目的 信息,获取所述第一虚拟拓扑信息、所述第一虚拟下一跳的地址和所述第一出端口。
[0251] 可选地,所述第一虚拟下一跳的地址还包括所述第二VFF的IP地址;则所述第二 虚拟网络报文还包括网络虚拟化叠加NV03头部和所述第二VFF的IP地址,所述NV03头部 中VNID为所述第一VFF接收所述第一虚拟网络报文的入端口对应的所述VNID。
[0252] 进一步地,如图4B所示,所述方法还可以包括:
[0253] 404、所述第一VFF接收来自网络设备的第三虚拟网络报文,所述第三虚拟网络报 文中包括第二虚拟源信息,所述第二虚拟源信息包括所述网络设备的端口的标识;
[0254] 其中,所述网络设备附着在所述第一VFF上;所述网络设备的端口包括物理端口 或逻辑端口。
[0255] 所述第三虚拟网络报文还包括第二有效载荷。
[0256] 405、所述第一VFF根据所述第三虚拟网络报文得到第四虚拟网络报文;
[0257] 所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟拓扑信息;所述第 二虚拟拓扑信息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚 拟链路标识及业务路径标识;虚拟共享总线标识及业务路径标识。
[0258] 同样,所述第四虚拟网络报文还包括所述第二有效载荷。
[0259] 具体地,所述第一VFF根据所述第二虚拟源信息获取所述第二虚拟拓扑信息、第 二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址包括所述第三VFF的MAC 地址;根据所述第二虚拟源信息、所述第二虚拟拓扑信息和所述第二虚拟下一跳的地址封 装所述第三虚拟网络报文,得到所述第四虚拟网络报文;所述第四虚拟网络报文中还包括 所述第二虚拟下一跳的地址。
[0260] 406、将所述第四虚拟网络报文发送至第三VFF。
[0261] 具体地,所述第一VFF从所述第二出端口发送所述第四虚拟网络报文至所述第三 VFF。
[0262] 本发明实施例提供的实现虚拟网络通信的方法,网络设备采用NFV技术虚拟出的 虚拟网络功能(vNF)附着到VFF,通过VFF接收并处理vNF间通信的虚拟网络报文,可以构 建灵活的vNF通信架构,使得NFV技术虚拟出的虚拟设备的运营和管理更加方便、灵活;从 而解决虚拟网络功能(vNF)与NFV拓朴耦合,消耗VNID资源、无法灵活控制vNF、实现vNF 间通信的问题。
[0263] 参见图5A,为本发明实施例提供的另一种实现虚拟网络通信的方法,所述方法包 括:
[0264] 501、第一虚拟转发功能VFF接收来自第二VFF的第一虚拟网络报文,所述第一虚 拟网络报文包括第一虚拟源信息和第一虚拟拓扑信息;所述第一虚拟源信息包括第二虚拟 网络功能vNF的标识或所述第二vNF的虚拟端口的标识;
[0265] 其中,所述第二vNF位于第二虚拟机VM内,所述第二VM附着在所述第二VFF上;
[0266] 具体地,所述第一VFF从入端口接收所述第一虚拟网络报文。
[0267] 所述第一虚拟拓扑信息包括下述任意一种:虚拟链路标识;虚拟共享总线标识; 业务路径标识;接口标识;虚拟链路标识及业务路径标识;虚拟共享总线标识及业务路径 标识。
[0268] 所述第一虚拟网络报文还包括第一有效载荷;具体来说,所述第一虚拟网络报文 是在所述第一有效载荷的外层封装了虚拟网络头和虚拟层叠头,其中所述虚拟层叠头中包 括所述第一虚拟源信息和所述第一虚拟拓扑信息。
[0269] 502、根据所述第一虚拟源信息和所述第一虚拟拓扑信息处理所述第一虚拟网络 报文以得到第二虚拟网络报文;
[0270] 所述第二虚拟网络报文中包括所述第一虚拟源信息和第一虚拟目的信息,所述第 一虚拟目的信息包括第一vNF的标识或所述第一vNF的第一虚拟端口的标识;其中,所述第 一vNF位于所述第一VM内,所述第一VM附着在所述第一VFF上。
[0271] 所述第一VFF和所述第二VFF用于构建虚拟网络拓扑并实现虚拟网络报文的转 发。
[0272] 所述第一VFF可以根据所述第一VFF的虚拟网络拓扑信息处理所述第一虚拟网络 报文。所述第一VFF的虚拟网络拓扑信息可以是预先配置在所述第一VFF上的,也可以是 所述第一VFF动态获取的,比如到一个中心拓朴管理器请求并获取拓朴信息。所述虚拟网 络拓扑信息包括虚拟源信息、虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口; 所述虚拟网络拓扑信息还可以包括入端口和VNID。
[0273] 具体地,所述第一VFF根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所 述第一虚拟目的信息、第一虚拟下一跳的地址和第一出端口,所述第一虚拟下一跳的地址 包括所述第一VM的第一虚拟网卡vINC的MAC地址;并根据所述第一虚拟源信息、所述第一 虚拟目的信息和所述第一虚拟下一跳的地址封装所述第一虚拟网络报文,得到所述第二虚 拟网络报文,所述第二虚拟网络报文中还包括所述第一虚拟下一跳的地址。
[0274] 同样,所述第二虚拟网络报文还包括所述第一有效载荷。
[0275] 进一步地,在多租户场景中,所述方法还包括:从所述第一虚拟网络报文中获取第 一VNID。相应地,所述根据所述第一虚拟源信息和所述第一虚拟拓扑信息获取所述第一虚 拟目的信息、第一虚拟下一跳的地址和第一出端口,包括:根据所述第一VNID、所述第一虚 拟源信息和所述第一虚拟拓扑信息获取所述第一虚拟目的信息、所述第一虚拟下一跳的地 址和所述第一出端口。
[0276] 503、将所述第二虚拟网络报文发送至所述第一VM。
[0277] 具体地,所述第一VFF从所述第一出端口发送所述第二虚拟网络报文至所述第一 VM;具体地,发送至所述第一vNF或所述第一vNF的第一虚拟端口。
[0278] 可选地,如果所述第一虚拟拓扑信息中包括业务路径标识或接口标识,则所述第 二虚拟网络报文还包括所述业务路径标识或所述接口标识。
[0279] 本实施例中,在网络设备的功能虚拟化后,通过VFF在vNF间构建虚拟网络拓扑, 实现vNF间通信,从而使得虚拟设备的运营和管理更加方便、灵活。
[0280] 进一步地,如图5B所示,所述方法还可以包括:
[0281] 504、所述第一VFF接收来自第三VFF的第三虚拟网络报文,所述第三虚拟网络报 文包括第二虚拟源信息和第二虚拟拓扑信息;
[0282] 所述第二虚拟源信息包括所述第三vNF的虚拟端口的标识,所述第二虚拟拓扑信 息包括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及 业务路径标识;虚拟共享总线标识及业务路径标识;
[0283] 其中,所述第三vNF位于第三虚拟机VM内,所述第三VM附着在所述第三VFF上。
[0284] 所述第三虚拟网络报文中还包括第二有效载荷。
[0285] 505、所述第一VFF根据所述第二虚拟源信息和所述第二虚拟拓扑信息处理所述 第三虚拟网络报文以得到第四虚拟网络报文;
[0286] 所述第四虚拟网络报文中包括所述第二虚拟源信息和第二虚拟目的信息,所述第 二虚拟目的信息包括第一网络设备的端口的标识;其中,所述第一网络设备附着在所述第 一VFF上。
[0287] 同样,所述第四虚拟网络报文还包括所述第二有效载荷。
[0288] 具体地,所述第一VFF根据所述第二虚拟源信息和所述第二虚拟拓扑信息获取所 述第二虚拟目的信息、第二虚拟下一跳的地址和第二出端口,所述第二虚拟下一跳的地址 包括所述第一网络设备的MAC地址;并根据所述第二虚拟源信息、所述第二虚拟目的信息 和所述第二虚拟下一跳的地址封装所述第三虚拟网络报文,得到所述第四虚拟网络报文, 所述第四虚拟网络报文中还包括所述第一虚拟下一跳的地址。
[0289] 进一步地,在多租户场景中,所述方法还包括:从所述第三虚拟网络报文中获取第 二VNID。相应地,所述根据所述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚 拟目的信息、所述第二虚拟下一跳的地址和所述第二出端口,包括:根据所述第二VNID、所 述第二虚拟源信息和所述第二虚拟拓扑信息获取所述第二虚拟目的信息、所述第二虚拟下 一跳的地址和所述第二出端口。
[0290] 506、所述第一VFF将所述第四虚拟网络报文发送至所述第一网络设备。
[0291] 具体地,所述第一VFF从所述第二出端口将所述第四虚拟网络报文发送至所述第 一网络设备;具体发送至所述第一网络设备的所述端口。
[0292] 进一步地,如图5C所示,所述方法还可以包括:
[0293] 507、所述第一VFF接收来自第四VFF的第五虚拟网络报文,所述第五虚拟网络报 文包括第二虚拟源息和第二虚拟拓扑息;
[0294] 所述第三虚拟源信息包括第二网络设备的端口的标识,所述第三虚拟拓扑信息包 括下述任意一种:虚拟共享总线标识;虚拟链路标识;业务路径标识;虚拟链路标识及业务 路径标识;虚拟共享总线标识及业务路径标识;其中,所述第二网络设备附着在所述第四 VFF上。
[0295] 所述第五虚拟网络报文中还包括第三有效载荷。
[0296] 508、所述第一VFF根据所述第三虚拟源信息和所述第三虚拟拓扑信息处理所述 第五虚拟网络报文以得到第六虚拟网络报文;
[0297] 所述第六虚拟网络报文中包括所述第三虚拟源信息和第三虚拟目的信息,所述第 三虚拟目的信息包括所述第一vNF的第二虚拟端口的标识。
[0298] 具体地,所述第一VFF根据所述第三虚拟源信息和所述第三虚拟拓扑信息获取所 述第三虚拟目的信息、第三虚拟下一跳的地址和第三出端口,所述第三虚拟下一跳的地址 包括所述第一VM的第二vNIC的MAC地址;并根据所述第三虚拟源信息、所述第三虚拟目的 信息和所述第三虚拟下一跳的地址封装所述第五虚拟网络报文,得到所述第六虚拟网络报 文,所述第六虚拟网络报文中还包括所述第三虚拟下一跳的地址。
[0299] 同样地,所述第六虚拟网络报文中还包括所述第三有效载荷。
[0300] 进一步地,在多租户场景中,所述方法还包括:从所述第三虚拟网络报文中获取第 三VNID。相应地,所述根据所述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚 拟目的信息、所述第三虚拟下一跳的地址和所述第三出端口,包括:根据所述第三VNID、所 述第三虚拟源信息和所述第三虚拟拓扑信息获取所述第三虚拟目的信息、所述第三虚拟下 一跳的地址和所述第三出端口。
[0301] 509、所述第一VFF将所述第六虚拟网络报文发送至所述第一VM。
[0302] 具体地,所述第一VFF从所述第三出端口将所述第六虚拟网络报文发送至所述第 一VM;具体发送至所述第一VM的所述第一vNF的第二虚拟端口。
[0303] 本实施例中,网络设备可以直接附着在VFF上,通过VFF在网络设备的端口和vNF 的虚拟端口间构建虚拟网络拓扑,就如同vNF直接实现在网络设备的该端口上一般,可以 实现物理设备和虚拟设备间的映射互通。
[0304] 参见图6A,为本发明实施例提供的又一种实现虚拟网络通信的方法,所述方法包 括:
[0305] 601、虚拟容器接收第一虚拟网络功能vNF发送的第一业务报文;
[0306] 其中,所述第一vNF位于第一虚拟机VM内,所述第一VM附着在所述第一VFF上。
[0307] 可选地,所述虚拟容器还接收所述第一vNF发送的第三vNF的标识。
[0308] 可选地,所述虚拟容器还接收所述第一vNF发送的第一业务路径标识或第一接口 标识。
[0309] 具体地,如图3a和3b所示结构中,所述第一vNF可以调用为所述第一vNF或所述 第一vNF的第一虚拟端口创建的socket接口,向所述虚拟容器发送所述第一业务报文,并 将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为参数。可选地,所述第 一vNF调用socket接口发送所述第一业务报文时,将所述第三vNF的标识作为参数。可选 地,所述第一vNF调用socket接口发送所述第一业务报文时,将所述第一业务路径标识或 所述第一接口标识作为参数。
[0310] 602、所述虚拟容器根据所述第一业务报文得到第一虚拟网络报文,所述第一虚拟 网络报文包括第一虚拟源信息和所述第一业务报文;
[0311] 所述第一虚拟源信息包括所述第一vNF的标识或所述第一vNF的第一虚拟端口的 标识;
[0312] 所述虚拟容器获取所述第一vNF或所述第一vNF的第一虚拟端口对应的第一 vNIC或所述第一vNIC的一个VLAN;具体地,如图3a和3b所示结构中,所述虚拟容器根据 发送所述第一业务报文的socket接口,找到所述第一vNIC,或所述第一vNIC的一个VLAN (vNIC+VLAN);然后,将所述第一vNF的标识或所述第一vNF的第一虚拟端口的标识作为第 一虚拟源信息;将所述第一vNIC的MAC地址,或所述第一VNIC的MAC地址+VLANID作为 虚拟网络头的源地址,将所述第一VFF的MAC地址作为虚拟网络头的目的地址,封装所述第 一业务报文,得到所述第一虚拟网络报文。
[0313] 可选地,若所述虚拟容器还接收所述第一vNF发送的第三vNF的标识,封装所述第 一业务报文时还包括:将所述第三vNF的标识作为第一虚拟目的信息,所述第一虚拟网络 报文还包括所述第一虚拟目的信息。
[0314] 可选地,若所述虚拟容器还接收所述第一vNF发送的第一业务路径标识或第一接 口标识,封装所述第一业务报文时还包括:将所述第一业务路径标识或所述第一接口标识 包括在第一虚拟拓扑信息,所述第一虚拟网络报文还包括所述第一虚拟拓扑信息。
[0315] 603、所述虚拟容器将所述第一虚拟网络报文发送给所述第一VFF;
[0316] 具体地,所述虚拟容器将所述第一虚拟网络报文通过所述第一vNIC发送给所述 第一VFF,以使所述第一VFF处理所述第一虚拟网络报文。
[0317] 本实施例中,在网络设备的功能虚拟化后,通过虚拟容器实现vNF与VFF间通信, 通过虚拟容器和VFF在vNF间构建虚拟网络拓扑,实现vNF间通信,从而使得虚拟设备的运 营和管理更加方便、灵活。
[0318] 进一步地,如图6B所示,所述方法还包括:
[0319] 604、所述虚拟容器接收来自所述第一VFF的第二虚拟网络报文,所述第二虚拟网 络报文包括第二虚拟目的信息;
[0320] 605、所述虚拟容器解封装所述第二虚拟网络报文以得到第二业务报文;
[0321] 具体地,所述虚拟容器去除所述第二虚拟网络报文的虚拟层叠头和虚拟网络头以 得到所述第二业务报文。
[0322] 606、所述虚拟容器根据所述第二虚拟目的信息,发送所述第二业务报文。
[0323] 具体的,所述虚拟容器将所述第二业务报文发送给所述第二虚拟目的信息指示的 目的vNF或目的vNF的虚拟端口。
[0324] 可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口可以包括 所述第一vNF的标识或所述第一vNF的所述第一虚拟端口的标识或所述第一vNF的第二虚 拟端口的标识。相应地,所述虚拟容器根据所述第一vNF的标识或所述第一vNF的所述第 一虚拟端口的标识或所述第一vNF的所述第二虚拟端口的标识,将所述第二业务报文发送 给所述第一vNF或所述第一vNF的所述第一虚拟端口或所述第二虚拟端口。所述虚拟容器 可以位于所述第一VM中;或者,位于所述第一VM所在设备的虚拟机管理程序hypervisor 中;或者,与所述第一VFF位于同一设备内,具体如图3a-3d所不。
[0325] 可选地,所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口也可以包 括第二vNF的标识或所述第二vNF的虚拟端口的标识;所述第二vNF位于所述第一VM内。 相应地,所述虚拟容器根据所述第二vNF的标识或所述第二vNF的虚拟端口的标识调用相 应的socket接口,将所述第二业务报文发送给所述第二vNF或所述第二vNF的虚拟端口。 所述虚拟容器可以位于所述第一VM中,具体如图3b所示。
[0326] 可选地,所述第二虚拟网络报文还包括第二虚拟拓扑信息,所述第二虚拟拓扑信 息包括第二业务路径标识或第二接口标识;可以理解的是,所述第二业务路径标识或第二 接口标识可以与所述第一业务路径标识或第一接口标识相同或不同。相应地,所述方法还 包括:
[0327] 所述虚拟容器根据所述第二虚拟目的信息发送所述第二业务路径标识或所述第 二接口标识。具体地,所述虚拟容器将所述第二业务路径标识或所述第二接口标识,与所述 第二业务报文一起发送给所述第二虚拟目的信息指示的目的vNF或目的vNF的虚拟端口。
[0328] 可以理解的是,上述604-606可以在601-603之前或之后执行,也可以与601-603 同步进行。
[0329] 进一步地,如图6C所示,所述方法还可以包括:
[0330] 607、虚拟容器接收网络设备发送的第三业务报文以及所述网络设备的端口的标 识;
[0331] 所述网络设备的端口包括物理端口或逻辑端口。
[0332] 所述网络设备附着在所述第一VFF上。
[0333] 所述虚拟容器可以位于所述网络设备内。
[0334] 608、所述虚拟容器根据所述第三业务报文和所述网络设备的端口的标识,得到第 三虚拟网络报文,所述第三虚拟网络报文包括第三虚拟源信息和所述第三业务报文;所述 第三虚拟源信息包括所述网络设备的端口的标识;
[0335] 所述虚拟容器将所述网络设备的端口的标识作为第三虚拟源信息;将所述网络设 备的MAC地址作为第三虚拟网络头的源地址,将所述第一VFF的MAC地址作为第三虚拟网 络头的目的地址,封装所述第三业务报文,得到所述第三虚拟网络报文。
[0336] 609、所述虚拟容器将所述第三虚拟网络报文发送给所述第一VFF;
[0337] 具体地,所述虚拟容器将所述第三虚拟网络报文通过所述网络设备与所述第一 VFF连接的端口发送给所述第一VFF,以使所述第一VFF处理所述第三虚拟网络报文。
[0338] 进一步可选地,所述虚拟容器还接收来自所述第一VFF的第四虚拟网络报文,所 述第四虚拟网络报文包括第四虚拟目的信息;所述第四虚拟目的信息包括所述网络设备的 端口的标识。所述虚拟容器解封装所述第四虚拟网络报文以得到第四业务报文;并根据所 述第四虚拟目的信息,发送所述第四业务报文至所述网络设备的所述端口。
[0339] 可以理解的是,本实施例中以所述第一VM、所述网络设备附着到第一VFF,通过所 述虚拟容器与所述第一VFF通信作为一种示例;具体实现中,所述第一VM和所述网络设备 可以分别配置各自的虚拟容器,附着到相同的VFF或者分别附着到不同的VFF,本发明对此 不作限定。
[0340] 本实施例中,网络设备可以直接附着在VFF上,通过虚拟容器与VFF通信,从而通 过虚拟容器和VFF在网络设备的端口和vNF的虚拟端口间构建虚拟网络拓扑,就如同vNF 直接实现在网络设备的该端口上一般,进而实现物理设备和虚拟设备间的映射互通。
[0341] 本发明实施例提供的虚拟容器,接收来自第一VM中第一vNF的第一业务报文并封 装为第一虚拟网络报文发送给该第一VM附着的第一VFF,此外接收来自第一VFF的第二虚 拟网络报文,解封装该第二虚拟网络报文得到第二业务报文,并发送该第二业务报文给第 一vNF,从而可以通过所述第一VFF与其他vNF通信,在vNF间构建虚拟拓扑,从而解决虚拟 网络中的vNF与拓朴耦合,消耗VNID资源、无法灵活控制vNF、实现vNF间通信的问题。
[0342] 基于上述实施例提供的虚拟网络通信方法,以下将结合几种不同虚拟网络场景和 应用,介绍本发明技术方案。图7为本发明实施例提供的一种虚拟网络通信的网络场景示 意图;如图7所示,系统中包括VM1,VFF1,VM2,VFF2,VM3和VFF3 ;其中VM1中包括vNFl, vNFl包括两个虚拟端口pll和pl2 ;VM2中包括vNF2,vNF2包括两个虚拟端口p21和p22 ; VM3中包括vNF3,vNF3包括两个虚拟端口p31和p32。其中,vNFl,vNF2和vNF3构成一个 虚拟网络;VM1和VFF1,VM2和VFF2处于同一数据中心网络,VM3和VFF3位于另一数据中 心网络中,VM3和VFF3通过三层网络与VM1和VFF1,VM2和VFF2通信。
[0343] 进一步地,VFF1、VFF2和VFF3分别维护各自的虚拟网络拓扑信息,实现vNFl、 vNF2、vNF3间的通信。
[0344] 本发明实施例中,在单租户场景下,所述虚拟网络拓扑信息包括:虚拟源信息、虚 拟目的信息、虚拟拓扑信息和新的虚拟目的信息、虚拟下一跳的地址和出端口;在多租户场 景下,所述虚拟网络拓扑信息还包括入端口和VNID。在单租户场景下,VFF可以通过拓扑转 发表和网络地址映射表来维护虚拟网络拓扑信息;在多租户场景下,VFF可以通过拓扑转 发表、端口到虚拟网络映射表和网络地址映射表来维护虚拟网络拓扑信息。拓扑转发表中 包括虚拟源信息、虚拟目的信息、虚拟拓扑信息和新的虚拟目的信息的对应关系;网络地址 映射表包括新的虚拟目的信息、虚拟拓扑信息、虚拟下一跳的地址和出端口的对应关系;端 口到虚拟网络映射表包括入端口和VNID的对应关系。当然,在具体实现中,也可以将拓扑 转发表和网络地址映射表合并为一张表。
[0345] 下面以多租户场景为例,给出VFF1、VFF2和VFF3上用于维护虚拟网络拓扑信息的 表项。具体如下:
[0346] 表11VFF1的拓朴转发表
【权利要求】
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地址; 相应地,所述第二虚拟网络报文还包括网络虚拟化叠加NV03头部和所述第二VFF的IP 地址,所述NV03头部中虚拟网络标识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,封装所述第一虚拟网络报文,得到 所述第二虚拟网络报文,所述第二虚拟网络报文中还包括网络虚拟化叠加NV03头部和所 述第二VFF的IP地址,所述NV03头部中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的虚拟网卡VlNC的媒体访问控制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。
【文档编号】H04L12/46GK104518935SQ201310452313
【公开日】2015年4月15日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】黄勇 申请人:华为技术有限公司