转发表项处理的方法、报文转发的方法及其装置和系统的制作方法

文档序号:7814988阅读:185来源:国知局
转发表项处理的方法、报文转发的方法及其装置和系统的制作方法
【专利摘要】本发明实施例公开了转发表项处理的方法、报文转发的方法及其装置和系统,包括:控制器根据指定的根转发设备和指定的第一虚拟局域网标识VLAN ID,计算以所述根转发设备为根的所述第一VLAN ID对应的第一树型拓扑;所述控制器为非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作;所述控制器将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上。有助于减轻基于SDN的数据中心网络中控制通道的压力,以及节约转发设备的表项存贮资源。
【专利说明】转发表项处理的方法、报文转发的方法及其装置和系统

【技术领域】
[0001]本申请涉及通信网络领域,具体涉及转发表项处理的方法、报文转发的方法、及其相应的装置和系统。

【背景技术】
[0002]传统型数据中心,使用的是普通二层网络,划分虚拟局域网(Virtual Local AreaNetwork, VLAN)隔离网络,运行生成树协议STP (Spanning Tree Protocol)进行破环,报文转发时,首个报文是未知单播报文,进行广播,每个转发设备自动学习媒体访问控制(MediaAccess Control,MAC)地址,学习到MAC地址后,可以单播转发。网络的连接拓扑是图状拓扑,由STP协议进行破环剪枝,形成树状网络。
[0003]基于控制转发分离思想的软件定义网络(Software Defined Networking, SDN)架构,是一种新型网络交换模型,其关键组件包括开放流OpenFlow交换机和控制器。控制器和OpenFlow交换机之间通过OpenFlow协议规范的控制通道完成消息的交互和信息的传递。控制器通过全网络视图来实现管控功能,为OpenFlow交换机生成转发流表;OpenFlow交换机根据流表来转发数据包,流表项主要由匹配字段(match fields)和操作(instruct1ns)等部分组成。
[0004]将基于控制转发分离的SDN技术应用到数据中心网络中后,采用SDN控制器集中给每一个OpenFlow交换机或者虚拟交换机计算并发送MAC转发表项。然而每个交换机上都要有所有端点为目的MAC的表项,此时的端点可以是虚拟机(Virtual Machine, VM)或者服务器。网络中每增加一个端点,在网络中的每个交换机或者虚拟交换机上就要增加一条该端点为目的MAC的转发表项,随着网络中端点数量的不断增加,每个交换机或者虚拟交换机上保存的MAC转发表项也会不断增加,占用大量的存储资源,而且需要SDN控制器发送大量的MAC转发表项,占用控制通道的带宽,尤其是每当拓扑更新时都会需要重新更新发送大量的MAC转发表项。所以,如何减轻基于SDN的数据中心网络中控制通道的压力,以及节约OpenFlow交换机的表项存忙资源是需要解决的问题。


【发明内容】

[0005]本发明实施例提供了转发表项处理的方法、报文转发的方法、及其相应的装置和系统,有助于减轻基于SDN的数据中心网络中控制通道的压力,以及节约转发设备的表项存贮资源。
[0006]为了解决上述问题,本发明实施例第一方面提供一种转发表项处理的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备,所述方法包括:所述控制器根据指定的根转发设备和指定的第一虚拟局域网标识VLAN ID,计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑;所述控制器为非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备;所述控制器将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上。
[0007]在第一方面的第一种可能的实现方式中,还包括:所述控制器为所述根转发设备生成第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述控制器将所述第三转发表项和所述第四转发表项发送到所述根转发设备上。
[0008]结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括:第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述控制器还为所述非根转发设备生成第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述控制器将所述第五转发表项发送到所述非根转发设备上。
[0009]结合第一方面或者第一方面的第一种至第二种任一可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:所述控制器还为所述根转发设备生成第六转发表项,所述第六转发表项包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述控制器将所述第六转发表项发送到所述根转发设备。
[0010]结合第一方面或者第一方面的第一种至第三种任一可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:所述第一端点是虚拟机VM或者服务器,或者,所述第二端点是VM或者服务器。
[0011]为了解决上述问题,本发明实施例第二方面提供一种报文转发的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器、非根转发设备和根转发设备,所述非根转发设备和根转发设备接受所述控制器的控制,所述根转发设备是第一虚拟局域网标识VLAN ID对应的第一树型拓扑的树根,所述方法包括:所述非根转发设备接收控制器发送的第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLANID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备;所述非根转发设备保存所述第一转发表项和所述第二转发表项;所述非根转发设备接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第一转发表项的所述第一匹配字段,则对所述数据报文执行所述第一操作,从指向根转发设备方向的出接口转发出去;如果确定接收到的所述数据报文匹配所述第二转发表项的所述第二匹配字段,则对所述数据报文执行所述第二操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
[0012]在第二方面的第一种可能的实现方式中,还包括:第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述非根转发设备接收控制器发送的第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述非根转发设备保存所述第五转发表项;所述非根转发设备接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第五转发表项的所述第三匹配字段,则对所述数据报文执行所述第五操作,从指向所述第二端点方向的出接口转发出去。
[0013]结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:所述第一端点是虚拟机VM或者服务器,或者,所述第二端点是VM或者服务器。
[0014]为了解决上述问题,本发明实施例第三方面提供一种控制器,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备,包括:计算单元,用于根据指定的根转发设备和指定的第一虚拟局域网标识VLANID,计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑;生成单元,用于为非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备;发送单元,用于将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上。
[0015]在第三方面的第一种可能的实现方式中,包括:所述生成单元,还为所述根转发设备生成第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述发送单元还将所述第三转发表项和所述第四转发表项发送到所述根转发设备上。
[0016]结合第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,还包括:第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述生成单元为所述非根转发设备生成第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述发送单元将所述第五转发表项发送到所述非根转发设备上。
[0017]结合第三方面或者第三方面的第一种至第二种任一可能的实现方式,在第三方面的第三种可能的实现方式中,还包括:所述生成单元为所述根转发设备生成第六转发表项,所述第六转发表项包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述发送单元将所述第六转发表项发送到所述根转发设备。
[0018]为了解决上述问题,本发明实施例第四方面提供一种非根转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器、非根转发设备和根转发设备,所述非根转发设备和根转发设备接受所述控制器的控制,所述根转发设备是第一 VLAN ID对应的第一树型拓扑的树根,所述非根转发设备包括:接收单元,用于接收控制器发送的第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备;存储单元,用于保存所述第一转发表项和所述第二转发表项;转发单元用于接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第一转发表项的所述第一匹配字段,则对所述数据报文执行所述第一操作,从指向根转发设备方向的出接口转发出去;如果确定接收到的所述数据报文匹配所述第二转发表项的所述第二匹配字段,则对所述数据报文执行所述第二操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
[0019]在第四方面的第一种可能的实现方式中,包括:第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述接收单元接收控制器发送的第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述存储单元保存所述第五转发表项;所述转发单元接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第五转发表项的所述第三匹配字段,则对所述数据报文执行所述第五操作,从指向所述第二端点方向的出接口转发出去。
[0020]为了解决上述问题,本发明实施例第五方面提供一种转发表项处理和报文转发的系统,应用于控制转发分离的网络,包括:上述第三方面的任一控制器、上述第四方面的任一非根转发设备和根转发设备,所述根转发设备具体包括:接收单元,用于接收第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;存储单元,用于保存所述第三转发表项和所述第四转发表项;转发单元,用于接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第三转发表项的所述第一匹配字段,则对所述数据报文执行所述第三操作,丢弃所述数据报文;如果确定接收到的所述数据报文匹配所述第四转发表项的所述第二匹配字段,则对所述数据报文执行所述第四操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
[0021]在第五方面的第一种可能的实现方式中,所述根转发设备具体还包括:所述接收单元接收控制器发送的第六转发表项,所述第六转发表项包括第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;所述存储单元保存所述第六转发表项;所述转发单元接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第六转发表项的所述第三匹配字段,则对所述数据报文执行所述第六操作,从指向所述第二端点方向的出接口转发出去。
[0022]本发明实施例通过控制器根据指定的根转发设备和指定的第一虚拟局域网标识VLAN ID,计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑,并为转发设备生成一条上行的转发表项和多条下行的转发表项,并下发到转发设备上指导转发的方法,有助于减少转发设备上存储的转发表项,从而节约转发设备的表项存贮资源,以及减轻基于SDN的数据中心网络中控制通道的压力。

【专利附图】

【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本发明实施例提供的一种转发表项处理和报文转发方法的组网示意图;
[0025]图2是本发明实施例提供的一种转发表项处理方法的流程图;
[0026]图3是本发明实施例提供的一种报文转发方法的流程图;
[0027]图4是本发明实施例提供的一种控制器的结构示意图;
[0028]图5是本发明实施例提供的一种非根转发设备的结构示意图;
[0029]图6是本发明实施例提供的一种转发表项处理和报文转发系统的示意图;
[0030]图7是本发明实施例提供的一种控制器的结构示意图;
[0031]图8是本发明实施例提供的一种转发设备的结构示意图。

【具体实施方式】
[0032]为了使本【技术领域】的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0033]实施例一
[0034]在基于控制转发分离的网络中,如SDN网络,控制器可以通过控制器与转发设备之间的控制通道协议(如OpenFlow协议)来控制多个转发设备,向每个被控制的转发设备上发送转发表项,从而指导数据报文在网络中的转发。
[0035]例如,请参考图1,图1是本发明实施例的组网示意图,应用在数据中心的二层媒体访问控制MAC (Media Access Control)转发网络中,仅用于示意性说明本发明的一个应用场景,并不视为对本发明实施例的限制。控制器控制转发设备,分别包括第一根转发设备、第一非根转发设备和第二非转发设备,还可以包括第二根转发设备和/或第三非根转发设备。其中,第一根转发设备中的“第一”,仅仅表明区分一个根转发设备;第一非根转发设备中的“第一”和第二非根转发设备中的“第二”,仅仅用于表明区分两个非根转发设备。此外,本发明实施例中所提及的根转发设备和非根转发设备可以是交换机、路由器等网络设备,或者基于软件的虚拟交换机(open virtual switch, OVS)、虚拟路由器等。
[0036]参见图2,示出了本发明实施例控制器转发表项处理方法的流程示意图,具体方法可包括:
[0037]101,所述控制器根据指定的第一根转发设备和指定的第一虚拟局域网标识VLANID (Virtual Local Area Network identifier),计算以所述第一根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑。
[0038]具体地,指定所述第一根转发设备的方式,可以是人工配置,或者从其它控制管理设备、应用服务设备通过消息发送过来。
[0039]具体地,指定所述第一 VLAN ID的方式,可以是从其它应用服务设备(例如,开栈OpenStack开源平台)通过消息发送过来,或者人工配置。
[0040]具体地,控制器集中收集到所述数据中心的二层媒体访问控制MAC(Media AccessControl)转发网络的物理网络拓扑图以后,根据指定的第一根转发设备和指定的所述第一VLAN ID,为所述第一 VLAN ID,计算一棵以所述第一根转发设备为根的第一树型拓扑。
[0041]102,所述控制器为第一非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述第一非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向第一根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述第一非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述第一非根转发设备是从所述第一端点到所述第一根转发设备形成的转发路径上的一个转发设备。
[0042]具体地,所述第一转发表项是指一条未命中处理的转发表项,所述通配符是一条优先级最低的匹配字段,任何数据报文的匹配项如果无法精确匹配到转发表中的除所述第一转发表项以外的其它任何一条转发表项时,最后都会通配地匹配到所述第一转发表项。
[0043]进一步,所述控制器还为所述第一根转发设备生成第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述第一根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述第一根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作。
[0044]具体地,所述第三转发表项是指一条未命中处理的转发表项,所述通配符是一条优先级最低的匹配字段,任何数据报文的匹配项如果无法精确匹配到转发表中的除所述第三转发表项以外的其它任何一条转发表项时,最后都会通配地匹配到所述第三转发表项。
[0045]103,所述控制器将所述第一转发表项和所述第二转发表项发送到所述第一非根转发设备上。
[0046]具体地,所述发送方式,可以是所述控制器一次把所述第一转发表项和所述第二转发表项发送到所述第一非根转发设备上,也可以是所述控制器分两次分别把所述第一转发表项和所述第二转发表项发送到所述第一非根转发设备上。
[0047]进一步,所述控制器将所述第三转发表项和所述第四转发表项发送到所述第一根转发设备上。
[0048]具体地,所述发送方式,可以是所述控制器一次把所述第三转发表项和所述第四转发表项发送到所述第一根转发设备上,也可以是所述控制器分两次分别把所述第三转发表项和所述第四转发表项发送到所述第一根转发设备上。
[0049]进一步,可选地,还有第二端点接入所述第一树型拓扑,所述第一非根转发设备是从所述第二端点到所述第一根转发设备形成的转发路径上的一个转发设备,所述控制器还为所述第一非根转发设备生成第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述第一非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0050]所述控制器将所述第五转发表项发送到所述第一非根转发设备上。
[0051]进一步,可选地,所述控制器还为所述第一根转发设备生成第六转发表项,所述第六转发表项包括所述第三匹配字段和第六操作,所述第六操作用于指示所述第一根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0052]所述控制器将所述第六转发表项发送到所述第一根转发设备。
[0053]值得说明的是,结合图1所示,举例来说,当所述第二端点接入时,所述控制器分别为从所述第二端点到所述第一根转发设备形成的转发路径上的所述第一非根转发设备和所述第一根转发设备生成转发表项时,只需要生成下行转发表项即可,不需要再生成上行转发表项。
[0054]所述下行转发表是指示从根转发设备到端点方向转发的转发表项,例如,从所述第一根转发设备到所述第二端点方向转发的转发表项,也就是本实施例中的上述第五转发表项和第六转发表项。
[0055]所述上行转发表项是指示从端点到根转发设备方向的转发表项,例如,从所述第二端点到所述第一根转发设备方向的转发表项,也就是本实施例中的上述第一转发表项和第三转发表项,为所述第一端点和所述第二端点共用,所以,所述上行转发表项在每个转发设备上只需一条转发表项即可。对于非根转发设备,用于指示向根转发设备转发;对于根转发设备用于指示已经到达树根,如果没有匹配到除所述第三转发表项以外的任一转发表项则丢弃。基于同样的原理,由此可见,所述第一非根转发设备上只需要保存一条所述上行转发表项(如,所述第一转发表项)和两条下行表项(如,所述第二转发表项和所述第五转发表项);第二非根转发设备上只需要保存一条所述上行转发表项(如,所述第一转发表项)和一条下行表项(如,目的MAC为第三端点的MAC地址的第七转发表项);所述第一根转发设备上需要保存一条所述上行转发表项(如,所述第三转发表项)和三条下行表项(如,所述第四转发表项、所述第六转发表项,以及目的MAC为第三端点的MAC地址的第八转发表项)。所以,所述第一非根转发设备上只需要保存以所述第一端点和所述第二端点为目的MAC地址的转发表项,不需要保存以所述第三端点为目的MAC地址的转发表项;而所述第二非根转发设备上只需要保存以所述第三端点为目的MAC地址的转发表项,不需要保存以所述第一端点和所述第二端点为目的MAC地址的转发表项;从而,节约了非根转发设备的表项存贮资源和控制通道传递转发表项的压力,进一步提高了转发查找的性能、降低了设备成本。
[0056]进一步,可选地,还可以对所述第一树型拓扑进行剪枝,将没有接入所述第一 VLANID端点的非根转发设备去除,例如,如图1,如果所述第二非根转发设备没有接入所述第三端点,则可以从所述第一树型拓扑中去除,从而对所述第一树型拓扑进行了优化。
[0057]进一步,可选地,采用同样的上述方法,所述控制器还可以根据指定的第二根转发设备和指定的第二虚拟局域网标识VLAN ID,计算以所述第二根转发设备为根的所述第二VLAN ID对应的第二树型拓扑。所述第二根转发设备可以分担所述第一根转发设备的处理负担,有助于减轻所述第一根转发设备的压力。
[0058]以上所举为所述控制器控制一个根转发设备和两个非根转发设备的情况,本领域技术人员可知,上述方案也适用于所述控制器控制两个以上根转发设备和三个以上非根转发设备的情况。
[0059]实施例二
[0060]与上文控制器的转发表项处理的方法相对应,请参考图1,本发明实施例还提供了一种非根转发设备的报文转发方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器、第一非根转发设备、第二非根转发设备和第一根转发设备,所述第一非根转发设备、第二非根转发设备和第一根转发设备接受所述控制器的控制,所述第一根转发设备是第一 VLAN ID对应的第一树型拓扑的树根。所述第一非根转发设备和所述第二非根转发设备执行报文转发的方法一致,所以本实施例只以所述第一非根转发设备为例,来具体阐述,参见图3所示流程示意图,可包括:
[0061]301,所述第一非根转发设备接收控制器发送的第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述第一非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向所述第一根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向所述第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述第一非根转发设备是从所述第一端点到所述第一根转发设备形成的转发路径上的一个转发设备。
[0062]本实施例中的所述第一转发表项,请参考实施例一中相应的描述,在此不再赘述。
[0063]具体地,所述接收方式,可以是所述第一非根转发设备从所述控制器接收上一次把所述第一转发表项和所述第二转发表项接收过来,也可以是所述第一非根转发设备分两次分别从所述控制器接收上把所述第一转发表项和所述第二转发表项接收过来。
[0064]302,所述第一非根转发设备保存所述第一转发表项和所述第二转发表项。
[0065]303,所述第一非根转发设备接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第一转发表项的所述第一匹配字段,则对所述数据报文执行所述第一操作,从指向所述第一根转发设备方向的出接口转发出去;如果确定接收到的所述数据报文匹配所述第二转发表项的所述第二匹配字段,则对所述数据报文执行所述第二操作,从指向所述第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
[0066]进一步,可选地,当第二端点接入所述第一树型拓扑时,所述第一非根转发设备是从所述第二端点到所述第一根转发设备形成的转发路径上的一个转发设备,所述第一非根转发设备还接收所述控制器发送的第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述第一非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0067]进一步,可选地,所述第一非根转发设备保存所述第五转发表项;
[0068]进一步,可选地,所述第一非根转发设备接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第五转发表项的所述第三匹配字段,则对所述数据报文执行所述第五操作,从指向所述第二端点方向的出接口转发出去。
[0069]本发明实施例通过提供所述第一转发表项,将所述数据报文向所述第一根转发设备发送,同时提供所述第二转发表项和/或所述第五转发表项,将所述数据报文向所述第一端点和/或第二端点发送的报文转发方法,减少了存储在所述第一非根转发设备上的转发表项,节约了所述第一非根转发设备上的表项存贮资源,有助于减轻基于SDN的数据中心网络中控制通道的压力。
[0070]实施例三
[0071]请参考图4,本发明的一个实施例提供一种控制器400,所述控制器400控制转发设备,应用在控制转发分离的网络中,包括:
[0072]计算单元401,用于根据指定的根转发设备和指定的第一虚拟局域网标识VLANID,计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑;
[0073]生成单元402,用于为非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备;
[0074]发送单元403,用于将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上。
[0075]进一步,所述生成单元402,还为所述根转发设备生成第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作。
[0076]所述发送单元403还将所述第三转发表项和所述第四转发表项发送到所述根转发设备上。
[0077]进一步,可选地,第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述控制器400还包括:所述生成单元为所述非根转发设备生成第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0078]所述发送单元将所述第五转发表项发送到所述非根转发设备上。
[0079]进一步,可选地,所述控制器400还包括:所述生成单元为所述根转发设备生成第六转发表项,所述第六转发表项包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0080]所述发送单元将所述第六转发表项发送到所述根转发设备。
[0081 ] 本发明实施例提供的控制器400,通过计算单元401计算所述第一树型拓扑,生成单元402为所述第一非根转发设备生成所述第一转发表项、所述第二转发表项和所述第五转发表项,为所述第一根转发设备生成所述第三转发表项、第四转发表项、第六转发表项;并通过发送单元403分别发送给所述非根转发设备和所述根转发设备的方法,减少了存储在所述第一非根转发设备上的转发表项,节约了所述第一非根转发设备上的表项存贮资源,有助于减轻基于SDN的数据中心网络中控制通道的压力,以及进一步提高了转发查找的性能、降低了设备成本。
[0082]实施例四
[0083]请参考图5,本发明的一个实施例提供一种非根转发设备500,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器、非根转发设备500和根转发设备,所述非根转发设备500和根转发设备接受所述控制器的控制,所述根转发设备是第一 VLAN ID对应的第一树型拓扑的树根,所述非根转发设备500包括:
[0084]接收单元501,用于接收控制器发送的第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备;
[0085]存储单元502,用于保存所述第一转发表项和所述第二转发表项;
[0086]转发单元503用于接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第一转发表项的所述第一匹配字段,则对所述数据报文执行所述第一操作,从指向根转发设备方向的出接口转发出去;如果确定接收到的所述数据报文匹配所述第二转发表项的所述第二匹配字段,则对所述数据报文执行所述第二操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
[0087]进一步,可选地,第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述非根转发设备500还包括:
[0088]所述接收单元501接收所述控制器发送的第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLANID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0089]所述存储单元502保存所述第五转发表项;
[0090]所述转发单元503接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第五转发表项的所述第三匹配字段,则对所述数据报文执行所述第五操作,从指向所述第二端点方向的出接口转发出去。
[0091]本发明实施例提供的非根转发设备500,通过接收单元501接收控制器发送的第一转发表项和第二转发表项,通过存储单元502保存所述第一转发表项和所述第二转发表项;并通过转发单元503进行查表转发数据报文的方法,减少了存储在所述第一非根转发设备上的转发表项,节约了所述第一非根转发设备上的表项存贮资源,有助于减轻基于SDN的数据中心网络中控制通道的压力,以及进一步提高了转发查找的性能、降低了设备成本。
[0092]实施例五
[0093]请参考图6,本发明的一个实施例提供一种转发表项处理和报文转发的系统600,应用于控制转发分离的网络,其特征在于,包括:控制器601、根转发设备602和非根转发设备 603 ;
[0094]所述控制器601,包括:
[0095]实施例三中所述的控制器;
[0096]所述非根转发设备603,包括:
[0097]实施例四中所述的转发设备;
[0098]所述根转发设备602与所述非根转发设备的结构示意图保持一致,参见图5,具体包括:
[0099]接收单元501,用于接收第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;
[0100]存储单元502,用于保存所述第三转发表项和所述第四转发表项;
[0101]转发单元503,用于接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第三转发表项的所述第一匹配字段,则对所述数据报文执行所述第三操作,丢弃所述数据报文;如果确定接收到的所述数据报文匹配所述第四转发表项的所述第二匹配字段,则对所述数据报文执行所述第四操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
[0102]进一步,可选地,所述根转发设备602还包括:
[0103]所述接收单元501接收控制器发送的第六转发表项,所述第六转发表项包括第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作;
[0104]所述存储单元502保存所述第六转发表项;
[0105]所述转发单元503接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第六转发表项的所述第三匹配字段,则对所述数据报文执行所述第六操作,从指向所述第二端点方向的出接口转发出去。
[0106]值得说明的是,本发明实施例五提供的控制器601、非根转发设备603和根转发设备602的各功能单元,是基于实施例一至二提供的方法的具体实现和实施例三至四装置的组合和扩展,术语的定义和解决的问题与实施例一至四保持一致,此处不再赘述。
[0107]本发明实施例五提供的系统,通过实施例三描述的所述控制器600和实施例四描述的所述非根转发设备602,以及根转发设备602的组合,实现了计算所述第一树型拓扑、生成上行和下行转发表项并下发到转发设备上,指导转发设备进行转发。本发明实施例有助于减少存储在所述第一非根转发设备上的转发表项,节约转发设备上的表项存贮资源,有助于减轻基于SDN的数据中心网络中控制通道的压力,以及进一步提高了转发查找的性能、降低了设备成本。
[0108]实施例六
[0109]请参考图7,本发明的一个实施例提供一种控制设备700,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器704、存储器706、通信接口 702和总线708。处理器704、存储器706和通信接口 702通过总线708连接并完成相互间的通信。
[0110]所述总线708可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为 EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
[0111]存储器706用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0112]处理器704可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Applicat1n Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0113]通信接口 702,用于执行实施例三中所述控制器将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上的操作。
[0114]可选地,所述通信接口 702,还用于执行实施例三中所述控制器将所述第三转发表项和所述第四转发表项发送到所述根转发设备上的操作。
[0115]进一步,可选地,所述通信接口 702,还用于执行实施例三中所述控制器将所述第五转发表项发送到所述非根转发设备上的操作。
[0116]进一步,可选地,所述通信接口 702,还用于执行实施例三中所述控制器将所述第六转发表项发送到所述根转发设备的操作。
[0117]存储器706,用于存储指令。
[0118]处理器704,用于读取存储器706中存储的指令,从而执行实施例三中控制器计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑的操作,以及执行为非根转发设备生成第一转发表项和第二转发表项的操作。
[0119]可选地,所述处理器704,还执行为所述根转发设备生成第三转发表项和第四转发表项的操作。
[0120]进一步,可选地,所述处理器704,还执行为所述非根转发设备生成第五转发表项的操作。
[0121]进一步,可选地,所述处理器704,还执行为所述根转发设备生成第六转发表项的操作。
[0122]实施例七
[0123]请参考图8,本发明的一个实施例提供一种转发设备800,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器804、存储器806、通信接口 802和总线808。处理器804、存储器806和通信接口 802通过总线808连接并完成相互间的通信。
[0124]所述总线808可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为 EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
[0125]存储器806用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0126]处理器804可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Applicat1n Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0127]处理器804可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Applicat1n Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0128]通信接口 802,用于执行实施例四中接收控制器发送的第一转发表项和第二转发表项的操作。
[0129]可选地,通信接口 802,还用于执行实施例四中接收所述控制器发送的第五转发表项的操作。
[0130]存储器806,用于存储图5中保存单元520中保存的转发表项;
[0131]可选的,所述存储器806还用于存储指令。
[0132]处理器804,用于读取存储器806中存储的转发表项和指令,从而执行实施例四中转发单元503所执行的操作。
[0133]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory, ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0134]最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。
【权利要求】
1.一种转发表项处理的方法,其特征在于,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备,所述方法包括: 所述控制器根据指定的根转发设备和指定的第一虚拟局域网标识VLAN ID,计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑; 所述控制器为非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备; 所述控制器将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上。
2.根据权利要求1所述的方法,其特征在于,还包括: 所述控制器为所述根转发设备生成第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作; 所述控制器将所述第三转发表项和所述第四转发表项发送到所述根转发设备上。
3.根据权利要求1或2所述的方法,其特征在于,还包括: 第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述控制器还为所述非根转发设备生成第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述控制器将所述第五转发表项发送到所述非根转发设备上。
4.根据权利要求1至3任一所述的方法,其特征在于,还包括: 所述控制器还为所述根转发设备生成第六转发表项,所述第六转发表项包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述控制器将所述第六转发表项发送到所述根转发设备。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一端点是虚拟机VM或者服务器,或者,所述第二端点是VM或者服务器。
6.一种报文转发的方法,其特征在于,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器、非根转发设备和根转发设备,所述非根转发设备和根转发设备接受所述控制器的控制,所述根转发设备是第一虚拟局域网标识VLAN ID对应的第一树型拓扑的树根,所述方法包括: 所述非根转发设备接收控制器发送的第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备; 所述非根转发设备保存所述第一转发表项和所述第二转发表项; 所述非根转发设备接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第一转发表项的所述第一匹配字段,则对所述数据报文执行所述第一操作,从指向根转发设备方向的出接口转发出去;如果确定接收到的所述数据报文匹配所述第二转发表项的所述第二匹配字段,则对所述数据报文执行所述第二操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
7.根据权利要求6所述的方法,其特征在于,还包括: 第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述非根转发设备接收控制器发送的第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述非根转发设备保存所述第五转发表项; 所述非根转发设备接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第五转发表项的所述第三匹配字段,则对所述数据报文执行所述第五操作,从指向所述第二端点方向的出接口转发出去。
8.根据权利要求6或7所述的方法,其特征在于,所述第一端点是虚拟机VM或者服务器,或者,所述第二端点是VM或者服务器。
9.一种控制器,其特征在于,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备,包括: 计算单元,用于根据指定的根转发设备和指定的第一虚拟局域网标识VLAN ID,计算以所述根转发设备为根的所述第一 VLAN ID对应的第一树型拓扑; 生成单元,用于为非根转发设备生成第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备; 发送单元,用于将所述第一转发表项和所述第二转发表项发送到所述非根转发设备上。
10.根据权利要求9所述的控制器,其特征在于, 所述生成单元,还为所述根转发设备生成第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作; 所述发送单元还将所述第三转发表项和所述第四转发表项发送到所述根转发设备上。
11.根据权利要求9或10所述的控制器,其特征在于,还包括: 第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述生成单元为所述非根转发设备生成第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一 VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述发送单元将所述第五转发表项发送到所述非根转发设备上。
12.根据权利要求9至11任一所述的控制器,其特征在于,还包括: 所述生成单元为所述根转发设备生成第六转发表项,所述第六转发表项包括所述第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述发送单元将所述第六转发表项发送到所述根转发设备。
13.一种非根转发设备,其特征在于,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器、非根转发设备和根转发设备,所述非根转发设备和根转发设备接受所述控制器的控制,所述根转发设备是第一 VLAN ID对应的第一树型拓扑的树根,所述非根转发设备包括: 接收单元,用于接收控制器发送的第一转发表项和第二转发表项,所述第一转发表项包括第一匹配字段和第一操作,所述第一匹配字段为通配符,所述第一操作用于指示所述非根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行从指向根转发设备方向的出接口转发出去的操作,所述其它转发表项是指在所述转发表中除所述第一转发表项以外的其它转发表项;所述第二转发表项包括第二匹配字段和第二操作,所述第二匹配字段至少包括所述第一 VLAN ID和第一目的媒体访问控制MAC地址,所述第一目的MAC地址为所述第一端点的MAC地址,所述第二操作用于指示所述非根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作;所述第一端点接入所述第一树型拓扑,所述非根转发设备是从所述第一端点到所述根转发设备形成的转发路径上的一个转发设备; 存储单元,用于保存所述第一转发表项和所述第二转发表项; 转发单元用于接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第一转发表项的所述第一匹配字段,则对所述数据报文执行所述第一操作,从指向根转发设备方向的出接口转发出去;如果确定接收到的所述数据报文匹配所述第二转发表项的所述第二匹配字段,则对所述数据报文执行所述第二操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
14.根据权利要求13所述的转发设备,其特征在于,还包括: 第二端点接入所述第一树型拓扑,所述非根转发设备是从所述第二端点到所述根转发设备形成的转发路径上的一个转发设备,所述接收单元接收控制器发送的第五转发表项,所述第五转发表项包括第三匹配字段和第五操作,所述第三匹配字段至少包括所述第一VLAN ID和第二目的MAC地址,所述第二目的MAC地址为所述第二端点的MAC地址,所述第五操作用于指示所述非根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述存储单元保存所述第五转发表项; 所述转发单元接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第五转发表项的所述第三匹配字段,则对所述数据报文执行所述第五操作,从指向所述第二端点方向的出接口转发出去。
15.一种转发表项处理和报文转发的系统,应用于控制转发分离的网络,其特征在于,包括:权利要求9-12任一所述的控制器和权利要求13-14任一所述的非根转发设备和根转发设备,所述根转发设备具体包括: 接收单元,用于接收第三转发表项和第四转发表项,所述第三转发表项包括所述第一匹配字段和第三操作,所述第一匹配字段为通配符,所述第三操作用于指示所述根转发设备对没有匹配上转发表中的其它转发表项的数据报文,执行丢弃操作,所述其它转发表项是指在所述转发表中除所述第三转发表项以外的其它转发表项;所述第四转发表项包括所述第二匹配字段和第四操作,所述第四操作用于指示所述根转发设备对与所述第二匹配字段相匹配的数据报文,执行从指向第一端点方向的出接口转发出去的操作; 存储单元,用于保存所述第三转发表项和所述第四转发表项; 转发单元,用于接收其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第三转发表项的所述第一匹配字段,则对所述数据报文执行所述第三操作,丢弃所述数据报文;如果确定接收到的所述数据报文匹配所述第四转发表项的所述第二匹配字段,则对所述数据报文执行所述第四操作,从指向第一端点方向的出接口转发出去;所述其它设备是指所述转发设备,或者第一端点,或者第二端点。
16.根据权利要求15所述的系统,其特征在于,所述根转发设备具体还包括: 所述接收单元接收控制器发送的第六转发表项,所述第六转发表项包括第三匹配字段和第六操作,所述第六操作用于指示所述根转发设备对与所述第三匹配字段相匹配的数据报文,执行从指向所述第二端点方向的出接口转发出去的操作; 所述存储单元保存所述第六转发表项; 所述转发单元接收所述其它设备发来的数据报文,如果确定接收到的所述数据报文匹配所述第六转发表项的所述第三匹配字段,则对所述数据报文执行所述第六操作,从指向所述第二端点方向的出接口转发出去。
【文档编号】H04L12/757GK104394083SQ201410486044
【公开日】2015年3月4日 申请日期:2014年9月22日 优先权日:2014年9月22日
【发明者】张晓益, 李华, 倪辉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1