一种报文转发方法及设备技术

技术编号:12388303 阅读:49 留言:0更新日期:2015-11-25 20:59
本发明专利技术公开了一种报文转发方法及设备,应用于Openflow网络,所述Openflow网络包括控制器与至少两个节点,各节点为Openflow交换机,该方法包括:首节点接收直连设备发送的原始数据报文;所述首节点根据关键字遍历其上的流表,查询与所述原始数据报文匹配的第一转发标识流表项,所述第一转发标识流表项记录有关键字与转发标识的映射关系;将所述匹配的第一转发标识流表项中的转发标识嵌套在所述原始数据报文中,生成嵌套数据报文,并将其发送给所述Openflow网络中的下一跳节点,使所述下一跳节点在其上的流表中,根据转发标识查询与所述嵌套数据报文匹配的第二转发标识流表项,对所述嵌套数据报文进行处理,所述第二转发标识流表项记录有转发标识。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,特别是一种报文转发方法及设备
技术介绍
Openflow是一种新型的网络交换模型,主要解决现有网络中部署业务时面临的种种瓶颈,其核心思想就是软件设计网络(SoftwareDefinedNetwork,SDN)。SDN是指一个新的网络生态系统,Openflow则是实现SDN的一种开放协议标准,其实现方式就是将现有的完全由交换机、路由器控制的数据包转发过程,转化为由Openflow交换机和控制器(Controller)分别完成的独立过程。OpenFlow交换机在本地维护一个与传统交换机上的转发表不同的流表(FlowTable),如果要转发的数据包在流表中有对应项,则直接进行快速转发,如果流表中没有此项,数据包就会被发送到控制器进行传输路径的确认,再根据控制器下发结果进行转发。其中,FlowTable并非是指IP五元组,事实上OpenFlow1.0定义了包括端口号,虚拟局域网(VirtualLocalAreaNetwork,VLAN),L2/L3/L4信息的10个关键字,如图1所示,每个字段都可以通配,比如运营商只需要根据目的IP进行路由,那么流表中就可以只有目的IP字段是有效的,其他全为通配。目前流量根据流表转发的技术有2种:(1)Openflow交换机中的流表采用固定长度的FlowTable来记录,对于OpenFlow1.0而言,FlowTable的匹配长度长达252bit,而一般的Ipv4路由信息库(RIB,RouteInformationBase)三态内容寻址存储器(TCAM,TernaryContentAddressableMemory)匹配字段长度只有60-80个比特,开销增加了3倍以上,而对于路由器的线卡而言,TCAM成本占了约20%-30%,功耗也占了很大一部分。(2)OpenFlow1.1设计了多级流表来减少FlowTable的开销,将图1中的10个关键字进行分别提取,分解成多个小表项,然后查询的时候进行关联,如图2所示,Openflow交换机上存在两级流表,第一级流表匹配的关键字是MAC+VLAN(图1中SA为源MAC,DA为目的MAC),第二级流表匹配的关键字是IP。从现有技术可以看出来上述2种流表查询技术都存在缺点:第一种流表查询的缺点是TCAM存储成本过高。第二种流表查询的缺点是流水式架构使得匹配的时延增加,存储成本仍旧过高。
技术实现思路
有鉴于此,本专利技术提出了一种报文转发方法及设备,有效解决了现有技术中进行流表查询时TCAM存储成本过高、流水式架构使得匹配的时延增加的缺陷。本专利技术提出的技术方案是:一种报文转发方法,应用于Openflow网络,所述Openflow网络包括控制器Controller与至少两个节点,各节点为Openflow交换机,该方法包括:首节点接收直连设备发送的原始数据报文;所述首节点根据关键字遍历其上的流表,查询与所述原始数据报文匹配的第一转发标识流表项,所述第一转发标识流表项记录有关键字与转发标识的映射关系;将所述匹配的第一转发标识流表项中的转发标识嵌套在所述原始数据报文中,生成嵌套数据报文,并将所述嵌套数据报文发送给所述Openflow网络中的下一跳节点,使所述下一跳节点在其上的流表中,根据转发标识查询与所述嵌套数据报文匹配的第二转发标识流表项,对所述嵌套数据报文进行处理,所述第二转发标识流表项记录有转发标识。上述方案中,该方法进一步包括:若所述首节点根据关键字遍历其上的流表,未查询到与所述原始数据报文匹配的第一转发标识流表项,仅查询到与所述原始数据报文匹配的普通关键字流表,则根据所述匹配的普通关键字流表项转发所述原始数据报文给所述Openflow网络中的下一跳节点,并发送所述原始数据报文至控制器;所述首节点接收所述控制器返回的第一转发标识流表项并保存,其中,所述第一转发标识流表项为所述控制器接收到所述原始数据报文后,为所述原始数据报文的关键字设定一个转发标识,并将所述转发标识与原始数据报文的关键字关联,生成第一转发标识流表项下发给所述首节点。上述方案中,该方法进一步包括:若所述首节点根据关键字遍历其上的流表,未查询到与所述原始数据报文匹配的第一转发标识流表项,且未查询到与所述原始数据报文匹配的普通关键字流表项,则将所述原始数据发送至控制器;所述首节点接收所述控制器返回的第一转发标识流表项并保存,其中,所述第一转发标识流表项为所述控制器接收到所述原始数据报文后,为所述原始数据报文的关键字设定一个转发标识,并将所述转发标识与原始数据报文的关键字关联,生成第一转发标识流表项下发给所述首节点。上述方案中,所述控制器接收到所述原始数据报文后,为所述原始数据报文的关键字设定一个转发标识,具体为:所述控制器接收到所述原始数据报文后,在转发标识列表中为所述数据报文的关键字分配一个空闲的转发标识;所述方法进一步包括:若所述控制器没有空闲转发标识分配给所述原始数据报文的关键字,则所述首节点接收所述控制器发送的与所述原始数据报文关键字匹配的普通关键字流表项并保存,所述普通关键字流表项记录有关键字。一种报文转发方法,应用于Openflow网络,所述Openflow网络包括控制器Controller与至少两个节点,各节点为Openflow交换机,该方法包括:所述控制器接收首节点发送的原始数据报文;所述控制器计算所述原始数据报文的转发路径,并为所述原始数据报文的关键字设定一个转发标识;根据所述转发路径确定转发所述数据报文经过的各节点,为各节点生成对应的流表项并下发到对应的各节点,以指导报文的转发,其中,所述首节点的流表项为第一转发标识流表项,所述第一转发标识流表项记录有关键字与转发标识的映射关系,其它节点的流表项为第二转发标识流表项,所述第二转发标识流表项记录有转发标识。上述方案中,所述控制器为所述原始数据报文的关键字设定一个转发标识,具体为:所述控制器在转发标识列表中为所述数据报文的关键字分配一个空闲的转发标识;该方法进一步包括:若所述控制器没有空闲转发标识分配给所述原始数据报文的关键字,则所述控制器根据转发路径确定转发所述数据报文经过的各节点,为各节点生成对应的普通关键字流表项并下发到对应的各节点,以指导报文的转发,所述普通关键字流表项记录有关键字。一种Openflow交换机设备,应用于Openflow网络,所述Openf本文档来自技高网
...

【技术保护点】
一种报文转发方法,其特征在于,应用于Openflow网络,所述Openflow网络包括控制器Controller与至少两个节点,各节点为Openflow交换机,该方法包括:首节点接收直连设备发送的原始数据报文;所述首节点根据关键字遍历其上的流表,查询与所述原始数据报文匹配的第一转发标识流表项,所述第一转发标识流表项记录有关键字与转发标识的映射关系;将所述匹配的第一转发标识流表项中的转发标识嵌套在所述原始数据报文中,生成嵌套数据报文,并将所述嵌套数据报文发送给所述Openflow网络中的下一跳节点,使所述下一跳节点在其上的流表中,根据转发标识查询与所述嵌套数据报文匹配的第二转发标识流表项,对所述嵌套数据报文进行处理,所述第二转发标识流表项记录有转发标识。

【技术特征摘要】
1.一种报文转发方法,其特征在于,应用于Openflow网络,所述Openflow
网络包括控制器Controller与至少两个节点,各节点为Openflow交换机,该方
法包括:
首节点接收直连设备发送的原始数据报文;
所述首节点根据关键字遍历其上的流表,查询与所述原始数据报文匹配的
第一转发标识流表项,所述第一转发标识流表项记录有关键字与转发标识的映
射关系;
将所述匹配的第一转发标识流表项中的转发标识嵌套在所述原始数据报文
中,生成嵌套数据报文,并将所述嵌套数据报文发送给所述Openflow网络中的
下一跳节点,使所述下一跳节点在其上的流表中,根据转发标识查询与所述嵌
套数据报文匹配的第二转发标识流表项,对所述嵌套数据报文进行处理,所述
第二转发标识流表项记录有转发标识。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
若所述首节点根据关键字遍历其上的流表,未查询到与所述原始数据报文
匹配的第一转发标识流表项,仅查询到与所述原始数据报文匹配的普通关键字
流表,则根据所述匹配的普通关键字流表项转发所述原始数据报文给所述
Openflow网络中的下一跳节点,并发送所述原始数据报文至控制器;
所述首节点接收所述控制器返回的第一转发标识流表项并保存,其中,所
述第一转发标识流表项为所述控制器接收到所述原始数据报文后,为所述原始
数据报文的关键字设定一个转发标识,并将所述转发标识与原始数据报文的关
键字关联,生成第一转发标识流表项下发给所述首节点。
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
若所述首节点根据关键字遍历其上的流表,未查询到与所述原始数据报文
匹配的第一转发标识流表项,且未查询到与所述原始数据报文匹配的普通关键
字流表项,则将所述原始数据发送至控制器;
所述首节点接收所述控制器返回的第一转发标识流表项并保存,其中,所
述第一转发标识流表项为所述控制器接收到所述原始数据报文后,为所述原始
数据报文的关键字设定一个转发标识,并将所述转发标识与原始数据报文的关
键字关联,生成第一转发标识流表项下发给所述首节点。
4.根据权利要求2或3所述的方法,其特征在于,所述控制器接收到所述
原始数据报文后,为所述原始数据报文的关键字设定一个转发标识,具体为:
所述控制器接收到所述原始数据报文后,在转发标识列表中为所述数据报文的
关键字分配一个空闲的转发标识;
所述方法进一步包括:
若所述控制器没有空闲转发标识分配给所述原始数据报文的关键字,则所
述首节点接收所述控制器发送的与所述原始数据报文关键字匹配的普通关键字
流表项并保存,所述普通关键字流表项记录有关键字。
5.一种报文转发方法,其特征在于,应用于Openflow网络,所述Openflow
网络包括控制器Controller与至少两个节点,各节点为Openflow交换机,该方
法包括:
所述控制器接收首节点发送的原始数据报文;
所述控制器计算所述原始数据报文的转发路径,并为所述原始数据报文的
关键字设定一个转发标识;
根据所述转发路径确定转发所述数据报文经过的各节点,为各节点生成对
应的流表项并下发到对应的各节点,以指导报文的转发,其中,所述首节点的
流表项为第一转发标识流表项,所述第一转发标识流表项记录有关键字与转发
标识的映射关系,其它节点的流表项为第二转发标识流表项,所述第二转发标
识流表项记录有转发标识。
6.根据权利要求5所述的方法,其特征在于,所述控制器为所述原始数据
报文的关键字设定一个转发标识,具体为:所述控制器在转发标识列表中为所
述数据报文的关键字分配一个空闲的转发标识;
该方法进一步包括:
若所述控制器没有空闲转发标识分配给所述原始数据报文的关键字,则所
述控制器根据转发路径确定转发所述数据报文经过的各节点,为各节点生成对
应的普通关键...

【专利技术属性】
技术研发人员:黄李伟王茹萍
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1