一种sdn网络中准确转发数据包的方法

文档序号:9600763阅读:1352来源:国知局
一种sdn网络中准确转发数据包的方法
【技术领域】
[0001] 本发明涉及信息安全技术领域,尤其涉及一种SDN网络中准确转发数据包的方 法。
【背景技术】
[0002] 软件定义网络(SoftwareDefinedNetwork,SDN),是一种新型网络创新架构,通 过将网络设备控制面与数据面分离开来,实现了网络流量的灵活控制、网络可编程,从而使 网络作为管道变得更加智能。
[0003] 本专利改良的是SDN的南向部分,即控制器与交换机的协同工作。SDN交换机是 SDN网络中负责具体数据转发处理的设备。本质上看,传统设备中无论是交换机还是路由 器,其工作原理都是在收到数据包时,将数据包中的某些特征域与设备自身存储的一些表 项进行比对,当发现匹配时则按照表项的要求进行相应处理。SDN交换机也是类似的原理, 但是与传统设备存在差异的是,设备中的各个表项并非是由设备自身根据周边的网络环境 在本地自行生成的,而是由远程控制器统一下发的,因此各种复杂的控制逻辑(例如链路 发现、地址学习、路由计算等等)都无需在SDN交换机中实现。SDN交换机需要在远程控制 器的管控下工作,与之相关的设备状态和控制指令都需要经由SDN的南向接口传达。

【发明内容】

[0004] 本发明的目的是为了解决现有技术中控制器向数据包预传输传输路径上的交换 机群下发流表的延时问题而引发数据包未能按指定路径传输,采用控制流表下发时间及流 表生存期的方案,实现控制器所设计的路由转换所得的流表的下发能及时有效,保证准确 的按新设计的路由转发至目的网元的目的。
[0005] 本发明所述的一种SDN网络中准确转发数据包的方法,针对控制器对交换机群下 发流表的延时问题而引发数据包未能按指定路径传输的问题,采用了控制流表下发到不同 交换机的时间及修改下发到各交换机流表生存时间的方法,确保数据包到达某交换机之前 控制器为该数据包计算的路由所转换的流表已成功部署到预到达的交换机上;从而确保在 SDN网络中的数据包能准确转发到目的地。具体流程为:
[0006] si.数据包传输至交换;
[0007]s2.交换机查找流表,若有匹配成功则直接转发,若无则执行以下流程;
[0008] S3.交换机提取数据包的关键信息,并将此发送至控制器处理;
[0009] s4.控制器根据信息计算路由,假设传输路径为S1|S2|... |Sn;
[0010] s5.控制器计算下发至各交换机的流表,包含特定的生存时间;
[0011] s6.控制器按路由反向顺序下,即Sn|Sn-l|... |S1,发相应的流表给各交换机,同 时确保流表正确部署;
[0012] s7.数据包按控制器指定的路由传输。
[0013] 本发明技术方案带来的有益效果:
[0014] SDN控制器根据计算出的路由向下头交换机下发流表,可能出现由于数据包传输 到下一交换机所用时间t比流表从控制器下达到下一交换机的时间t2短的情况,这时数据 包的转发是根据下一交换机原冲突的流表,而不是新计算的路径。如图2所示。
[0015] -种SDN网络中准确转发数据包的方法,重点解决对因下发流表不及时而导致的 数据包未能按指定路径发送的问题进行修正,确保数据包到达某交换机之前控制器为该数 据包计算的路由所转换的流表已成功部署到预到达的交换机上;解决控制器向数据包预传 输路径上的交换机群下发流表的延时问题而引发数据包未能按指定路径传输的问题。
【附图说明】
[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0017] 图1是本发明方法的工作原理图;
[0018] 图2是本发明出错示意图;
【具体实施方式】
[0019] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0020] 本发明所述的一种SDN网络中准确转发数据包的方法,采用了控制流表下发到不 同交换机的时间及修改下发到各交换机流表生存时间的方法,确保数据包到达某交换机之 前控制器为该数据包计算的路由所转换的流表已成功部署到预到达的交换机上。一种SDN 网络中准确转发数据包的方法工作原理如图1所示:
[0021] si.数据包传输至交换;
[0022] s2.交换机查找流表,若有匹配成功则直接转发,若无则执行以下流程;
[0023]S3.交换机提取数据包的关键信息,并将此发送至控制器处理;
[0024]s4.控制器根据信息计算路由,假设传输路径为S」S2|. . . |Sn;
[0025]s5.控制器计算下发至各交换机的流表,包含特定的生存时间;
[0026]s6.控制器按路由反向顺序下,即Sn|Snl|... |Si,发相应的流表给各交换机,同时 确保流表正确部署;
[0027]s7.数据包按控制器指定的路由传输。
[0028] 其中,针对s5控制器计算下发至各交换机的流表,包含特定的生存时间,假设下 发至交换机Si的流表的生存时间为ti:
[0029] (5a)控制器根据交换机提取数据包的关键信息计算下发至各交换机的原始流 表;
[0030] (5b)i= 0 ;
[0031] (5c)若i>n,跳出流程(6),执行流程(7);否则执行以下流程;
[0032]若hard_timeout= 0且idle_timeout= 0,此流表为长期有效的,无需进行处理, 跳出此流程,进入流程(5d);若hard_timeout= 0且idle_timeout! = 0,抛出异常,跳 出此流程,从流程(5a)重新执行;进行路由时间的调整,即对于Si计算路由时间的调整值 Ati':
[0034] 进行流表下达时间调整,即对于Si计算流表下达时间调整值Δti:
[0038]调整最终的hard_timeout和idle_timeout的值,即hard_timeout=hard_ timeout+Δt';+Δt;,即idle_timeout=idle_timeout+Δt' ;+Δt;;
[0039] (5d)i=i+1,转入流程(5c)执行。
[0040]说明:
[0041] Px_y为使用ping命令从网元x到网元y得到反馈的时间;
[0042] tp为控制器收到交换机反馈回来命令执行完毕的OFPT_BARRIER_REPLY反馈到向 下一交换机下发流表及〇FPT_BARRIER_REQUEST命令完成的平均时间,这个值由组织在实 际生产环境中预先定义;
[0043]td丛为交换机收到从控制器下发的流表到成功部署所用的时间,主要由交换机的 类型而定,通常可忽略不计。
[0044] 针对s6做出的实施方式:
[0045] (6a)i=η;
[0046] (6b)若i〈0,跳出流程(6),执行流程(7);否则执行以下流程;
[0047] (6c)控制器将相应的流表fl〇Wl下发给交换机S1;
[0048] (6d)控制器下发OFPT_BARRIER_REQUEST给交换机Si;
[0049] (6e)若交换机Si响应时间超过T_或未能返回OFPT_BARRIER_REPLY,则说明流表 下发失败,此时返回流程(5)重新执行;否则说明流表成功部署在交换机Si上;
[0050] (6f)i=n-1,转入流程(6b)执行。
[0051] 说明:T_为等待交换机响应的最大超时时间值。
[0052] 以上对本发明实施例所提供的一种SDN网络中准确转发数据包的方法进行了详 细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据 本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不 应理解为对本发明的限制。
【主权项】
1. 一种SDN网络中准确转发数据包的方法,其特征在于,采用控制流表下发到不同交 换机的时间及修改下发到各交换机流表生存时间的方法,确保数据包到达某交换机之前控 制器为该数据包计算的路由所转换的流表已成功部署到预到达的交换机上,确保在SDN网 络中的数据包能准确转发到目的地,具体流程为: si.数据包传输至交换机; s2.交换机查找流表,若有匹配成功则直接转发,若无则执行以下流程; S3.交换机提取数据包的关键信息,并将此发送至控制器处理;s4.控制器根据信息计算路由,假设传输路径为S」S2|... |Sn; s5.控制器计算下发至各交换机的流表,包含特定的生存时间; s6.控制器按路由反向顺序下,即Sn |Sni|. . . |Si,发相应的流表给各交换机,同时确保 流表正确部署; s7.数据包按控制器指定的路由传输。2. 根据权利要求1所述的产品,其特征在于,控制器计算下发至各交换机的流表,为长 期有效的,无需进行处理,跳出此流程,进入下一个交换机的处理流程;若此流程的处理过 程中抛出异常,则重新执行此流程。3. 根据权利要求1所述的产品,其特征在于,控制器将相应的流表flowi下发给交换机 S1;控制器下发OFPT_BARRIER_REQUEST给交换机S1;若交换机Si响应时间超过T_或未能 返回OFPT_BARRIER_REPLY,则说明流表下发失败,此时返回流程重新执行;否则说明流表 成功部署在交换机Si上。
【专利摘要】本发明公开了一种SDN网络中准确转发数据包的方法,该方法针对控制器对交换机群下发流表的延时问题而引发数据包未能按指定路径传输的问题,采用了控制流表下发到不同交换机的时间及修改下发到各交换机流表生存时间的方法,确保数据包到达某交换机之前控制器为该数据包计算的路由所转换的流表已成功部署到预到达的交换机上;从而确保在SDN网络中的数据包能准确转发到目的地。
【IPC分类】H04L12/721
【公开号】CN105357119
【申请号】CN201510716491
【发明人】杨育斌, 程丽明, 柯宗贵
【申请人】蓝盾信息安全技术股份有限公司
【公开日】2016年2月24日
【申请日】2015年10月28日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1