Sdn网络中发送上送控制器协议报文的方法和装置的制造方法

文档序号:8499918阅读:1085来源:国知局
Sdn网络中发送上送控制器协议报文的方法和装置的制造方法
【技术领域】
[0001] 本发明设及通信技术领域,特别是设及一种SDN网络中发送上送控制器协议报文 的方法和装置。
【背景技术】
[0002] 软件定义网络(SoftwareDefinedNetwork,SDN)是一种新型网络架构,其核屯、思 想是分离网络设备的控制层面与转发层面,通过控制器对网络流量进行集中和灵活控制, 从而为核屯、网络及应用的创新提供良好的平台。
[0003] 在基于化enFlow的SDN网络中,所有的主机都连接到openflow交换机,通过 openflow交换机接入到SDN网络。其中,主机在发送流量时,首先通过openflow交换机将流 量通过上送控制器的协议报文,如packet-in报文,上送控制器,然后由控制器向openflow 交换机下发动态流表,使得openflow交换机根据所述动态流表转发主机的流量。
[0004] 当一台个人电脑(记为PC1)需要和另一台PC(记为PC2)通讯时,PC1首先向 openflow交换机发送地址解析协议(ARP)报文,openflow交换机会将该ARP报文封装成 packet-in报文并上送到控制器,控制器通过ARP代答的机制向openflow交换机发送控制 器下发协议报文,如packet-out报文,openflow交换机解封装该packet-out报文得到ARP 回应报文,将该ARP回应报文发给PC1。
[0005]PC1得到该ARP回应报文后,开始通过openflow交换机向PC2发送数据报文, openflow交换机将数据报文封装成packet-in报文再上送到控制器,控制器计算出流表, 下发给openflow交换机。在openflow交换机得到该流表之前,PC1通过openflow交换机 发给PC2的所有数据报文都会封装成packet-in报文上送到控制器,控制器再将收到的所 有的数据报文封装成packet-out报文发给对端P2C所处的openflow交换机,让对端PC2 所处的openflow交换机将该些数据报文发给对端PC2,从而保证数据报文的不丢失。在 openflow交换机得到控制器下发的流表之后,openflow交换机按照该流表将PC1发给PC2 的流量直接转发给PC2所处的openflow交换机,由PC2所处的openflow交换机将该流量 发给PC2。
[0006] 在基于overlay的SDN网络中,接入控制器的是开放虚拟交换机ODpenvSwitch, 0V巧,虚拟机(VM)作为主机通过0VS接入SDN网络。其中,0VS处理报文的流程和上述的 openflow交换机处理的流程相同。
[0007] 可见,在基于OpenFlow和基于overlay的SDN网络中,在openflow交换机或者0VS 该个节点上,当其下面连接的PC或者VM较多时,会有比较多的packet-in报文需要上送控 制器,该时控制器处理packet-in报文时延会比较长,导致PC或者VM并不能及时得到ARP 地址,openflow交换机或者0VS也不能及时得到转发流表,该时,PC会重新发报文申请ARP 地址,openflow交换机或者0VS也会将没有得到流表的数据流报文继续封装成packet-in 报文上送控制器,该就形成了很多重复的packet-in报文上送到了控制器,而控制器需要 对每个packet-in报文进行处理,又会加剧控制器的处理报文压力。当该些packet-in报 文达到了openflow交换机或者OVS上送packet-in报文的最大能力的时候,就会有很多的 有效的packet-in报文被丢弃,从而导致PC或者VM得不到ARP地址,openflow交换机或 者0VS也得不到转发的流表,进而导致用户流量得不到响应、流量不通。
[000引上述流量不通的情况已经在现实组网中多次出现,而且一旦发生,openflow交换 机或者0VS等交换节点后续被丢掉的诸如packet-in报文等上送控制器协议报文都会重新 生成,导致上送控制器协议报文越积越多,而控制器也需要重复处理很多相同的上送控制 器协议报文,最终导致整个openflow交换机或者0VS等交换节点完全转发失败。

【发明内容】

[0009] 有鉴于此,本发明提出了一种SDN网络中发送上送控制器协议报文的方法和装 置,能够提高上送控制器协议报文的有效性,减少由于大量无效上送控制器协议报文而导 致流量转发失败的情况。
[0010] 本发明提出的技术方案是:
[0011] 一种SDN网络中发送上送控制器协议报文的方法,该方法包括:
[0012] 接收流量,将所述流量与流表项进行匹配,其中,所述流表项包括控制流表项;
[0013] 当不存在与所述流量匹配的流表项且所述流量属于预设报文类型时,将所述流量 封装在上送控制器协议报文中发给控制器,并生成与所述流量匹配的控制流表项,其中所 述控制流表项的动作为禁止将流量发给控制器;
[0014] 当与所述流量匹配的流表项为控制流表项时,根据匹配的控制流表项,禁止将所 述流量发给控制器。
[0015] 一种SDN网络中发送上送控制器协议报文的装置,该装置包括流表匹配模块、流 表生成模块和报文处理模块;
[0016] 所述流表匹配模块,用于接收流量,将所述流量与流表项进行匹配,其中,所述流 表项包括控制流表项;
[0017] 所述流表生成模块,用于当不存在与所述流量匹配的流表项且所述流量属于预设 报文类型时,将所述流量封装在上送控制器协议报文中发给控制器,并生成与所述流量匹 配的控制流表项,其中所述控制流表项的动作为禁止将流量发给控制器;
[001引所述报文处理模块,用于当与所述流量匹配的流表项为控制流表项时,根据匹配 的控制流表项,禁止将所述流量发给控制器。
[0019] 由上述技术方案可见,本发明实施例中,通过在诸如交换机或0VS等交换节点上, 针对没有匹配到流表项的流量执行特殊的处理,从而提高上送控制器协议报文的有效性。
[0020] 具体地,所述特殊的处理包括;交换节点在没有为接收的流量匹配到流表项时,针 对预设报文类型的流量,不仅将该流量封装成上送控制器协议报文并发给控制器,并且,进 一步地,还生成一个特殊的流表项,即生成控制流表项,用于禁止将该流量发给控制器。
[0021] 可见,本发明通过上述特殊处理,使得交换节点对于同一个预设报文类型的流量, 在其控制流表项的有效期内,最多仅向控制器上送一次上送控制器协议报文,因此可W避 免交换节点在一段之间内将多次收到的同一报文每次都发送上送控制器协议报文,因此能 够减少无效上送控制器协议报文的数量、提高上送控制器协议报文的有效性,进而减少由 于大量无效上送控制器协议报文而导致流量转发失败的情况。
【附图说明】
[0022] 图1是本发明实施例提供的基于化enFlow或overlay的SDN网络中发送上送控 制器的协议报文的方法的流程图。
[0023] 图2是本发明实施例提供的基于化enFlow或overlay的SDN网络中发送上送控 制器的协议报文即packet-in报文的方法的详细流程图。
[0024] 图3是本发明实施例提供的SDN网络中发送上送控制器协议报文的装置的结构示 意图。
[0025] 图4是本发明实施例提供的包含发送上送控制器协议报文的装置的交换设备的 硬件结构示意图。
【具体实施方式】
[0026] 为了提高上送控制器的协议报文的有效性,减少由于大量无效上送控制器的协议 报文而导致控制器不能及时处理而使流量转发失败的情况,本发明
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1