[发明专利]一种由交换机添加报文外层标签的方法有效
| 申请号: | 200810218254.5 | 申请日: | 2008-12-05 |
| 公开(公告)号: | CN101425955A | 公开(公告)日: | 2009-05-06 |
| 发明(设计)人: | 王轩 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L12/46 | 分类号: | H04L12/46;H04L29/06 |
| 代理公司: | 深圳市永杰专利商标事务所 | 代理人: | 曹建军 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 交换机 添加 报文 外层 标签 方法 | ||
技术领域
本发明涉及数据通信中交换机CPU(Central Processing Unit,中央处理单元)的报文接收技术,更具体的说,是一种由交换机添加报文外层标签的方法。
背景技术
大多数交换芯片都支持DMA(Direct Memory Access,直接存储器访问)控制器,交换机CPU可以通过DMA控制器接收从交换芯片其他端口发送来的报文或者将报文发送到交换芯片的其他端口。某些交换芯片采用DCB(DMA ControlBlock,DMA控制模块)控制CPU对DMA控制器的访问,DCB有很多描述符,比如:
OUTER_VID:报文需要添加的外层VLAN ID;
ADD_VID:报文是否需要添加标签,包括内层标签和外层标签,1表示需要,0表示不需要;
UNTAGGED:报文是否含有标签,0表示含有标签,含有1层或2层标签都为0,1表示不含有;
INGRESS_TAGGED:报文是否在入端口被认为是不含有标签的,1表示含有标签,0表示不含有。有两种情况交换芯片认为入端口的报文是不含有标签的:一种是报文本身不含有标签,另一种是如端口配置了QinQ Customer模式,交换芯片默认所有从QinQ Customer端口收到的报文都是不含有标签的。
DCB的描述符能够为交换机的CPU提供其收到的报文的各种信息,CPU可以根据这些信息对报文进行处理。
QinQ又称Stacked VLAN(VLAN(Virtual Local Area Network,虚拟局域网)堆叠),其实现为在802.1Q协议标签前再次封装802.1Q协议标签,即通过在原有802.1Q tag标签的之外再增加一个VLAN标签,增加的这个标签称为SPVLAN(Service Provider VLAN,服务提供商VLAN),这一层标签可以将内层VLAN标签(也称为Customer VLAN,用户VLAN,简称CVLAN)屏蔽起来,经过服务提供商的网络透明传输,到达边缘交换机时再去除SPVLAN标签,这是构成L2VPN(Layer 2 Virtual Private Network,二层虚拟专用网)的主要方式之一。采用这种双层标签的技术,服务提供商网络屏蔽了用户网络的VLAN标签,保留了用户网络的信息。目前部分交换机可以支持QinQ功能。QinQ允许运营商为每个用户分配最大到4K的第二个VLAN ID。
现有技术中,上层应用软件会维护一个端口与内层标签和外层标签的映射表,交换机CPU收到带内层标签的报文后,若收到报文的流程在交换芯片MMU(Memory Management Unit,内存管理单元)之前,需要添加外层标签,交换芯片无法为其添加外层标签,需要上层应用软件通过查询所述映射表,根据端口与内层标签添加外层标签。这种方法效率不高,而且依赖于软件维护的映射表,可靠性不好。
发明内容
本发明所要解决的技术问题是,一种由交换机添加报文外层标签的方法,本发明所述方法不仅添加外层标签时的效率高、且可靠性高。
一种由交换机添加报文外层标签的方法,端口配置为QinQ Customer模式的交换机的CPU收到含内层标签的报文后,执行如下步骤:
步骤一:读取交换芯片DCB描述符,获取OUTER_VID、ADD_VID、UNTAGGED、INGRESS_TAGGED字段的值;
步骤二:判断所述UNTAGGED、INGRESS_TAGGED的值是否为0,且所述ADD_VID的值是否为1,若是,则根据所述OUTER_VID的值,组成外层标签并添加到所述报文中,执行步骤三;否则,直接执行步骤三;
步骤三:将所述报文上报给上层应用模块。
所述步骤一前还包括:为所述报文分配内存空间,并将所述报文复制到分配的空间中;所述内存空间包括外层标签需要的4个字节的空间。
所述步骤二中,通过如下方法将组成的外层标签添加到所述报文中:
步骤a:将所述报文第12个字节后的所有字节的内容均复制到其后的第4个字节的内存空间中,覆盖所述内存空间中原来的内容;
步骤b:将所述组成的外层标签复制到所述报文第12个字节后的4个字节内存空间中,覆盖所述内存空间的内容。
所述步骤a具体如下:
步骤a1:将所述报文的倒数第1个字节的内容复制到其后的第4个字节的内存空间中;
步骤a2:将所述报文的倒数第2个字节的内容复制到其后的第4个字节的内存空间中;以此类推,直到将所述报文的第13个字节的内容复制到其后的第4个字节的内存空间中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810218254.5/2.html,转载请声明来源钻瓜专利网。





