镜像报文的发送方法、交换芯片及以太网路由器转让专利

申请号 : CN200910241433.5

文献号 : CN101877671B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王龙顺全太平

申请人 : 北京星网锐捷网络技术有限公司

摘要 :

本发明公开了一种镜像报文的发送方法、交换芯片及以太网路由器,该方法包括:交换芯片接收镜像发送报文,其中,镜像发送报文中携带有第一虚拟局域网的标识;交换芯片通过第一虚拟局域网对镜像发送报文进行转发;交换芯片接收镜像接收报文,其中,镜像接收报文中携带有第二虚拟局域网的标识;交换芯片通过第二虚拟局域网对镜像接收报文进行转发。通过本发明,能够使路由器上的路由口的报文可以从镜像口正常发出且报文内容不失真。

权利要求 :

1.一种镜像报文的发送方法,其特征在于,包括:交换芯片接收镜像发送报文,其中,所述镜像发送报文中携带有第一虚拟局域网的标识;

所述交换芯片通过所述第一虚拟局域网对所述镜像发送报文进行转发;

所述交换芯片接收镜像接收报文,其中,所述镜像接收报文中携带有第二虚拟局域网的标识,其中,所述第一虚拟局域网的标识和所述第二虚拟局域网的标识为不同的标识;

所述交换芯片通过所述第二虚拟局域网对所述镜像接收报文进行转发。

2.根据权利要求1所述的方法,其特征在于,在交换芯片接收镜像发送报文之前,所述方法还包括:中央处理器CPU将第一虚拟局域网的标识添加到所述镜像发送报文中;

所述CPU将所述镜像发送报文发送给所述交换芯片的上行链路端口。

3.根据权利要求1所述的方法,其特征在于,在交换芯片接收镜像接收报文之前,所述方法还包括:所述CPU将第二虚拟局域网的标识添加到所述镜像接收报文中;

所述CPU将所述镜像接收报文发送给所述交换芯片的上行链路端口。

4.根据权利要求1所述的方法,其特征在于,在所述交换芯片通过所述第一虚拟局域网对所述镜像发送报文进行转发之前,所述方法还包括:所述交换芯片根据所述镜像发送报文进行媒体接入控制地址学习;

在所述交换芯片通过所述第二虚拟局域网对所述镜像接收报文进行转发之前,所述方法还包括:所述交换芯片根据所述镜像接收报文进行媒体接入控制地址学习。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述交换芯片包括上行链路端口和镜像口,其中,所述上行链路端口和所述镜像口均配置为属于所述第一虚拟局域网和所述第二虚拟局域网。

6.根据权利要求1至4中任一项所述的方法,其特征在于,所述交换芯片通过所述第一虚拟局域网对所述镜像发送报文进行转发包括:所述交换芯片根据所述镜像发送报文的目的媒体接入控制将所述镜像发送报文通过与上行链路端口同属于第一虚拟局域网的镜像口广播出去;

所述交换芯片通过所述第二虚拟局域网对所述镜像接收报文进行转发包括:所述交换芯片根据所述镜像接收报文的目的媒体接入控制将所述镜像接收报文通过与所述上行链路端口同属于第二虚拟局域网的镜像口广播出去。

7.一种交换芯片,其特征在于,包括:

第一接收模块,用于接收镜像发送报文,其中,所述镜像发送报文中携带有第一虚拟局域网的标识;

第一转发模块,用于通过所述第一虚拟局域网对所述镜像发送报文进行转发;

第二接收模块,用于接收镜像接收报文,其中,所述镜像接收报文中携带有第二虚拟局域网的标识,其中,所述第一虚拟局域网的标识和所述第二虚拟局域网的标识为不同的标识;

第二转发模块,用于通过所述第二虚拟局域网对所述镜像接收报文进行转发。

8.根据权利要求7所述的交换芯片,其特征在于,所述交换芯片还包括:学习模块,用于根据所述镜像发送报文和/或镜像接收报文进行学习。

9.根据权利要求7或8所述的交换芯片,其特征在于,所述交换芯片还包括:上行链路端口和镜像口,其中,

所述上行链路端口和所述镜像口均配置为属于所述第一虚拟局域网和所述第二虚拟局域网。

10.一种以太网路由器,其特征在于,所述以太网路由器包括中央处理器CPU和权利要求7至9中任一项所述的交换芯片,其中,所述CPU用于将第一虚拟局域网的标识添加到所述镜像发送报文中以及将第二虚拟局域网的标识添加到所述镜像接收报文中。

说明书 :

镜像报文的发送方法、交换芯片及以太网路由器

技术领域

[0001] 本发明涉及通信领域,具体而言,涉及一种镜像报文的发送方法、交换芯片及以太网路由器。

背景技术

[0002] 图1是根据相关技术的通用以太网路由器架构示意图。
[0003] 如图1所示,该路由器主要由CPU、CPU上自带的1个或多个以太网控制器,以及交换芯片构成。交换芯片通过自身的一个以太端口与CPU上的以太网控制器相连,交换芯片上这个口称为UPLINK口(即上行链路端口),而交换芯片上的其他端口扩展为路由口(这里的路由口仅仅是指用来转发数据的,可能是2层转发,也可能是3层转发,只是用于区别于镜像口,来说明问题的),如图中路由口A-D,通常让交换芯片上的一个口为镜像口(镜像口不参与报文转发,只是用来将其他接口上的发送、接收报文都镜像一份从这个接口发出)。
[0004] 而仅使用一个以太网控制器连接交换芯片来扩展多个路由口,虽然可以工作,但是性能低达不到中高端路由器的性能要求,经常会使用CPU上的其他以太网控制器扩展其他路由口,如图中的独立路由口E,F(独立路由口之说是用于区别于交换芯片扩展的路由口)。
[0005] 图2是根据相关技术的通用以太网路由器架构下交换芯片的配置示意图。
[0006] 图2中,交换芯片内部虚线相连的两个端口处于同一个虚拟局域网(Virtual Local Area Network,简称为Vlan),而交换芯片上的端口与外部vlan连接表示端口属于该vlan,由图可知UPLINK口会同时处于5个vlan,工作在trunk口模式,详细配置见下表1:
[0007] 表1
[0008]Vlan 属于这个vlan的端口
VLAN1 UPLINK口,路由口A
VLAN2 UPLINK口,路由口B
VLAN3 UPLINK口,路由口C
VLAN4 UPLINK口,路由口D
VLAN5 UPLINK口,镜像口
[0009] 也有可能多个路由口同属于一个vlan,形成一个2层交换(这个没有关系,与我们要说明的问题无关),此种路由器架构配置的关键点是除UPLINK口处于多个vlan(工作在trunk模式外),路由器对外提供的端口(包括所有的路由口A-D,以及镜像口)都只配一个默认vlan,处于一个vlan,只通过这一个vlan与uplink进行报文转发(同时这些对外提供的端口采用untag方式,而UPLINK口不采用untag)。是否采用untag是指报文从交换芯片的端口发送出去之前是否剥掉报文的vlan tag,untag就是要剥掉vlan tag,而不采用untag就是不剥掉vlan tag。
[0010] 该以太网路由架构的交换芯片对外接口接收的报文会自动带上本端口默认的vlan tag通过UPLINK口提交给CPU,CPU根据报文所带vlan tag知道报文是从哪个接口收得,报文在CPU上进行路由并决定从哪个接口进行转发,如果出接口是交换芯片上的端口,CPU发送报文的时候会给这个报文带上出接口的vlan tag,从而报文能够在交换芯片此vlan内转发,并从路由决定的出接口发出。
[0011] 该以太网路由架构交换芯片的端口接收到报文,会学习到key=报文的源MAC+VID,result=接收报文的端口,并将学习到的MAC+VID表项添加到交换芯片内部的MAC+VID表(如果还未学习到的话,也就是第一个报文会进行学习)。交换芯片内部的MAC+VID表详细见表2:
[0012] 表2
[0013]Key Result
报文的源MAC+VID 接收报文的端口
[0014] 交换芯片的报文转发就是基于此表,只是转发是基于报文的目的MAC,即查找的key=报文的目的MAC+VID,报文会从查找到的端口(即key对应的result)发送出去,这里存在一个问题,如果查找到的端口就是接收这个报文的端口,这个报文会被丢弃而不会转发。
[0015] 而路由器的一种应用正好会出现此问题,这种路由器的镜像口要做到镜像所有的路由口的报文,也就是交换芯片上扩展的端口之外的独立路由口的接收、发送报文都要被镜像,其中镜像的目的是为了监控,监控通过这些接口的流量内容是否有什么不法内容等,实际应用中路由器的镜像口会接到相关的监控设备上。
[0016] 独立路由口E上的发送、接收报文情况:通用以太网独立路由口E发送报文的源MAC地址和接收报文的目的MAC地址是相同的,都是独立路由口本身的MAC地址。假设独立路由口E本身的MAC地址为MAC1,设独立路由口E的发送报文的目的MAC地址为MAC2,设独立路由口E接收报文的源MAC地址为MAC3,那么独立路由口E的发送、接收报文的目的MAC、源MAC如下表3:
[0017] 表3
[0018]目的MAC 源MAC
发送方向 MAC2 MAC1
接收方向 MAC1 MAC3
[0019] 而镜像就是要将上面发送方向、接收方向两种报文通过UPLINK口从镜像口发出。
[0020] 图3是根据相关技术的通用以太网路由器的独立路由口E上的发送、接收报文镜像的示意图。
[0021] 由图3所示,分步图解步骤包括如下步骤S1至步骤S5:
[0022] 步骤S1:对于(独立路由口)被镜像的发送报文,路由器中的CPU置被镜像的发送报文vlan tag为Vlan5,然后发送给交换芯片的UPLINK口,此报文(DA,SA)为(MAC2,MAC1),vlan tag为VLAN5;(注DA,destination MAC address,指目的MAC地址;SA,source MAC address,指源MAC地址,MAC1,MAC2等等都是MAC地址的代号,下同)。
[0023] 步骤S2:UPLINK接收此报文,交换芯片学习到Key=MAC1+VLAN5,Result=UPLINK口的MAC+VID表项,添加到自身的MAC+VID表中;
[0024] 步骤S3:交换芯片查不到Key=MAC2+VLAN5的表项,将报文从与UPLINK同属于VLAN5的镜像口广播出去;
[0025] 步骤S4:对于(独立路由口)被镜像的接收报文,路由器中的CPU置被镜像的接收报文vlan tag为VLAN5,然后发送给交换芯片的UPLINK口,此报文(DA,SA)为(MAC1,MAC3),vlan tag为VLAN5;
[0026] 步骤S5:交换芯片使用Key=MAC1+VLAN5查询MAC+VID表(能够查到此表项,就是步骤2所添加的表项),发现出口为UPLINK口本身,就会丢弃报文,这样就达不到镜像独立口的接收报文的目的。
[0027] 该系统架构存在有以下问题:在原有的路由器通用化配置下,镜像口作为一个外部接口(一般直接接PC或服务器)只会属于一个vlan(如图1),这样路由器要从这个接口发出的报文,路由器要将报文加上镜像口的vlan tag,才能从这个口发出报文,如果一个MAC地址既作为报文的源MAC地址,又同时作为一些报文的目的MAC地址出现,这样就会出现学到目的MAC的端口就是接收此报文的端口,从而报文不能在交换芯片内部转发被而丢弃的问题。(上述的MAC地址MAC1就是这样的情况,它是独立路由口E的源MAC地址,如果双向镜像的话必然会既出现在源MAC地址中也会出现在目的MAC地址中)。
[0028] 针对相关技术中交换芯片不能同时镜像独立路由口发送、接收报文,从而导致报文不能在交换芯片内部转发而被丢弃的问题,目前尚未提出有效的解决方案。

发明内容

[0029] 针对交换芯片不能同时镜像独立路由口发送、接收报文,从而导致报文不能在交换内部转发而被丢弃的问题而提出本发明,为此,本发明的主要目的在于提供一种镜像报文的发送方法、交换芯片及以太网路由器,以解决上述问题。
[0030] 为了实现上述目的,根据本发明的一个方面,提供了一种镜像报文的发送方法。
[0031] 根据本发明的镜像报文的发送方法包括:交换芯片接收镜像发送报文,其中,镜像发送报文中携带有第一虚拟局域网的标识;交换芯片通过第一虚拟局域网对镜像发送报文进行转发;交换芯片接收镜像接收报文,其中,镜像接收报文中携带有第二虚拟局域网的标识;交换芯片通过第二虚拟局域网对镜像接收报文进行转发。
[0032] 优选地,在交换芯片接收镜像发送报文之前,方法还包括:CPU将第一虚拟局域网的标识添加到镜像发送报文中;CPU将镜像发送报文发送给交换芯片的上行链路端口。
[0033] 优选地,在交换芯片接收镜像接收报文之前,方法还包括:CPU将第二虚拟局域网的标识添加到镜像接收报文中;CPU将镜像接收报文发送给交换芯片的上行链路端口。
[0034] 优选地,在交换芯片通过第一虚拟局域网对镜像发送报文进行转发之前,方法还包括:交换芯片根据镜像发送报文进行媒体接入控制MAC地址学习;在交换芯片通过第二虚拟局域网对镜像接收报文进行转发之前,方法还包括:交换芯片根据镜像接收报文进行MAC地址学习。
[0035] 优选地,上述交换芯片根据镜像发送报文进行MAC地址学习包括:交换芯片根据镜像发送报文的源MAC进行MAC地址学习;交换芯片根据镜像接收报文进行MAC地址学习包括:交换芯片根据镜像接收报文的源MAC进行MAC地址学习。
[0036] 优选地,交换芯片包括上行链路端口和镜像口,其中,上行链路端口和镜像口均配置为属于第一虚拟局域网和第二虚拟局域网。
[0037] 优选地,上述交换芯片通过第一虚拟局域网对镜像发送报文进行转发包括:交换芯片根据镜像发送报文的目的MAC将镜像发送报文通过与上行链路端口同属于第一虚拟局域网的镜像口广播出去;交换芯片通过第二虚拟局域网对镜像接收报文进行转发包括:交换芯片根据镜像接收报文的目的MAC将镜像接收报文通过与上行链路端口同属于第二虚拟局域网的镜像口广播出去。
[0038] 为了实现上述目的,根据本发明的另一方面,提供了一种交换芯片。
[0039] 根据本发明的交换芯片包括:第一接收模块,用于接收镜像发送报文,其中,镜像发送报文中携带有第一虚拟局域网的标识;第一转发模块,用于通过第一虚拟局域网对镜像发送报文进行转发;第二接收模块,用于接收镜像接收报文,其中,镜像接收报文中携带有第二虚拟局域网的标识;第二转发模块,用于通过第二虚拟局域网对镜像接收报文进行转发。
[0040] 优选地,上述交换芯片还包括:学习模块,用于根据镜像发送报文和/或镜像接收报文进行学习。
[0041] 优选地,上述交换芯片包括上行链路端口和镜像口,其中,上行链路端口和镜像口均配置为属于第一虚拟局域网和第二虚拟局域网。
[0042] 为了实现上述目的,根据本发明的另一方面,提供了一种以太网路由器。
[0043] 根据本发明的以太网路由器包括:CPU,用于将第一虚拟局域网的标识添加到镜像发送报文中以及将第二虚拟局域网的标识添加到镜像接收报文中;交换芯片,用于通过第一虚拟局域网对镜像发送报文进行转发以及通过第二虚拟局域网对镜像接收报文进行转发。
[0044] 优选地,上述交换芯片还用于通过镜像发送报文和/或镜像接收报文进行MAC地址学习。
[0045] 优选地,上述交换芯片包括上行链路端口和镜像口,其中,上行链路端口和镜像口均配置为属于第一虚拟局域网和第二虚拟局域网。
[0046] 通过本发明,采用交换芯片接收镜像发送报文,其中,镜像发送报文中携带有第一虚拟局域网的标识;交换芯片通过第一虚拟局域网对镜像发送报文进行转发;交换芯片接收镜像接收报文,其中,镜像接收报文中携带有第二虚拟局域网的标识;交换芯片通过第二虚拟局域网对镜像接收报文进行转发,解决了交换芯片不能同时镜像独立路由口发送、接收报文,从而导致报文不能在交换内部转发而被丢弃的问题,进而达到了使路由器上的路由口的报文能够从镜像口发出且报文内容不失真的效果。

附图说明

[0047] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0048] 图1是根据相关技术的通用以太网路由器架构示意图;
[0049] 图2是根据相关技术的通用以太网路由器架构下交换芯片的配置示意图;
[0050] 图3是根据相关技术的通用以太网路由器的独立路由口E上的发送、接收镜像报文的示意图;
[0051] 图4是根据本发明实施例的镜像报文的发送方法的流程图;
[0052] 图5是根据本发明实施例的以太网路由器架构下交换芯片的配置的示意图;
[0053] 图6是根据本发明实施例的以太网路由器的独立路由口E上的发送、接收镜像报文的示意图;
[0054] 图7是根据本发明实施例的交换芯片的示意图。

具体实施方式

[0055] 考虑到交换芯片不能同时镜像独立路由口发送、接收报文,从而导致报文不能在交换内部转发而被丢弃,本发明实施例提供了一种镜像报文的发送方法、交换芯片及以太网路由器。其中,该方法包括:交换芯片接收镜像发送报文,其中,镜像发送报文中携带有第一虚拟局域网的标识;交换芯片通过第一虚拟局域网对镜像发送报文进行转发;交换芯片接收镜像接收报文,其中,镜像接收报文中携带有第二虚拟局域网的标识;交换芯片通过第二虚拟局域网对镜像接收报文进行转发。
[0056] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0057] 方法实施例
[0058] 根据本发明的实施例,提供了一种镜像报文的发送方法。
[0059] 图4是根据本发明实施例的镜像报文的发送方法的流程图。
[0060] 如图4所示,该方法包括如下的步骤S402至步骤S408:
[0061] 步骤S402,交换芯片接收镜像发送报文,其中,镜像发送报文中携带有第一虚拟局域网的标识;
[0062] 步骤S404,交换芯片通过第一虚拟局域网对镜像发送报文进行转发;
[0063] 步骤S406,交换芯片接收镜像接收报文,其中,镜像接收报文中携带有第二虚拟局域网的标识;
[0064] 步骤S408,交换芯片通过第二虚拟局域网对镜像接收报文进行转发。
[0065] 可选地,上述的步骤的顺序是可变的。
[0066] 下面将结合实例对本发明实施例的实现过程进行详细描述。
[0067] 图5是根据本发明实施例的以太网路由器架构下交换芯片的配置的示意图。
[0068] 如图5所示,与图2通用交换芯片配置相比,该方法增加一个vlan6(同样此图中,交换芯片内部虚线相连的两个端口处于同一个vlan,形成一个vlan域),如图5,该方法设计中让UPLINK与镜像口之间存在两条虚线,也就是说UPLINK与镜像口一起同时属于两个vlan,这样镜像口也同时属于两个vlan,两个口之间有两个vlan,两条报文逻辑转发通道,这就是本专利发明的核心点,后面说明如何使用这两条通道。
[0069] 相对于通用交换芯片配置,本发明中配置的vlan域如表4所示:
[0070] 表4
[0071]Vlan 属于这个vlan的端口
[0072]Vlan1 UPLINK口,路由口A
Vlan2 UPLINK口,路由口B
Vlan3 UPLINK口,路由口C
Vlan4 UPLINK口,路由口D
Vlan5 UPLINK口,镜像口
Vlan6 UPLINK口,镜像口
[0073] 本发明独立路由口被镜像报文的发送原则:独立路由口驱动接收到一个报文或者发送一个报文的时候就知道这个报文是接收(方向的)报文还是发送(方向的)报文,如果独立路由口的报文需要被镜像的话,需要对发送报文和接收报文分别打上标志,表示是发送报文还是接收报文。
[0074] 对于(独立路由口)被镜像的发送报文使用Vlan5进行发送,对于(独立路由口)被镜像的接收报文使用Vlan6进行发送,也就是在新的方案中独立路由口发送方向的报文和接收方向的报文分别在两个不同的VLAN域中进行发送。
[0075] 图6是根据本发明实施例的以太网路由器的独立路由口E上的发送、接收镜像报文的示意图。
[0076] 根据本发明实施例的以太网路由器包括CPU和交换芯片。
[0077] 如图6所示,该方法包括以下步骤:
[0078] 步骤S601:对于(独立口)被镜像的发送报文,CPU置被镜像的发送报文vlan tag为Vlan5,然后发送给交换芯片的UPLINK口,此报文(DA,SA)为(MAC2,MAC1),vlan tag为Vlan5;
[0079] 步骤S602:UPLINK接收此报文,交换芯片学习到Key=MAC1+Vlan5,Result=UPLINK口的MAC+VID表项,将它们添加到自身的MAC+VID表中;
[0080] 步骤S603:交换芯片查不到Key=MAC2+Vlan5的表项,将报文从与UPLINK同属于Vlan5的镜像口广播出去;
[0081] 步骤S604:对于(独立口)被镜像的接收报文,CPU置被镜像的接收报文vlan tag为Vlan6,然后发送给交换芯片的UPLINK口,报文(DA,SA)为(MAC1,MAC3),vlan tag为Vlan6;
[0082] 步骤S605:UPLINK接收此报文,交换芯片学习到Key=MAC3+Vlan6,Result=UPLINK口的MAC+VID表项,将其添加到自身的MAC+VID表中;
[0083] 步骤S606:同样,交换芯片查不到Key=MAC1+Vlan6的表项,将报文从与UPLINK同属于Vlan6的镜像口广播出去;这样达到了发送此报文的目的。
[0084] 优选地,此方法不限于独立口镜像报文发送,只要涉及一个交换芯片端口既能接收并转发一个MAC作为源MAC的报文,同时也能转发以此MAC作为目的MAC的报文。
[0085] 在本发明中,交换芯片对于接收到的报文有两个操作,一个是MAC地址学习,一个是报文转发。其中,MAC地址学习是根据源MAC(即SA)来进行的,而报文转发是根据目的MAC(即DA)来进行的。
[0086] 并且对于MAC的学习,交换芯片只在一个MAC地址作为源MAC第一次出现在报文时才进行学习,也就是对于同一个MAC地址,MAC地址学习只学习一次(因为学习到了,自然就不要再学习了)。
[0087] 但是报文转发是每个报文都需要进行的,因为交换芯片从一个端口接收到一个报文,必须要将这个报文从一个端口中发送出去(包括丢弃处理),可选地,如何决定从哪个端口发送出去就是报文转发要做的处理。
[0088] 在本发明中,MAC地址学习就是交换芯片将交换芯片端口上接收到的报文的源MAC(即SA)和Vlan id作为key,接收到这个报文的交换芯片的端口号作为result添加到交换芯片内部MAC-VID表中,其中,交换芯片内部的MAC+VID表如表5所示:(VID是vlan id的简写,下同)。
[0089] 表5
[0090]Key Result
报文的源MAC+VID 接收报文的端口
[0091] 上述提到,报文转发是根据目的MAC,所以报文转发的时候交换芯片取报文的目的MAC和报文的vlan id作为key来查上面的这个MAC-VID表,如果找到了,那么所找到的表项的result就是这个报文要转发的端口,交换芯片只将这个报文从这个指定的端口中发送出去,如果没有找到,交换芯片会将这个报文在这个报文的vlan id所指示的vlan中广播,也就是从所有处于这个vlan的端口中将报文发送出去。
[0092] 另外,虽然学习的时候是使用源MAC和VID,而查找的时候是使用目的MAC和vid,不管是源MAC还是目的MAC,存到交换芯片中MAC-VID表中的时候,一个MAC地址都是6个字节的数据,根据本发明实施例交换芯片内部的MAC+VID表6所示:
[0093] 表6
[0094]Key Result
MAC+VID 交换芯片端口
[0095] 在本发明中,镜像接收报文加上的是另一个VID,以报文的目的MAC和新的VID去查MAC-VID表,查找不会命中(因为镜像发送报文,学习到的MAC地址是相同的,但是vlan id是不一样的,所以key就不相同了,对于表项key相同,是要完全相同的),这样报文会在这个新的vlan中广播出去(而镜像口就是属于这个新的vlan的一个端口),所以能够达到发送镜像接收报文的目的。
[0096] 上面的步骤S602与步骤S605是用来说明本专利之所以起作用的,因为特别是步骤S602说明了它学习到的MAC-VID表项与步骤6查表时使用的key是不相同的,步骤S602的key是MAC1+Vlan5,而步骤S606查表的key是MAC1+Vlan6,两者是不同的,所以查表不会命中。
[0097] 从以上的描述中,可以看出,本发明实现了能够使得路由器上任何路由口的报文都能从镜像口发出,报文内容信息不失真。
[0098] 装置实施例
[0099] 根据本发明的实施例,提供了一种交换芯片。
[0100] 图7是根据本发明实施例的交换芯片的示意图。
[0101] 如图7所示,该交换芯片包括:第一接收模块701;第一转发模块702;第二接收模块703;第二转发模块704。
[0102] 其中,第一接收模块701,用于接收镜像发送报文,镜像发送报文中携带有第一虚拟局域网的标识;第一转发模块702,用于通过第一虚拟局域网对镜像发送报文进行转发;第二接收模块703,用于接收镜像接收报文,镜像接收报文中携带有第二虚拟局域网的标识;第二转发模块704,用于通过第二虚拟局域网对镜像接收报文进行转发。
[0103] 优选地,该交换芯片还包括:学习模块705,用于根据镜像发送报文和/或镜像接收报文进行学习。
[0104] 根据本发明的实施例,提供了一种以太网路由器。
[0105] 根据本发明实施例的以太网路由器能够实现根据本发明实施例的镜像报文的发送方法。
[0106] 根据本发明实施例的以太网路由器包括:CPU和交换芯片。
[0107] 其中,CPU用于将第一虚拟局域网的标识添加到镜像发送报文中以及将第二虚拟局域网的标识添加到镜像接收报文中;交换芯片用于通过第一虚拟局域网对镜像发送报文进行转发以及通过第二虚拟局域网对镜像接收报文进行转发。
[0108] 优选地,上述交换芯片还用于通过镜像发送报文和/或镜像接收报文进行MAC地址学习。
[0109] 优选地,上述交换芯片包括上行链路端口和镜像口,其中,上行链路端口和镜像口均配置为属于第一虚拟局域网和第二虚拟局域网。
[0110] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0111] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0112] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。