二层交换设备用报文转发处理方法、处理装置和设备的制作方法

文档序号:7750485阅读:229来源:国知局
专利名称:二层交换设备用报文转发处理方法、处理装置和设备的制作方法
技术领域
本发明实施例涉及计算机网络通信中的二层交换技术,尤其涉及一种二层交换设 备用报文转发处理方法、处理装置和设备。
背景技术
在因特网络(Internet)中,诸如视频会议和网络电视等单点发送多点接收的多 媒体业务正在成为信息传送的重要组成部分,为避免浪费带宽资源,多采用组播技术作为 这类业务的通信方式。采用组播技术,当发送者向一组接收者发送数据时,只需将数据报文 用一个预约组播组的组地址发送,只有加入该组播组的接收者才可以接收到组播的数据报 文。对发送者而言,数据报文只需发送一次就可以发送到所有接收者,大大减轻了网络的负 载和发送者的负担。数据报文在网络中进行转发需要通过交换设备和路由设备来完成。交换设备和路 由设备分别服务于开放系统互联(Open System Internetwork,简称0SI)经典网络模型的 第二层和第三层,即数据链路层和网络层。三层路由设备负责在不同的网络间转发数据报 文;二层交换设备负责在同一网络内,通常是在局域网内或虚拟局域网内的不同设备间转 发数据报文。传统的二层交换设备主要利用交换芯片进行业务流中数据报文的高速转发,对数 据报文的处理过程如图1所示。每个交换芯片100由端口 110和转发模块120组成。二 层交换设备中的CPU 200根据协议处理生成转发规则,并将转发规则基于控制流设置到交 换芯片100以形成转发表,交换芯片100从端口 110接收数据报文,由转发模块120根据 转发表直接将数据报文从对应端口 110转发给不同设备。一般情况下,CPU 200无需处理 数据报文的转发,仅当交换芯片100的专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)无法处理某些数据报文时,才会上报给CPU 200进行处理。对于IPv6 组播情况一般会采用组播侦听者发现(Multicast Listener Discovery,简称MLD)协议窥 探(Snooping)技术,MLD Snooping技术由CPU 200中的相应窥探模块210来实现,依据协 议交互触发组播转发表项的创建,作为CPU 200生成转发规则的一部分。对于无法创建组 播转发表项的组播数据流,其数据报文会被交换芯片100直接丢弃。为避免组播数据流由于无法通过MLD Snooping创建组播转发表项而被丢弃的问 题,现有技术提出一种解决方案,其处理流程如图2所示。数据报文进入交换芯片100的转 发模块120后,若转发模块120无法在转发表中查找到相应的表项,则将该数据报文送往 CPU 200进行处理。CPU 200从接收模块220收到数据报文之后,经过处理模块230进行一 些基础的、与组播无关的处理之后,送达窥探模块210 ;窥探模块210根据组播流设定组播 转发表给交换芯片100,该组播流后续数据报文将不再上报CPU 200处理。但是,在实现本发明的过程中,发明人发现上述技术存在如下缺陷二层交换设备 是在局域网内进行高速转发的设备,交换芯片以硬件形式实现的报文转发速度远高于CPU 的处理速度,与局域网的连接速率通常可达千兆比特每秒或百兆比特每秒;而在上述方案
4中,上报的数据报文需经过CPU的处理,才能创建适用于交换芯片的转发表;在转发表成功 创建并设置到交换芯片的过程中,会有大量无法查询到转发表项的数据报文送往CPU进行 处理,CPU经过必要处理之后才能决定是否丢弃;在不确定的网络环境中,大量数据报文可 能导致CPU资源被过度占用,无法响应正常的服务请求,从而导致系统瘫痪。

发明内容
本发明提供一种二层交换设备用报文转发处理方法、处理装置和设备,以实现既 提高数据报文转发的可靠性,又能减少对CPU处理资源的占用。本发明实施例提供了一种二层交换设备用报文转发处理方法,包括当接收到交换芯片上报的数据报文时,根据所述数据报文的转发参数产生报文抑 制指令;将创建的所述报文抑制指令下发至所述交换芯片,以阻断所述交换芯片将包括所 述转发参数的数据报文上报;根据所述数据报文创建转发表项,且将创建的所述转发表项下发至所述交换芯 片。本发明实施例提供了一种二层交换设备用报文转发处理装置,包括接收模块,用于接收交换芯片上报的数据报文;阻断模块,与所述接收模块相连,用于根据所述数据报文的转发参数产生报文抑 制指令,并将创建的所述报文抑制指令下发至所述交换芯片,以阻断所述交换芯片将包括 所述转发参数的数据报文上报;表项创建模块,与所述接收模块相连,用于根据所述数据报文创建转发表项,且将 创建的所述转发表项下发至所述交换芯片。本发明实施例还提供了一种二层交换设备,包括交换芯片和CPU,其特征在于所 述CPU中包括本发明提供的二层交换设备用报文转发处理装置;所述报文转发处理装置中 的接收模块、阻断模块和表项创建模块分别与所述交换芯片相连。本发明提供的二层交换设备用报文转发处理方法、处理装置和设备,通过将上报 的数据报文快速进行阻断处理,抑制交换芯片继续上报具有相应转发参数的数据报文,由 此避免了对上报数据报文的重复处理,能够减少对二层交换设备CPU资源的占用。


图1为现有技术中一种二层交换设备的结构示意图;图2为现有技术中另一种二层交换设备的结构示意图;图3为本发明实施例一提供的二层交换设备用报文转发处理方法的流程图;图4为执行本发明实施例一提供的报文转发处理方法的二层交换设备的结构示 意图;图5为本发明实施例二提供的二层交换设备用报文转发处理方法的流程图;图6为本发明实施例三提供的二层交换设备用报文转发处理装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一图3为本发明实施例一提供的二层交换设备用报文转发处理方法的流程图,该方 法可以由二层交换设备的CPU来执行,包括如下步骤步骤310、当CPU接收到交换芯片上报的数据报文时,根据数据报文的转发参数产 生报文抑制指令;步骤320、CPU将创建的报文抑制指令下发至交换芯片,以阻断交换芯片将包括转 发参数的数据报文上报,即阻断上报给CPU ;步骤330、CPU根据数据报文创建转发表项,且将创建的转发表项下发至交换芯片。在上述CPU处理数据报文的过程中,产生报文抑制指令与步骤330的顺序可以不 进行限定,可以相互独立的执行,即可以在产生报文抑制指令之前、之时或之后,根据数据 报文创建转发表项。在CPU将创建的报文抑制指令下发至交换芯片之后,还可以包括由CPU主动取消 报文抑制指令的操作,即CPU将创建的报文抑制指令进行存储,并在设定时间后,将存储的 报文抑制指令从交换芯片中取消。报文抑制指令不仅可以由CPU主动发起取消的指令进行取消,也可以在其他情况 下自动取消,例如当交换芯片接收到CPU创建的具有出端口标识常规转发表项时即自动取 消。所谓设定时间可以通过估算CPU创建常规转发表项的时间来设定,并且,由于具有相同 转发参数的报文流通常不会始终传输,因此在设定时间后取消报文抑制指令能够释放交换 芯片存储或执行该指令所占用的时间。本实施例的方法可以由图4所示的二层交换设备来执行,但应该注意的是本发 明实施例并不限于由该结构的二层交换设备来执行。二层交换设备中一般包括交换芯片100和CPU 200,交换芯片100中包括多个可 以收发数据报文的端口 110,以及执行转发操作的转发模块120,CPU200包括接收数据报文 的接收模块220,进行数据报文处理的处理模块230,以及对组播数据报文进行组播转发表 项创建的窥探模块210。处理模块230对数据报文所作的处理可以理解为根据已有协议可 以进行的任何处理操作。本实施例中在已有二层交换设备的基础上进一步增加了阻断模块 240,阻断模块240与接收模块220和各交换芯片100的转发模块120相连。处理模块230 可以与接收模块220直接相连,对于数据报文的处理在阻断模块240操作之后才执行的情 况,可以将阻断模块240设置在接收模块220和处理模块230之间。基于图4所示的二层交换设备来执行上述方法的具体过程如下业务流的数据报 文从交换芯片100的端口 110进入,送达至转发模块120进行处理;转发模块120根据交换 芯片100中存储的转发表进行查询,一般是按照数据报文的目的地址等参数进行查询,获 取对应的出端口标识,若能够查询到对应的出端口,则从相应端口 110转发报文,执行正常 的转发流程,若无法查询到对应的转发表项,则将该数据报文上报给CPU 200进行处理;当
6CPU 200的接收模块220接收到交换芯片100上报的数据报文时,数据报文首先会交付阻断 模块240进行处理;阻断模块240根据数据报文的转发参数产生报文抑制指令,并将创建的 报文抑制指令下发至交换芯片100 ;获取到报文抑制指令的交换芯片100,在继续接收到无 法查询到转发表项的数据报文时,会判断该数据报文是否包括报文抑制指令指定的转发参 数,若是,则阻断将该数据报文上报给CPU 200,若否,则执行正常的上报操作。在阻断模块 240产生报文抑制指令的过程中,CPU 200的处理模块230和窥探模块210可以按照原有协 议规定对该数据报文进行基础处理以及组播转发表项的创建。采用本实施例的技术方案,对于需要CPU处理的数据报文,会首先经过阻断模块的处理,阻断模块立即指示交换芯片阻断相应数据报文的上报。需要阻断的数据报文以转 发参数来识别,转发参数的形式可以有多种,只要是能够代表需要阻断的数据报文的共性 参数即可。例如,需阻断属于同一组播流的数据报文时,转发参数可以是组播组地址;需阻 断同一攻击源的数据报文时,转发参数可以是源地址。理想状态下,接收到第一个数据报文 时就能很快地抑制后续相应数据报文的上报,保护了交换芯片与CPU之间的通信带宽不被 过度占用。并且根据第一个数据报文就能够创建转发表项,从而使后续接收到的数据报文 能够正确地被交换芯片转发,避免了重复处理数据报文创建冗余转发表项对资源的浪费。本实施例的技术方案可以适用于对各种数据报文的处理情况,CPU的处理速度要 远低于交换芯片的转发速度,在CPU完成正常的转发表项创建之前,本实施例技术方案能 够快速阻断后续上报的数据报文,有效地抑制大量对数据报文的重复上报和处理。本实施例在处理组播数据报文时的优势尤为显著,即使是正常组播应用产生的组 播流,在首次上报数据报文后,由于CPU接收首个数据报文后,还要经过其他一些逻辑处 理,其后才送往窥探模块生成组播转发表项。从CPU收到数据报文到窥探模块生成转发表 项这短时间内可能有该组播流的大量数据报文被送达CPU,造成一些数据报文堆积在CPU 的高速缓冲区内。而这些数据报文淤积不但增加了 二层交换设备内存占用,而且也浪费CPU 的的处理资源。因为CPU只要获得该组播流的一个数据报文就可以创建组播转发表项。采 用上述技术方案能够有效避免CPU对大量组播数据报文进行重复地处理,由此可以减轻 CPU的负担,避免资源浪费,使CPU系统的工作可靠性提高,不会影响正常业务的处理。上述 技术方案能有效防止组播数据流攻击二层交换设备,对于应该产生组播转发表项的正常组 播流,也不会直接丢弃,因此提高了报文转发的可靠性。实施例二图5为本发明实施例二提供的二层交换设备用报文转发处理方法的流程图,本实 施例的方法具体包括如下步骤步骤510、当CPU接收到交换芯片上报的数据报文时,从数据报文中获取目的地址 和虚拟局域网标识,将目的地址和虚拟局域网标识作为转发参数来创建抑制转发表项,抑 制转发表项即作为报文抑制指令;步骤520、CPU将该抑制转发表项的出端口设置为空;步骤530、CPU将创建的报文抑制指令下发至交换芯片,以阻断交换芯片将包括转 发参数的数据报文上报,即阻断上报给CPU ;步骤540、CPU根据数据报文创建转发表项,且将创建的转发表项下发至交换芯 片。
本实施例以抑制转发表项作为报文抑制指令,以目的地址和虚拟局域网(VLAN) 标识作为转发参数。在组播转发的情况下,组播组地址即为目的地址,记为G。虚拟局域网 标识即为V,在不涉及虚拟局域网的二层交换设备上可以默认将V的值置为“0”,以(G,V) 的二元组作为转发参数。抑制转发表项也是一种转发表项,会加入到交换芯片的转发表中。 当交换芯片在接收到后续数据报文进行转发表项查询时,若查询到抑制转发表项,则对应 的出端口为空,即无下游出端口信息。此时,这类数据报文既由于能够查询到转发表项而无 需上报CPU进行处理,又由于出端口为空所以无需转发,即达到丢弃报文的效果,因此起到 了抑制数据报文上报的作用。直到CPU创建了正确的转发表项,更新抑制转发表项,补充了 正确的出端口标识,即可完成后续的正常转发操作。在CPU的阻断模块将创建的抑制转发表项下发至交换芯片之后,CPU还可以从交 换芯片中取消报文抑制指令,本实施例采用抑制转发表项作为报文抑制指令时,CPU的阻断 模块具体可以在步骤530之后执行下述步骤
步骤550、CPU的阻断模块将创建的抑制转发表项进行存储,并在设定时间后,将 存储的抑制转发表项在交换芯片中的引用删除,即取消了报文抑制指令。在实际应用中,CPU的各个控制模块,如阻断模块和窥探模块所创建并下发给交换 芯片的转发表项,实际上是建立了该控制模块对该交换芯片中的转发表项的引用关系。当 某个控制模块删除该交换芯片中某转发表项的引用时,交换芯片会判断是否该转发表项还 与其他模块存在引用关系,若有,则交换芯片仅删除与该控制模块的引用关系,若无,则删 除该转发表项。在本实施例中,若窥探模块已经确定了有明确出端口信息的转发表项,则下发该 转发表项后,也建立了与交换芯片中已建立的抑制转发表项的引用,由于目的地址等转发 参数一致,所以窥探模块和阻断模块创建的转发表项为同一转发表项。阻断模块对转发表 项的删除仅会删除阻断模块对该转发表项的引用,而不会删除该转发表项。及时删除转发 表项可以避免对转发表资源的过多占用。本实施例技术方案的适应性强、成本低,只使用交换芯片的组播转发表资源实现, 不要求交换芯片的其他能力,易于推广到使用各种不同的二层交换芯片上的二层交换设备 上。只使用组播转发表资源来实现,则在大量组播流攻击时不会影响设备提供的组播之外 的其他服务。本实施例的技术方案尤为适用于二层交换芯片这种中低端设备,能够考虑其 成本低廉、功能单一、无法执行复杂逻辑的特点。相对于现有技术,本实施例的技术方案具有诸多优势1)相比于采用访问控制列 表(Access Control List,简称ACL)等进行静态控制,避免非法组播流进入组播处理逻辑 的技术方案,本实施例不会消耗较多的ACL资源,由于不是静态设置,所以对数据报文的抑 制操作灵活,不会产生的较大的静态配置工作量;2)相比于对上报的组播报文进行统一速 率限制的方案,本实施例的技术方案能够保证需要上报的数据报文的正常上报,不会直接 丢弃而导致某些正常的组播流无法获取组播转发表项。实施例三图6为本发明实施例三提供的二层交换设备用报文转发处理装置的结构示意图, 该处理装置可以为二层交换设备的CPU,也可以是集成在CPU中的功能模组。该报文转发处 理装置包括接收模块220、阻断模块240和表项创建模块250。其中,接收模块220用于接收交换芯片100上报的数据报文;阻断模块240与接收模块220相连,用于根据数据报文的 转发参数产生报文抑制指令,并将创建的报文抑制指令下发至交换芯片100,以阻断交换芯 片100将包括转发参数的数据报文上报;表项创建模块250与接收模块220相连,可以是通 过阻断模块240与接收模块220相连,用于根据数据报文创建转发表项,且将创建的转发表 项下发至交换芯片100。表项创建模块250具体可以是图4中所示结构的处理模块230和 /或窥探模块210等。在上述技术方案的基础上,该阻断模块240具体可以包括指令创建单元241和 端口设置单元242。其中,指令创建单元241用于从数据报文中获取目的地址和虚拟局域 网标识,将目的地址和虚拟局域网标识作为转发参数来创建抑制转发表项作为报文抑制指 令;端口设置单元242用于将抑制转发表项的出端口设置为空。
阻断模块240还可以包括表项删除单元243,用于删除对交换芯片中的抑制转发 表项的引用。本实施例提供的报文转发处理装置可以执行本发明任意实施例所提供的二层交 换设备用报文转发处理方法,具备相应的功能模块,能够避免CPU对数据报文的重复处理, 能减轻CPU的工作负荷,且能减少对交换芯片和CPU之间有效带宽的占用。本发明实施例还提供了一种二层交换设备,包括交换芯片和CPU。CPU中包括本发 明任意实施例所提供的二层交换设备用报文转发处理装置;该报文转发处理装置中的接收 模块、阻断模块和表项创建模块分别与交换芯片相连。本发明的方案可以基于IPv4或IPv6协议实现,尤其适用于支持MLDSnooping技 术的二层交换设备。本发明提供的报文转发处理方案能够有效快速阻断重复上报的数据报 文,且能够避免执行重复冗余的转发表项创建,减轻了 CPU的工作负荷,也保护了交换芯片 和CPU之间的通信带宽资源。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种二层交换设备用报文转发处理方法,其特征在于,包括当接收到交换芯片上报的数据报文时,根据所述数据报文的转发参数产生报文抑制指令;将创建的所述报文抑制指令下发至所述交换芯片,以阻断所述交换芯片将包括所述转发参数的数据报文上报;根据所述数据报文创建转发表项,且将创建的所述转发表项下发至所述交换芯片。
2.根据权利要求1所述的报文转发处理方法,其特征在于在产生报文抑制指令之前、 之时或之后,根据所述数据报文创建转发表项。
3.根据权利要求1所述的报文转发处理方法,其特征在于,根据所述数据报文的转发 参数产生报文抑制指令包括从所述数据报文中获取目的地址和虚拟局域网标识,将所述目的地址和虚拟局域网标 识作为转发参数来创建抑制转发表项作为所述报文抑制指令;将所述抑制转发表项的出端口设置为空。
4.根据权利要求1或2所述的报文转发处理方法,其特征在于,在将创建的所述报文抑 制指令下发至所述交换芯片之后,还包括将创建的所述报文抑制指令进行存储,并在设定时间后,将存储的所述报文抑制指令 从所述交换芯片中取消。
5.根据权利要求3所述的报文转发处理方法,其特征在于,在将创建的所述报文抑制 指令下发至所述交换芯片之后,还包括将创建的所述报文抑制指令进行存储,并在设定时间后,将存储的所述报文抑制指令 从所述交换芯片中取消。
6.根据权利要求5所述的报文转发处理方法,其特征在于,所述将存储的所述报文抑 制指令从所述交换芯片中取消包括将存储的所述抑制转发表项在所述交换芯片中的引用删除。
7.—种二层交换设备用报文转发处理装置,其特征在于,包括接收模块,用于接收交换芯片上报的数据报文;阻断模块,与所述接收模块相连,用于根据所述数据报文的转发参数产生报文抑制指 令,并将创建的所述报文抑制指令下发至所述交换芯片,以阻断所述交换芯片将包括所述 转发参数的数据报文上报;表项创建模块,与所述接收模块相连,用于根据所述数据报文创建转发表项,且将创建 的所述转发表项下发至所述交换芯片。
8.根据权利要求7所述的报文转发处理装置,其特征在于,所述阻断模块包括指令创建单元,用于从所述数据报文中获取目的地址和虚拟局域网标识,将所述目的 地址和虚拟局域网标识作为转发参数来创建抑制转发表项作为所述报文抑制指令;端口设置单元,用于将所述抑制转发表项的出端口设置为空。
9.根据权利要求8所述的报文转发处理装置,其特征在于,所述阻断模块还包括表项删除单元,用于删除对所述交换芯片中的所述抑制转发表项的引用。
10.一种二层交换设备,包括交换芯片和CPU,其特征在于所述CPU中包括权利要求 7 9任一所述的二层交换设备用报文转发处理装置;所述报文转发处理装置中的接收模块、阻断模块和表项创建模块分别与 所述交换芯片相连。
全文摘要
本发明公开了一种二层交换设备用报文转发处理方法、处理装置和设备。该方法包括当接收到交换芯片上报的数据报文时,根据数据报文的转发参数产生报文抑制指令;将创建的报文抑制指令下发至交换芯片,以阻断交换芯片将包括转发参数的数据报文上报;根据数据报文创建转发表项,且将创建的转发表项下发至所述交换芯片。本发明通过将上报的数据报文快速进行阻断处理,抑制交换芯片继续上报具有相应转发参数的数据报文,由此避免了对上报数据报文的重复处理,能够减少对二层交换设备CPU资源的占用。
文档编号H04L12/56GK101867518SQ20101018988
公开日2010年10月20日 申请日期2010年5月24日 优先权日2010年5月24日
发明者倪宏 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1