CN107005479B - 软件定义网络sdn中数据转发的方法、设备和系统 - Google Patents
软件定义网络sdn中数据转发的方法、设备和系统 Download PDFInfo
- Publication number
- CN107005479B CN107005479B CN201480083893.9A CN201480083893A CN107005479B CN 107005479 B CN107005479 B CN 107005479B CN 201480083893 A CN201480083893 A CN 201480083893A CN 107005479 B CN107005479 B CN 107005479B
- Authority
- CN
- China
- Prior art keywords
- switching device
- path
- forwarding
- data
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000004891 communication Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000004220 aggregation Methods 0.000 description 55
- 230000002776 aggregation Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 19
- 239000010410 layer Substances 0.000 description 15
- 230000009471 action Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000004806 packaging method and process Methods 0.000 description 7
- 238000005304 joining Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种SDN中数据转发的方法和设备,通过确定对所述数据信息对应的数据进行转发的第一路径,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,使得所述第二交换设备能够在接收到数据之前接收到对数据转发的转发规则,并根据接收到的数据和路径信息实现数据转发。由于第二交换设备是在接收到需要转发的数据之前接收到第二转发规则,使得第二交换设备在进行数据转发时能够重复适用所述第二转发规则对数据进行转发,节省了第二交换设备保存和适用转发规则带来的资源消耗,从而提高了交换设备的利用率,也节省了控制设备与交换设备之间因多次下发转发规则所占用的带宽。
Description
技术领域
本发明涉及信息技术领域,特别涉及软件定义网络SDN中数据转发的方法、设备和系统。
背景技术
随着技术的不断发展,数据中心的建设面临着各种严峻的挑战,如何提升Dc资源利用率,如何降低DC能耗与成本等都成为关注的问题。
虚拟化为新一代数据中心的构建与发展指明了方向。虚拟化技术帮助数据中心整合硬件资源,建立虚拟资源池,实现资源全局共享,根据业务按需分配,从而提升系统资源的综合利用率,节约设备能耗。
数据中心虚拟化要求网络虚拟化。传统网络模式在数据中心虚拟化网络中显得捉襟见肘。SDN(Software Defined Network,软件定义网络)将网络控制与转发平面分离的理念与虚拟化网络不谋而合。
SDN作为一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制。
OpenFlow协议随着一系列版本演进,不断规范,趋于成熟,并形成标准。OpenFlow支持按任意字段组合查询流表,并提出了多级流表的概念,流表的大小、数量已经成为现有芯片支持OpenFlow亟待突破的瓶颈。
数据中心网络中,每实现一对端到端通信,涉及到的交换设备便新增一条流表项,网络边缘的虚拟交换设备限于通信端数量,流表数量对交换设备和控制设备影响不大,处于网络骨干层的交换设备却随下层交换设备流表项增多而不断膨胀,大量的流表将占用SDN中控制设备和骨干层交换设备的硬件资源,影响到SDN中设备的性能和网络性能。
发明内容
本发明实施例提供一种SDN中数据转发的方法、设备和系统,以解决现有技术中因流表项过多带来的SDN中设备和网络性能不高的问题。
为达到上述目的,本发明实施例采用的技术方案是:
第一方面,本发明实施例提供了一种软件定义网络SDN中数据转发方法,包括:
接收所述SDN中第一交换设备发送的第一转发规则请求,根据所述第一转发规则请求中携带的数据信息确定对所述数据信息对应的数据进行转发的第一路径;
下发用于转发所述数据的第一转发规则给所述第一交换设备,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,所述第一路径的信息是依据所述第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,并能够使所述第二交换设备根据所述第一路径的信息将所述数据转发给所述第一路径上与所述第二交换设备直接相连的交换设备。
在第一方面的第一种可能的实现方式中,结合第一方面,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,所述第二转发规则是依据接收到的路径信息对包含所述路径信息的数据重复转发的转发规则。
在第一方面的第二种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式,所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
在第一方面的第三种可能的实现方式中,结合第一方面至第一方面的第二种可能的实现方式中的任一种实现方式,所述第一路径的信息嵌套在多协议标签交换MPLS消息中下发给所述第一交换设备。
在第一方面的第四种可能的实现方式中,结合第一方面至第一方面的第三种可能的实现方式中的任一种实现方式,所述方法还包括:
创建组播组标识,所述组播组标识为唯一标识组播组的标识,所述组播组包含至少两个组播组成员,实现所述组播组成员间数据转发的交换设备包括所述第一交换设备和所述第二交换设备;
相应的,所述第一转发规则和所述第二转发规则中还包括所述组播组标识。
在第一方面的第五种可能的实现方式中,结合第一方面的第四种可能的实现方式,实现所述组播组成员间数据转发的交换设备还包括第三交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;
所述方法还包括:
向所述第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
在第一方面的第六种可能的实现方式中,结合第一方面至第一方面的第三种可能的实现方式中的任一种实现方式,所述方法还包括:
设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;其中,与所述具备特定服务能力的设备直接连接的交换设备包括第四交换设备;
所述方法还包括:
生成第四转发规则并下发给所述第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则。
在第一方面的第七种可能的实现方式中,结合第一方面的第六种可能的实现方式,所述方法还包括:
接收第五交换设备发送的第五转发规则请求,根据所述第五转发规则请求中携带的数据的信息确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
下发用于转发所述数据的第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含服务链路径的信息的所述数据,并发送给第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收到的,并能够使所述第六交换设备根据服务链路径的信息将所述数据转发给所述服务链路径上其它交换设备;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
第二方面,本发明实施例还提供了一种软件定义网络SDN中数据转发方法,包括:
第一交换设备根据接收到的数据向控制设备请求转发规则;
所述第一交换设备接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给与所述第一交换设备直连的第二交换设备,所述第一路径的信息是根据转发所述数据的第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;
所述第二交换设备接收所述第一交换设备发送的所述数据,所述第二交换设备根据所述第一路径的信息以及第二转发规则,向与所述第二交换设备直接相连的交换设备发送所述数据,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,所述第二交换设备能够根据所述第一路径的信息以及所述第二转发规则,将所述数据转发给与所述第二交换设备直接相连的交换设备,与所述第二交换设备直接相连的交换设备是所述第一路径上的交换设备。
在第二方面的第一种可能的实现方式中,所述方法还包括:
所述第二交换设备将所述第一路径的信息发送给与所述第二交换设备直接相连的交换设备,或所述第二交换设备将所述第一路径上与所述第二交换设备直接相连的交换设备到第n交换设备之间的转发路径的第二路径的信息发送给与所述第二交换设备直接相连的交换设备,所述第二路径的信息是实现所述数据转发的路径上交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,其中,n为整数且大于等于3。
在第二方面的第二种可能的实现方式中,结合第一方面,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,包含所述第二转发规则的所述第二转发规则是依据路径信息能够对包含路径信息的数据重复转发的转发规则。
在第二方面的第三种可能的实现方式中,结合第二方面至第二方面的第二种可能的实现方式中的任一种实现方式,
所述方法还包括:
第i交换设备接收第i-1交换设备发送的第i-1路径信息和所述数据,所述第i-1路径信息是根据实现所述数据转发的第i交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;其中,i为整数且大于等于3;
所述第i交换设备根据所述第i-1路径信息,向所述第i+1交换设备发送所述数据和第i路径信息,所述第i路径信息是根据实现所述数据转发的所述第i+1交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;
所述第i交换设备、所述第i-1交换设备以及所述第i+1交换设备是所述第一路径上的交换设备。
在第二方面的第四种可能的实现方式中,结合第二方面的第三种可能的实现方式,所述方法还包括:
所述第i交换设备根据所述第i-1路径信息,向第i+1交换设备发送所述数据和第i路径信息具体包括:
所述第i交换设备从所述第i-1路径信息中剥离所述第i交换设备的转发路径的唯一标识,生成所述第i路径信息;
通过所述第i交换设备的转发路径唯一标识,查询所述第i交换设备保存的第i转发规则,确定所述第i交换设备的出端口;
所述第i交换设备通过所述第i交换设备的出端口向第i+1交换设备发送所述数据和第i路径信息。
在第二方面的第五种可能的实现方式中,结合第二方面至第二方面的第四种可能的实现方式中的任一种实现方式,
所述第一路径信息,第二路径信息和第i路径信息采用多协议标签交换MPLS标签嵌套封装,一个MPLS标签头填充一个交换设备的转发路径唯一标识。
在第二方面的第六种可能的实现方式中,结合第二方面至第二方面的第五种可能的实现方式中的任一种实现方式,
所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
在第二方面的第七种可能的实现方式中,结合第二方面至第二方面的第六种可能的实现方式中的任一种实现方式,
所述第一交换设备、所述第二交换设备和所述第三交换设备是同一组播组的成员,其中,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备,所述组播组的成员发送给其它成员的数据,能够被所述组播组的其它成员接收到;
所述方法还包括:
向所述第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
在第二方面的第八种可能的实现方式中,结合第二方面至第二方面的第六种可能的实现方式中的任一种实现方式,所述方法还包括:
第五交换设备向所述控制设备发送第五转发规则请求,并接收所述控制设备返回的到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备,所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备间的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,所述服务链中具备特定服务能力的设备具有唯一标识该设备的标识,所述服务序列是用所述具备特定服务能力的设备的唯一标识组合而成的序列;
所述第五交换设备将所述数据以及所述服务链路径信息封装后转发给所述第七交换设备或所述服务链路径上的第六交换设备;
所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收的;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
第三方面,本发明实施例还提供了一种软件定义网络SDN中的控制设备,包括:所述控制设备包括网络通信单元、控制消息处理单元、转发路径确定单元和转发规则管理单元;
所述网络通信单元,用于接收SDN中的第一交换设备发送的第一转发规则请求,并将所述第一转发规则请求发送给所述控制消息处理单元;
所述控制消息处理单元,用于解析所述第一转发规则请求,将解析后的所述第一转发规则请求发送给所述转发路径确定单元,并将所述转发路径确定单元确定的第一路径的信息,以及所述转发规则管理单元生成的第一转发规则通过所述网络通信单元发送给所述第一交换设备,将所述转发规则管理单元生成的第二转发规则通过所述网络通信单元发送给所述第一路径上的第二交换设备;所述第一路径的信息是依据所述第一路径上交换设备的顺序,用交换设备之间转发路径的唯一标识表示的序列,所述第一路径的信息能够随所述数据转发给所述第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及所述第二转发规则对所述数据进行转发;
所述转发路径确定单元,用于根据所述控制消息确定单元发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息对应的数据转发的第一路径;
所述转发规则管理单元,用于生成所述第一转发规则和所述第二转发规则,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,并能够使所述第二交换设备根据所述第一路径的信息将所述数据转发给所述第一路径上与所述第二交换设备直接相连的交换设备。
在第三方面的第一种可能的实现方式中,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,所述第二转发规则是依据接收到的路径信息对包含所述路径信息的数据重复转发的转发规则。
在第三方面的第二种可能的实现方式中,结合第三方面至第三方面的第一种可能的实现方式中的任一种实现方式,所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
在第三方面的第三种可能的实现方式中,结合第三方面至第三方面的第二种可能的实现方式中的任一种实现方式,所述第一路径的信息嵌套在多协议标签交换MPLS消息中下发给所述第一交换设备。
在第三方面的第四种可能的实现方式中,结合第三方面至第三方面的第三种可能的实现方式中的任一种实现方式,所述控制设备还包括标识管理单元和拓扑管理单元:
所述标识管理单元,用于分配和回收所述SDN中交换设备之间转发路径的唯一标识;
所述拓扑管理单元,用于根据所述SDN网络拓扑的变换,更新所述SDN的网络拓扑信息;
相应的,所述转发路径确定单元根据所述拓扑管理单元中记录的网络拓扑信息,以及所述标识管理单元分配的交换设备之间转发路径的唯一标识,结合所述控制消息确定单元发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息转发的第一路径。
在第三方面的第五种可能的实现方式中,结合第三方面至第三方面的第四种可能的实现方式中的任一种实现方式,所述控制设备还包括组播组管理单元,
所述组播组管理单元,用于为所述SDN中的组播组分配组播组标识,所述组播组标识唯一标识一个组播组,所述组播组包含至少两个组播组成员,组播组中一个成员发送的数据能够被组播组中其它成员接收到。
在第三方面的第六种可能的实现方式中,结合第三方面的第五种可能的实现方式,所述转发规则管理单元,还用于向第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述第三交换设备是与所述组播组的成员直接相连的交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
在第三方面的第七种可能的实现方式中,结合第三方面至第三方面的第四种可能的实现方式中的任一种实现方式,所述控制设备还包括:
服务链设定单元,用于设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,并为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;
所述转发规则管理单元,还用于生成第四转发规则并下发给第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则,所述第四交换设备是所述服务链中与具备特定服务能力的设备直接连接的交换设备。
在第三方面的第八种可能的实现方式中,结合第三方面的第七种可能的实现方式中的任一种实现方式,所述网络通信单元还用于接收第五交换设备发送的第五转发规则请求;
所述控制消息处理单元,还用于解析所述第五转发规则请求,并将解析后的所述第五转发规则请求发送给所述转发路径确定单元;
所述转发路径确定单元,还用于根据所述控制消息确定单元发送的解析后的所述第五转发规则请求,确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
所述转发规则管理单元,还用于下发第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含服务链路径的信息的所述数据,并发送给第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径的信息的数据之前接收到的,并能够使所述第六交换设备根据所述服务链路径信息将所述数据转发给服务链路径上其它交换设备;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
第四方面,本发明实施例还提供了一种软件定义网络SDN中数据转发系统,包括第一交换设备和第二交换设备,所述第一交换设备与所述第二交换设备直接相连,
所述第一交换设备,用于根据接收到的数据向控制设备请求转发规则,接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给所述第二交换设备,所述第一路径的信息是根据转发所述数据的第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;
所述第二交换设备,用于接收第一交换设备发送的所述数据,所述第二交换设备根据所述第一路径的信息以及第二转发规则,向与所述第二交换设备直接相连的交换设备发送所述数据,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,所述第二交换设备能够根据所述第一路径的信息以及所述第二转发规则,将所述数据转发给与所述第二交换设备直接相连的交换设备,与所述第二交换设备直接相连的交换设备是所述第一路径上的交换设备。
在第四方面的第一种可能的实现方式中,所述第二交换设备,还用于将所述第一路径的信息发送给与所述第二交换设备直接相连的交换设备,或所述第二交换设备将所述第一路径上与所述第二交换设备直接相连的交换设备到第n交换设备之间的转发路径的第二路径的信息,发送给与所述第二交换设备直接相连的交换设备,所述第二路径的信息是实现所述数据转发的路径上交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,其中,n为整数且大于等于3。
在第四方面的第二种可能的实现方式中,结合第四方面至第四方面的第一种可能的实现方式中的任一种实现方式,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,包含所述第二转发规则的所述第二转发规则是依据路径信息能够对包含路径信息的数据重复转发的转发规则。
在第四方面的第三种可能的实现方式中,结合第四方面至第四方面的第二种可能的实现方式中的任一种实现方式,所述数据转发系统还包括第i交换设备、第i-1交换设备和第i+1交换设备,所述第i交换设备、所述第i-1交换设备以及所述第i+1交换设备是所述第一路径上的交换设备;
所述第i交换设备,用于接收所述第i-1交换设备发送的第i-1路径信息和所述数据,所述第i-1路径信息是根据实现所述数据转发的所述第i交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;其中,i为整数且大于等于3;并根据所述第i-1路径信息,向所述第i+1交换设备发送所述数据和第i路径信息,所述第i路径信息是根据实现所述数据转发的所述第i+1交换设备到第n交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列。
在第四方面的第四种可能的实现方式中,结合第四方面的第三种可能的实现方式,所述第i交换设备根据所述第i-1路径信息,向第i+1交换设备发送所述数据和第i路径信息具体包括:
所述第i交换设备从所述第i-1路径信息中剥离所述第i交换设备的转发路径的唯一标识,生成所述第i路径信息;
通过所述第i交换设备的转发路径唯一标识,查询所述第i交换设备保存的第i转发规则,确定所述第i交换设备的出端口;
所述第i交换设备通过所述第i交换设备的出端口向第i+1交换设备发送所述数据和第i路径信息。
在第四方面的第五种可能的实现方式中,结合第四方面至第四方面的第四种可能的实现方式中的任一种实现方式,所述第一路径信息,第二路径信息和第i路径信息采用多协议标签交换MPLS标签嵌套封装,一个MPLS标签头填充一个交换设备的转发路径唯一标识。
在第四方面的第六种可能的实现方式中,结合第四方面至第四方面的第五种可能的实现方式中的任一种实现方式,
所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
在第四方面的第七种可能的实现方式中,结合第四方面至第四方面的第六种可能的实现方式中的任一种实现方式,所述第一交换设备、所述第二交换设备和所述第三交换设备是同一组播组的成员,其中,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备,所述组播组的成员发送给其它成员的数据,能够被所述组播组的其它成员接收到;
所述第三交换设备,用于接收所述控制设备发送的包含组播组标识的第三转发规则,根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
在第四方面的第八种可能的实现方式中,结合第四方面至第四方面的第六种可能的实现方式中的任一种实现方式,所述SDN中数据转发系统还包括第五交换设备、第六交换设备和第七交换设备;
第五交换设备,用于向所述控制设备发送第五转发规则请求,并接收所述控制设备返回的到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备,所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备间的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,所述服务链中具备特定服务能力的设备具有唯一标识该设备的标识,所述服务序列是用所述具备特定服务能力的设备的唯一标识组合而成的序列;
所述第五交换设备将所述数据以及所述服务链路径信息转发给所述第七交换设备或所述服务链路径上的第六交换设备;
所述第六交换设备,用于根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收的;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
在第四方面的第九种可能的实现方式中,结合第四方面至第四方面的第八种可能的实现方式中的任一种实现方式,所述SDN中数据转发系统还包括控制设备,所述控制设备包括网络通信单元、控制消息处理单元、转发路径确定单元和转发规则管理单元;
所述网络通信单元,用于接收所述第一交换设备发送的第一转发规则请求,并将所述第一转发规则请求发送给所述控制消息处理单元;
所述控制消息处理单元,用于解析所述第一转发规则请求,将解析后的所述第一转发规则请求发送给所述转发路径确定单元,并将所述转发路径确定单元确定的第一路径的信息以及所述转发规则管理单元生成的第一转发规则通过所述网络通信单元发送给所述第一交换设备,将所述转发规则管理单元生成的第二转发规则通过所述网络通信单元发送给所述第一路径上的第二交换设备;所述第一路径的信息是依据所述第一路径上交换设备的顺序,用交换设备之间转发路径的唯一标识表示的序列,所述第一路径的信息能够随所述数据转发给所述第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及所述第二转发规则对所述数据进行转发;
所述转发路径确定单元,用于根据所述控制消息确定单元发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息对应的数据转发的第一路径;
所述转发规则管理单元,用于生成所述第一转发规则和所述第二转发规则。
在第四方面的第十种可能的实现方式中,结合第四方面的第九种可能的实现方式,所述控制设备还包括组播组管理单元,
所述组播组管理单元,用于为所述SDN中的组播组分配组播组标识,所述组播组标识唯一标识一个组播组,所述组播组包含至少两个组播组成员,组播组中一个成员发送的数据能够被组播组中其它成员接收到。
在第四方面的第十一种可能的实现方式中,结合第四方面的第十种可能的实现方式,所述转发规则管理单元,还用于向第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述第三交换设备是与所述组播组的成员直接相连的交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
在第四方面的第十二种可能的实现方式中,结合第四方面的第九种可能的实现方式至第四方面的第十一种可能的实现方式中的任一种实现方式,所述控制设备还包括:
服务链设定单元,用于设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,并为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;
所述转发规则管理单元,还用于生成第四转发规则并下发给第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据下转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则,所述第四交换设备是所述服务链中与具备特定服务能力的设备直接连接的交换设备。
在第四方面的第十三种可能的实现方式中,结合第四方面的第十二种可能的实现方式,所述网络通信单元还用于接收第五交换设备发送的第五转发规则请求;
所述控制消息处理单元,还用于解析所述第五转发规则请求,并将解析后的所述第五转发规则请求发送给所述转发路径确定单元;
所述转发路径确定单元,还用于根据所述控制消息确定单元发送的解析后的所述第五转发规则请求,确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
所述转发规则管理单元,还用于下发第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含所述服务链路径信息的所述数据,并发送给所述第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收到的,并能够使所述第六交换设备根据所述服务链路径信息将所述数据转发给服务链路径上其它交换设备;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
本发明实施例提供的方法和设备,通过确定对所述数据信息对应的数据进行转发的第一路径,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,使得所述第二交换设备能够在接收到数据之前接收到对数据转发的转发规则,并根据接收到的数据和路径信息实现数据转发。控制设备不需要每次对第二交换设备转发数据都下发一次转发规则,第二交换设备不需要在每次转发数据时都接收转发规则,不仅节省了第二交换设备因保存和适用转发规则带来的资源消耗,也节省了控制设备在下发转发规则时的资源消耗,提高了设备的利用率,同时也节省了控制设备与交换设备之间因多次下发转发规则所占用的带宽。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种SDN中数据转发方法的流程示意图;
图2为本发明实施例另一种SDN中数据转发方法的流程示意图;
图3为本发明实施例一种SDN数据转发方法在数据中心实现的网络架构示意图;
图4为本发明实施例SDN中实现数据转发的方法具体实现的流程示意图;
图5为本发明实施例在数据中心网络拓扑发生变化时处理方法流程图;
图6为本实施例中转发路径的可视化呈现图;
图7为本发明实施例关于组播组实现数据或业务报文转发的实现方式网络架构图;
图8为本发明实施例中租户在数据中心内部署服务链的一种实现方式示意图;
图9为本发明实施例一种SDN中的控制设备的结构示意图;
图10为本发明实施例一种SDN中的控制设备另一种实现方式的结构示意图;
图11本发明实施例一种SDN中数据转发系统结构示意图;
图12本发明实施例一种SDN中数据转发系统另一种实现方式结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
为解决现有技术中处于网络骨干层的交换设备流表项过多,占用SDN中控制设备和骨干层交换设备的硬件资源,带来的SDN中设备的性能和网络性能下降的问题,本发明实施例提供了一种SDN中数据转发的方法。如图1所示,图1为本发明实施例一种SDN中数据转发方法的流程示意图,包括:
步骤100:接收所述SDN中第一交换设备发送的第一转发规则请求,根据所述第一转发规则请求中携带的数据信息确定对所述数据信息对应的数据进行转发的第一路径;
步骤102:下发用于转发所述数据的第一转发规则给所述第一交换设备,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,所述第一路径的信息是依据所述第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的并能够使所述第二交换设备根据所述第一路径的信息将所述数据转发给所述第一路径上与所述第二交换设备直接相连的交换设备。
上述方法通过确定对所述数据信息对应的数据进行转发的第一路径,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,使得所述第二交换设备能够在接收到数据之前接收到对数据转发的转发规则,并根据接收到的数据和路径信息实现数据转发。控制设备不需要每次对第二交换设备转发数据都下发一次转发规则,节省了控制设备在下发转发规则时的资源消耗,提高了设备的利用率,同时也节省了控制设备与交换设备之间因多次下发转发规则所占用的带宽。
上述步骤100和步骤102可以由图3中控制器机群中的控制设备来实现,具体可以参考本发明实施例图3中的实现方式。相应的,所述第一交换设备可以是图3中的虚拟交换机1,所述第二交换设备可以是图3中的接入交换机1。
作为一种可选的实现方式,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,所述第二转发规则是依据接收到的路径信息对包含所述路径信息的数据重复转发的转发规则。与所述第二交换设备直接相连的交换设备之间的拓扑关系发生变化时,所述第二交换设备到与其直接相连的交换设备之间的转发规则应随之发生改变。因此,在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后,生成第二转发规则并发送给第二交换设备,使得第二交换设备依据第二转发规则进行数据转发时能够依据最新的网络拓扑转发,在节省设备资源消耗的同时提高了数据转发的准确率。
可选的,本发明实施例中,所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
在具体实现时,所述第一路径的信息可以嵌套在多协议标签交换MPLS消息中下发给所述第一交换设备。
本发明实施例的所述方法,还可以包括:
创建组播组标识,所述组播组标识为唯一标识组播组的标识,所述组播组包含至少两个组播组成员,实现所述组播组成员间数据转发的交换设备包括所述第一交换设备和所述第二交换设备;
相应的,所述第一转发规则和所述第二转发规则中还包括所述组播组标识。
实现所述组播组成员间数据转发的交换设备还包括第三交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;所述方法还包括:
向所述第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
上述第三交换设备,是组播组中汇聚点所在的交换设备,通过该第三交换设备有两条以上的路径到达组播组的成员。上述方法对该汇聚点所在的交换设备下发第三转发规则,使得所述第三交换设备封装包含两条以上路径的路径信息的所述数据并发送,能够实现在节省SDN网络中设备资源的前提下,提高组播组中数据转发的效率和可靠性。该第三交换设备可以是图7所示的接入交换机1时,所述下一汇聚交换设备是汇聚交换机2;其实现组播组数据报文的转发可以参考图7所示的实施例来实现。
在具体实现中,本发明实施例提供的SDN中数据转发方法还包括:
设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;其中,与所述具备特定服务能力的设备直接连接的交换设备包括第四交换设备;
所述方法还包括:
生成第四转发规则并下发给所述第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则。
可选的,所述方法还包括:
接收第五交换设备发送的第五转发规则请求,根据所述第五转发规则请求中携带的数据的信息确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
下发用于转发所述数据的第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含服务链路径的信息的所述数据,并发送给第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收到的并能够使所述第六交换设备根据服务链路径的信息将所述数据转发给所述服务链路径上其它交换设备;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。以图8所示的服务链为例,本发明实施例中的第五交换设备可以接入交换机1,所述第七交换设备可以是接入交换机3,所述第六交换设备可以是核心交换机;在服务链场景下实现数据报文的转发可以参考图8所示的实施例。
上述通过下发用于转发所述数据的第五转发规则给所述第五交换设备,能够实现在应用服务链的场景下,也能够提升SDN中网络设备的资源利用率,当数据转发需要通过不同的特定服务设备时,按照服务链中各特定服务设备的先后顺序实现数据的转发,在数据转发过程中,转发路径上的交换设备,例如上述实现方式中的第六交换设备,能够依据在接收到数据之前接收到的转发规则对数据进行转发,不需要每次接收到数据时都获取转发规则,节省了控制设备的资源开销,在实现服务链服务的同时提高了SDN中设备的资源利用率。
参考图2,图2为本发明实施例另一种SDN中数据转发方法的流程示意图,包括:
步骤200:第一交换设备根据接收到的数据向控制设备请求转发规则;
步骤202:所述第一交换设备接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给与所述第一交换设备直连的第二交换设备,所述第一路径的信息是根据转发所述数据的第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;
步骤204:所述第二交换设备接收所述第一交换设备发送的所述数据,所述第二交换设备根据所述第一路径的信息以及第二转发规则,向与所述第二交换设备直接相连的交换设备发送所述数据,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,所述第二交换设备能够根据所述第一路径的信息以及所述第二转发规则,将所述数据转发给与所述第二交换设备直接相连的交换设备,与所述第二交换设备直接相连的交换设备是所述第一路径上的交换设备。
图2所示方法中的第一交换设备可以是图3所示实施例中的虚拟交换机1,第二交换设备可以是图3所示实施例中的接入交换机1,第三交换设备可以是图3所示实施例中的汇聚交换机1,具体的实现也可以参考图3所示的实现方式。
上述方法通过第一交换设备接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给与所述第一交换设备直连的第二交换设备,所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,使得所述第二交换设备能够在接收到数据之前接收到对数据转发的转发规则,并根据接收到的数据和路径信息实现数据转发。第二交换设备不需要每次接收到数据后都获取一次转发规则,即不需要每次接收到数据后都获取一次流表进行数据转发,可以重复使用第二转发规则实现数据的转发,节省了第二交换设备进行数据转发时因保存和使用转发规则导致的资源消耗,提高了交换设备的利用率;尤其是对于数据中心骨干层的交换设备,由于转发数据量大,保存与适用大量的转发规则会带来巨大的芯片等资源消耗;通过本实施例提供的方案,能够节省交换设备的资源,使得数据中心网络中的交换设备不需要较高的性能就能实现大量的数据转发,提升了交换设备的竞争力。
作为一种可选的实现方式,本发明实施例中,所述第二交换设备可以将所述第一路径的信息发送给与所述第二交换设备直接相连的交换设备,或所述第二交换设备将所述第一路径上与所述第二交换设备直接相连的交换设备到第n交换设备之间的转发路径的第二路径的信息发送给与所述第二交换设备直接相连的交换设备,所述第二路径的信息是实现所述数据转发的路径上交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,其中,n为整数且大于等于3。即,第二交换设备可以将第一路径的信息全部转发给与其直接相连的、所述第一路径上的实现数据转发的下一个交换设备(第三交换设备),只要所述第一路径上的交换设备接收到所述第一路径的信息后根据交换设备间实现数据转发的唯一标识能够识别出其要转发的下一个交换设备即可;或者所述第二交换设备接收到所述第一路径信息后,剥离所述路径信息中所述第二交换设备的信息,将所述第一路径上,第三交换设备到第n交换设备的路径信息发送给所述第三交换设备。
可选的,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,包含所述第二转发规则的所述第二转发规则是依据路径信息能够对包含路径信息的数据重复转发的转发规则。
本发明实施例中,所述方法还包括:
第i交换设备接收第i-1交换设备发送的第i-1路径信息和所述数据,所述第i-1路径信息是根据实现所述数据转发的第i交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;其中,i为整数且大于等于3;
所述第i交换设备根据所述第i-1路径信息,向所述第i+1交换设备发送所述数据和第i路径信息,所述第i路径信息是根据实现所述数据转发的所述第i+1交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;
所述第i交换设备、所述第i-1交换设备以及所述第i+1交换设备是所述第一路径上的交换设备。
作为一种可选的实现方式,所述第i交换设备根据所述第i-1路径信息,向第i+1交换设备发送所述数据和第i路径信息具体包括:
所述第i交换设备从所述第i-1路径信息中剥离所述第i交换设备的转发路径的唯一标识,生成所述第i路径信息;
通过所述第i交换设备的转发路径唯一标识,查询所述第i交换设备保存的第i转发规则,确定所述第i交换设备的出端口;
所述第i交换设备通过所述第i交换设备的出端口向第i+1交换设备发送所述数据和第i路径信息。
作为具体实现方式的一种,所述第i交换设备可以是图3所示实施例中的核心交换机,第i-1交换设备和第i+1交换设备分别是汇聚交换机1和汇聚交换机2。
上述方法实现所述数据转发路径上的交换设备,都能够根据在接收到需要转发的数据之前接收的转发规则以及数据转发的路径信息,实现数据的转发,不需要每次在数据转发时都获取一次转发规则,节省了控制设备和交换设备的资源开销,提高了SDN中资源的利用率。
作为一种可选的实现方式,所述第一路径信息,第二路径信息和第i路径信息采用多协议标签交换MPLS标签嵌套封装,一个MPLS标签头填充一个交换设备的转发路径唯一标识。所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
对于所述第一交换设备、所述第二交换设备和所述第三交换设备是同一组播组的成员的情况,本发明实施例的方法还包括:
向所述第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。该组播组中交换设备的实现方式,也可以参考图7所示的实施例中的实现方式来实现,即第三交换设备可以是图7中的汇聚点交换机,例如接入交换机1或汇聚交换机2等等;当所述第三交换设备是接入交换机1时,所述下一汇聚交换设备是汇聚交换机2。
通过上述方法,当所述第一交换设备、所述第二交换设备和所述第三交换设备是同一组播组的成员,且所述第三交换设备通过两个以上路径向组播组的成员转发数据时,通过所述第三交换设备封装两条以上路径的信息给组播组成员转发数据时转发路径上的交换设备,能够避免在组播组数据转发中因大量下发转发规则带来的设备资源消耗,提升了SDN中设备资源利用率。
对于需要实现服务链的场景,本发明实施例提供的方法也能够达到提升SDN中设备资源利用率的效果。本发明实施例中的服务链是所述SDN中具备特定服务能力的设备构成的服务序列,所述服务链中具备特定服务能力的设备具有唯一标识该设备的标识,所述服务序列是用所述具备特定服务能力的设备的唯一标识组合而成的序列。作为一种可选的实现方式,上述方法进一步包括:所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第五交换设备向所述控制设备发送第五转发规则请求,并接收所述控制设备返回的到达第七交换设备的服务链路径,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备,所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备间的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
所述第五交换设备将所述数据以及所述服务链路径信息封装后转发给所述第七交换设备或所述服务链路径上的第六交换设备;
所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收的;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。以图8所示的服务链为例,本发明实施例中的第五交换设备可以接入交换机1,所述第七交换设备可以是接入交换机3,所述第六交换设备可以是核心交换机;在服务链场景下实现数据报文的转发可以参考图8所示的实施例。
上述通过所述第五交换设备获取第五转发规则,实现在应用服务链的场景下,也能够提升SDN中网络设备的资源利用率,当数据转发需要通过不同的特定服务设备时,按照服务链中各特定服务设备的先后顺序实现数据的转发,在数据转发过程中,转发路径上的交换设备,例如上述实现方式中的第六交换设备,能够依据在接收到数据之前接收到的转发规则对数据进行转发,不需要每次接收到数据时都获取转发规则,节省了控制设备的资源开销,在实现服务链服务的同时提高了SDN中设备的资源利用率。
图3为本发明实施例一种SDN数据转发方法在DC(Data Center,数据中心)实现的网络架构示意图。如图3所示,接入、汇聚、核心层属于骨干网络,分别对应接入、汇聚、核心交换机。边缘网络是虚拟层,由虚拟交换机构成,通过接入交换机与DC骨干网络相连。
源、目的端虚拟主机分别挂载在虚拟交换机1、2上,二者跨DC骨干网络通信。源、目的主机之间存在一条数据通路:虚拟交换机1-接入交换机1-汇聚交换机1-核心交换机-汇聚交换机2-接入交换机2-虚拟交换机2。报文从源主机发出,经虚拟交换机1,接口2入,接口5出;经接入交换机1,接口7入,接口4出;经汇聚交换机1,接口6入,接口3出;经核心交换机,接口5入,接口9出;经汇聚交换机2,接口8入,接口7出;经接入交换机2,接口6入,接口8出;经虚拟交换机2,接口3入,接口1出;最终抵达目的主机,从而实现数据报文的传输。其中,源端或目的端可以是移动终端(包括但不限于笔记本、手机、平板、掌上电脑、POS机、MP3、导航仪)、固定终端(包括但不限于台式机、打印机、传真机、数投、数字电视)或无线接入终端等设备;虚拟交换机1、接入交换机1、汇聚交换机1、核心交换机、汇聚交换机2、接入交换机2和虚拟交换机2都是SDN中的交换设备。
图4为本发明实施例SDN中实现数据转发的方法具体实现的流程示意图。如图4所示:
步骤701:SDN控制器收集DC网络拓扑信息;
在具体实现时,SDN控制器会监听各交换机的状态,根据各交换机的连接关系收集DC网络的拓扑信息。
SDN控制器为交换机分配交换机之间转发路径的唯一标识。这里以分配交换机的唯一标识(即唯一的网络标识)为例进行说明。SDN控制器为交换机分配的标识具备唯一性,用以区别DC网络内其它交换机或能够拥有网络标识的其它类型的对象。该唯一标识可以单独也可以与其它网络标识组合使用,用于标定报文转发路径。
例如,SDN控制器为DC网络内各转发设备分配的网络标识在表1所示的表格中。虚拟交换机1获得网络标识1,接入交换机1获得网络标识11,汇聚交换机1获得网络标识21,核心交换机获得网络标识3,汇聚交换机2获得网络标识22,接入交换机2获得网络标识12,虚拟交换机2获得网络标识2。
转发设备 | 网络标识 |
虚拟交换机1 | 1 |
接入交换机1 | 11 |
汇聚交换机1 | 21 |
核心交换机 | 3 |
汇聚交换机2 | 22 |
接入交换机2 | 12 |
虚拟交换机2 | 2 |
表1
在具体实现中,如果出现交换机故障与SDN控制器断连,或接口状态变化,或有新的交换机接入网络与SDN控制器建立连接时,都会触发网络拓扑的更新。例如,在交换机因故障等原因与SDN控制器断连时,SDN控制器将回收已经分配的断连的交换机的唯一标识,回收的网络标识可以再分配给其它交换机,或能够拥有网络标识的其它类型的对象。如果交换接的接口出现故障,虽然网络拓扑会出现更新,SDN控制器也可以保留交换机的唯一标识。上述是以交换机的网络标识作为唯一标识为例进行说明的,对于以链路标识作为转发路径的唯一标识时,当交换机接口故障导致网络拓扑发生变化时,相应的链路标识应当相应进行调整。
在有新的交换机接入DC网络时,SDN控制器标识交换机后,会对交换机PacketOutLLDP报文,交换机向其所有出接口广播LLDP报文,相邻交换机在收到LLDP报文后,由于没有匹配的流表项,将产生PacketIn事件,通知SDN控制器;SDN控制器分析LLDP报文特征,确定交换机的网络拓扑,即相邻交换机及其出接口,并获取SDN网络在拓扑关系变化后的拓扑信息。以图3所示的网络架构为例,SDN控制器在最后一次拓扑发生变化后获取的DC网络拓扑如表2所示:
表2
其中,虚拟交换机1在出接口5邻接接入交换机1,接入交换机1在出接口7、4分别邻接虚拟交换机1、汇聚交换机1,汇聚交换机1在出接口6、3分别邻接接入交换机1、核心交换机,核心交换机在出接口5、9分别邻接汇聚交换机1、2,汇聚交换机2在出接口8、7分别邻接核心交换机、接入交换机2,接入交换机2在出接口6、8分别邻接汇聚交换机2、虚拟交换机2,虚拟交换机2在出接口3邻接接入交换机2。基于图3所示的具体实现方式,虚拟交换机1可以是本发明实施例中的第一交换设备,接入交换机1可以是本发明实施例中的第二交换设备。
步骤702:SDN控制器根据获取的DC网络拓扑信息,刷新骨干交换机主动流表项;
主动流表项是SDN控制器依据自身收集的信息主动定制并下发的业务无关流表项。接收到主动流表项的交换机可以直接按照主动流表项转发数据或业务报文。本发明实施例中,数据的转发规则是通过流表下发的,控制器通过下发流表给交换机以实现转发规则的下发。主动流表项,就是控制器在未收到交换机请求下发转发规则时,主动给交换机下发的转发规则,即通过主动流表项下发给交换机。以交换机的唯一标识来标定SDN网络中交换设备之间的转发路径为例,SDN控制器下发的主动流表项符合以下特征:
匹配条件:相邻交换机标识;
执行动作:对报文剥离相邻交换机标识,将报文发送至相邻交换机出接口。
表3为图3所示网络架构图中主动流表项的一种呈现方式:
表3
如表3所示,控制器对接入交换机1下发到达相邻虚拟交换机1、汇聚交换机1的主动流表项,对汇聚交换机1下发到达相邻接入交换机1、核心交换机的主动流表项,对核心交换机下发到达相邻汇聚交换机1、2的主动流表项,对汇聚交换机2下发到达相邻核心交换机、接入交换机2的主动流表项,对接入交换机2下发到达相邻汇聚交换机2、虚拟交换机2的主动流表项。
在具体实现中,当DC网络拓扑发生变化更新后,触发主动流表项的刷新,使得主动流表项能够随网络的变化及时调整,满足数据或业务报文的及时转发。如上所述,网络拓扑的变化会会因为交换机异常、交换机接口异常、新加入交换机等触发,具体的实现流程可通过图5所示的流程示意图实现,图5为本发明实施例在数据中心网络拓扑发生变化时处理方法流程图,这里不再赘述。
步骤703:源端发送报文至与其直连的交换机,由于没有匹配的流表项,与源端直连的交换机向SDN控制器上报PacketIn事件;
步骤704:SDN控制器分析报文特征,依据当前网络拓扑,选择转发路径;
SDN控制器可以从多条转发路径中选择最优的转发路径,例如,可以选择最短的或流量权重最轻的转发路径。
步骤705:SDN控制器对与源端直连的交换机下发被动流表项。被动流表项是在转发设备(即交换机)对收到的报文无法处理,转SDN控制器决策,被动定制并下发的业务相关流表项;也就是交换设备在接收到交换机请求下发转发规则时,根据交换机的请求下发给交换机的转发规则,该转发规则通过被动流表项下发给交换机。源端的被动流表项符合以下特征:
匹配条件:原始报文特征;
执行动作:对原始报文封装到达与目的端直连的交换机的转发路径,将封装好的报文发送至下一跳出接口。该被动流表项可以如表4所示:
表4
在表4中,被动流表项指示虚拟交换机1匹配原始报文特征,对原始报文封装到达虚拟交换机2的转发路径,将封装好的报文发送至接口5;指示虚拟交换机2匹配原始报文特征,将原始报文发送到接口1。
表4中封装到达虚拟交换机2的转发路径,即报文从源端到目的端途经虚拟交换机1、接入交换机1、汇聚交换机1、核心交换机、汇聚交换机2、接入交换机2、虚拟交换机2,分别对应网络标识1、11、21、3、22、12、2。使用交换机的唯一标识来标定交换机之间的转发路径,这样交换机之间的转发路径就是唯一的,通过一组标有交换机标识的序列能够唯一标识一条转发路径。报文从源端发往目的端的转发路径可以表示为:1-11-21-3-22-12-2。图6为本实施例中转发路径的可视化呈现图。
SDN控制器可以通过路标封转的方式,将转发路径嵌套在MPLS(MultipleProtocol Label Switching,多协议标签交换)中下发给与源端直连的交换机。
MPLS标签介于报文二、三层头之间,支持多层嵌套。一个MPLS标签占用32比特,如表5所示:
表5
其中Label字段占20比特,用于标记路标,指示报文的下一跳转发设备;Exp字段占用3比特,用于标记QoS,实现DC大二层网络差分服务;S字段占用1比特,是栈底标记,标识最后一跳;TTL字段占用8比特,用于标记标签生命周期,因为标签仅标识报文的下一跳,所以恒为1。
一个MPLS头携带一个路标,多个MPLS头有序嵌套,携带一组路标,进而组成一条转发路径。DC网络与源端直连的交换机按照SDN控制器选择的转发路径,将路标由目的端至源端依次压入报文,最后一跳路标压入栈底,下一跳路标压入栈顶。如表6所示:
表6
表6是封装了转发路径的报文的示意图。虚拟交换机2是报文的最后一跳转发设备,其路标被第一个压入报文,位于MPLS嵌套标签的栈底。由于转发路径的封装操作是在虚拟交换机1上执行的,虚拟交换机1清楚报文的下一跳转发设备是接入交换机1,因此转发路径第一跳是接入交换机1的下一跳转发设备汇聚交换机1,其路标被压在栈顶。其它转发设备路标由栈底至栈顶依次是接入交换机2路标、汇聚交换机2路标、核心交换机路标。
步骤706:SDN控制器对与目的端直连的交换机下发被动流表项。
目的端的被动流表项符合以下特征:
匹配条件:原始报文特征;
执行动作:将原始报文发送至目的端出接口。
SDN控制器对与目的端直连的交换机下发被动流表项可以如表7所示:
转发设备 | 被动流表项 |
虚拟交换机2 | 匹配条件:原始报文特征;执行动作:发送至接口1 |
表7
DC网络的骨干交换机接收到SDN控制器下发的主动流表项,边缘交换机接收到SDN控制器下发的被动流表项后,即能够实现对报文的转发。由于骨干交换机接收到的是主动流表项,不需要在每次转发数据时都给骨干交换机下发流表,即主动流表项在后续的数据转发中可以被重复使用,降低了对骨干交换机下发流表的数量,相应降低了SDN控制器的设备资源占用率,SDN控制器与骨干交换机之间的网络带宽也会相应得到节省,同时,骨干交换机不需要在每次数据转发时都接收流表项,提高了骨干交换机的资源利用率。
本发明实施例还提供了对于组播组实现数据或业务报文转发时的一种实现方式。组播组,是多个成员组成一个组播组,一个成员在组播组内发送的数据或业务报文,只有组播组内的成员能够接收到。组播组的成员,可以是移动终端(包括但不限于笔记本、手机、平板、掌上电脑、POS机、MP3、导航仪)、固定终端(包括但不限于台式机、打印机、传真机、数投、数字电视)或无线接入终端等设备。
以组播组有4个成员,分别连接不同的交换机,通过DC网络的骨干交换机实现数据或业务报文的转发为例,说明本发明实施例的数据报文转发方法在组播组中的实现方式。如图7所示,为本发明实施例关于组播组实现数据或业务报文转发的实现方式网络架构图。
图7中,组播组拥有4个成员:成员1、2、3、4,分别通过虚拟交换机1、接入交换机1、接入交换机3、虚拟交换机2接入DC网络。组播组成员跨DC骨干网络收发组播报文。
组播组成员1向其它成员发送组播报文:发往成员2的组播报文,经虚拟交换机1,接口2入,接口5出,经接入交换机1,接口7入,接口1出;发往成员3的组播报文,经虚拟交换机1,接口2入,接口5出,经接入交换机1,接口7入,接口4出,经汇聚交换机1,接口6入,接口3出,经核心交换机,接口5入,接口9出,经汇聚交换机2,接口8入,接口4出,经接入交换机3,接口5入,接口8出;发往成员4的组播报文,经虚拟交换机1,接口2入,接口5出,经接入交换机1,接口7入,接口4出,经汇聚交换机1,接口6入,接口3出,经核心交换机,接口5入,接口9出,经汇聚交换机2,接口8入,接口7出,经接入交换机2,接口6入,接口8出,经虚拟交换机2,接口3入,接口1出。
组播组成员2向其它成员发送组播报文:发往成员1的组播报文,经接入交换机1,接口1入,接口7出,经虚拟交换机1,接口5入,接口2出;发往成员3的组播报文,经接入交换机1,接口1入,接口4出,经汇聚交换机1,接口6入,接口3出,经核心交换机,接口5入,接口9出,经汇聚交换机2,接口8入,接口4出,经接入交换机3,接口5入,接口8出;发往成员4的组播报文,经接入交换机1,接口1入,接口4出,经汇聚交换机1,接口6入,接口3出,经核心交换机,接口5入,接口9出,经汇聚交换机2,接口8入,接口7出,经接入交换机2,接口6入,接口8出,经虚拟交换机2,接口3入,接口1出。
组播组成员3向其它成员发送组播报文:发往成员1的组播报文,经接入交换机3,接口8入,接口5出,经汇聚交换机2,接口4入,接口8出,经核心交换机,接口9入,接口5出,经汇聚交换机1,接口3入,接口6出,经接入交换机1,接口4入,接口7出,经虚拟交换机1,接口5入,接口2出;发往成员2的组播报文,经接入交换机3,接口8入,接口5出,经汇聚交换机2,接口4入,接口8出,经核心交换机,接口9入,接口5出,经汇聚交换机1,接口3入,接口6出,经接入交换机1,接口4入,接口1出;发往成员4的组播报文,经接入交换机3,接口8入,接口5出,经汇聚交换机2,接口4入,接口7出,经接入交换机2,接口6入,接口8出,经虚拟交换机2,接口3入,接口1出。
组播组成员4向其它成员发送组播报文:发往成员1的组播报文,经虚拟交换机2,接口1入,接口3出,经接入交换机2,接口8入,接口6出,经汇聚交换机2,接口7入,接口8出,经核心交换机,接口9入,接口5出,经汇聚交换机1,接口3入,接口6出,经接入交换机1,接口4入,接口7出,经虚拟交换机1,接口5入,接口2出;发往成员2的组播报文,经虚拟交换机2,接口1入,接口3出,经接入交换机2,接口8入,接口6出,经汇聚交换机2,接口7入,接口8出,经核心交换机,接口9入,接口5出,经汇聚交换机1,接口3入,接口6出,经接入交换机1,接口4入,接口1出;发往成员3的组播报文,经虚拟交换机2,接口1入,接口3出,经接入交换机2,接口8入,接口6出,经汇聚交换机2,接口7入,接口4出,经接入交换机3,接口5入,接口8出。
实现组播组内成员间数据或业务报文的转发,在上述图4所示实施例下发主动流表项和被动流表项的基础上,还包括:
A,SDN控制器收集、更新组播组信息;
SDN控制器收集组播组信息包含下述三种情况:
a,当有新的终端加入组播组时,触发组播组信息更新的过程如下:
新的组播组成员向组播路由器发送加入组播组请求;
接收到加入组播组请求的交换机由于没有SDN控制器下发的流表项,向SDN控制器上报PacketIn事件;
SDN控制器模拟组播路由器,分析主机加入组播组请求,更新指定组播组信息;
SDN控制器向所述上报PacketIn事件的交换机发送加入组播组应答;
所述上报PacketIn事件的交换机发送加入组播组应答到所述加入组播组的成员接口。
b,当组播组成员退出组播组时,触发组播组信息更新的过程如下:
将退出的组播组成员向主播路由器发送退出组播组请求;
与该退出的组播组成员相连的交换机由于没有匹配的流表项,向SDN控制器上报PacketIn事件;
SDN控制器分析该PacketIn事件,分析组播组成员退出组播组请求,更新指定组播组信息;
SDN控制器向所述与退出组播组成员相连的交换机发送退出组播组应答;
所述与退出组播组成员相连的交换机发送退出组播组应答到所述退出组播组的成员接口。
c,当SDN控制器查询组播组时,触发组播组信息更新过程如下:
SDN控制器定时向与组播组成员直连交换机PacketOut组播组查询请求;
交换机发送组播组查询请求到组播组成员所在接口;
组播组成员返回组播组查询应答;
交换机由于没有匹配的流表项,向SDN控制器上报PacketIn事件;
SDN控制器分析组播组查询结果,更新组播组信息。
d,SDN控制器创建组播组标识
本发明实施例的组播组标识具备唯一性,用以区别DC网络内其它组播组,或能够拥有网络标识的其它类型的对象,可以单独,也可以与其它网络标识组合,标定报文转发路径。
B,组播组主动流表项的下发
组播组中,骨干层交换机中,会包含组播组汇集点所在的交换机,组播组汇集点所在的交换机,是通过两条以上路径向所述组播组内成员转发数据的交换机,是组播报文近接收端的复制分发点。组播组汇集点所在的交换机,是一个组播组成员到达其它组播组成员的转发路径存在交集,最接近组播组成员的交点即组播组汇集点。
以图7所示网络架构为例,接入交换机1和汇聚交换机2是汇集点所在的交换机,可以是上述方法实施例中的第三交换设备。通过汇集点所在的交换机进行数据报文的复制转发,能够进一步节省DC网络带宽。组播组汇集点所在的交换机随组播组成员变化而变化。
当组播组成员发生变化时,会触发汇聚交换机的更新,例如增加或删除组播组汇集点所在的交换机的信息等。
SDN控制器更新组播组汇集点信息。组播组汇集点信息包括组播组成员以及对应的组播报文转入、转出接口。其中,组播报文从组播源发往组播组汇集点所在交换机,组播报文在组播组汇集点所在交换机上的接收口为转入接口,从组播组汇集点所在交换机发往组播接收者,组播报文在组播组汇集点所在交换机的发送口即为转出接口。
SDN控制器获取组播组汇集点即汇集点所在的交换机后,生成组播组汇聚点信息,以图7为例的汇集点所在的交换机信息如表8所示:
表8
表8中,接入交换机1对成员1,出接口7,入接口4,对成员2,出接口1,入接口4,对成员3、4,出接口4,入接口1、7。汇聚交换机2对成员3,出接口4,入接口8,对成员4,出接口7,入接口8,对成员1、2,出接口8,入接口4、7。
对于汇集点交换机,SDN控制器下发的主动流表项需要符合以下特征:
1)匹配条件:组播组汇集点入接口、组播组标识;
2)执行动作:
a.发往接收者:复制组播报文,对复制的组播报文剥离组播组标识,将原始组播报文发送至接收者出接口
b.发往组播组下一汇集点:复制组播报文,对复制的组播报文封装到达组播组下一汇集点的转发路径,将封装好的组播报文发送至下一跳出接口。
例如,图7中对汇集点所在的交换机的主动流表项如表9所示:
表9
表9中,SDN控制器对接入交换机1在不同接口收到的组播报文进行复制分发:成员3、4发出的组播报文在入口4收到,去往成员1的发送至接口7,去往成员2的剥离外层路标,发送至接口1;成员1发出的组播报文在接口7收到,去往成员2的,剥离外层路标,发送至接口1,去往成员3、4的封装到达组播组汇集点汇聚交换机2的转发路径,发送至接口4。SDN控制器对汇聚交换机2在不同接口收到的组播报文进行复制分发:成员3发出的组播报文在接口4收到,去往成员4的封装到达虚拟交换机2的转发路径,发送至接口7,去往成员1、2的封装到接入交换机1的转发路径,发送至接口8;成员4发出的组播报文在接口7收到,去往成员3的发送至接口4,去往成员1、2的封装到达组播组汇集点接入交换机1的转发路径,发送至接口8;成员1、2发送的组播报文在接口8收到,去往成员3的发送至接口4,去往成员4的封装到达虚拟交换机2的转发路径,发送至接口7。
SDN控制器对与组播接收者直连的交换机(非汇集点交换机)下发的主动流表项需要符合以下特征:
1)匹配条件:组播报文入口、组播组标识;
2)执行动作:对组播报文剥离组播组标识,将原始组播报文发送至组播接收者出接口。
例如,图7中对非汇集点交换机下发的流表项如表10所示:
表10
表10中,对于发往成员1的组播报文,SDN控制器为虚拟交换机1定制主动流表项,匹配组播报文入口5、组播组1标识,剥离组播报文组播组1标识,将原始组播报文发送至接口2;对于发往成员3的组播报文,SDN控制器为接入交换机3定制主动流表项,匹配组播报文入口5、组播组1标识,剥离组播报文组播组1标识,将原始组播报文发送至接口8;对于发往成员4的组播报文,SDN控制器为虚拟交换机2定制主动流表项,匹配组播报文入口3、组播组1标识,剥离组播报文组播组1标识,将原始组播报文发送至接口1。
C,组播组被动流表项的下发
组播组中的成员,向组播组内的其它成员发送数据或业务报文时,发送组播报文至与其直接相连的交换机,该直接相连的交换机由于没有匹配的流表项,向SDN控制器上报PacketIn事件。SDN控制器分析组播报文特征,依据当前网络拓扑以及组播组信息,选择合适的转发路径。被动流表项符合以下特征:
1)匹配条件:原始组播报文入口、特征;
2)执行动作:对原始组播报文依次封装组播组标识、到达组播组下一汇集点的转发路径,将封装好的组播报文发送至下一跳出接口。
例如图7所示的网络架构图中,SDN控制器下发的被动流表项如表11所示:
表11
表11中,对成员1发出的组播报文,被动流表项指示虚拟交换机1匹配原始组播报文入口2、特征,对原始组播报文封装组播组1标识,将封装好的组播报文发送至接口5;对成员2发出的去往成员1的组播报文,被动流表项指示接入交换机1匹配原始组播报文入口1、特征,对原始组播报文封装组播组1标识,将封装好的组播报文发送至接口7;对成员2发出的去往成员3、4的组播报文,被动流表项指示接入交换机1匹配原始组播报文入口1、特征,对原始组播报文依次封装组播组1标识、到达汇聚交换机2的转发路径,将封装好的组播报文发送至接口4;对成员3发出的组播报文,被动流表项指示接入交换机3匹配原始组播报文入口8、特征,对原始组播报文封装组播组1标识,将封装好的组播报文发送至接口5;对成员4发出的组播报文,被动流表项指示虚拟交换机2匹配原始组播报文入口1,、特征,对原始组播报文依次封装组播组1标识、到达汇聚交换机2的转发路径,将封装好的组播报文发送至接口3。
DC网络各交换机按照SDN控制器下发的流表项,包括主动流表项和被动流表项,实现数据或业务报文的转发。上述组播组实现数据或业务报文的转发,不仅能够降低骨干层交换机对转发流表项的数量需求,提升了SDN控制器的资源利用率,提高SDN控制器和交换机的效率;并且通过对汇聚点交换机下发主动流表项,将数据或业务报文在发送给组播组成员的同时复制到下一个汇聚点交换机,组播报文不在源端,而在汇集点复制分发,节省了DC网络带宽。
在具体实现中,租户可以在DC内其所属主机上部署各种服务,并对其用户开放。所述租户是向数据中心DC服务供应商租赁计算、存储、网络资源的使用主体;其中,所述租户是通过租赁的数据中心资源安装、部署、发布服务的使用主体。
图8是本发明实施例中租户在DC内部署服务链的一种实现方式示意图。如图8所示,本实施例以包括防火墙、鉴权、负载均衡与数据库服务5个服务节点为例进行说明,该5个服务节点构成服务链。其中,防火墙服务所在主机由接入交换机1接入DC网络,鉴权服务所在主机由接入交换机3接入DC网络,该接入交换机3可以是本发明实施例中的第四交换设备;负载均衡服务所在主机由接入交换机2接入DC网络,数据库服务所在主机由虚拟交换机2接入DC网络。在具体实现时,出于安全的考虑,租户希望用户在访问数据库前必须穿越防火墙,经过鉴权处理,同时考虑到数据库服务的性能和可用性,需由负载均衡服务实时调度,分配数据源。其中,所述主机是能够提供特定服务(例如防火墙等)的服务器,可以是物理服务器也可以是虚拟服务器。作为一种可选的实现方式,所述主机也可以是上述移动终端、固定终端或无线接入终端等设备,本发明实施例不限定具体的实现方式。
租户通过部署相关服务的主机,提供相关服务。例如部署防火墙的主机,提供防火墙服务,该提供防火墙服务的主机就是一个服务节点。租户可以通过UI(User Interface,用户界面)向SDN控制器请求添加或删除服务节点。
在服务节点添加完成后,SDN控制器为每个服务节点分配一个唯一标识,用于区别DC网络中的其它服务节点,或能够拥有网络标识的其它类型的对象,可以单独,也可以与其它网络标识组合,标定报文转发路径。例如,如表12所示,为图8的网络架构图中SDN控制器分配的服务节点的唯一网络标识。
服务节点 | 网络标识 |
防火墙 | 5 |
鉴权 | 6 |
负载均衡 | 7 |
数据库1 | 8 |
数据库2 | 9 |
表12
表12中,防火墙服务节点获得网络标识5;鉴权服务节点获得网络标识6;负载均衡服务节点获得网络标识7;数据库1服务节点获得网络标识8;数据库2服务节点获得网络标识9。
本发明实施例中的服务链,即租户为其用户设定的服务序列,由服务节点按指定顺序排列组合而成,体现了租户对外提供服务的内部策略。DC允许租户定制不同服务链,然后根据用户数据流特征将其引导到不同的服务链入口,遍历链上所有服务节点,从而实现租户对外的差分服务。在具体实现中,租户可以通过UI向控制器发起创建或删除服务链的请求,从而实现服务链的创建或删除。表13示意性的显示了图8中,服务链的几种可实现方式。
服务链 | 服务节点序列 | 网络标识序列 |
1 | 防火墙-鉴权-数据库1 | 5-6-8 |
2 | 防火墙-鉴权-数据库2 | 5-6-9 |
3 | 防火墙-鉴权-负载均衡 | 5-6-7 |
表13
表13中,租户通过第1条服务链直接为用户指定数据源为数据库1,用户流依次经过防火墙、鉴权,最终抵达数据库1,对应的网络标识序列是5-6-8;通过第2条服务链直接为用户指定数据源为数据库2,用户流依次经过防火墙、鉴权,最终抵达数据库2,对应的网络标识序列是5-6-9;通过第3条服务链由负载均衡服务为用户指定数据源,用户流依次经过防火墙、鉴权,然后由负载均衡服务调度,最终抵达负载均衡服务指定的数据库,对应的网络标识序列是5-6-7。
实现DC网络中的服务链,可以在上述图4所示流程实现的基础上,进一步实现服务链的管理和控制。对于与服务节点直接相连的交换机,SDN控制器需要下发的主动流表项需要满足以下特征:
1)匹配条件:服务节点标识;
2)执行动作:对报文剥离服务节点标识,将原始报文发送至服务节点出接口。
表14为图8所示网络架构图中,SDN控制器对与服务节点直接相连的交换机下发的主动流表项:
表14
在表14中,SDN控制器指示接入交换机1关注携带防火墙服务节点标识的报文,剥离报文防火墙服务节点标识,将原始报文发送至接口1;指示接入交换机3关注携带鉴权服务节点标识的报文,剥离报文鉴权服务节点标识,将原始报文发送至接口8;指示接入交换机2关注携带负载均衡服务节点标识的报文,剥离报文负载均衡服务节点标识,发送至接口9;指示虚拟交换机2关注携带数据库服务节点标识的报文,剥离报文数据库服务节点标识,发送至相应接口。
对于与服务节点直接相连的交换机下发的被动流表项,需要符合以下特征:
1)匹配条件:原始报文入接口、特征,
2)执行动作:依据交换机所连服务节点在服务链上的位置,对原始报文依次封装其下一服务节点标识、到达该服务节点的转发路径,将封装好的报文发送至下一跳出接口。
表15为实现服务链的被动流表项的一种实现方式:
转发设备 | 被动流表项 |
虚拟交换机1 | 匹配条件:原始报文入接口、特征;执行动作:封装防火墙服务节点标识,发送至接口5 |
接入交换机1 | 匹配条件:原始报文入接口、特征;执行动作:封装鉴权服务节点标识、到达鉴权服务节点的转发路径,发送至接口4 |
接入交换机3 | 匹配条件:原始报文入接口、特征;执行动作:封装负载均衡服务节点标识、到达负载均衡服务节点的转发路径,发送至接口5 |
接入交换机2 | 匹配条件:原始报文入接口、特征;执行动作:封装数据库服务节点标识,发送至接口8 |
表15
表15中,被动流表项指示虚拟交换机1匹配原始报文入接口、特征,对原始报文封装防火墙服务节点标识,然后将封装后的报文发送至接口5;指示接入交换机1匹配原始报文入接口、特征,对原始报文封装鉴权服务节点标识、到达鉴权服务节点的转发路径,然后将封装后的报文发送至接口4;指示接入交换机3匹配原始报文入接口、特征,对原始报文封装负载均衡服务节点标识、到达负载均衡服务节点的转发路径,然后将封装后的报文发送至接口5;指示接入交换机2匹配原始报文入接口、特征,对原始报文封装数据库服务节点标识,然后将封装后的报文发送至接口8。例如,上述接入交换机1可以是本发明实施例中的第五交换设备,汇聚交换机2为本发明实施例中的第六交换设备,接入交换机3为本发明实施例中的第七交换设备,从而实现服务链实现中不同交换机的流表下发。作为一种可能的实现方式,假如图8中接入交换机3与接入交换机1之间的路径是直接相连的,则接入交换机1就也可以是本发明实施例中的第五交换设备,接入交换机3是本发明实施例中的第七交换设备,参考上述实现服务链中的流表下发方法,也能够实现在服务链场景下不同转发规则的下发,从而达到节省网络中设备资源和带宽的目的。
需要说明的是,由于业务报文进入服务节点必须是原始报文,SDN控制器在下发转发路径时,不能一次性定制整条服务链的转发路径,需要依据每个服务节点将路径分解成多段,每段的起始是上一服务节点,终止是下一个服务节点,每一段的路径下发方式与图4所示的实现方式类同。
通过上述实施例对不同服务节点存在场景下主动流表项和被动流表项的下发,实现了在满足租户定制策略以实现数据或业务流在不同服务之间灵活穿梭的同时,不用重复下发流表,降低了SDN控制器和交换机的设备资源占用率,也相应提高SDN控制器和交换机的性能和效率。
在具体的实现中,还会存在DC支持多租户的场景,DC网络允许各租户共享其物理网络,从而构建各自租户独立的逻辑网络。租户之间的逻辑网络相互隔离,物理网络空间则可以重叠。对于多租户的场景,DC网络中的控制设备可以为每个租户分配一个唯一标识,用于区分不同的租户,实现对不同租户的管理。每个租户内的主机通过DC网络实现数据转发时,携带分配的租户的唯一标识,通过该租户的唯一标识,来识别一个租户内的数据转发。上述实现SDN网络的数据转发方法,也可以适用于多租户的场景。在多租户场景下实现上述方法,需要控制设备下发的转发规则中进一步包含租户标识,交换设备在实现转发中,还需要匹配租户标识,并在剥离租户标识后封转数据并进行转发。具体的实现过程与上述实现过程类似,不再赘述。
参考图9,图9为本发明实施例一种SDN中的控制设备900的结构示意图,包括:网络通信单元901、控制消息处理单元902、转发路径确定单元903和转发规则管理单元904;
所述网络通信单元901,用于接收SDN中的第一交换设备发送的第一转发规则请求,并将所述第一转发规则请求发送给所述控制消息处理单元902;
所述控制消息处理单元902,用于解析所述第一转发规则请求,将解析后的所述第一转发规则请求发送给所述转发路径确定单元903,并将所述转发路径确定单元903确定的第一路径的信息以及所述转发规则管理单元生成的第一转发规则通过所述网络通信单元发送给所述第一交换设备,将所述转发规则管理单元生成的第二转发规则通过所述网络通信单元发送给所述第一路径上的第二交换设备;所述第一路径的信息是依据所述第一路径上交换设备的顺序,用交换设备之间转发路径的唯一标识表示的序列,所述第一路径的信息能够随所述数据转发给所述第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及所述第二转发规则对所述数据进行转发;
所述转发路径确定单元903,用于根据所述控制消息确定单元902发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息对应的数据转发的第一路径;
所述转发规则管理单元904,用于生成所述第一转发规则和所述第二转发规则,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,并能够使所述第二交换设备根据所述第一路径的信息将所述数据转发给所述第一路径上与所述第二交换设备直接相连的交换设备。
上述SDN中的控制设备900通过确定对所述数据信息对应的数据进行转发的第一路径,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备在接收到所述数据之前接收到的,使得所述第二交换设备能够在接收到数据之前接收到对数据转发的转发规则,并根据接收到的数据和路径信息实现数据转发。控制设备900不需要每次对第二交换设备转发数据都下发一次转发规则,节省了控制设备在下发转发规则时的资源消耗,提高了设备的利用率,同时也节省了控制设备900与交换设备之间因多次下发转发规则所占用的带宽。
可选的,所述第二转发规则是在所述第二交换设备与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,所述第二转发规则是依据接收到的路径信息对包含所述路径信息的数据重复转发的转发规则。所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。所述第一路径的信息嵌套在多协议标签交换MPLS消息中下发给所述第一交换设备。
作为一种可选的实现方式,所述控制设备900还包括标识管理单元905和拓扑管理单元906,如图10所示,其中:
所述标识管理单元905,用于分配和回收所述SDN中交换设备之间转发路径的唯一标识;
所述拓扑管理单元906,用于根据所述SDN网络拓扑的变换,更新所述SDN的网络拓扑信息;
相应的,所述转发路径确定单元903根据所述拓扑管理单元904中记录的网络拓扑信息,以及所述标识管理单元905分配的交换设备之间转发路径的唯一标识,结合所述控制消息确定单元902发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息转发的第一路径。
如图10所示,所述控制设备900还包括组播组管理单元907,
所述组播组管理单元907,用于为所述SDN中的组播组分配组播组标识,所述组播组标识唯一标识一个组播组,所述组播组包含至少两个组播组成员,组播组中一个成员发送的数据能够被组播组中其它成员接收到。
所述转发规则管理单元903,还用于向第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述第三交换设备是与所述组播组的成员直接相连的交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
如图10所示,所述控制设备900还包括:
服务链设定单元908,用于设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,并为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;
所述转发规则管理单元903,还用于生成第四转发规则并下发给第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则,所述第四交换设备是所述服务链中与具备特定服务能力的设备直接连接的交换设备。
相应的,所述网络通信单元901还用于接收第五交换设备发送的第五转发规则请求;
所述控制消息处理单元902,还用于解析所述第五转发规则请求,并将解析后的所述第五转发规则请求发送给所述转发路径确定单元903;
所述转发路径确定单元903,还用于根据所述控制消息确定单元发送的解析后的所述第五转发规则请求,确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
所述转发规则管理单元904,还用于下发第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含服务链路径的信息的所述数据,并发送给第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径的信息的数据之前接收到的并能够使所述第六交换设备根据所述服务链路径信息将所述数据转发给服务链路径上其它交换设备;其中,所述第六交换设备是所述第五路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
本发明实施例控制设备900的实现方式,可以参考上述图1至图8所示实施例的实现方式中控制设备的实现方式来实现,不再赘述。
参考图11,本发明实施例还提供了一种SDN中数据转发系统1100,包括第一交换设备1101和第二交换设备1102,所述第一交换设备1101与所述第二交换设备11021102直接相连,其特征在于:
所述第一交换设备1101,用于根据接收到的数据向控制设备请求转发规则,接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给所述第二交换设备1102,所述第一路径的信息是根据转发所述数据的第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;
所述第二交换设备1102,用于接收第一交换设备1101发送的所述数据,所述第二交换设备1102根据所述第一路径的信息以及第二转发规则,向与所述第二交换设备1102直接相连的交换设备发送所述数据,所述第二转发规则是所述第二交换设备1102在接收到所述数据之前接收到的,所述第二交换设备1102能够根据所述第一路径的信息以及所述第二转发规则,将所述数据转发给与所述第二交换设备直接相连的交换设备,与所述第二交换设备直接相连的交换设备是所述第一路径上的交换设备。
上述实施例提供的SDN中数据转发系统1100,第一交换设备1101接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给第二交换设备1102,所述第二交换设备根据所述第一路径的信息以及第二转发规则对所述数据进行转发,所述第二转发规则是所述第二交换设备1102在接收到所述数据之前接收到的,使得所述第二交换设备1102能够在接收到数据之前接收到对数据转发的转发规则,并根据接收到的数据和路径信息实现数据转发。第二交换设备1102不需要每次接收到数据后都获取一次转发规则,即不需要每次接收到数据后都获取一次流表进行数据转发,可以重复使用第二转发规则实现数据的转发,节省了第二交换设备1102进行数据转发时保存和使用转发规则带来的资源消耗,提高了设备的利用率;尤其是对于数据中心骨干层的交换设备,由于转发数据量大,保存和适用大量的转发规则会带来巨大的芯片等资源消耗;通过本实施例提供的方案,能够节省交换设备的资源,使得数据中心网络中的交换设备不需要较高的性能就能实现大量的数据转发,提升了交换设备的竞争力。
可选的,所述第二交换设备1102,还用于将所述第一路径的信息发送给与所述第二交换设备直接相连的交换设备,或所述第二交换设备1102将所述第一路径上与所述第二交换设备直接相连的交换设备到第n交换设备之间的转发路径的第二路径的信息,发送给所述第三交换设备,所述第二路径的信息是实现所述数据转发的路径上交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,其中,n为整数且大于等于3。
其中,所述第二转发规则是在所述第二交换设备1102与其直接相连的交换设备建立拓扑关系时或建立拓扑关系之后生成的,包含所述第二转发规则的所述第二转发规则是依据路径信息能够对包含路径信息的数据重复转发的转发规则。
作为一种可选的实现方式,本发明实施例中,所述数据转发系统还包括第i交换设备、第i-1交换设备和第i-1交换设备,所述第i交换设备、所述第i-1交换设备以及所述第i+1交换设备是所述第一路径上的交换设备;
所述第i交换设备,用于接收所述第i-1交换设备发送的第i-1路径信息和所述数据,所述第i-1路径信息是根据实现所述数据转发的所述第i交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;其中,i为整数且大于等于3;并根据所述第i-1路径信息,向所述第i+1交换设备发送所述数据和第i路径信息,所述第i路径信息是根据实现所述数据转发的所述第i+1交换设备到第n交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列。
所述第i交换设备根据所述第i-1路径信息,向第i+1交换设备发送所述数据和第i路径信息具体包括:
所述第i交换设备从所述第i-1路径信息中剥离所述第i交换设备的转发路径的唯一标识,生成所述第i路径信息;
通过所述第i交换设备的转发路径唯一标识,查询所述第i交换设备保存的第i转发规则,确定所述第i交换设备的出端口;
所述第i交换设备通过所述第i交换设备的出端口向第i+1交换设备发送所述数据和第i路径信息。
作为一种可选的实现方式,所述第一路径信息,第二路径信息和第i路径信息采用多协议标签交换MPLS标签嵌套封装,一个MPLS标签头填充一个交换设备的转发路径唯一标识。所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
如图12所示,所述SDN中数据转发系统1100还包括第三交换设备1103;
所述第一交换设备1101、所述第二交换设备1102和所述第三交换设备1103是同一组播组的成员,其中,所述第三交换设备1103是通过两条以上路径向所述组播组成员转发数据的交换设备,所述组播组的成员发送给其它成员的数据,能够被所述组播组的其它成员接收到;
所述第三交换设备1103,用于接收所述控制设备发送的包含组播组标识的第三转发规则,根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
如图12所示,所述SDN中数据转发系统1100还包括第五交换设备1105、第六交换设备1106和第七交换设备1107;
第五交换设备1105,用于向所述控制设备发送第五转发规则请求,并接收所述控制设备返回的到达第七交换设备1107的服务链路径,所述第五交换设备1105是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备1107是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备,所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备间的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,所述服务链中具备特定服务能力的设备具有唯一标识该设备的标识,所述服务序列是用所述具备特定服务能力的设备的唯一标识组合而成的序列;
所述第五交换设备1105将所述数据以及所述服务链路径信息转发给所述第七交换设备1107或所述服务链路径上的第六交换设备1106;
所述第六交换设备1106,用于根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收的;其中,所述第六交换设备是所述第五路径上在所述第五交换设备1105与所述第七交换设备1107之间的交换设备。
如图12所示,所述SDN中数据转发系统1100还包括控制设备,该控制设备如图9所示的控制设备900。
本发明实施例SDN中数据转发系统1100的实现方式,可以参考上述图1至图8所示实施例的实现方式中控制设备的实现方式来实现,不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (40)
1.一种软件定义网络SDN中数据转发方法,其特征在于,所述方法由所述SDN中的控制设备执行,包括:
接收所述SDN中第一交换设备发送的第一转发规则请求,根据所述第一转发规则请求中携带的数据信息确定对所述数据信息对应的数据进行转发的第一路径;
下发用于转发所述数据的第一转发规则给所述第一交换设备,以使所述第一交换设备封装包含第一路径的信息的所述数据并发送给第二交换设备,以使得所述第二交换设备接收到所述数据,所述第一路径的信息是依据所述第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,使得所述第二交换设备根据所述第一路径的信息以及第二转发规则将所述数据转发至所述第一路径上与所述第二交换设备直接相连的交换设备;
在所述第二交换设备接收到所述数据之前,所述方法还包括:
监听所述SDN中的交换设备的状态,根据所述SDN中的交换设备的状态更新所述SDN的网络拓扑;
下发所述第二转发规则至更新后的网络拓扑中的所述第二交换设备。
2.根据权利要求1所述的SDN中数据转发方法,其特征在于,所述第二转发规则是依据接收到的路径信息对包含所述路径信息的数据重复转发的转发规则。
3.根据权利要求1或2所述的SDN中数据转发方法,其特征在于,所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
4.根据权利要求1或2所述的SDN中数据转发方法,其特征在于,所述第一路径的信息嵌套在多协议标签交换MPLS消息中下发给所述第一交换设备。
5.根据权利要求1或2所述的SDN中数据转发方法,其特征在于,所述方法还包括:
创建组播组标识,所述组播组标识为唯一标识组播组的标识,所述组播组包含至少两个组播组成员,实现所述组播组成员间数据转发的交换设备包括所述第一交换设备和所述第二交换设备;
相应的,所述第一转发规则和所述第二转发规则中还包括所述组播组标识。
6.根据权利要求5所述的SDN中数据转发方法,其特征在于:实现所述组播组成员间数据转发的交换设备还包括第三交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;
所述方法还包括:
向所述第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
7.根据权利要求1或2所述的SDN中数据转发方法,其特征在于,所述方法还包括:
设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;其中,与所述具备特定服务能力的设备直接连接的交换设备包括第四交换设备;
所述方法还包括:
生成第四转发规则并下发给所述第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则。
8.根据权利要求7所述的SDN中数据转发方法,其特征在于,所述方法还包括:
接收第五交换设备发送的第五转发规则请求,根据所述第五转发规则请求中携带的数据的信息确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
下发用于转发所述数据的第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含服务链路径的信息的所述数据,并发送给第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收到的,并能够使所述第六交换设备根据服务链路径的信息将所述数据转发给所述服务链路径上其它交换设备;其中,所述第六交换设备是所述服务链路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
9.一种软件定义网络SDN中数据转发方法,其特征在于:
第一交换设备根据接收到的数据向控制设备请求转发规则;
所述第一交换设备接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给与所述第一交换设备直连的第二交换设备,所述第一路径的信息是根据转发所述数据的第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;
所述第二交换设备接收所述第一交换设备发送的所述数据,所述第二交换设备根据所述第一路径的信息以及第二转发规则,向与所述第二交换设备直接相连的交换设备发送所述数据;
在所述第二交换设备接收所述第一交换设备发送的所述数据之前,所述第二交换设备接收所述控制设备下发的所述第二转发规则,所述第二转发规则为所述控制设备监听所述SDN中的交换设备的状态,根据所述SDN中的交换设备的状态更新所述SDN的网络拓扑后生成的转发规则。
10.根据权利要求9所述的SDN中数据转发方法,其特征在于,所述第二转发规则是依据路径信息能够对包含路径信息的数据重复转发的转发规则。
11.根据权利要求9或10所述的SDN中数据转发方法,其特征在于,所述方法还包括:
所述第二交换设备将所述第一路径的信息发送给与所述第二交换设备直接相连的交换设备,或所述第二交换设备将所述第一路径上与所述第二交换设备直接相连的交换设备到第n交换设备之间的转发路径的第二路径的信息发送给与所述第二交换设备直接相连的交换设备,所述第二路径的信息是实现所述数据转发的路径上交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,其中,n为整数且大于等于3。
12.根据权利要求9或10所述的SDN中数据转发方法,其特征在于,
所述方法还包括:
第i交换设备接收第i-1交换设备发送的第i-1路径信息和所述数据,所述第i-1路径信息是根据实现所述数据转发的第i交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;其中,i为整数且大于等于3;
所述第i交换设备根据所述第i-1路径信息,向所述第i+1交换设备发送所述数据和第i路径信息,所述第i路径信息是根据实现所述数据转发的所述第i+1交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;
所述第i交换设备、所述第i-1交换设备以及所述第i+1交换设备是所述第一路径上的交换设备。
13.根据权利要求12所述的SDN中数据转发方法,其特征在于,所述方法还包括:
所述第i交换设备根据所述第i-1路径信息,向第i+1交换设备发送所述数据和第i路径信息具体包括:
所述第i交换设备从所述第i-1路径信息中剥离所述第i交换设备的转发路径的唯一标识,生成所述第i路径信息;
通过所述第i交换设备的转发路径唯一标识,查询所述第i交换设备保存的第i转发规则,确定所述第i交换设备的出端口;
所述第i交换设备通过所述第i交换设备的出端口向第i+1交换设备发送所述数据和第i路径信息。
14.根据权利要求9、10或13所述的SDN中数据转发方法,其特征在于:
所述第一路径信息,第二路径信息和第i路径信息采用多协议标签交换MPLS标签嵌套封装,一个MPLS标签头填充一个交换设备的转发路径唯一标识。
15.根据权利要求9、10或13所述的SDN中数据转发方法,其特征在于:
所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
16.根据权利要求9、10或13所述的SDN中数据转发方法,其特征在于:
所述第一交换设备、所述第二交换设备和第三交换设备是同一组播组的成员,其中,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备,所述组播组的成员发送给其它成员的数据,能够被所述组播组的其它成员接收到;
所述方法还包括:
向所述第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
17.根据权利要求9、10或13所述的SDN中数据转发方法,其特征在于,所述方法还包括:
第五交换设备向所述控制设备发送第五转发规则请求,并接收所述控制设备返回的到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备,所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备间的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,所述服务链中具备特定服务能力的设备具有唯一标识该设备的标识,所述服务序列是用所述具备特定服务能力的设备的唯一标识组合而成的序列;
所述第五交换设备将所述数据以及所述服务链路径信息封装后转发给所述第七交换设备或所述服务链路径上的第六交换设备;
所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收的;其中,所述第六交换设备是所述服务链路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
18.一种软件定义网络SDN中的控制设备,其特征在于,所述控制设备包括网络通信单元、控制消息处理单元、转发路径确定单元、转发规则管理单元和拓扑管理单元;
所述网络通信单元,用于接收SDN中的第一交换设备发送的第一转发规则请求,并将所述第一转发规则请求发送给所述控制消息处理单元;
所述控制消息处理单元,用于解析所述第一转发规则请求,将解析后的所述第一转发规则请求发送给所述转发路径确定单元,并将所述转发路径确定单元确定的第一路径的信息,以及所述转发规则管理单元生成的第一转发规则通过所述网络通信单元发送给所述第一交换设备,将所述转发规则管理单元生成的第二转发规则通过所述网络通信单元发送给所述第一路径上的第二交换设备;所述第一路径的信息是依据所述第一路径上交换设备的顺序,用交换设备之间转发路径的唯一标识表示的序列,所述第一路径的信息能够随数据转发给所述第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及所述第二转发规则对所述数据进行转发;
所述转发路径确定单元,用于根据所述控制消息确定单元发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息对应的数据转发的第一路径;
所述转发规则管理单元,用于生成所述第一转发规则和所述第二转发规则;
所述拓扑管理单元,用于监听所述SDN中的交换设备的状态,根据所述SDN中的交换设备的状态更新所述SDN的网络拓扑。
19.根据权利要求18所述的SDN中的控制设备,其特征在于,所述第二转发规则是依据接收到的路径信息对包含所述路径信息的数据重复转发的转发规则。
20.根据权利要求18或19所述的SDN中的控制设备,其特征在于,所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
21.根据权利要求18或19所述的SDN中的控制设备,其特征在于,所述第一路径的信息嵌套在多协议标签交换MPLS消息中下发给所述第一交换设备。
22.根据权利要求18或19所述的SDN中的控制设备,其特征在于,所述控制设备还包括标识管理单元和拓扑管理单元:
所述标识管理单元,用于分配和回收所述SDN中交换设备之间转发路径的唯一标识;
所述拓扑管理单元,用于根据所述SDN网络拓扑的变换,更新所述SDN的网络拓扑信息;
相应的,所述转发路径确定单元根据所述拓扑管理单元中记录的网络拓扑信息,以及所述标识管理单元分配的交换设备之间转发路径的唯一标识,结合所述控制消息确定单元发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息转发的第一路径。
23.根据权利要求18或19所述的SDN中的控制设备,其特征在于,所述控制设备还包括组播组管理单元,
所述组播组管理单元,用于为所述SDN中的组播组分配组播组标识,所述组播组标识唯一标识一个组播组,所述组播组包含至少两个组播组成员,组播组中一个成员发送的数据能够被组播组中其它成员接收到。
24.根据权利要求23所述的SDN中的控制设备,其特征在于,
所述转发规则管理单元,还用于向第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述第三交换设备是与所述组播组的成员直接相连的交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
25.根据权利要求18、19或24所述的SDN中的控制设备,其特征在于,所述控制设备还包括:
服务链设定单元,用于设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,并为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;
所述转发规则管理单元,还用于生成第四转发规则并下发给第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则,所述第四交换设备是所述服务链中与具备特定服务能力的设备直接连接的交换设备。
26.根据权利要求25所述的SDN中的控制设备,其特征在于:
所述网络通信单元还用于接收第五交换设备发送的第五转发规则请求;
所述控制消息处理单元,还用于解析所述第五转发规则请求,并将解析后的所述第五转发规则请求发送给所述转发路径确定单元;
所述转发路径确定单元,还用于根据所述控制消息确定单元发送的解析后的所述第五转发规则请求,确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
所述转发规则管理单元,还用于下发第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含服务链路径的信息的所述数据,并发送给第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径的信息的数据之前接收到的,并能够使所述第六交换设备根据所述服务链路径信息将所述数据转发给服务链路径上其它交换设备;其中,所述第六交换设备是所述服务链路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
27.一种软件定义网络SDN中数据转发系统,包括第一交换设备和第二交换设备,所述第一交换设备与所述第二交换设备直接相连,其特征在于:
所述第一交换设备,用于根据接收到的数据向控制设备请求转发规则,接收所述控制设备返回的第一转发规则,并根据所述第一转发规则封装包含第一路径信息的所述数据发送给所述第二交换设备,所述第一路径的信息是根据转发所述数据的第一路径上实现所述数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;
所述第二交换设备,用于接收第一交换设备发送的所述数据,所述第二交换设备根据所述第一路径的信息以及第二转发规则,向与所述第二交换设备直接相连的交换设备发送所述数据,与所述第二交换设备直接相连的交换设备是所述第一路径上的交换设备;
所述第二交换设备,还用于在接收所述第一交换设备发送的所述数据之前,接收所述控制设备下发的所述第二转发规则,所述第二转发规则为所述控制设备监听所述SDN中的交换设备的状态,根据所述SDN中的交换设备的状态更新所述SDN的网络拓扑后生成的转发规则。
28.根据权利要求27所述的SDN中数据转发系统,其特征在于,所述第二转发规则是依据路径信息能够对包含路径信息的数据重复转发的转发规则。
29.根据权利要求27或28所述的SDN中数据转发系统,其特征在于,
所述第二交换设备,还用于将所述第一路径的信息发送给与所述第二交换设备直接相连的交换设备,或所述第二交换设备将所述第一路径上与所述第二交换设备直接相连的交换设备到第n交换设备之间的转发路径的第二路径的信息,发送给与所述第二交换设备直接相连的交换设备,所述第二路径的信息是根据实现所述数据转发的路径上交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列,其中,n为整数且大于等于3。
30.根据权利要求27或28所述的SDN中数据转发系统,其特征在于,
所述数据转发系统还包括第i交换设备、第i-1交换设备和第i+1交换设备,所述第i交换设备、所述第i-1交换设备以及所述第i+1交换设备是所述第一路径上的交换设备;
所述第i交换设备,用于接收所述第i-1交换设备发送的第i-1路径信息和所述数据,所述第i-1路径信息是根据实现所述数据转发的所述第i交换设备到第n交换设备的先后顺序,用交换设备间转发路径的唯一标识表示的序列;其中,i为整数且大于等于3;并根据所述第i-1路径信息,向所述第i+1交换设备发送所述数据和第i路径信息,所述第i路径信息是根据实现所述数据转发的所述第i+1交换设备到第n交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列。
31.根据权利要求30所述的SDN中数据转发系统,其特征在于,
所述第i交换设备根据所述第i-1路径信息,向第i+1交换设备发送所述数据和第i路径信息具体包括:
所述第i交换设备从所述第i-1路径信息中剥离所述第i交换设备的转发路径的唯一标识,生成所述第i路径信息;
通过所述第i交换设备的转发路径唯一标识,查询所述第i交换设备保存的第i转发规则,确定所述第i交换设备的出端口;
所述第i交换设备通过所述第i交换设备的出端口向第i+1交换设备发送所述数据和第i路径信息。
32.根据权利要求27、28或31所述的SDN中数据转发系统,其特征在于:
所述第一路径信息,第二路径信息和第i路径信息采用多协议标签交换MPLS标签嵌套封装,一个MPLS标签头填充一个交换设备的转发路径唯一标识。
33.根据权利要求27、28或31所述的SDN中数据转发系统,其特征在于:
所述交换设备之间转发路径的唯一标识为交换设备的唯一标识、交换设备与其直接相连的交换设备之间的唯一接口标识、或交换设备与其直接相连的交换设备之间链路的唯一标识。
34.根据权利要求27、28或31所述的SDN中数据转发系统,其特征在于:
所述第一交换设备、所述第二交换设备和第三交换设备是与同一组播组的成员直接相连的交换设备,其中,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备,所述组播组的成员发送给其它成员的数据,能够被所述组播组的其它成员接收到;
所述第三交换设备,用于接收所述控制设备发送的包含组播组标识的第三转发规则,根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
35.根据权利要求27、28或31所述的SDN中数据转发系统,其特征在于,所述SDN中数据转发系统还包括第五交换设备、第六交换设备和第七交换设备;
第五交换设备,用于向所述控制设备发送第五转发规则请求,并接收所述控制设备返回的到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备,所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备间的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,所述服务链中具备特定服务能力的设备具有唯一标识该设备的标识,所述服务序列是用所述具备特定服务能力的设备的唯一标识组合而成的序列;
所述第五交换设备将所述数据以及所述服务链路径信息转发给所述第七交换设备或所述服务链路径上的第六交换设备;
所述第六交换设备,用于根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收的;其中,所述第六交换设备是所述服务链路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
36.根据权利要求27、28或31所述的SDN中数据转发系统,其特征在于,所述SDN中数据转发系统还包括控制设备,所述控制设备包括网络通信单元、控制消息处理单元、转发路径确定单元和转发规则管理单元;
所述网络通信单元,用于接收所述第一交换设备发送的第一转发规则请求,并将所述第一转发规则请求发送给所述控制消息处理单元;
所述控制消息处理单元,用于解析所述第一转发规则请求,将解析后的所述第一转发规则请求发送给所述转发路径确定单元,并将所述转发路径确定单元确定的第一路径的信息以及所述转发规则管理单元生成的第一转发规则通过所述网络通信单元发送给所述第一交换设备,将所述转发规则管理单元生成的第二转发规则通过所述网络通信单元发送给所述第一路径上的第二交换设备;所述第一路径的信息是依据所述第一路径上交换设备的顺序,用交换设备之间转发路径的唯一标识表示的序列,所述第一路径的信息能够随所述数据转发给所述第二交换设备,使得所述第二交换设备根据所述第一路径的信息以及所述第二转发规则对所述数据进行转发;
所述转发路径确定单元,用于根据所述控制消息确定单元发送的解析后的所述第一转发规则请求,确定对所述第一转发规则请求中携带的数据信息对应的数据转发的第一路径;
所述转发规则管理单元,用于生成所述第一转发规则和所述第二转发规则。
37.根据权利要求36所述的SDN中数据转发系统,其特征在于,
所述控制设备还包括组播组管理单元,
所述组播组管理单元,用于为所述SDN中的组播组分配组播组标识,所述组播组标识唯一标识一个组播组,所述组播组包含至少两个组播组成员,组播组中一个成员发送的数据能够被组播组中其它成员接收到。
38.根据权利要求37所述的SDN中数据转发系统,其特征在于,
所述转发规则管理单元,还用于向第三交换设备发送包含组播组标识的第三转发规则,以使所述第三交换设备根据所述第三转发规则,封装到达下一汇聚交换设备的路径的路径信息的所述数据并发送;所述到达下一汇聚交换设备的路径的路径信息是按照实现数据转发的交换设备的先后顺序,用交换设备之间转发路径的唯一标识表示的序列;所述第三交换设备是与所述组播组的成员直接相连的交换设备,所述第三交换设备是通过两条以上路径向所述组播组成员转发数据的交换设备;所述下一汇聚交换设备是转发所述数据至组播组成员的路径上,从所述第三交换设备至组播组成员经过的第一个通过两条以上路径向所述组播组成员转发数据的交换设备。
39.根据权利要求37或38所述的SDN中数据转发系统,其特征在于,所述控制设备还包括:
服务链设定单元,用于设定服务链,所述服务链是所述SDN中具备特定服务能力的设备构成的服务序列,并为所述服务链中具备特定服务能力的设备分配唯一标识该设备的标识;
所述转发规则管理单元,还用于生成第四转发规则并下发给第四交换设备,所述第四转发规则包含与所述第四交换设备直接相连的第一特定服务能力设备的唯一标识,使得所述第四交换设备将接收到的数据下转发给所述第一特定服务能力的设备;所述第四转发规则是所述第四交换设备在接收到需要转发的数据之前接收的转发规则,所述第四交换设备是所述服务链中与具备特定服务能力的设备直接连接的交换设备。
40.根据权利要求39所述的SDN中数据转发系统,其特征在于:
所述网络通信单元还用于接收第五交换设备发送的第五转发规则请求;
所述控制消息处理单元,还用于解析所述第五转发规则请求,并将解析后的所述第五转发规则请求发送给所述转发路径确定单元;
所述转发路径确定单元,还用于根据所述控制消息确定单元发送的解析后的所述第五转发规则请求,确定到达第七交换设备的服务链路径,所述第五交换设备是与所述服务链中第二特定服务能力设备直接相连的交换设备,所述第七交换设备是与所述服务链中第三特定服务能力设备直接相连的交换设备,所述第二特定服务设备与所述第三特定服务设备是在所述服务链中直接相邻的特定服务设备;所述服务链路径是按照所述第二特定服务设备到所述第三特定服务设备的路径上实现所述数据转发的交换设备的先后顺序,用所述交换设备之间转发路径的唯一标识表示的序列;
所述转发规则管理单元,还用于下发第五转发规则给所述第五交换设备,以使所述第五交换设备封装包含所述服务链路径信息的所述数据,并发送给所述第七交换设备,或发送给所述服务链路径上的第六交换设备,使得所述第六交换设备根据所述服务链路径信息以及第六转发规则对所述数据进行转发,所述第六转发规则是所述第六交换设备在接收到包含所述服务链路径信息的数据之前接收到的,并能够使所述第六交换设备根据所述服务链路径信息将所述数据转发给服务链路径上其它交换设备;其中,所述第六交换设备是所述服务链路径上在所述第五交换设备与所述第七交换设备之间的交换设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/094144 WO2016095142A1 (zh) | 2014-12-17 | 2014-12-17 | 软件定义网络sdn中数据转发的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107005479A CN107005479A (zh) | 2017-08-01 |
CN107005479B true CN107005479B (zh) | 2020-06-26 |
Family
ID=56125605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480083893.9A Active CN107005479B (zh) | 2014-12-17 | 2014-12-17 | 软件定义网络sdn中数据转发的方法、设备和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107005479B (zh) |
WO (1) | WO2016095142A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737481B (zh) * | 2017-04-24 | 2021-04-23 | 诺基亚通信公司 | 通信方法和通信设备 |
CN107197443B (zh) * | 2017-06-21 | 2020-09-25 | 深圳市盛路物联通讯技术有限公司 | 一种基于物联网的数据传输控制方法及系统 |
WO2019205082A1 (zh) * | 2018-04-27 | 2019-10-31 | 华为技术有限公司 | 一种网络及网络管理方法 |
CN109743326B (zh) * | 2019-01-10 | 2021-09-07 | 新华三云计算技术有限公司 | 流量传输方法及装置 |
CN114374739A (zh) * | 2022-02-22 | 2022-04-19 | 深圳易可达科技有限公司 | 信息对接系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200122A (zh) * | 2013-03-05 | 2013-07-10 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
CN103457776A (zh) * | 2013-09-04 | 2013-12-18 | 杭州华三通信技术有限公司 | 一种双向协议无关组播中动态部署汇聚点的方法及装置 |
CN104158749A (zh) * | 2013-05-14 | 2014-11-19 | 华为技术有限公司 | 软件定义网络中报文转发方法、网络设备及软件定义网络 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097452B2 (en) * | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
KR20140125898A (ko) * | 2013-04-18 | 2014-10-30 | 한국전자통신연구원 | 소프트웨어 정의 네트워킹 망에서 긴급 트래픽 전달 방법 및 이를 수행하는 장치 |
CN104184663B (zh) * | 2014-07-17 | 2018-02-06 | 北京交通大学 | 基于软件定义网络和一体化标识网络的通信方法和装置 |
-
2014
- 2014-12-17 CN CN201480083893.9A patent/CN107005479B/zh active Active
- 2014-12-17 WO PCT/CN2014/094144 patent/WO2016095142A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200122A (zh) * | 2013-03-05 | 2013-07-10 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
CN104158749A (zh) * | 2013-05-14 | 2014-11-19 | 华为技术有限公司 | 软件定义网络中报文转发方法、网络设备及软件定义网络 |
CN103457776A (zh) * | 2013-09-04 | 2013-12-18 | 杭州华三通信技术有限公司 | 一种双向协议无关组播中动态部署汇聚点的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107005479A (zh) | 2017-08-01 |
WO2016095142A1 (zh) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005462B (zh) | 软件定义网络中数据转发的方法、设备和系统 | |
US20230362249A1 (en) | Systems and methods for routing data to a parallel file system | |
CN107733799B (zh) | 一种报文传输方法和装置 | |
US10263848B2 (en) | Compiler for and method for software defined networks | |
CN102461089B (zh) | 用于使用标签进行策略执行的方法和设备 | |
US9203702B2 (en) | Path calculation method | |
CN102724118B (zh) | 标签分发方法及设备 | |
US9203762B2 (en) | Information handling system data center bridging features with defined application environments | |
CN103548376A (zh) | 通过openflow数据平面在云计算机中实现epc | |
CN107005479B (zh) | 软件定义网络sdn中数据转发的方法、设备和系统 | |
CN105051688A (zh) | 经扩展的标记联网 | |
CN104303467A (zh) | 集成的异构的软件定义的网络 | |
US20170310581A1 (en) | Communication Network, Communication Network Management Method, and Management System | |
CN102971994A (zh) | 在rsvp-te中的不同会话之间共享资源保留 | |
CN108141392A (zh) | 伪线负载分担的方法和设备 | |
CN104065553A (zh) | 虚拟网络迁移方法和相关设备 | |
US9929880B2 (en) | System and method for managing VLAN associations with network ports | |
WO2017197983A1 (zh) | 流量处理方法及系统、存储介质、交换机 | |
CN112822104A (zh) | 一种数据报文的处理方法、设备、存储介质及系统 | |
CN107979519A (zh) | Vxlan业务的差分实现方法及vtep、pe | |
CN112671644B (zh) | 一种基于mpls的sdn业务隔离及选路的方法 | |
WO2024104007A1 (zh) | 报文发送方法、装置、存储介质及电子装置 | |
WO2021115397A1 (zh) | 业务链转发控制方法及装置、业务组网 | |
CN119342006A (zh) | 点对多点报文传输方法及相关装置 | |
US9521065B1 (en) | Enhanced VLAN naming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220222 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |