交换芯片的报文转发方法及交换芯片技术

技术编号:12337907 阅读:530 留言:0更新日期:2015-11-18 10:53
本发明专利技术公开了一种交换芯片报文转发方法及交换芯片,所述报文转发包括上行转发和下行转发,其中,所述上行转发具体包括:所述交换芯片的入接口接收到报文时,对所述报文加封vlan标签;将加封vlan标签的报文发送到CPU接口;所述下行转发具体包括:所述交换芯片的出接口接收到来自CPU的报文时,识别所述报文的vlan标签的标签信息;根据所述标签信息选择对应的交换芯片接口发送所述报文;其中,所述vlan标签位于上述报文的MAC层之前。本发明专利技术的报文转发方法,既保证接口复用,又对代码复杂度降低和性能提升有较好的效果。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种交换芯片的报文转发方法及交换芯片
技术介绍
利用交换芯片的vlan隔离特性对网络转发芯片CPU的接口进行复用,已经成为网络设备厂商一种常用的接口扩展手段。这种方式性价比较高,能有效的增加接口数目,提高产品的竞争力,是未来设备发展的一种趋势。—个基本的带交换芯片的网络设备硬件架构如下:转发芯片CPU的接口与交换芯片相连,通过交换芯片划分出更多的接口来使用。交换芯片通过vlan隔离,划分出一个个独立的报文通道:对不同接口进入的报文加封不同的vlan tag标签,使其互不干扰。对于交换芯片接口送上来的报文,按照奇偶分配或者hash的方式,均匀的送入CPU接口中进行处理。如下图所示:这种接口复用的方式,需要在上送CPU的报文中打上vlan tag标签,来告诉CPU报文的入接口;同时,在出方向CPU也通过vlan tag标签来选择正确的出接口。一般这种封装和剥离vlan标签的操作都是由交换芯片驱动完成的,一般需要进行:1、vlan通道划分,即对每个接口划分独立的vlan ;2、上行报文加封vlan标签;3、下行报文判断vlan标签并剥离;Vlan标签位于报文的二层头(mac层)和三层头(IP头)之间,长度为四个字节。这种vlan tag的加封方式存在如下问题:其一,在上层软件的处理过程中,一般有vlan报文处理流程和非vlan报文处理流程。那么对于复用接口上送的携带vlan标签的报文,实际上并不算真正意义上的vlan报文,而只是借用vlan标签的位置来标识出入接口,其vlan标签是由交换芯片打上,并不是原始报文中携带的,应当走非vlan报文处理转发流程。而只有原始报文自身携带vlan(如从vlan子接口上送)才是真正的vlan报文。因此,在上层处理中需要花费很大精力对此种情况进行区分,防止报文走错流程,对代码复杂度和性能有影响。其二,在报文处理过程中,有些流程(例如主机报文流程)需要最初的原始报文,即需要剥离交换芯片加封的vlan标签。vlan标签位于二三层头之间,剥离时需要整体移动报文在内存中的位置,对设备性能是一个非常大的损耗。其三,对于原始就携带vlan的报文(如子接口进入的报文),这个加封方式会导致报文携带了双层vlan,这种双层vlan无论是在转发流程还是在报文判断上都带来了很多不便,造成流程复杂度的提升和设备性能的下降。
技术实现思路
本专利技术要解决的技术问题是:如何在交换芯片扩展接口方式下的报文转发,既保证接口复用,又对代码复杂度降低和性能提升有较好的效果。为解决上述问题,本专利技术提供了一种交换芯片报文转发方法,其特征在于,所述报文转发包括上行转发和下行转发,其中,所述上行转发具体包括:所述交换芯片的入接口接收到报文时,对所述报文加封vlan标签;将加封vlan标签的报文发送到CPU接口 ;所述下行转发具体包括:所述交换芯片的出接口接收到来自CPU的报文时,识别所述报文的vlan标签的标签信息;根据所述标签信息选择对应的交换芯片接口发送所述报文;其中,所述vlan标签位于所述报文的MAC层之前。其中,所述下行转发还包括:在将来自CPU的报文转发出去时,将所述报文的vlan标签信息剥离。其中,所述交换芯片的入接口接收到报文时,对所述报文加封vlan标签,具体包括:根据接收所述报文的子接口的vlan标识对所述报文加封vlan标签。其中,所述识别所述报文的vlan标签的标签信息包括:读取所述报文的MAC层之前的vlan标签的标签信息。根据本专利技术的另一个方面,提供一种交换芯片,其特征在于,包括:Vlan标签加封单元,用于在从入接口接收的报文的MAC层之前加封vlan标签;Vlan标签识别单元,用于对从出接口接收的报文的MAC层之前的vlan标签进行识别;Vlan标签剥离单元,用于将来自CPU的报文转发出去的过程中将所述报文的MAC层之前的vlan标签剥离。本专利技术的转发芯片在转发报文时,将标签信息封装到MAC层前,可以在不改变原始报文的前提下,将入接口信息携带到CPU实现隔离扩展特性。同时,CPU接收到标签封装在MAC层前的报文后,可以正常出解析标签信息,解析完成后,只需将报文指针偏移至MAC层即可获得完整的原始报文,无需进行标签剥离操作,即无需移动报文在内存中的位置,这对于设备转发性能是很大的提升。另外,新标签封装于MAC层前,不再与原始报文中的vlan标签位置重叠,即不存在判断原始vlan标签和交换芯片加封标签的问题,极大的降低了代码复杂度,简化了代码流程。【附图说明】图1示出了本专利技术的交换芯片报文转发方法的上行转发流程图。图2示出了本专利技术的交换芯片报文转发方法的下行转发流程图。【具体实施方式】下面结合附图和实施例,对本专利技术的【具体实施方式】作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图1示出了本专利技术的交换芯片报文转发方法的上行转发流程图;图2示出了本专利技术的交换芯片报文转发方法的下行转发流程图。如图1和图2所示,本专利技术一个实施例的交换芯片保文转发方法,包括上行转发和下行转发,具体地,上行转发具体包括:S11、交换芯片的入接口接收到报文时,对所述报文加封vlan标签;具体地,上述步骤中,根据接收所述报文的子接口的vlan标识对所述报文加封vlan标签。S12、将加封vlan标签的报文发送到CPU接口 ;下行转发具体包括:S21、所述交换芯片的出接口接收到来自CPU的报文时,识别所述报文的vlan标签的标签信息;S22、根据所述标签信息选择对应的交换芯片接口发送所述报文;在上述实施例中,vlan标签位于所述报文的MAC层之前。基于上述,步骤S21的识别所述报文的vlan标签的标签信息具体为:读取所述报文的MAC层之前的vlan标签的标签信息。进一步第,下行转发还包括:在将来自CPU的报文转发出去时,将所述报文的vlan标签信息剥离。即在入接口报文从交换芯片上送到CPU的过程中加封标签时,加封位置移动到MAC层之前;并且报文从CPU接口下发到交换芯片时,从报文的MAC层前识别标签信息,找至IJ对应的交换芯片出接口发出,同时,在从出接口发出时,将报文的MAC层前的标签信息剥离。本专利技术将标签信息封装到MAC层之前,可以在不改变原始报文的前提下,将入接口信息携带到CPU实现隔离扩展特性。另外,本申请中获得原始报文无需在内存中移动报文位置,仅需要移动报文头指针,对性能无损耗,明显提升设备行能;此外,此方法简化了上层处理流程,不再与子接口等携带的vlan标签性形成判断冲突,降低了代码和流程的复杂度。根据本专利技术的另一个实施例,提供一种交换芯片,具体包括:Vlan标签加封单元,用于在从入接口接收的报文的MAC层之前加封vlan标签;Vlan标签识别单元,用于对从出接口接收的报文的MAC层之前的vlan标签进行识别;Vlan标签剥离单元,用于将来自CPU的报文转发出去的过程中将所述报文的MAC层之前的vlan标签剥离。本专利技术的转发芯片在转发报文时,将标签信息封装到MAC层前,可以在不改变原始报文的前提下,将入接口信息携带到CPU实现隔离扩展特性。同时,CPU接收到标签封装在MAC层前的报文后,可以正常出解析标签信息,解析完成后,只需将报文本文档来自技高网
...

【技术保护点】
一种交换芯片报文转发方法,其特征在于,所述报文转发包括上行转发和下行转发,其中,所述上行转发具体包括:所述交换芯片的入接口接收到报文时,对所述报文加封vlan标签;将加封vlan标签的报文发送到CPU接口;所述下行转发具体包括:所述交换芯片的出接口接收到来自CPU的报文时,识别所述报文的vlan标签的标签信息;根据所述标签信息选择对应的交换芯片接口发送所述报文;其中,所述vlan标签位于所述报文的MAC层之前。

【技术特征摘要】

【专利技术属性】
技术研发人员:韩阳
申请(专利权)人:北京汉柏科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1