服务器的封包过滤方法及基板管理控制器与流程

文档序号:11279124阅读:772来源:国知局
服务器的封包过滤方法及基板管理控制器与流程

本发明是有关于一种方法及装置,特别是指一种服务器的封包过滤方法及基板管理控制器。



背景技术:

现有的服务器经常利用一基板管理控制器(baseboardmanagementcontroller)透过网络通信来实现远端主机的监控管理,且在该基板管理控制器可以与网络中的其他任一远端主机通信之前,该基板管理控制器必须具有该远端主机的实体位址,也就是媒体存取控制(mac)位址。于是,该基板管理控制器向区域网络发送一个位址解析通讯协定请求(arprequest)广播封包向所有其他远端主机询问,来寻找该远端主机,并取得其ip位址与mac位址的配对资料。

然而,当远端主机刻意利用例如多点传送(multicast)、广播(broadcast)等方式在短时间发送大量arp请求封包给该基板管理控制器时,这种现象即所谓的arp封包风暴,或称为广播风暴,如此一来恐导致基板管理控制器的网络队列缓冲器溢位,造成正常封包,如dhcp封包,无法被处理而被丢弃,情况严重时,该基板管理控制器的处理器负担过重,而可能造成该基板管理控制器的排程处理或存储器存取发生异常,进而导致该基板管理控制器运作失效。



技术实现要素:

因此,本发明之目的,即在提供一种能控制服务器所发生的封包风暴的封包过滤方法。

于是,本发明服务器的封包过滤方法,由一用于监控服务器之运作的基板管理控制器执行,该封包过滤方法包含一步骤(a)、一步骤(b)、一步骤(c),及一步骤(d)。

该步骤(a)是该基板管理控制器致能一多播封包接收设定,以经由网络接收一多播封包。

该步骤(b)是该基板管理控制器将所接收的该多播封包进行储存。

该步骤(c)是该基板管理控制器监看一时间周期中,该多播封包的储存结果,以判断是否发生封包风暴。

该步骤(d)是若步骤(c)判断的结果为是,该基板管理控制器去能该多播封包接收设定,以停止接收来自网络的该多播封包。

此外,本发明之另一目的,即在提供一种执行该封包过滤方法的基板管理控制器。

于是,本发明基板管理控制器,适于监控服务器之运作并包含一网络队列缓冲器,及一处理器。

该网络队列缓冲器储存来自网络的一多播封包。

该处理器电连接该网络队列缓冲器并包括一封包接收模块及一封包监控模块。该封包接收模块根据一多播封包接收设定被致能或被去能,而决定是否经由网络接收该多播封包。该封包监控模块在一时间周期中监看该网络队列缓冲器,并根据该多播封包的储存结果,判断是否发生封包风暴,若是发生封包风暴,即去能该封包接收模块的多播封包接收设定,以使该封包接收模块停止接收来自网络的该多播封包。

本发明之功效在于:该基板管理控制器的处理器的封包监控模块可监看该网络队列缓冲器对于该多播封包的储存结果,并且在判断出发生封包风暴时停止接收该多播封包,借以降低封包风暴的影响并维持该服务器、及该基板管理控制器自身的正常运作。

【附图说明】

图1是一方块图,说明本发明基板管理控制器的一实施例;及

图2是一流程图,说明本发明服务器之封包过滤方法的一实施例。

【具体实施方式】

参阅图1,本发明基板管理控制器2,适于监控一服务器1之运作并包含一网络队列缓冲器22、一端口21,及一处理器23。

该网络队列缓冲器22能储存来自网络的一多播封包及一正常资料封包。该多播封包是选自于一多点传送(multicast)封包及一广播(broadcast)封包其中的一者。该正常资料封包例如一动态主机配置协定(dhcp)封包。

该端口21用于建立该网络队列缓冲器22的网络连接,以使该网络队列缓冲器22储存来自网络的该多播封包及该正常资料封包。

该处理器23电连接该网络队列缓冲器22并包括一封包接收模块231及一封包监控模块232。其中,该封包接收模块231根据一多播封包接收设定被致能或被去能,而决定是否经由网络接收该多播封包。该封包监控模块232在一时间周期中监看该网络队列缓冲器22,并根据该多播封包的储存结果,判断是否发生封包风暴(packetstorm),若是发生封包风暴,即去能该封包接收模块231的多播封包接收设定,以使该封包接收模块231停止接收来自网络的该多播封包。

参阅图2,本发明封包过滤方法,由图1所示的该基板管理控制器2执行,并包括以下步骤。

在步骤(a),该基板管理控制器2的处理器23的封包监控模块232致能该封包接收模块231的该多播封包接收设定,以经由网络接收该多播封包。

在步骤(b),该基板管理控制器2经由该端口21接收来自网络的该多播封包,并将该多播封包储存至该网络队列缓冲器22。

在步骤(c),该基板管理控制器2的处理器23的该封包监控模块232监看一时间周期中,该多播封包的储存结果,以判断是否发生封包风暴。且该步骤(c)包括以下子步骤。

步骤(c1),该基板管理控制器2的处理器23的封包监控模块232计时该时间周期。该封包监控模块232例如使用一计时器(timer)来计时。

步骤(c2),该基板管理控制器2的处理器23的封包监控模块232根据一用以标记该多播封包的辨识码,以从所储存的封包筛选出该多播封包。具体而言,该基板管理控制器2根据该网络队列暂存器22所储存的封包,其所带的媒体存取控制(mac)位址的第一个位元组(byte)的值或是第一个位元(bit)的值作为该辨识码,据以找出该多点传送封包以及该广播封包。

步骤(c3),该基板管理控制器2的处理器23的封包监控模块232计数在该时间周期所储存的该多播封包的一总封包数目。

步骤(c4),该基板管理控制器2的处理器23的封包监控模块232判断该总封包数目是否达到一门槛封包数目,该门槛封包数目为该多播封包在该时间周期所被允许的最大数目。若判断为是,即进到步骤(d)。若判断为否,即返回步骤(c1),并重复执行步骤(c1)至步骤(c3),亦即,该处理器23的封包监控模块232计算在该时间周期之后的一新的时间周期中该多播封包的总封包数目。

在步骤(d),若步骤(c4)判断的结果为是,该基板管理控制器2的处理器23的封包监控模块232去能该封包接收模块231的多播封包接收设定长达一持续时间,以在该持续时间中停止接收来自网络的该多播封包。接着,该基板管理控制器2的处理器23在经过该持续时间后返回该步骤(a);也就是说,该基板管理控制器2会停止接收该多播封包、该网络队列缓冲器22会停止储存该多播封包长达该持续时间,而该封包监控模块232在经过该持续时间后,再致能该多播封包接收设定,以接收来自网络的该多播封包并储存于该网络队列缓冲器22,并重复执行步骤(c1)至步骤(c4)来监看该多播封包的储存结果。

举一实例来说,该基板管理控制器2的处理器23的封包监控模块232致能该封包接收模块231的多播封包接收设定,让所有来自网络的该正常资料封包及该多播封包都可以被接收进来,并且该处理器23设定该封包监控模块232的计时器的该时间周期为330毫秒(ms)、该门槛封包数目为5000个封包/秒(pps),以及该持续时间为1秒。借此,该封包监控模块每330ms执行一次监看行程(session),该次行程会判断网络队列缓冲器22在该时间周期所收到的该多播封包之总封包数目是否大于等于1650个封包,若是,该封包监控模块232去能该封包接收模块231的多播封包接收设定,以阻挡该多点接收封包及该广播封包,因此该多点接收封包及该广播封包不会被存进网络队列缓冲器22,只有该正常资料封包会被存入。等到1秒钟后,该封包监控模块232再致能该封包接收模块231的该多播封包接收设定,并且再重复执行一次330ms的监看行程,判断该网络队列缓冲器22所收到的该多播封包的总封包数目是否大于等于1650个封包,若不是,则该处理器23的封包监控模块232会继续致能该多播封包接收设定,让所有来自网络的封包可被接收进网络队列缓冲器22储存,并且再重复执行一次330ms的监看行程。

通过本发明封包过滤方法,可以避掉arp封包风暴的封包数目最大至120000pps,能够有效地降低arp封包风暴所造成的影响,并维持该服务器1及该基板管理控制器2的正常运作。此外,因为该封包过滤方法直接由该基板管理控制器2执行,不仅无需搭配外部装置,而且诸如硬件设定值(如该时间周期、该门槛封包数目等)的设定、监控的运算及致/去能等切换机制都能直接利用该基板管理控制器2来操作,较为简易,所以速度上也会较先前技术利用软件运算快。

综上所述,本发明该基板管理控制器2所执行之封包过滤方法,是通过该处理器23的封包监看模块232监看该网络队列缓冲器22对于该多播封包的储存结果,并且在该多播封包的总封包数目达到该门槛封包数目时,判断为发生封包风暴,并停止接收该多播封包,借以降低封包风暴的影响并维持该基板管理控制器2自身之正常运作,因此,确实可达到本发明之目的。

上面结合附图对本发明的具体实施方式和实施例做了详细说明,但不能以之限定本发明的范围,在本发明申请专利范围内所作的均等修饰和变化,皆应该属于本发明专利范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1