软件定义网络中的转发设备控制方法及设备技术

技术编号:11172955 阅读:166 留言:0更新日期:2015-03-20 02:14
本发明专利技术提出软件定义网络中的转发设备控制方法及转发设备。方法包括:SDN中的第一转发设备发现自身与控制器之间的带外连接中断,通过自身的相邻转发设备将开放流协议报文发送给控制器。本发明专利技术在SDN中的带外连接中断后,仍能够实现控制器对转发设备的控制。

【技术实现步骤摘要】
软件定义网络中的转发设备控制方法及设备
本专利技术涉及软件定义网络(SDN, Software Defined Network)
,尤其涉及基于开放流(OpenFlow)的软件定义网络中的转发设备控制方法及转发设备、控制器。
技术介绍
为方便理解,首先给出如下说明: OpenFlow:是一种SDN架构中定义控制器和转发层之间的通信接口标准。OpenFlow允许直接访问和操作网络设备的转发平面,这些网络设备可能是物理上的,也可能是虚拟的。 OpenFlow的思想是分离控制平面和数据平面,二者之间使用标准的协议通信;数据平面采用基于流的方式进行转发。 OpenFlow 网络由 OpenFlow 转发设备(如:0penFlow Switch)和控制器(OpenFlowController)通过安全通道(Secure Channel)组成。 SDN:SDN与传统网络的最大区别,是将控制平面和网络转发平面分离开来,网络转发平面将不再拥有控制功能,将控制平面交给独立于转发平面之外的操作系统,特性则基于操作系统进行定制。 控制器(Controller):是OpenFlow架构中的控制平面。下发各种指令通过安全信道控制OpenFlow交换机(转发设备),用户可以通过编程自己定义控制平面从而定义整个网络。 流表:为ControlIer下发到OpenFlow交换机的硬件表项,通过不同的匹配域匹配不同的报文,并对这些报文进行各种处理。 Packet-1n:指的是转移报文的控制权到Controller。对于匹配上流表项或者未匹配上流表项(Table Miss)后转发到对应Controller的保留端口的报文均要通过Packet-1n消息送到Controller。Packet-1n消息可以携带整个需要转移控制权的报文,也可以通过在OpenFlow交换机内部设置报文的缓存器(Buffer)来仅携带报文头以及其Buffer ID传输给Controller。Controller在接收到Packet-1n消息后会对其接收到的报文或者报文头和Buffer ID进行处理,并发回Packet-out消息通知OpenFlow交换机如何处理该报文。 Packet-out:用于Controller通过OpenFlow交换机特定端口发送报文,这些报文是包含在接收到的Packet-1n消息中的。通常Packet-Out消息包含整个之前接收到的Packet-1n消息所携带的报文或者Buffer ID。Packet-out消息需要包含一个动作列表,当OpenFlow交换机收到该动作列表后会对Packet-Out消息所携带的报文执行该动作列表。 目前,Controller是通过特定的OpenFlow交换机管理口与OpenFlow交换机进行交互,以实现对OpenFlow交换机的控制的,这种方式称为带外控制(0ut_band control)方式。
技术实现思路
本专利技术提供SDN中的转发设备控制方法及转发设备、控制器,以在基于OpenFlow的SDN中的带外连接中断后,仍能够实现控制器对转发设备的控制。 本专利技术的技术方案是这样实现的: 一种软件定义网络SDN中的转发设备控制方法,初始时,各转发设备由控制器带外控制,该方法包括: SDN中的任一转发设备,设第一转发设备发现自身与控制器之间的带外连接中断,则通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制。 所述第一转发设备通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制包括: 第一转发设备在自身的相邻转发设备中选择一个,通过所选择的转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制。 所述第一转发设备在自身的相邻转发设备中选择一个为: 第一转发设备根据自身与各相邻转发设备的连接端口的负载状态,选择一个当前单位时间内空闲带宽最大的端口,该端口连接的转发设备即为所选择的相邻转发设备。 所述第一转发设备发现自身与控制器之间的带外连接中断之后、在自身的相邻转发设备中选择一个之前进一步包括:第一转发设备在自身的流表中下发一条带内控制流表项,该表项中的源地址为控制器的地址,动作为将报文传输到本地网络栈; 且,所述方法进一步包括:所述控制器在发现自身与第一转发设备的带外连接中断时,向第一转发设备的所有相邻转发设备的流表下发一条带内控制流表项,该表项中的目的地址为控制器的地址,动作为将整个报文上送到控制器,以便:第一转发设备选择的相邻转发设备接收到第一转发设备发来的开放流协议报文后,根据所述控制器下发的所述带内控制流表项将该报文通过管理口上送控制器; 且,所述第一转发设备通过所选择的转发设备将开放流协议报文发送给控制器之后进一步包括:第一转发设备接收所选择的相邻转发设备转发的开放流协议响应报文,根据自身的带内控制流表项,将该报文传输到本地网络栈,所述开放流协议响应报文为控制器接收到所述开放流协议报文后生成且发送给所选择的相邻转发设备的。 所述第一转发设备通过所选择的转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制之后进一步包括: 若第一转发设备未接收到发出的开放流协议报文的响应报文,则在自身的相邻转发设备中重新选择一个,向该新选择的相邻转发设备发送开放流协议报文。 所述第一转发设备通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制包括: 第一转发设备将开放流协议报文发送给自身的所有相邻转发设备,由控制器选择的相邻转发设备将该开放流协议报文转发给控制器,以使控制器对所述第一转发设备的控制方式由带外控制切换为带内控制,其中,控制器选择的相邻转发设备为:控制器在发现自身与第一转发设备之间的带外连接中断后,在第一转发设备的相邻转发设备中选择一个,由所选择的转发设备转发第一转发设备的开放流协议报文到控制器。 所述第一转发设备发现自身与控制器之间的带外连接中断之后进一步包括:第一转发设备在自身的流表中下发一条带内控制流表项,该表项中的源地址为控制器的地址,动作为将报文传输到本地网络栈; 所述控制器在第一转发设备的相邻转发设备中选择一个之后进一步包括:控制器向所选择的相邻转发设备的流表下发一条带内控制流表项,该表项中的目的地址为控制器的地址,动作为将整个报文上送到控制器,以便:该相邻转发设备接收到第一转发设备发来的开放流协议报文后,根据所述控制器下发的所述带内控制流表项将该报文通过管理口上送控制器; 且,所述第一转发设备将开放流协议报文发送给自身的所有相邻转发设备之后进一步包括:第一转发设备接收相邻转发设备转发的开放流协议响应报文,根据自身的带内控制流表项,将该报文传输到本地网络栈,所述开放流协议响应报文为控制器接收到所述开放流协议报文后生成且发送给所选择的相邻转发设备的。 所述第一转发设备将开放流协议报文发送给自身的所有相邻转发设备,由控制器选择的相邻转发设备将该开放流协议报文转发给控制器之后进一步包括: 所述本文档来自技高网
...
软件定义网络中的转发设备控制方法及设备

【技术保护点】
一种软件定义网络SDN中的转发设备控制方法,初始时,各转发设备由控制器带外控制,其特征在于,该方法包括:SDN中的任一转发设备,设第一转发设备发现自身与控制器之间的带外连接中断,则通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制。

【技术特征摘要】
1.一种软件定义网络SDN中的转发设备控制方法,初始时,各转发设备由控制器带外控制,其特征在于,该方法包括: SDN中的任一转发设备,设第一转发设备发现自身与控制器之间的带外连接中断,则通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制。2.根据权利要求1所述的方法,其特征在于,所述第一转发设备通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制包括: 第一转发设备在自身的相邻转发设备中选择一个,通过所选择的转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制。3.根据权利要求2所述的方法,其特征在于,所述第一转发设备在自身的相邻转发设备中选择一个为: 第一转发设备根据自身与各相邻转发设备的连接端口的负载状态,选择一个当前单位时间内空闲带宽最大的端口,该端口连接的转发设备即为所选择的相邻转发设备。4.根据权利要求2所述的方法,其特征在于,所述第一转发设备发现自身与控制器之间的带外连接中断之后、在自身的相邻转发设备中选择一个之前进一步包括:第一转发设备在自身的流表中下发一条带内控制流表项,该表项中的源地址为控制器的地址,动作为将报文传输到本地网络栈; 且,所述方法进一步包括:所述控制器在发现自身与第一转发设备的带外连接中断时,向第一转发设备的所有相邻转发设备的流表下发一条带内控制流表项,该表项中的目的地址为控制器的地址,动作为将整个报文上送到控制器,以便:第一转发设备选择的相邻转发设备接收到第一转发设备发来的开放流协议报文后,根据所述控制器下发的所述带内控制流表项将该报文通过管理口上送控制器; 且,所述第一转发设备通过所选择的转发设备将开放流协议报文发送给控制器之后进一步包括:第一转发设备接收所选择的相邻转发设备转发的开放流协议响应报文,根据自身的带内控制流表项,将该报文传输到本地网络栈,所述开放流协议响应报文为控制器接收到所述开放流协议报文后生成且发送给所选择的相邻转发设备的。5.根据权利要求2所述的方法,其特征在于,所述第一转发设备通过所选择的转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制之后进一步包括: 若第一转发设备未接收到发出的开放流协议报文的响应报文,则在自身的相邻转发设备中重新选择一个,向该新选择的相邻转发设备发送开放流协议报文。6.根据权利要求1所述的方法,其特征在于,所述第一转发设备通过自身的相邻转发设备将开放流协议报文发送给控制器以使控制器对自身的控制方式由带外控制切换为带内控制包括: 第一转发设备将开放流协议报文发送给自身的所有相邻转发设备,由控制器选择的相邻转发设备将该开放流协议报文转发给控制器,以使控制器对所述第一转发设备的控制方式由带外控制切换为带内控制,其中,控制器选择的相邻转发设备为:控制器在发现自身与第一转发设备之间的带外连接中断后,在第一转发设备的相邻转发设备中选择一个,由所选择的转发设备转发第一转发设备的开放流协议报文到控制器。7.根据权利要求6所述的方法,其特征在于,所述第一转发设备发现自身与控制器之间的带外连接中断之后进一步包括:第一转发设备在自身的流表中下发一条带内控制流表项,该表项中的源地址为控制器的地址,动作为将报文传输到本地网络栈; 所述控制器在第一转发设备的相邻转发设备中选择一个之后进一步包括:控制器向所选择的相邻转发设备的流表下发一条带内控制流表项,该表项中的目的地址为控制器的地址,动作为将整个报文上送到控制器,以便:该相邻转发设备接收到第一转发设备发来的开放流协议报文后,根据所述控制器下发的所述带内控制流表项将该报文通过管理口上送控制器; 且,所述第一转发设备将开放流协议报文发送给自身的所有相邻转发设备之后进一步包括:第一转发设备接收相邻转发设备转发的开放流协议响应报文,根据自身的带内控制流表项,将该报文传输到本地网络栈,所述开放流协议响应报文为控制器接收到所述开放流协议报文后生成且发送给所选择的相邻转发设备的。8.根据权利要求6所述的方法,其特征在于,所述第一转发设备将开放流协议报文发送给自身的所有相邻转发设备,由控制器选择的相邻转发设备将该开放流协议报文转发给控制器之后进一步包括: 所述控制器在预设时长内未接收到来自第一转发设备的保活报文,则在第一转发设备的相邻转发设备中重新选择一个,将所选择的转发设备作为转发第一转发设备的开放流协议报文的新设备。9.根据权利要求1所述的方法,其特征在于,所述第一转发设备发现自身与控制器之间的带外连接中断之后进一步包括: 当第一转发设备发现自身与控制器间的带外连接恢复时,恢复通过管理口与控制器交互开放流协议报文。10.根据权利要求1所述的方法,其特征在于,所述第一转发设备通过自身的相邻转发设备将开放流协议报文发送给控制器包括: 第一转发设备的相邻转发设备接收第一转发设备发来的开放流协议报文,将该开放流协议报文封装到Packet-1n消息,且在该消息中指示该开放流协议报文在本设备上的入端口,将该消息通过本设备的管理口上送控制器;且,第一转发设备的相邻转发设备接收控制器返回的Packet-out消息,该消息包含所述开放流协议报文的响应报文,同时包含该响应报文对应的动作:转发到一出端口,该出端口为所述Packet-1n消息指示的入端口,第一转发设备的相邻转发设备根据Packet-out消息包含的动作,将该消息中的响应报文转发到对应的出端口。11.一种转发设备,位于基于开放流的SDN中,且,该转发设备由控制器带外控制,其特征在于,该转发设备包括: 带外连接监测模块:发现本设备与控制器之间的带外连接中断,向带外连接切换模块发送带外连接中断指示; 带外连接切换模块:当接收到所述带外连接中断指示后,通过本设备的相邻转发设备将开放...

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

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

1