出口网关内缓存队列饱和攻击防御方法、装置及系统的制作方法_3

文档序号:9600790阅读:来源:国知局
301,接收出口网关发送的数据包,该数据包是该出口网关在确定该数据包与该出口网关内的静态流表和动态流表均不匹配时发送的。
[0112]步骤302,获取与数据包的目标地址对应的流表项。
[0113]步骤303,向出口网关发送流表项,该流表项用于触发该出口网关根据流表项对该数据包进行转发。
[0114]综上所述,本发明实施例中提供的出口网关内缓存队列饱和攻击防御方法,通过接收出口网关发送的数据包,获取与数据包的目标地址对应的流表项,向出口网关发送流表项;由于中心控制器只需处理与出口网管的流表不匹配的数据包,因此解决了相关技术中交换机的缓存队列大小有限,当恶意用户发送大量目的地不同且携带较大载荷的数据包时,很容易造成缓存队列溢出,进而加剧控制器的处理负担,使得整个SDN网络过饱和的问题;达到了实时更新出口网关所存储的静态流表和动态流表中的流表项,使常用数据包的匹配直接在出口网关中进行,而无须加入发送至中心控制器的缓存队列中,避免移动网络遭到非法终端的网络攻击时,由于出口网关突然接收到大量目的地不同的数据包,而造成缓存队列溢出的效果。
[0115]图4A是本发明再一个实施例中提供的出口网关内缓存队列饱和攻击防御方法的方法流程图,该出口网关内缓存队列饱和攻击防御方法应用于图1所示网络架构中的出口网关130中。该出口网关内缓存队列饱和攻击防御方法包括如下步骤:
[0116]步骤401,中心控制器确定出各个常用服务器的地址。
[0117]常用服务器通常为用户通常访问的服务器,或者说,常用服务器备用户访问的次数比较多。
[0118]步骤402,中心控制器以各个地址为目标地址生成流表项。
[0119]对于每个常用服务器的地址,中心控制器均以该地址为目标地址预先生成流表项。
[0120]步骤403,中心控制器将生成的各个流表项发送至出口网关。
[0121]通常情况下,人们对主流网站的点击次数会比一般网站的点击要多,即人们对常用服务器的访问请求次数较多。为了减少后续中心控制器的工作压力,中心控制器可以预先根据各个常用服务器的地址生成流表项,将所生成流表项发送至出口网关,这样出口网关可以将访问常用服务器的数据包进行成功匹配和转发,而中心控制器则只需处理目标地址是非常用服务器的数据包的即可。
[0122]步骤404,出口网关将各个流表项存储至静态流表中。
[0123]在实际应用中,出口网关与中心控制器连接上之后,可以从中心控制器获取到与常用服务器对应的流表项,并可以预先将这些流表项存储至静态流表中,以减少后续过程中向中心控制器上报的无法匹配的数据包。
[0124]步骤405,出口网关接收终端发送的数据包,将该数据包与出口网关中存储的静态流表进行匹配。
[0125]由于该静态流表中每条流表项是中心控制器根据常用服务器的地址生成的,且流表项中至少包括目标IP地址和下一跳网络设备的IP地址,因此静态流表中的每条流表项用于指示数据包在被转发至目标IP地址时的下一跳网络设备。
[0126]出口网关接收至少一个终端发送的数据包,出口网关在每接收一个数据包后,为了判定该数据包是否有合适的转发路径,或者为该数据包确定转发路径,出口网关通常会将接收到的数据包的目标IP地址与静态流表中的流表项的目标IP地址进行匹配,在匹配成功时,则按照流表项所指示的路径进行转发。
[0127]位于移动网络中的终端在访问SDN网络时,需要向连接移动网络和SDN网络的出口网关发送数据包。这里所讲的终端均是在移动网络进行过认证并成功接入至移动网络的基站中的终端,这些终端可以为智能手机、平板电脑、可穿戴式设备等,本实施例不对终端的类型进行限定。
[0128]步骤406,当数据包与静态流表中的流表项均不匹配时,出口网关将该数据包与出口网关中存储的动态流表进行匹配。
[0129]当数据包与静态流表中的流表项均不匹配时,出口网关会将该数据包与出口网关中存储的动态流表进行匹配。
[0130]这里所讲的动态流表中每条流表项均是出口网关在判定接收到的数据包与存储的流表项均不匹配时上报给中心控制器,由中心控制器获取并反馈的与该数据包中的目标地址对应的流表项。
[0131]步骤407,当数据包与动态流表中的流表项均不匹配时,出口网关将数据包发送至该中心控制器。
[0132]当数据包与动态流表中的流表项均不匹配时,说明出口网关无法判断转发该数据包时下一跳网络设备的地址,此时出口网关会将数据包发送至该中心控制器,由中心控制器获取并反馈的与该数据包中的目标地址对应的流表项。
[0133]步骤408,中心控制器获取与数据包的目标地址对应的流表项,将该流表项发送至出口网关。
[0134]在中心控制器接收到出口网关发送的数据包后,先查询与该数据包的目标地址对应的流表项,若查询到与该数据包的目标地址对应的流表项,则直接向出口网关发送该流表项,若未查询到与所述数据包的目标地址对应的流表项,则生成与该数据包的目标地址对应的流表项,并向出口网关发送该流表项。
[0135]步骤409,出口网关将该流表项添加至动态流表中。
[0136]由于中心控制器一旦接收到数据包,便会将与该数据包对应的流表项发送至出口网关的动态流表中,这样会容易造成存储过多的动态流表,进而增加出口网关的存储负担。
[0137]在一种情况下,考虑到用户可能仅在一段时间内访问某个非常用的服务器,而过一段时间后则不再访问该服务器的情况,此时为了减少动态流表对出口网关的存储占用,出口网关可以将动态流表中与该服务器的地址对应的流表项进行删除。在具体实现时,出口网关统计在统计时刻前预定时长内动态流表中各个流表项被匹配成功的匹配次数;从动态流表中删除匹配次数少于预定阈值的流表项。
[0138]在另一种情况下,考虑到某个服务器(未被服务器认定为常用服务器的服务器)尚未在中心控制器进行过认证,但该服务器受到越来越多用户的关注和访问,此时中心服务器则可以将该服务器的目标地址所对应的流表项推送至出口网关的静态流表中。该过程通常可以通过出口网关对该服务器访问次数的上报以及中心控制器对该服务器总访问次数的统计来实现,具体实现可以参见如下步骤410至步骤413。
[0139]步骤410,出口网关根据该动态流表中每个流表项被匹配成功的次数,累计该流表项所对应的目标地址被访问的访问次数。
[0140]实际实现时,动态流表中的流表项每被匹配成功一次,出口网关则将与该流表项对应的访问次数加1。
[0141]步骤411,出口网关将每个目标地址的访问次数发送至中心控制器。
[0142]为了降低出口网关与中心控制器之间的网络宽带的占用,出口网关可以每隔预定时间间隔将统计出的每个目标地址的访问次数发送至中心控制器。
[0143]可选的,出口网关在将目标地址的访问次数发送至中心控制器之后,将这些目标地址的访问次数清零,重新统计这些目标地址的访问次数。
[0144]步骤412,中心控制器获取目标地址的总访问次数,在判定该目标地址的总访问次数达到预定阈值时,为该目标地址生成流表项,向出口网关发送静态流表更新通知。
[0145]通常情况下,与中心控制器关联的出口网关数量不止一个,不同的出口网关可能会处理具有相同目标地址的数据包,也就是说,中心控制器可能会接收到不同的出口网关发送的同一个目标地址被访问的访问次数。
[0146]为了能说明该目标地址所对应的服务器被用户访问,具有成为常用服务器的条件,中心控制器可以将同一个目标地址的访问次数进行统计,得到每个目标地址的总访问次数。
[0147]当某目标地址的总访问次数达到预定阈值时,通常表明该目标地址所对应的服务器可能为常用服务器,此时可以将该目标地址的流表项作为常用服务器所对应的流表项,并推送给出口网关。
[0148]在中心控制器向出口网关推送最新确定的常用服务器的流表项时,可以在确定后直接推送,也可以在下次与出口网关连接时,与其他常用服务器的流表项一起推送给连接的出口网关。
[0149]步骤413,出口网关接收中心控制器发送的静态流表更新通知,将静态流表更新通知中的流表项添加至出口网关的静态流表中,从动态流表中删除流表项。
[0150]这里所讲的静态流表更新通知中携带有最新确定出的常用服务器的流表项。
[0151]当出口网关将该流表项存入静态流表后,会在动态流表中查询是否存在该最新存入静态流表中的流表项,若存在,则从动态流表中删除该流表项。
[0152]综上所述,本发明实施例中提供的出口网关内缓存队列饱和攻击防御方法,通过出口网关存储静态流表和动态流表,当数据包与静态流表和动态流表中的流表项均不匹配时,则将该数据包发送至所述中心控制器,当接收到中心控制器反馈的流表项时,根据该流表项转发该数据包;由于静态流表存储了与常用服务器的地址生成对应的流表项,当对常用服务器进行访问时,可以避免再次将访问常用服务器的数据包存储至缓存队列,因此解决了相关技术中交换机中缓存队列的大小有限,当接收到大量目的地不同的数据包时,很容易造成缓存队列的溢出的问题;达到了使访问常用服务器的数据包直接转发,而无须加入缓存队列,避免移动网络遭到非法终端的网络攻击时,由于出口网关突然接收到大量目的地不同的数据包,而造成缓存队列溢出的效果。
[0153]在本实施例中,由于中心控制器一旦接收到数据包,便会将与该数据包对应的流表项发送至出口网关的动态流表中,这样是增加不减少的方式容易造成动态流表的溢出,因此,出口网关会根据动态流表中的流表项会根据被匹配成功的次数是否达到预定阈值,选择是否保留该动态流表中的流表项,以避免动态流量表的溢出。
[0154]在一种可能实现方式中,在步骤401中,中心控制器可以通过以下两种方式获取常用服务器的地址。
[0155]第一种方式,接收服务器的注册请求,对发送该注册请求的服务器的地址进行认证,将认证成功的服务器的地址确定为常用服务器的地址。
[0156]中心控制器可以向服务器广播请求获取服务器的注册信息,并通过对服务器回复的注册请求或
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1