《一种转发数据报文的方法和路由设备.pdf》由会员分享,可在线阅读,更多相关《一种转发数据报文的方法和路由设备.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102611619 A (43)申请公布日 2012.07.25 C N 1 0 2 6 1 1 6 1 9 A *CN102611619A* (21)申请号 201210043198.2 (22)申请日 2012.02.24 H04L 12/56(2006.01) (71)申请人中兴通讯股份有限公司 地址 518057 广东省深圳市南山区高新技术 产业园科技南路中兴通讯大厦法务部 (72)发明人孙蓓 (74)专利代理机构北京安信方达知识产权代理 有限公司 11262 代理人李健 龙洪 (54) 发明名称 一种转发数据报文的方法和路由设备 (57) 摘要 本发明提出了。
2、一种转发数据报文的方法和路 由设备,其中,所述方法包括:建立路由接口属性 表,并以端口号、内层VLAN ID、外层VLAN ID作为 路由接口属性表的索引;按照路由接口的类型和 配置确定所述索引;解析接收到的数据报文,根 据解析结果用端口号、内层VLAN ID、外层VLAN ID 查找路由接口属性表,获取路由接口属性;根据 接收到的数据报文信息和所述路由接口属性进行 路由转发。本发明统一了不同路由接口类型的转 发表项和转发流程。 (51)Int.Cl. 权利要求书2页 说明书5页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 3。
3、 页 1/2页 2 1.一种转发数据报文的方法,其特征在于,所述方法包括: 建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID作为 所述路由接口属性表的索引; 按照路由接口的类型和配置确定所述索引; 解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找路由 接口属性表,获取路由接口属性; 根据接收到的数据报文信息和所述路由接口属性进行路由转发。 2.如权利要求1所述的方法,其特征在于, 所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接口。 3.如权利要求2所述的方法,其特征在于,按照路由接口的。
4、类型和配置确定所述索引 进一步包括: 若配置的路由接口类型是路由口,则用配置的端口号、内层VLAN ID0xFFF、外层VLAN ID 0xFFF作为所述索引; 若配置的路由接口类型是路由口VLAN子接口,则用配置的端口号、内层VLAN ID 0xFFF、配置的外层VLAN ID作为所述索引; 若配置的路由接口类型是路由口QinQ子接口,则用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引。 4.如权利要求3所述的方法,其特征在于,解析接收到的数据报文,根据解析结果用端 口号、内层VLAN ID、外层VLAN ID查找路由接口属性表进一步包括: 解析所述接收到的数据。
5、报文; 若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属 性表; 若所述接收到的数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将 0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路 由接口属性表; 若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找。
6、路由接口属性表。 5.一种转发数据报文的路由设备,其特征在于,所述路由设备包括配置模块和数据报 文转发模块,其中, 所述配置模块,用于建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID作为所述路由接口属性表的索引;按照路由接口的类型和配置确定所述 索引; 所述数据报文转发模块,用于解析接收到的数据报文,根据解析结果用端口号、内层 VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文信 息和所述路由接口属性进行路由转发。 6.如权利要求5所述的路由设备,其特征在于, 所述接口类型包含路由口、路由口虚拟局域网(VLAN)。
7、子接口、路由口QinQ子接口。 7.如权利要求6所述的路由设备,其特征在于, 权 利 要 求 书CN 102611619 A 2/2页 3 所述配置模块,用于当配置的路由接口类型是路由口时,用配置的端口号、内层VLAN ID 0xFFF、外层VLAN ID 0xFFF作为所述索引;当配置的路由接口类型是路由口VLAN子接 口时,用配置的端口号、内层VLAN ID0xFFF、配置的外层VLAN ID作为所述索引;当配置的 路由接口类型是路由口QinQ子接口时,用配置的端口号、配置的内层VLAN ID、配置的外层 VLANID作为所述索引。 8.如权利要求7所述的路由设备,其特征在于, 所述数据报。
8、文转发模块,用于解析所述数据报文;若所述接收到的数据报文携带两层 VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口 号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文携带 一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析 出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据 报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口 号、所述内层VLAN 。
9、ID和外层VLAN ID查找路由接口属性表;获取路由接口属性,根据接收 到的数据报文信息和所述路由接口属性进行路由转发。 权 利 要 求 书CN 102611619 A 1/5页 4 一种转发数据报文的方法和路由设备 技术领域 0001 本发明涉及数据通信领域,尤其涉及一种转发数据报文的方法和路由设备。 背景技术 0002 在网络高速发展的今天,基于网络处理器的路由设备凭借其灵活的可编程性和高 处理性能得到越来越广泛的应用,但其可支持的指令空间和资源有限。 0003 路由口是路由设备上的一个物理端口,作为路由设备的路由接口,进行三层路由 的配置。路由口子接口是路由口基于虚拟局域网(Virtua。
10、l Local Area Network,VLAN)划 分的子接口,也能作为路由设备的路由接口。路由口子接口又可以分为路由口VLAN子接口 和路由口QinQ(802.1Q in 802.1Q的缩写)子接口,其中,路由口VLAN子接口是按照单层 VLAN划分的子接口,路由口QinQ子接口是按照双层VLAN划分的子接口。 0004 基于网络处理器的路由设备端口(如gei_1/1)可同时支持路由口、路由口VLAN 子接口及路由口QinQ子接口,如图1所示。 0005 在现有的路由接口路由转发数据报文的过程中,需要针对不同的路由接口类型设 计不同的转发表项以及不同的数据报文处理流程,不但极大的占用资源。
11、,而且由于区分接 口类型进行处理,浪费指令空间,极大的影响路由设备的性能,对控制层面来说也增加了负 担。另外,同时由于不同接口类型不同处理,不利于业务扩展,严重影响了路由设备的可扩 展性和兼容性。 发明内容 0006 本发明提供了一种转发数据报文的方法和路由设备,以解决如何统一不同路由接 口类型的转发表项和转发流程的技术问题。 0007 为解决上述技术问题,本发明提供了一种转发数据报文的方法,所述方法包括: 0008 建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLAN ID)、外层VLAN ID 作为所述路由接口属性表的索引; 0009 按照路由接口的类型和配置确定所述索引; 001。
12、0 解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID查找 路由接口属性表,获取路由接口属性; 0011 根据接收到的数据报文信息和所述路由接口属性进行路由转发。 0012 进一步地,所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口 QinQ子接口。 0013 进一步地,按照路由接口的类型和配置确定所述索引包括: 0014 若配置的路由接口类型是路由口,则用配置的端口号、内层VLAN ID0xFFF、外层 VLAN ID 0xFFF作为所述索引; 0015 若配置的路由接口类型是路由口VLAN子接口,则用配置的端口号、内层VLAN ID 0xF。
13、FF、配置的外层VLAN ID作为所述索引; 说 明 书CN 102611619 A 2/5页 5 0016 若配置的路由接口类型是路由口QinQ子接口,则用配置的端口号、配置的内层 VLAN ID、配置的外层VLAN ID作为所述索引。 0017 进一步地,解析接收到的数据报文,根据解析结果用端口号、内层VLANID、外层 VLAN ID查找路由接口属性表包括: 0018 解析所述接收到的数据报文; 0019 若所述接收到的数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层 VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID。
14、查找路由 接口属性表; 0020 若所述接收到的数据报文携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID, 将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找 路由接口属性表; 0021 若所述接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层 VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表。 0022 为解决上述技术问题,本发明还提供了一种转发数据报文的路由设备,所述路由 设备包括配置模块和数据报文转发模块,其中, 0023 所述配置模块,。
15、用于建立路由接口属性表,并以端口号、内层虚拟局域网标识 (VLAN ID)、外层VLAN ID作为所述路由接口属性表的索引;按照路由接口的类型和配置确 定所述索引; 0024 所述数据报文转发模块,用于解析接收到的数据报文,根据解析结果用端口号、内 层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文 信息和所述路由接口属性进行路由转发。 0025 进一步地,所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口 QinQ子接口。 0026 进一步地,所述配置模块,用于当配置的路由接口类型是路由口时,用配置的端口 号、内层VLAN ID 0。
16、xFFF、外层VLAN ID 0xFFF作为所述索引;当配置的路由接口类型是路 由口VLAN子接口时,用配置的端口号、内层VLAN ID 0xFFF、配置的外层VLAN ID作为所述 索引;当配置的路由接口类型是路由口QinQ子接口时,用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引。 0027 进一步地,所述数据报文转发模块,用于解析所述数据报文;若所述接收到的数据 报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据 解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到。
17、的 数据报文携带一层VLANID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述 接收到的数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据 解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;获取路由接口属 性,根据接收到的数据报文信息和所述路由接口属性进行路由转发。 0028 上述技术方案提取路由接口的端口号、内层VLAN ID、外层VLAN ID这三个关键性 因素作为路由接口属性表的索引,统一了转。
18、发表项;在统一了转发表项的基础上,对接收的 数据报文可采用相同的处理流程进行路由转发,减轻了控制层面的负担;由于上述技术方 说 明 书CN 102611619 A 3/5页 6 案采用统一的转发表项和数据报文转发流程,也提高了网络处理器的可扩展性和兼容性。 附图说明 0029 图1为现有技术路由设备上的路由接口示意图; 0030 图2为本实施例的转发数据报文的方法流程图; 0031 图3为本实施例的按照路由接口的类型和配置确定所述索引的方法流程图; 0032 图4为本实施例的转发数据报文的路由设备组成模块图。 具体实施方式 0033 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附。
19、图对本发明 的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中 的特征可以相互任意组合。 0034 图2为本实施例的转发数据报文的方法流程图。 0035 S201建立路由接口属性表,并以端口号、内层虚拟局域网标识(VLANID)、外层 VLAN ID作为所述路由接口属性表的索引; 0036 所述接口属性表中记录的路由接口属性包括:路由接口的VPN属性,路由接口的 状态是up还是down,是否开启组播等; 0037 S202按照路由接口的类型和配置确定所述索引; 0038 所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接 口; 0039。
20、 若配置的路由接口类型是路由口,则用配置的端口号、内层VLAN ID0xFFF、外层 VLAN ID 0xFFF作为所述索引; 0040 若配置的路由接口类型是路由口VLAN子接口,则用配置的端口号、内层VLAN ID 0xFFF、配置的外层VLAN ID作为所述索引; 0041 若配置的路由接口类型是路由口QinQ子接口,则用配置的端口号、配置的内层 VLAN ID、配置的外层VLAN ID作为所述索引; 0042 上述按照路由接口的类型和配置确定所述索引条件值的流程可如图3所示。 0043 表1为路由接口属性表。 0044 表1 0045 端口 内层VLAN 外层VLAN 路由接口属性 N。
21、1 0xFFF 0xFFF M1 N1 0xFFF X1 M2 N1 Y2 X2 M3 N2 0xFFF 0xFFF M4 说 明 书CN 102611619 A 4/5页 7 N2 0xFFF X1 M5 0046 S203解析接收到的数据报文,根据解析结果用端口号、内层VLAN ID、外层VLAN ID 查找路由接口属性表,获取路由接口属性; 0047 若所述接收数据报文携带两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的端口号、所述内层VLANID和外层VLAN ID查找路由接口属 性表; 0048 若所述接收数据报文携带一层VL。
22、AN ID,则将所述VLAN ID作为外层VLAN ID,将 0xFFF作为内层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路 由接口属性表; 0049 若所述接收数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表; 0050 S204根据接收到的数据报文信息和所述路由接口属性进行路由转发; 0051 若在步骤S203中根据解析出的端口号、所述内层VLAN ID和外层VLANID没有查 找到路由接口属性表,则丢弃所述数据报文。 0052 。
23、根据802.1Q(即Virtual Bridged Local Area Networks)协议的规定,VLANID共 12bit,VLAN ID 0-VLAN ID 0xFFF一共代表4096个VLAN,其中VLANID 0和VLAN ID 0xFFF 为保留使用,VLAN ID1-VLAN ID4094提供给用户使用,因此不存在用户报文携带的VLAN ID为0xFFF,用户也不会配置VLANID 0xFFF的路由子接口。因此当配置路由口时,用端口 号、内层VLAN ID0xFFF、外层VLAN ID 0xFFF作为路由接口属性表索引,以及当配置路由口 VLAN子接口时,用端口号、内层VLA。
24、N ID 0xFFF和配置的VLAN ID作为路由接口属性表索 引,均不会和用户的配置重合;查找时,当报文不带VLAN,用端口号、内层VLAN ID 0xFFF、 外层VLAN ID 0xFFF查找不会和正常报文所带VLAN重合,当报文带一层VLAN,用端口号、内 层VLAN ID 0xFFF、所带外层VLAN ID查找也不会和正常报文所带VLAN重合。 0053 图4为本实施例的转发数据报文的路由设备组成模块图。 0054 所述路由设备包括配置模块和数据报文转发模块,其中, 0055 所述配置模块,用于建立路由接口属性表,并以端口号、内层虚拟局域网标识 (VLAN ID)、外层VLAN ID。
25、作为所述路由接口属性表的索引;按照路由接口的类型和配置确 定所述索引; 0056 所述接口类型包含路由口、路由口虚拟局域网(VLAN)子接口、路由口QinQ子接 口; 0057 所述配置模块,用于当配置的路由接口类型是路由口时,用配置的端口号、内层 VLAN ID 0xFFF、外层VLAN ID 0xFFF作为所述索引,如表1所示,配置路由口N1,就用端口 N1,内层VLAN ID 0xFFF、外层VLAN ID 0xFFF作为路由属性接口表索引;当配置的路由接 口类型是路由口VLAN子接口时,用配置的端口号、内层VLAN ID 0xFFF、配置的外层VLAN ID作为所述索引,如表1所示,配。
26、置端口N1、外层VLAN ID X1的路由口VLAN子接口,就用 端口N1、内层VLAN ID 0xFFF、外层VLAN ID X1作为路由属性接口表索引;当配置的路由 接口类型是路由口QinQ子接口时,用配置的端口号、配置的内层VLAN ID、配置的外层VLAN ID作为所述索引,如表1所示,配置端口N1、内层VLAN ID Y2、外层VLAN ID X2的路由口 说 明 书CN 102611619 A 5/5页 8 QinQ子接口,就用端口N1、内层VLAN ID Y2、外层VLAN ID X2作为路由属性接口表索引; 0058 所述数据报文转发模块,用于解析接收到的数据报文,根据解析结果。
27、用端口号、内 层VLAN ID、外层VLAN ID查找路由接口属性表,获取路由接口属性,根据接收到的数据报文 信息和所述路由接口属性进行路由转发; 0059 所述数据报文转发模块,用于解析所述数据报文;若所述接收到的数据报文携带 两层VLAN ID,则将所述两层VLAN ID分别作为内层VLAN ID、外层VLAN ID,根据解析出的 端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表;若所述接收到的数据报文 携带一层VLAN ID,则将所述VLAN ID作为外层VLAN ID,将0xFFF作为内层VLAN ID,根据 解析出的端口号、所述内层VLAN ID和外层VLAN I。
28、D查找路由接口属性表;若所述接收到的 数据报文没有携带VLAN ID,则将0xFFF作为内层VLAN ID和外层VLAN ID,根据解析出的 端口号、所述内层VLAN ID和外层VLAN ID查找路由接口属性表,获取路由接口属性,根据 接收到的数据报文信息和所述路由接口属性进行路由转发。 0060 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应 地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。 0061 需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的 情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的 改变和变形都应属于本发明所附的权利要求的保护范围。 说 明 书CN 102611619 A 1/3页 9 图1 说 明 书 附 图CN 102611619 A 2/3页 10 图2 说 明 书 附 图CN 102611619 A 10 3/3页 11 图3 图4 说 明 书 附 图CN 102611619 A 11 。