首页> 中国专利> 实现重定向报文正确转发的方法及第一部件、第二部件

实现重定向报文正确转发的方法及第一部件、第二部件

摘要

一种实现重定向报文正确转发的方法,用于实现第一部件将第二部件返回的重定向报文进行正确转发,包括:(1)第一部件在配置重定向规则时建立重定向通道,给每一重定向通道分配一重定向通道ID;(2)第一部件将接收到的重定向报文重定向至第二部件,所述重定向报文中承载重定通道ID;(3)当第一部件接收由第二部件返回的重定向报文时,从重定向报文中解析出重定向通道ID,获得所述重定向规则,转发所述报文。本发明的第一部件接收到从第二部件返回的多种报文流时,能还原出报文的上下文,完成后续正常流程所应该做的处理工作。

著录项

  • 公开/公告号CN1946060A

    专利类型发明专利

  • 公开/公告日2007-04-11

    原文格式PDF

  • 申请/专利权人 杭州华为三康技术有限公司;

    申请/专利号CN200610138620.7

  • 发明设计人 王海东;张世林;王飓;

    申请日2006-11-08

  • 分类号H04L12/56(20060101);H04L29/06(20060101);H04L12/28(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人胡晶;逯长明

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路东华为3Com总部

  • 入库时间 2023-12-17 18:29:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-31

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/56 变更前: 变更后: 申请日:20061108

    专利权人的姓名或者名称、地址的变更

  • 2008-12-24

    授权

    授权

  • 2007-07-11

    实质审查的生效

    实质审查的生效

  • 2007-04-11

    公开

    公开

说明书

技术领域

本发明涉及网络领域,尤其涉及OAA(Open Application Architecture,开放应用架构)中NFC(Network Forwarding Component,网络转发部件)和IAC(Independent Application Component,独立业务部件)之间实现重定向报文正确转发的方法以及应用该方法的OAA。

背景技术

随着网络业务的迅猛发展与逐步细化,传统的网络设备在处理这些业务时变得不再得心应手。比如,要求设备既能做数据转发又能接入语音、要求设备既能完成负载分担又能进行内容安全过滤。此时,一家独立的技术厂家是很难同时提供给用户所要求的所有服务。为此,用户通常需要购买多个厂家的设备,并将该些设备连接在一起。这样不仅互通性经常出现问题、设备间配合更是不容易协商,而且也给设备的管理和维护带来成本上的负担。

以交换设备(所述交换设备包括交换机与路由器)为例,目前根据网络中的位置与作用,交换设备通常分为中低端交换设备与核心交换设备。中低端交换设备的主要功能是汇集和进行业务管理,核心交换设备的主要功能是快速转发,使得数据包尽可能快速地通过IP骨干网。中低端交换设备一般处于网络的边缘位置,实现方案为一般的单处理器(CPU)的集中式交换设备。由于集中式交换设备有较好的价格成本优势,所以得到较为广泛的应用。集中式交换设备可以依靠内部功能简单的单一处理器来实现交换功能,但是,面对日益丰富的业务特性要求,如IPSec(IP Security协议)、IPS(Intrusion Protect System入侵防御系统)、语音和无线等,集中式交换设备已不能满足该些业务的需求。

为了解决上述问题,本申请人提出了一种OAA架构,将不同厂商的设备集成为一个松耦合的系统(请参阅图1)。一个符合OAA架构的系统包括通过ILC(Interface Linkage Component,接口连接部件)连接的NFC和IAC,其中NFC是OAA系统的主体,负责进行报文转发,有着完整的路由器和交换机的功能,也是用户管理控制的核心;IAC是用来提供各种应用的附加功能的业务服务主体,一般在OAA系统中表现为一块单板或扣卡;ILC通常作为接口分别集成在NFC和IAC之上,为NFC和IAC提供报文转发和控制信息传递的路径。

重定向主要指改变报文在网络设备中的流向。以图2为例,报文从接口A进入,按照报文携带的目的地址应从接口D出去,但是,经重定向处理后从接口G出去。现有的完成重定向的设备(如交换设备),通常是通过本设备入接口所在的转发模块(如以太网卡),将匹配重定向规则的报文(即重定向报文)发送至接口G。由于现有技术在重定向时,没有保存报文被重定向前的上下文,如报文的源MAC地址、目的MAC地址,当重定向报文返回后,由于无法恢复该些上下文,因此造成原有报文后续业务中断的技术问题。

譬如:NFC对流经本部件的报文进行重定向规则匹配,若所述报文是匹配重定向规则的重定向报文,NFC就需要对报文中的源模块信息、目标模块信息进行处理:将报文中目标模块信息修改为IAC与NFC连接的IAC侧端口信息,将报文中的源模块信息修改为NFC上与IAC连接的NFC侧端口信息,这样,NFC才可以将所述重定向报文重定向至指定的IAC上,而且,IAC才能将处理后的重定向报文返回至NFC。由于返回的重定向报文中,报文的原始的源、目标模块信息已丢失,若后续业务需要获知原始源模块和目标模块信息,按照现有的重定向方法,是无法还原原始的源模块和目标模块信息,由此造成后续业务的中断,进而不能进行后续的转发过程。

发明内容

本发明的目的在于提供一种适用开放应用架构的重定向报文正确转发的方法,以解决现有技术中不能获知返回的重定向报文的上下文,由此造成后续业务中断,进而影响报文后续转发的技术问题。

为了达到上述目的,本发明提供了一种实现重定向报文正确转发的方法,用于所述开放应用架构中的网络转发部件NFC将报文重定向至独立业务部件IAC,包括:(1)NFC在配置重定向规则时建立重定向通道,给每一重定向通道分配一重定向通道ID;(2)NFC将匹配所述重定向规则的重定向报文提供至指定的IAC,所述重定向报文中承载对应的重定通道ID;(3)当NFC接收由IAC返回的重定向报文时,从重定向报文中解析出重定向通道ID,获得对应的重定向规则,转发所述报文。

步骤(2)包括:(21)NFC的第一处理器将重定向规则和重定向通道ID分别下发至本端的转发模块和第一重定向转发模块;(22)转发模块给匹配所述重定向规则的重定向报文添加上内部头后,提供至所述一重定向转发模块,所述内部头中至少包括重定向通道ID;(23)所述第一重定向转发模块将包含重定向通道ID的报文进行重定向。

步骤(22)中内部头还包括目标模块ID,所述目的模块ID为第一重定向转发模块ID,所述转发模块将重定向报文提供至NFC的中心转发模块,所述中心转发模块利用目的模块ID将所述报文发送至对应的第一重定向转发模块。

步骤(2)和步骤(3)之间还包括:IAC从重定向报文中解析出重定向通道ID,通过访问NFC获得对应的重定向规则,IAC利用所述重定向规则处理所述报文,或者

IAC查找本端的重定向通道表,若找到所述重定向通道ID对应的重定向规则,则IAC利用所述重定向规则处理所述报文,否则访问NFC获得对应的重定向规则,并将所述重定向通道ID和重定向规则保存到所述重定向通道表中,利用所述重定向规则处理所述报文。

步骤(1)还包括:IAC向本NFC下发重定向规则,NFC将分配的重定向通道ID返回至IAC,IAC保存所述重定向规则与重定向通道ID的对应关系;步骤(2)和步骤(3)还包括:IAC解析出重定向通道ID,获得重定向规则后,处理所述重定向报文,确定是丢弃所述报文还是返回。

步骤(3)中转发所述报文包括:从重定向规则中获知原始的目标模块信息,将所述报文提供给目标模块信息对应的转发模块进行转发。

步骤(1)建立重定向通道为确定重定向通道信息,确定重定向通道信息进一步包括:通过重定向规则直接找到对应的IAC与NFC连接的NFC侧的端口信息、IAC与NFC连接的IAC侧的端口信息。

步骤(1)还包括:NFC建立重定向通道表来保存重定向规则及重定向通道ID的对应关系;步骤(3)中NFC通过查找所述重定向通道表获得所述重定向通道ID对应的重定向规则。

一种应用该方法的第一部件,所述第一部件为网络转发部件NFC,所述NFC包括第一处理器、若干转发模块和若干第一重定向转发模块,其中:

第一处理器,用于将包含重定向规则和重定向通道ID的重定向通道信息下发至所述转发模块和指定的所述第一重定向转发模块;

转发模块:用于接收报文和发送报文,并且对流经本模块的报文进行重定向规则的匹配,并将匹配成功的重定向报文发送至指定第一重定向转发模块;

第一重定向转发模块:用于向IAC发送所述重定向报文,以及给返回的重定向报文还原出所述报文匹配的重定向规则之后,进行报文转发。

NFC还包括中心转发模块,分别连接第一处理器、转发模块和第一重定向转发模块,用于建立各个转发模块之间、转发模块和第一重定向转发模块之间的通信。

一种应用上述方法的第二部件,所述第二部件为独立业务部件IAC,所述IAC包括第二重定向转发模块和第二处理器,其中,第二重定向转发模块,用于建立与网络转发部件NFC之间的重定向报文通信;第二处理器:用于按照预先设定的策略决定报文是经过分析后删除还是经过分析后返回。

一种实现重定向报文正确转发的方法,用于所述开放应用架构中的网络转发部件NFC将报文重定向至独立业务部件IAC,包括:(1)NFC将匹配所述重定向规则的重定向报文提供至指定的IAC,所述重定向报文中直接承载所述重定向规则;(2)当NFC接收由IAC返回的重定向报文时,从重定向报文中直接解析出重定向规则,转发所述报文。

借助于本发明,基于二层转发的松耦合系统中的NFC预先将重定向报文中承载重定向通道ID,这样,当NFC接收到返回的重定向报文中可以直接解析出重定向通道ID,找到唯一对应该重定向通道ID的重定向规则,利用重定向规则中包含的信息就能还原出原始报文的一些上下文信息,比如,该重定向规则中包含源模块信息,就能还原出匹配该重定向规则的报文的原始源模块信息,由此避免现有技术由于报文原始源模块信息丢失而导致业务中断的技术问题,进而完成后续的转发。

譬如:NFC对流经本部件的报文进行重定向规则匹配,若所述报文是匹配重定向规则的重定向报文,NFC就需要对报文中的源模块信息、目标模块信息进行处理:将报文中目标模块信息修改为IAC与NFC连接的IAC侧端口信息,将报文中的源模块信息修改为NFC上与IAC连接的NFC侧端口信息,这样,NFC才可以将所述重定向报文重定向至指定的IAC上,而且,IAC才能将处理后的重定向报文返回至NFC。本发明在接收到返回的重定向报文后,找到匹配该重定向报文的重定向规则,由于重定向规则中通常包含源模块、目标模块信息,因此就能还原出报文的原始的源、目标模块信息,进而进行后续的转发过程。

附图说明

图1为本发明应用的OAA系统的一种典型结构;

图2为现有的重定向流程示意图;

图3为本发明OAA架构中的网络转发部件NFC的结构框图;

图4为本发明OAA架构的IAC的结构原理示意图;

图5为本发明公开的OAA架构中的一种实现重定向报文正确转发方法的流程图;

图6为本发明公开的另一种开放应用架构中实现重定向报文正确转发方法的流程图。

具体实施方式

以下结合附图,具体说明本发明。

还是请参照图1,图1所示为本发明应用的OAA系统的一种典型结构。OAA中连接NFC与IAC的ILC通常包括控制接口和数据平面接口,控制接口可以是异步串口、同步串口等支持流模式的接口,也可能是一个单独的以太网物理端口,或者与数据平面共用的物理端口。NFC上的控制接口与IAC上的控制接口相连接,用于进行控制信息的通信,NFC上的数据平面接口与IAC上的数据平面接口相连接,用于进行数据信息的通信。另外,一个OAA系统中可以包括完成不同功能的多个IAC。

在OAA系统中,转发的功能由NFC完成,业务附加处理由IAC完成。针对不同的应用,申请人定义4种工作模式,可以通过这4种模式之一或其中几种的组合来完成NFC与IAC之间的通信。以下针对各种工作模式进行示例性介绍:

1、主机(Host)模式

IAC就象网络上的一台主机,拥有自己的IP地址,作为网络末梢存在。IP报文都是通过ILC的以太网口转发的。这种方式,NFC仅仅完成单纯的报文转发,IAC则作为数据报文的发起者和接收者,收发各种报文,NFC就是IAC的网关。

2、镜像(Mirror)模式

这种模式下,镜像报文也是通过ILC的以太网口转发,NFC在报文转发的过程中,根据要求,把特定的报文复制一份给IAC,原始报文继续完成正常的转发。而IAC收到这个报文以后进行分析和处理,然后将报文根据特定的策略丢弃。这种工作模式经常应用于IDS(入侵检测系统)。

3、重定向(Redirection)模式

这种模式下,重定向报文也是通过ILC的以太网口转发的,NFC在报文转发过程中,根据要求,把特定的报文重定向给IAC。IAC处理以后,或丢弃,或通过。如果通过,则报文被原封不动的还给NFC,NFC则从当初中断的地方继续处理,完成后续的转发工作。这种模式多用于IPS(入侵防御系统)。

4、穿透(Pass-Through)模式

这种模式下,IAC没有配置IP地址,并且一定要有外在的以太网口,数据从这个外在以太网口流入,穿过IAC,经过ILC的以太网口到NFC,或者反方向。在NFC看来,外部数据像是直接到达了ILC的以太网口,IAC似乎根本不存在一样。当然,流量通过的时候,IAC还是会做相关的记录分析,必要的时候,IAC还会在报文会做一定的修改以完成相关的功能。

以下介绍本发明如何实现重定向报文正确转发的过程。

本申请人经研究发现,如果每一报文在重定向前都在NFC上预先保存好该报文的上下文,NFC在接收到返回的重定向报文之后,还原出原始保存的所述报文的上下文,就能进行后续业务,从而避免由于报文上下文丢失而造成业务中断的问题。但是,NFC为交换机时,由于报文的收发通常是在交换机的各个转发模块完成,因此在各个转发模块需要设置一较大容量的存储空间来保存报文的上下文,而且每一转发模块保存一报文的上下文后,还需要将该上下文通知至出接口所在的转发模块,整个转发过程非常复杂,实现起来难度大。也就是说,上述的重定向过程不适用NFC为交换机的重定向。

本中请人又经过多次研究发现,NFC上预先设定的重定向规则,通常包含报文的上下文或包含部分的上下文,比如,重定向规则1为:入接口为A1、出接口为B2的报文重定向至某一IAC,匹配该重定向规则1的所有报文的入接口都为A1、出接口都为B2。很显然,只需要在NFC保存重定向规则,匹配该重定向规则的所有报文的相应上下文就能获知。通过上述方法,同样也能还原出原始的重定向报文的相应上下文,而不需要针对报文去保存对应的上下文。基于上述的原理,本发明提供了几个具体的实现重定向过程的方法及其对应的硬件改进。

本发明公开的一种第一部件,所述第一部件为OAA架构中的网络转发部件NFC。请参阅图3,其为本发明OAA架构中的网络转发部件NFC的结构框图。它包括若干转发模块11、中心转发模块12、若干第一重定向转发模块13和第一处理器14。其中:

第一处理器14:用于将重定向通道信息下发至转发模块11和指定的所述第一重定向转发模块13。

当本发明采用通过重定向通道ID的方式还原重定向规则时,第一处理器14针对一重定向规则就产生唯一的重定向通道ID。第一处理器14将包含重定向规则和重定向通道ID的重定向通道信息分配给所述重定向规则中指明的入接口所在的转发模块11及重定向出接口所在的第一重定向转发模块12。当重定向规则未指明入接口时,比如,所述重定向规则2为所有出接口为x的报文重定向至重定向出接口y,则所述第一处理器给所有转发模块及重定向出接口y的第一重定向转发模块下发包含所述重定向规则及重定向通道ID的重定向通道信息。当所述重定向规则中未指明重定向出接口时,找到该重定向规则下发至哪个IAC,即可获知NFC与IAC连接的NFC侧的端口信息,即对应的与IAC连接的第一重定向转发模块信息。

当本发明采用在重定向报文中直接承载重定向规则时,第一处理器14将包含重定向规则的重定向通道信息下发至重定向规则中指明的入接口所在的转发模块11和重定向出接口所在的第一重定向转发模块12。

中心转发模块12,用于完成各个转发模块11之间、转发模块11和第一重定向转发模块14之间的报文转发。中心转发模块12通常是一中心转发芯片,它主要是各个模块之间转发报文,比如,利用报文的内部头中承载的目标模块信息(如目标模块ID)来将所述报文发送至对应的目标模块。该中心转发模块12可以采用Broadcom的BCM 5675。

转发模块11:用于接收报文和发送报文,并且对流经本模块的报文进行重定向规则匹配,并将匹配成功的重定向报文发送至指定第一重定向转发模块。

当接收到第一处理器14发送的包含重定向规则和重定向通道ID的重定向通道信息时,保存所述重定向通道信息。本发明可以在转发模块11上设置一重定向通道表来保存重定向通道信息。

它包括入接口处理子模块和出接口处理子模块,其中:

入接口处理子模块,用于在匹配重定向规则的报文中添加报文的内部头,并将报文转发至对应的第一重定向转发模块13。通常转发模块11是通过中心转发模块12将报文转发至第一重定向转发模块13。所述内部头可以包括源模块信息、目标模块信息和重定向通道ID。当重定向规则中指明源模块信息时,所述内部头可以包含重定向通道ID和目标模块信息。源模块信息可以包括入接口信息和入接口所在的转发模块信息。目标模块信息为第一重定向转发模块ID,以便中心转发模块12接收到该目标模块ID,能够将报文转发至对应的第一重定向转发模块13。

当本发明采用在重定向报文中直接承载重定向规则时,入接口处理子模块可以在匹配重定向规则的报文中添加报文的内部头。所述内部头可以包括源模块信息、目标模块信息。所述目标模块信息包括第一重定向转发模块的模块ID。

出接口处理子模块:用于根据接收到的报文的目的地址(如目的IP地址、目的MAC地址)将报文进行转发。

第一重定向转发模块13:用于向IAC发送所述重定向报文,以及给返回的重定向报文还原出所述报文匹配的重定向规则。

当接收到第一处理器发送的包括重定向规则和重定向通道ID的重定向通道信息时,保存接收到的重定向规则和重定向通道ID。第一重定向转发模块13可以在本模块上设置一重定向通道表(如表1或表2所示)。

                        表1为重定向通道表的一实例表

  重定向通  道ID  源模块信息  目标模块信息  报文的重定向出  接口  规则信息  10  入接口为  PortA1  出接口为  PortF2  PortD1  入接口为PortA1、出接口为  PortF2的报文  20  入接口为  PortA2  出接口为  PortF2  PortD1  入接口为PortA2、出接口为  PortF2的报文  …  …  …  …  …

                               表2为重定向通道表的另一实例表

  重定向  通道ID  入接口所在  的转发模块  ID(称之为  源模块  ID)  报文入接口  出接口所在  的转发模块  ID(称之为  目标模块  ID)  报文出接口  报文的重定  向出接口  规则信息  10  1  PortA1  6  PortF2  PortD1  入接口为PortA1、出接  口为PortF2的报文  20  1  PortA2  6  PortF2  PortD1  入接口为PortA2、出接  口为PortF2的报文  …  …  …  …  …  …  …

每接收到一重定向规则和重定向通道ID时,则在本端的重定向通道表中增加一重定向通道表项。

第一重定向转发模块13包括重定向出接口处理子模块和重定向入接口处理子模块,所述重定向出接口处理子模块用于将接收到的包含重定向通道ID的报文发送至IAC。所述重定向入接口处理子模块用于接收从IAC返回的重定向报文,从中解析出重定向通道ID,随后找到对应的重定向规则,然后将报文进行转发。

当本发明采用在重定向报文中直接承载重定向规则时,第一重定向转发模块13用于将直接承载重定向规则的重定向报文发送至IAC,以及从返回的重定向规则中直接解析出重定向规则。

请参阅图4,其为本发明OAA架构的IAC的结构原理示意图。它包括第二处理器22和第二重定向转发模块23。其中:

所述第二处理器22,用于处理报文,按照预先设定的策略决定报文是经过分析后删除还是经过分析后返回。

具体地展开来说就是,当接收报文时,通过按照预先设定的策略对报文进行处理,比如,对报文进行分析判断其是否是非法报文,若是,则丢弃报文,否则,将报文原封不动的返回。

第二处理器由此可以进行细粒度的管理。所述细粒度的管理是指IAC对重定向报文进行有针对性的处理以及对NFC进行有针对性的控制。比如,IAC在按照预先设定的策略决定报文是经过分析后删除还是经过分析后原封不动地返回的同时,还统计删除报文的个数。再比如,IAC发现从NFC接口A接收的源IP为192.168.1.1的报文都是恶意攻击报文,则可以通过联动MIB等手段告诉NFC,在接口A上将收到的源IP为192.168.1.1的报文全部丢弃。

第二重定向转发模块23:用于通过NFC上的第一重定向收发单元建立NFC与IAC之间的报文通信。

请参阅图5,其为本发明公开的OAA架构中的一种实现重定向报文正确转发方法的流程图。用于实现开放应用架构中网络转发部件NFC将独立业务部件IAC返回的重定向报文进行正确转发,它包括以下步骤:

S110:NFC在配置重定向规则时建立重定向通道,给每一重定向通道分配一重定向通道ID;

S120:NFC将匹配所述重定向规则的重定向报文提供至指定的IAC,所述重定向报文中承载对应的重定通道ID;

S130:当NFC接收由IAC返回的重定向报文时,从重定向报文中解析出重定向通道ID,获得所述报文匹配的重定向规则,转发所述报文。

以下具体说明每一步骤。

一、步骤S110

NFC上通过以下方式可以配置重定向规则以及建立重定向通道。

第一种配置重定向规则的实施方式为:用户通过NFC给IAC配置重定向规则,NFC同时保存该重定向规则及对应的IAC信息(如IAC标识、IAC与NFC连接的IAC侧的端口信息等)。

第二种配置重定向规则的实施方式是,用户仅在IAC上配置重定向规则,IAC将所述重定向规则发送至NFC,NFC保存重定向规则和对应IAC信息。

第三种配置重定向规则是实施方式是,用户仅在NFC上配置重定向规则及所述重定向规则重定向至哪个IAC中IAC信息。

NFC每保存一重定向规则,建立一对应的重定向通道。所述重定向通道是逻辑通道。建立重定向通道主要是确定重定向通道信息。重定向通道信息通常包括IAC与NFC连接的NFC侧的第一重定向转发模块信息及IAC与NFC连接的IAC侧的第二重定向转发模块信息。当第一重定向转发模块信息上保存有第二重定向转发模块信息时,重定向通道信息中需要包含所述第一重定向转发模块信息。当重定向规则中包含所述第一重定向转发模块信息时,所述重定向通道信息仅包含所述重定向规则及对应的重定向通道ID。

也就是说,确定重定向通道信息进一步包括:

建立重定向规则与IAC标识的对应关系;

通过IAC标识找到对应的IAC与NFC连接的NFC侧的端口(第一重定向转发模块)信息、IAC与NFC连接的IAC侧的端口(第二重定向转发模块)信息。

NFC上预先保存着IAC标识、IAC与NFC连接的NFC侧的端口信息、IAC与NFC连接的IAC侧的端口信息的对应关系。当建立重定向规则时,指明重定向至哪个IAC。通过该IAC的标识即可获知对应的第一重定向转发模块信息,通常在第一重定向转发模块中保存有与之相连的第二重定向转发模块信息。

确定重定向通道信息进一步包括:

通过重定向规则直接找到对应的IAC与NFC连接的NFC侧的端口信息、IAC与NFC连接的IAC侧的端口信息。当该重定向规则中直接包含重定向出接口信息时,即可找到该重定向出接口所在的第一重定向转发模块信息,并且通常在第一重定向转发模块中保存有与之相连的第二重定向转发模块信息。

NFC给每一重定向通道分配唯一的重定向通道ID,在第一种和第二种配置重定向规则的实施方式下,NFC将重定向通道ID通知至IAC,IAC在本端的重定向通道表中保存好重定向通道ID和重定向规则的对应关系。在第三种配置重定向规则的实施方式下,每当IAC接收到一重定向报文,从中解析出重定向通道ID,查找本端保存的重定向通道表,若没有找到对应的重定向规则,则访问NFC获得重定向通道ID对应的重定向规则。

IAC访问NFC获得重定向通道ID对应的重定向规则可以包括:首先,IAC向NFC发送查询重定向规则的控制指令,所述控制命令中包含所述重定向通道ID。然后,NFC接收到该指令后,向IAC发送对应的重定向规则。随后,IAC将接收到的重定向规则和重定向通道ID保存到本端的重定向通道表。IAC若在本端保存的重定向通道表中找到对应的重定向规则,则不需要向NFC发送查询重定向规则的控制指令。这种实现方式中,IAC端最开始保存的重定向通道表是一张空表。

NFC还将包含重定向通道ID和重定向规则的重定向通道信息分别下发至所述重定向规则中指明的入接口所在的转发模块及重定向出接口所在的第一重定向转发模块。入接口所在的转发模块和第一重定向转发模块分别建立如表1或表2所示的重定向通道表。

二、步骤S120

NFC将匹配所述重定向规则的重定向报文提供给指定的IAC,所述报文中承载重定向通道ID。请参阅表3,其为现有的一种的VLAN帧报文格式。它包括VLAN头,RIF(路由信息域)、Data(内容区)、及FCS(结束码)。

                         表3

重定向通道ID可以设置在报文的虚拟局域网VLAN头与内容区(data)之间的路由信息域(RIF)上。也就是说,NFC为交换机时,RIF路由信息域可以用来承载重定向通道ID。

请参阅表4,其为一报文VLAN头的格式示意表。

                                     表4

  DMAC  SMAC  8100  PCP|CFI|VLANID(1-4094)  Channel ID  0800  IP  PACKET

在表4中,重定向通道ID是在channel ID(通道ID)字段中承载的。除了在channel ID字段中承载重定向通道ID外,也可以在DMAC和SMAC字段中承载。本发明的最佳实施方式为在channel ID字段中承载。需要说明的是,重定向通道ID在报文的何处承载,只需要NFC和IAC之间预先约定即可,也不仅仅局限于在上述公开的字段中承载。

步骤S120具体为:

(21)NFC的第一处理器将包含重定向规则及重定向通道ID的重定向通道信息分别下发至入接口所在的转发模块和重定向出接口所在的第一重定向转发模块。

转发模块保存重定向通道信息,第一重定向转发模块可以将重定向规则及对应的重定向通道ID直接保存或将其作为一表项保存在预先建立本端的重定向通道表中。

(22)转发模块将匹配所述重定向规则的报文添加上内部头后转发至所述第一重定向转发模块,所述内部头包括重定向通道ID和第一重定向转发模块对应的模块ID。

转发模块每接收到一报文,分析所述报文,判断是否匹配预先保存的所有重定向规则中的其中一规则,若匹配成功,则将所述报文添加内部头,再将该报文发送至对应的重定向转发模块。所述内部头可以包括重定向通道ID、源模块ID、目标模块ID,转发模块可以按照预先约定的格式将重定向通道ID添加到报文中。通常情况下,内部头包括源模块ID和目标模块ID,中心转发模块接收到该报文后,根据目标模块ID,将所述报文发送至对应的第一重定向转发模块。

(23)所述第一重定向转发模块将承载重定向通道ID的报文发送至IAC。

所述第一重定向转发模块将该报文发送至IAC的第二重定向转发模块,由IAC端的第二重定向转发模块发送至本端的第二处理器。

三、步骤S130

当接收重定向报文时,IAC通过按照预先设定的策略对报文进行处理,比如,对报文进行分析判断其是否是非法报文,若是,则丢弃报文,否则将报文原封不动的返回。

由于预先设定的策略通常会和报文的上下文相关。比如,统计入接口为A1的报文的个数,分析源IP为192.168.1.1的报文是否是攻击性报文。为此,当IAC接收到的重定向报文后,需要找到该报文匹配的重定向规则。

在配置重定向规则的前两种实施方式下,IAC从接收到的重定向报文中解析出重定向通道ID,利用重定向通道ID查找本端的重定向通道表即可获知该报文匹配的重定向规则。在配置重定向规则为第三种实施方式下,IAC从接收到的重定向报文中解析出重定向通道ID,利用重定向通道ID查找本端的重定向通道表,若能找到重定向通道ID,则即可获知该报文匹配的重定向规则,若查找不到该重定向通道ID,则IAC访问NFC获得对应的重定向规则。

IAC再利用还原出来的重定向规则按照预先设定的策略对报文进行处理:是丢弃报文还是返回所述报文。若是要返回重定向报文,IAC通过第二重定向转发模块将报文返回。

当NFC的第一重定向转发模块接收到返回的报文,根据报文中承载的重定向通道ID,查找本端保存的重定向通道表,找到对应的重定向规则。当重定向规则中包含源模块信息和目标模块信息时,可以恢复报文原始的源模块信息(如入接口所在的源模块ID及入接口)、目标模块信息(出接口所在的出模块ID及出接口)。第一重定向转发模块重新组织报文再将报文发送至中心转发模块,由中心转发模块将报文发送至目标模块ID对应的转发模块进行转发。重新组织报文包括将重定向通道ID将报文中删除、将报文的原始的源模块信息和目标模块信息添加到报文中。

以下就以一个具体实施例来说明上述流程。

a1:NFC的第一处理器在配置一条重定向规则(比如,规则是:将报文入接口为PortA1、出接口为PortF2的报文重定向到PortD1)时会建立一个重定向通道。

a2:NFC的第一处理器为每个重定向通道分配一个重定向通道ID(如分配的重定向通道ID为10),根据这个重定向通道ID可以找到报文入接口、报文出接口、报文的重定向出接口等信息。

a3:NFC的第一处理器将重定向通道ID和重定向规则发给入接口所在的转发模块(转发模块A),转发模块A保存所述重定向通道ID和重定向规则。

a4:NFC的第一处理器下发重定向通道ID、入接口、出接口、重定向出接口等重定向通道信息给重定向出接口所在的第一重定向转发模块(转发模块D);该模块将所述重定向通道信息保存在本模块的重定向通道表中,表项内容还会包括源模块ID,目标模块ID。

a5:匹配重定向规则的报文会被转发模块打上一个内部头后,通过中心转发模块再被转发到第一重定向转发模块,这个内部头中包括重定向通道ID(10)、源模块ID(1)、目标模块ID(4)。

a6:报文被第一重定向转发模块发送至IAC。

a7:报文到达IAC后,IAC解析出重定向通道ID,再访问NFC获得对应的重定向规则。

a8:报文被IAC分析处理后,若处理的结果为返回,由第二重定向转发模块转发至第一重定向转发模块,第一重定向出转发模块从报文中解析出重定向通道ID,找出对应的源模块ID(1)、目标模块ID(6),报文出接口PortF2等重定向通道信息,将其组成报文的内部头再发给中心转发模块,中心转发模块会将报文发给出接口所在的转发模块。

a9:出接口所在的转发模块(转发模块F)将报文从接口PortF2发送出去,完成转发。

第一重定向出模块转发模块也可以不维护重定向通道表,将报文的上下文信息直接添加到报文中进行转发。基于上述思路,本发明提供了另一种重定向方法。考虑到很多技术点是和上述公开的重定向方法相同,后续公开的重定向方法重点在于叙述与前不同之处。

请参阅图6,其为本发明公开的另一种开放应用架构中实现重定向报文正确转发的方法,它包括以下步骤:

S210:NFC将匹配所述重定向规则的重定向报文提供至指定的IAC,所述重定向报文中直接承载所述重定向规则;

S220:当NFC接收由IAC返回的重定向报文时,从重定向报文中直接解析出重定向规则,转发所述报文。

步骤210具体为:(11)NFC的第一处理器将包括重定向规则的重定向通道信息分别下发至第一重定向转发模块和转发模块;(12)转发模块将匹配重定向规则的报文转发至第一重定向转发模块;(13)所述第一重定向转发模块将所述报文中承载所述重定向规则发送至IAC。

步骤S210和步骤S220之间还包括:处理所述重定向报文,确定是丢弃所述报文还是返回。

所述重向规则可以在报文的虚拟局域网VLAN头与内容区(data)之间的路由信息域(RIF)上。也就是说,NFC为交换机时,RIF路由信息域可以用来承载重定向规则。

以上公开的仅为本发明的几个具体实施例,但本发明并非局限于此,任何本领域的技术人员能思之的变化,都应落在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号