一种网络设备的制作方法

文档序号:7769487阅读:197来源:国知局
一种网络设备的制作方法
【专利摘要】本发明提供一种网络设备,包括CPU、逻辑器件、以太网交换芯片和接口卡;当逻辑器件接收到来自业务接口的正向数据报文时,根据接口映射表确定该业务接口对应的VLAN?ID,并将该报文的源MAC地址以及目的MAC地址分别改为第一以太网接口的MAC地址以及第二以太网接口的MAC地址;当逻辑器件接收到以太网反向数据报文时,根据接口映射表确定该报文的VLAN?ID所对应的业务接口并将该报文的以太网封装修改为与该业务接口的链路层封装,然后发送出去。本发明能够克服CPU处理能力提升有限的不足,有效地提高了通信效率。
【专利说明】一种网络设备
【技术领域】
[0001 ] 本发明涉及通信技术,尤其涉及一种网络设备。
【背景技术】
[0002]随着广域网WAN的应用范围逐渐扩大,不同的用户对其需求也各不相同。一方面,一些传统的使用场景中对WAN 口的汇聚密度要求越来越大。比如,银行系统可能给每一台ATM机分配一条2M的El链路,要求把几百个甚至上千个ATM机的2M链路汇聚到一台路由器设备上。另一方面,单个的WAN 口链路的带宽也要从2M向155M甚至更高速率发展,比如,要求把几十个155M的链路汇聚到一台路由器设备上,然后接入核心网。这就对汇聚路由器的接口密度和转发能力都提出了很高的要求。

【发明内容】

[0003]有鉴于此,本发明提供一种网络设备,包括:CPU、逻辑器件、以太网交换芯片以及接口卡,所述接口卡包括一个或多个业务接口。逻辑器件与所述接口卡相连,通过自身的第一以太网接口与以太网交换芯片上的第二以太网接口相连,并通过内部总线与CPU相连;该逻辑器件用于接收来自业务接口的正向数据报文,根据预先保存的接口映射表确定该业务接口对应的VLAN ID,将该正向数据报文的链路层封装修改为以太网封装,其中修改后的以太网正向数据报文的源MAC地址以及目的MAC地址分别为第一以太网接口的MAC地址以及第二以太网接口的MAC地址;修改后的以太网正向数据报文的VLAN ID为接口映射表中与业务接口对应的VLAN ID ;该逻辑器件进一步用于从第一以太网接口接收到以太网反向数据报文,根据预先保存的接口映射表确定该以太网反向数据报文的VLAN ID所对应的业务接口以及该业务接口的链路层封装,并将该以太网反向数据报文的以太网封装修改为与该业务接口的链路层封装,然后通过该业务接口发送出去。
【专利附图】

【附图说明】
[0004]图1是本发明一种实施方式中网络设备的结构原理图。
[0005]图2是本发明实施方式中的接口映射表的示意图。
【具体实施方式】
[0006]随着支持IP转发功能的以太网交换芯片的出现,路由器对以太网报文的处理也从传统的软转发向基于交换芯片的硬件转发过渡,实现了对以太网口的高密度和高性能处理。
[0007]而对于E1/P0S (Packet Over Sonet/SDH, S0NET/SDH 上的分组)这类的业务接 口,其通常作为WAN 口使用。目前路由器对这类业务接口上的报文还都是采用软转发方式,也就是靠软件来执行转发。但CPU的处理能力提升有限,同时还承担着很多控制层面的处理,当WAN 口的数量较多,汇聚起来达到数G这样的量级时,CPU的处理压力将会很大。为解决这个问题,本发明提供一种全新架构的网络设备来解决上述问题。
[0008]路由器是工作在网络层的网络设备,支持广域网各种WAN 口的连接,丰富的WAN 口或者说支持多种不同的传输链路是路由器的特点之一。但在链路层中,正是由于其业务接口类型丰富,这导致路由器的以太网口过于少,无法利用成熟以太网交换芯片的在转发处理上的吞吐和性能优势。请参考图1,本发明实施例提供一种网络设备,包括:CPU、逻辑器件、以太网交换芯片以及一个或多个对外的接口卡。逻辑器件与所述接口卡相连,通过自身的第一以太网接口与以太网交换芯片上的第二以太网接口相连,并通过内部总线与CPU相连。
[0009]在本发明实施例中,对于从业务接口进入发往以太网交换芯片的报文称之为正向报文,而从以太网交换芯片发往逻辑器件业务的报文称为反向报文。在正向数据报文的处理上,逻辑器件接收来自业务接口的正向数据报文之后,根据预先保存的接口映射表确定该业务接口对应的VLAN ID,将该正向数据报文的链路层封装修改为以太网封装,其中修改后的以太网正向数据报文的源MAC地址以及目的MAC地址分别为第一以太网接口的MAC地址以及第二以太网接口的MAC地址;修改后的以太网正向数据报文的VLAN ID为接口映射表中与业务接口对应的VLAN ID ;
[0010]在反向数据报文的处理上,该逻辑器件在从第一以太网接口接收到以太网反向数据报文之后,根据所述接口映射表确定该以太网反向数据报文的VLAN ID所对应的业务接口以及该业务接口的链路层封装,并将该以太网反向数据报文的以太网封装修改为与该业务接口的链路层封装,然后通过该业务接口发送出去。
[0011 ] 在本实施例中,多个业务接口的数据报文统一通过逻辑器件和以太网交换芯片之间以太网链路传送到以太网交换芯片。由于整个过程中报文的IP及以上层面没有任何变化,因此对于以太网交换芯片执行转发而言是没有任何影响的,实现了多个业务接口的报文汇聚到以太网交换芯片转发的目的,充分利用了以太网交换芯片在转发上的性能优势,由于不需要上送到CPU处理,极大减轻了 CPU的处理负担。
[0012]在本发明实施例中,所述的逻辑器件可以是由多个元件组成来实现逻辑功能的,也可以是可编程的逻辑器件,本实施例中以可编程逻辑器件中的现场可编程门阵列FPGA为例,结合附图1对本发明实施例进行进一步说明。
[0013]本实施例中,FPGA通过通道101与CPU相连,通道101是一条内部总线,该内部总线通常包括数据通道和控制通道。FPGA上还设有一个第一以太网接口,它通过通道105与以太网交换芯片上的第二以太网接口相连,负责双向传递以太网数据报文。由于业务接口的接口卡种类有多种,既可以是以太网类型的接口卡,也可以是非以太网类型的。在本实施例中,以 CPOS(Channelized Packet Over Sonet/SDH,通道化的 P0S)接口卡和 POS 接口卡为例,进行详细说明。
[0014]请参考图1 JiSFPGA的下行方向上已经通过通道108以及通道109连接了一些接口卡,例如一个CPOS接口卡和一个POS接口卡。设备启动时,CPU会通过通道101的控制通道接收到CPOS和POS两个接口卡的基本硬件信息,这些基本硬件信息的获取与各种计算设备中获取新硬件信息的原理是类似的。接下来CPU为各个CPOS和POS板上各个业务接口分配对应的VLAN ID并保存到接口映射表中,同时将该接口映射表通过通道102配置到FPGA中保存。值得注意的是:CP0S是通道化的P0S,其可以包括63个2M的El电路。为了区分这些El通道,每个El通道号可以有一个与其唯一对应的标识——VLAN ID。对于接入的接口卡是POS类型的,由于POS可以单独传输,所以每个POS接口号则对应一个VLAN ID。在实际处理过程中,一个业务接口的标识可以包括槽位和接口的标识。图2中1-1这种表达是槽位+接口的表达方式,可以唯一标识一个业务接口,其中第一个I标识槽位号,第二个I标识业务接口号。
[0015]当POS接口卡上作为业务接口的POS 口接收到一个正向报文,其链路层封装为PPP封装,POS接口卡会将该报文通过通道109 (比如PC1-E总线)发送给FPGA。FPGA首先根据PPP封装中的报文特征判断该报文是数据报文还是控制报文。如果是数据报文,接下来FPGA会根据接口映射表来做转换,如果是控制报文,则透传给CPU处理。请参考图2的接口映射表。
[0016]对于正向数据报文,FPGA将该数据报文的链路层封装去掉,转而更换为以太网格式的链路封装,更换后的以太网报文的源MAC地址为第一以太网接口的MAC地址,其目的MAC地址转换为第二以太网接口的MAC地址。对于其他业务接口的报文,报文链路层封装部分的地址也是一样的。这也就是说来自多个业务接口的正向数据报文中的IP报文部分(也就是链路层报文的载荷)被复用到一条以太网链路上了。值得注意的是这两个接口间的链路并不是从物理上定义的。本发明之所以称其为以太网链路是因为,该链路的两端是两个以太网接口,传输的报文格式是以太网格式。
[0017]正向数据报文的链路层封装被改变了,但IP报文没有改变,以太网交换芯片三层转发是根据其IP报文中的字段进行转发的,所以更改报文的链路层不影响报文在以太网交换芯片上的三层转发处理。通过以上的处理实现了将报文送达以太网交换芯片进行三层转发的目的。在本发明实施例中,在正向数据报文进行链路层封装修改的时候,除了填写MAC地址之外,还填写与业务接口对应的VLAN ID。请参考图2,假设报文是从P0S1-1进入的,则对应的VLAN ID为VLAN101 ;当然以太网报文封装过程中还需要进行一些其他封装处理,比如说根据IP报文的类型来确定链路层封装中的协议类型等等,这些可以参考现有技术来实现。对于以太网交换芯片上的反向报文,经过以太网交换三层转发处理之后要通过接口卡上的业务接口(P0S接口卡上的一个POS 口)发送出去。此时就要涉及反向报文真正的出口问题,由于接口映射表中保存了每个业务端口接口与VLAN ID的对应关系,因此FPGA可以用来区分业务端口接口,因此,FPGA根据预先保存的接口映射表确定该以太网反向数据报文的VLAN ID所对应的业务接口以及该业务接口的链路层封装,将该以太网反向数据报文的以太网封装修改为与该业务接口的链路层封装,然后通过该业务接口发送出去。
[0018]本实施方式中以太网交换芯片采用的是三层转发技术。以太网交换芯片收到正向数据报文会从中获得其目的IP地址,然后查询已有的转发表项,如果查询命中,则从表项中记录的出口转发出去,并重新在链路层进行封装。如果查询转发表项没有命中,说明这个报文是一个首报文,报文会被以太网交换芯片经通道104上送到CPU进行处理。此时,CPU完成对该报文的转发同时生成转发表项并经通道103配置到以太网交换芯片,后续有同样IP地址的报文到达以太网交换芯片之后,其查询表项就会命中,即以太网交换芯片知晓了如何转发给后续报文。对于从通道106或107接收的反向数据报文上传到以太网交换芯片后,以太网交换芯片会从中获得其目的IP地址,然后查询已有的转发表项,如果查询命中,则从表项中记录的出口转发出去,并重新在链路层进行封装。如果查询转发表项没有命中,说明这个报文是一个首报文,报文会被以太网交换芯片经通道104上送到CPU进行处理,CPU完成对该报文的转发,同时查找该报文的出接口,根据保存的接口映射表中的业务接口与VLAN ID的对应关系生成转发表项并经通道103配置到以太网交换芯片,其中,所述转发表项的出接口为第二以太网接口及该报文出接口相应的VLAN ID。
[0019]在查询转发表项命中的情况下,报文的出口可能是设备的任意一个出口,比如千兆以太网口(GE 口)和万兆以太网口(XGE 口),也可能是第二以太网接口所连接的出口。如果从XGE 口转发出去,那么其接下来的处理与现有技术一样。如果出口是第一以太网接口下的某个出口。以太网交换芯片从第二以太网接口发出的反向数据报文,其都会封装对应的VLAN ID。此时反向数据报文会到达FPGA,FPGA根据VLAN ID查找接口映射表就可以确定对应的业务接口,假设VLAN ID是VLAN102,则对应的业务接口为P0S1-2。由于不同类型的业务接口的链路层类型是不一样的,因此转发之前FPGA在接口映射表中获得对应的报文封装,执行完封装之后,将该反向数据报文从相应的业务接口上发送出去。
[0020]在本实施方式中与FPGA相连的接口卡是可以插拔的。用户后期可根据实际情况来拔出、新增或更换接口卡。比如说,每次插入新的接口卡时,CPU都会通过通道101中的控制通道接收到新接口卡的硬件基本信息,获取该接口卡的每个业务端口接口的标识,确定其链路层类型,为每个新业务端口接口分配对应的VLAN ID,更新接口映射表并下发到FPGA上。再比如说,当前设备上插入的POS卡的插槽上有一个4端口接口的POS卡1,其对应着4个POS端口接口,每个端口接口对应不同的VLAN ID (VLAN101、VLAN102、VLAN103、VLAN104);当用户将插槽上换成8个端口接口的POS卡2时,CPU与则原有的POS卡I断开连接,收回原来分配给POS卡I各接口的VLAN ID,并为现在的POS卡2的各个业务接口分配对应的 VLAN ID (VLANlOK VLAN102、VLAN103、VLAN104、VLAN105、VLAN106、VLA107、VLAN108),进而更新接口映射表并下发到FPGA上。
[0021]从上述方式可以看出,本发明能够克服CPU处理能力提升有限的不足,通过逻辑器件把非以太网报文转化成以太网报文,然后利用交换芯片实现硬件转发,实现了在同一台网络设备上同时对WAN和LAN 口的高性能高密度汇聚,有效地提高了通信效率。
[0022]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种网络设备,包括:CPU、逻辑器件、以太网交换芯片以及接口卡,所述接口卡包括一个或多个业务接口,其特征在于: 逻辑器件与所述接口卡相连,通过自身的第一以太网接口与以太网交换芯片上的第二以太网接口相连,并通过内部总线与CPU相连; 该逻辑器件用于接收来自业务接口的正向数据报文,根据预先保存的接口映射表确定该业务接口对应的VLAN ID,将该正向数据报文的链路层封装修改为以太网封装,其中修改后的以太网正向数据报文的源MAC地址以及目的MAC地址分别为第一以太网接口的MAC地址以及第二以太网接口的MAC地址;修改后的以太网正向数据报文的VLAN ID为接口映射表中与业务接口对应的VLAN ID; 该逻辑器件进一步用于从第一以太网接口接收到以太网反向数据报文,根据预先保存的接口映射表确定该以太网反向数据报文的VLAN ID所对应的业务接口以及该业务接口的链路层封装,并将该以太网反向数据报文的以太网封装修改为与该业务接口的链路层封装,然后通过该业务接口发送出去。
2.如权利要求1所述的网络设备,其特征在于,逻辑器件进一步用于在接收到来自业务接口的正向报文时,先根据该业务接口对应的链路层报文类型识别特征判断该报文是正向数据报文还是正向控制报文,若为正向控制报文则将该正向控制报文通过内部总线的数据通道透传给CPU ;并通过内部总线的数据通道透传CPU向业务接口发送的反向控制报文。
3.如权利要求1所述的网络设备,其特征在于,网络设备启动CPU检测到接口卡时,为所述接口卡业务接口分配VLAN ID并保存业务接口与VLAN ID对应关系的接口映射表,同时CPU在逻辑器件配置保存该接口映射表。
4.如权利要求3所述的网络设备,其特征在于,该CPU检测到接口卡插入和拔出时更新接口映射表。
5.如权利要求1所述的网络设备,其特征在于,所述接口卡为通道化的POS卡,其业务接口为E1,所述El接口的每个El通道对应不同的VLAN ID。
6.如权利要求3所述的网络设备,其特征在于,当所述以太网交换芯片接收到数据报文后,查询转发表项;如果查询命中,则从表项中记录的出口转发出去;如果查询转发表项没有命中,则将报文上送到CPU进行处理,CPU完成对该报文的转发同时生成转发表项并配置到以太网交换芯片,当所述数据报文为反向数据报文时,CPU根据查找到的该报文出接口,根据保存的接口映射表中的业务接口与VLAN ID的对应关系生成转发表项并配置到以太网交换芯片,其中,所述转发表项的出接口为第二以太网接口及该报文出接口相应的VLAN ID。
【文档编号】H04L12/28GK103490961SQ201310401479
【公开日】2014年1月1日 申请日期:2013年9月5日 优先权日:2013年9月5日
【发明者】杨逸 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1