一种SDN交换机控制方法和装置制造方法及图纸

技术编号:10437841 阅读:145 留言:0更新日期:2014-09-17 14:13
本发明专利技术提供一种SDN交换机控制方法和装置。所述方法包括:接收SDN控制器下发的命令终止报文,所述命令终止报文中携带有命令编号;根据所述命令编号查询所述命令是否已经执行完毕;在所述命令没有执行完毕时,终止所述命令,并返回终止成功报文给SDN控制器,所述终止成功报文中携带有所述命令编号。通过本发明专利技术的技术方案提高了SDN交换机对命令的处理效率。

【技术实现步骤摘要】
一种SDN交换机控制方法和装置
本专利技术涉及通信
,尤其涉及一种SDN交换机控制方法和装置。
技术介绍
随着互联网业务的不断发展,互联网业务对于在互联网上部署的时间要求越来越短,比如几年前一个业务部署往往需要几个月的时间,而且还要花费大量的人力。而现在一个互联网业务可能会要求在投入少量人力的情况下,在几天内完成部署。如何快速部署一个互联网业务,这就涉及到一些新的技术,比如SDN(SoftwareDefinedNetwork,软件定义网络)技术,在SDN定义的模型下,可以通过软件的方式实现对业务的部署,从而减少人力投入,缩短工期。SDN是一种新型网络创新架构,采用全新的设计理念,将控制平面和数据平面分离,并把以前固化在网络设备中的控制平面转移到可访问的计算设备中,从而实现了对网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
技术实现思路
有鉴于此,本专利技术提供一种SDN交换机控制方法和装置。具体地,本专利技术是通过如下技术方案实现的:一种SDN交换机控制方法,应用在SDN交换机上,所述方法包括:接收SDN控制器下发的命令终止报文,所述命令终止报文中携带有命令编号;根据所述命令编号查询所述命令是否已经执行完毕;在所述命令没有执行完毕时,终止所述命令,并返回终止成功报文给SDN控制器,所述终止成功报文中携带有所述命令编号。进一步地,所述方法还包括:在所述命令已经执行完毕时,返回终止错误报文给SDN控制器。进一步地,所述方法还包括:在根据所述命令编号没有查询到对应的命令时,在终止列表中缓存所述命令编号;在执行命令前,查看所述终止列表中是否缓存有待执行命令的命令编号;如果是,则终止所述待执行命令。进一步地,在终止所述待执行命令后,返回终止成功报文给SDN控制器,并在所述终止列表中清除所述待执行命令的命令编号。进一步地,在所述命令编号到达缓存老化时间时,针对所述命令编号返回终止错误报文给SDN控制器,并在所述终止列表中清除所述命令编号。一种SDN交换机控制装置,应用在SDN交换机上,所述装置包括:接收单元,用于接收SDN控制器下发的命令终止报文,所述命令终止报文中携带有命令编号;查询单元,用于根据所述命令编号查询所述命令是否已经执行完毕;处理单元,用于在所述命令没有执行完毕时,终止所述命令,并返回终止成功报文给SDN控制器,所述终止成功报文中携带有所述命令编号。进一步地,所述处理单元,还用于在所述命令已经执行完毕时,返回终止错误报文给SDN控制器。进一步地,所述装置还包括:缓存单元,用于在根据所述命令编号没有查询到对应的命令时,在终止列表中缓存所述命令编号;执行单元,用于在执行命令前,查看所述终止列表中是否缓存有待执行命令的命令编号,如果所述终止列表中缓存有待执行命令的命令编号,则终止所述待执行命令。进一步地,所述处理单元,还用于在终止所述待执行命令后,返回终止成功报文给SDN控制器,并在所述终止列表中清除所述待执行命令的命令编号。进一步地,所述处理单元,还用于在所述命令编号到达缓存老化时间时,针对所述命令编号返回终止错误报文给SDN控制器,并在所述终止列表中清除所述命令编号。由以上描述可以看出,本专利技术中SDN控制器在需要取消下发给SDN交换机的命令时,下发命令终止报文,使得SDN交换机可以根据所述命令终止报文中携带的命令编号终止对应的命令。及时终止SDN控制器已不需要的命令,提高了SDN交换机对命令的处理效率,同时减少了OpenFlow信道中不必要的命令反馈,提高了OpenFlow信道的交互性能。附图说明图1是本专利技术一种实施例中SDN交换机控制方法的流程图。图2是本专利技术一种实施例中SDN交换机控制装置的逻辑结构示意图。具体实施方式典型的SDN网络架构中包含有SDN交换机和SDN控制器。SDN控制器可以通过专有协议,比如:OpenFlow协议,通过OpenFlow信道直接访问并操控转发平面的SDN交换机。OpenFlow信道提供了比较严谨的TCP(TransmissionControlProtocol,传输控制协议)连接通道,SDN控制器下发的大部分命令都可以要求对端SDN交换机返回执行结果。目前的OpenFlow信道不支持命令的取消机制。比如:SDN控制器下发一个流表查询的命令给SDN交换机,SDN交换机接收到该命令后执行查询操作,并将查询结果返回给SDN控制器。当SDN控制器下发多个命令时,SDN交换机依次执行每一个命令,在前一个命令没有执行完毕前,不会执行下一个命令。如果SDN控制器下发了三个命令,依次为:流表查询、流表修改、流表查询,那么可以理解的是SDN控制器要获取的是流表修改后查询的结果,也就是第二次流表查询的结果。但是,SDN交换机在第一次流表查询命令执行完毕前不会主动终止本次查询,导致第二次流表查询的时延非常长,严重的情况下会出现等待超时而导致的查询失败。同时,SDN交换机也不会主动终止向SDN控制器返回流表查询结果,严重影响了OpenFlow信道的交互性能。有鉴于此,本专利技术提供一种SDN交换机控制方案,通过对OpenFlow信道消息类型进行扩展,以实现命令的取消机制。下面以软件实现为例,详细描述本专利技术的具体实现。本专利技术提供的SDN交换机控制方法,应用在SDN交换机上。请参考图1,所述方法包括以下步骤:步骤101,接收SDN控制器下发的命令终止报文,所述命令终止报文中携带有命令编号。步骤102,根据所述命令编号查询所述命令是否已经执行完毕。如果否,则转步骤103,如果是,则转步骤104。步骤103,在所述命令没有执行完毕时,终止所述命令,并返回终止成功报文给SDN控制器,所述终止成功报文中携带有所述命令编号。步骤104,在所述命令已经执行完毕时,返回终止错误报文给SDN控制器。由以上步骤可以看出,本专利技术中SDN控制器在需要取消下发给SDN交换机的命令时,下发命令终止报文,使得SDN交换机可以根据所述命令终止报文中携带的命令编号终止对应的命令。及时终止SDN控制器已不需要的命令,提高了SDN交换机对命令的处理效率,同时减少了OpenFlow信道中不必要的命令反馈,提高了OpenFlow信道的交互性能。具体地,在SDN网络中,SDN控制器可能会向SDN交换机下发各种命令,比如:流表查询、流表修改、流表添加、流表删除等等。所述命令的下发可以是SDN控制器根据管理人员的配置自动下发,比如:每隔预定的时间下发一次流表查询命令,也可以是SDN控制器根据管理人员临时的操作来下发命令,比如:需要临时修改流表。SDN控制器在下发命令后,如果不再需要SDN交换机返回该命令的执行结果,则可以通过向所述SDN交换机下发的命令终止报文,并在所述命令终止报文中携带需要终止的命令的命令编号。SDN交换机在接收到所述命令终止报文后,可以根据所述命令编号查询所述命令是否已经执行完毕,如果没有执行完毕,则终止所述命令。其中,在SDN交换机上,查询所述命令没有执行完毕可以包括有以下两种情况:一种是该命令正在执行,但尚未执行完毕。比如:所述命令为流表查询命令,SDN交换机通常需要遍历本机所有的流表进行该查询命令,由于流表数量非常庞大,所以整个查询过程要耗费很多时间,所以当SDN交换机接收到所述命令终止报文时,其可能正本文档来自技高网...
一种SDN交换机控制方法和装置

【技术保护点】
一种软件定义网络SDN交换机控制方法,应用在SDN交换机上,其特征在于,所述方法包括:接收SDN控制器下发的命令终止报文,所述命令终止报文中携带有命令编号;根据所述命令编号查询所述命令是否已经执行完毕;在所述命令没有执行完毕时,终止所述命令,并返回终止成功报文给SDN控制器,所述终止成功报文中携带有所述命令编号。

【技术特征摘要】
1.一种软件定义网络SDN交换机控制方法,应用在SDN交换机上,其特征在于,所述方法包括:接收SDN控制器下发的命令终止报文,所述命令终止报文中携带有命令编号;根据所述命令编号查询所述命令是否已经执行完毕;在所述命令没有执行完毕时,终止所述命令,并返回终止成功报文给SDN控制器,所述终止成功报文中携带有所述命令编号;在根据所述命令编号没有查询到对应的命令时,在终止列表中缓存所述命令编号;在执行命令前,查看所述终止列表中是否缓存有待执行命令的命令编号;如果是,则终止所述待执行命令。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述命令已经执行完毕时,返回终止错误报文给SDN控制器。3.根据权利要求1所述的方法,其特征在于,在终止所述待执行命令后,返回终止成功报文给SDN控制器,并在所述终止列表中清除所述待执行命令的命令编号。4.根据权利要求1所述的方法,其特征在于,在所述命令编号到达缓存老化时间时,针对所述命令编号返回终止错误报文给SDN控制器,并在所述终止列表中清除所述命令编号。5.一种SDN交换机控制装置,应用在SDN交换机上,其特征在于,所述装置包括...

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

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

1