CN103532857B - 一种数据转发的方法及装置 - Google Patents
一种数据转发的方法及装置 Download PDFInfo
- Publication number
- CN103532857B CN103532857B CN201310516261.4A CN201310516261A CN103532857B CN 103532857 B CN103532857 B CN 103532857B CN 201310516261 A CN201310516261 A CN 201310516261A CN 103532857 B CN103532857 B CN 103532857B
- Authority
- CN
- China
- Prior art keywords
- crosspoint
- port
- forwarding
- module
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种数据转发的方法及装置。所述方法包括:接收指定转发目的的报文;根据转发目的为报文添加双层虚拟局域网标签,双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签;将添加了双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发;其中,所述数据转发隧道的形成过程包括:通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统;根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道。本发明降低了系统配置维护的难度,减少了数据转发中间交换单元的配置需求。
Description
技术领域
本发明涉及数据通信技术,尤其涉及一种数据转发的方法及装置。
背景技术
现有技术中的交换矩阵内数据转发方式是依靠报文的MAC头信息做MAC层数据转发,或者根据报文的IP头信息做IP层数据转发。但是在有些应用场合,交换矩阵所接入的报文是不可预测的,无法根据报文自身的MAC头和IP头信息完成数据转发,而是需要在报文上添加一些带有转发策略的信息来完成转发。现有技术中,将转发目标的信息携带在报文的外层虚拟局域网标签VLAN tag、或者内、外两层vlan tag上,然后再根据VLAN tag做转发。
现有技术中根据带有特定转发目标信息的VLAN tag实现数据转发的方法,在交换矩阵的每一个中间节点都需要施加特定的转发策略才能实现,当中间节点增加或者移除时,都需要针对各种不同的VLAN tag做相应的转发表项配置,不易于系统配置的维护。
发明内容
有鉴于此,本发明实施例提供一种数据转发的方法及装置,以降低系统配置维护的难度。
一方面,本发明实施例提供了一种数据转发的方法,所述方法包括:
接收指定转发目的的报文;
对接收到的指定转发目的的报文,根据所述报文的转发目的为所述报文添加双层虚拟局域网标签,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签;
将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发;
其中,所述数据转发隧道的形成过程包括:
通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统;
根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道。
进一步地,通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统,包括:
根据每个交换单元的机架号和卡槽号为每个交换单元分配唯一的交换单元标识号module-ID;
将所述交换矩阵上的每个端口表示为由module-ID和端口号port-ID组成的一个二维数组{module-ID,port-ID};
在每个交换单元上建立module-ID和级联端口的映射表,所述module-ID与级联端口的映射表反映从本交换单元到达module-ID所指定交换单元所需要经过的级联端口。
进一步地,所述外层虚拟局域网标签根据所述报文的转发目的交换单元的module-ID得到;
所述外层虚拟局域网标签根据所述报文的转发目的交换单元的module-ID得到,包括:
组合报文的转发目的交换单元的机架号转换得到的二进制数字和目的交换单元的卡槽号转换得到的二进制数字;
将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述外层虚拟局域网标签。
进一步地,所述内层虚拟局域网标签根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到;
所述内层虚拟局域网标签根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到,包括:
组合所述接入源端口号转换得到的二进制数字和所述目的端口号转换得到的二进制数字;
将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述内层虚拟局域网标签。
进一步地,根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道,包括:
配置逻辑交换系统外层虚拟局域网标签所使用的VLAN,并将交换单元的端口加入到所述VLAN中;
配置从VLAN的端口进入2层转发引擎L2转发表的查找密钥,基于外层虚拟局域网标签和内层虚拟局域网标签进行数据转发;
对每个交换单元的接入源端口{module-ID,port-ID}建立转发目的端口{module-ID,port-ID}信息,根据转发目的端口所在交换单元的module-ID生成外层虚拟局域网标签,根据转发源端口和转发目的端口生成内层虚拟局域网标签,建立交换矩阵内点到点的数据转发隧道。
进一步地,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发,包括:
当所述目的端口与所述接入源端口处于同一交换单元时,将添加了所述双层虚拟局域网标签的报文直接转发到所述交换单元的对应端口。
进一步地,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发,包括:
当所述目的端口与所述接入源端口处于不同的交换单元时,为报文添加HiGig头,通过HiGig协议进行跨交换单元的数据转发;
提取HiGig头内的转发目的交换单元的module-ID信息,查询所述module-ID和级联端口的映射表,得到转发到目的交换单元所需要经过的级联端口;
将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口。
进一步地,将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口,包括:
如果所述接入源端口所在的交换单元和所述目的交换单元之间存在中间交换单元,则检查到带有HiGig头的报文HiGig头中的module-ID不是中间交换单元的module-ID,按照module-ID和级联端口的映射表将带有HiGig头的报文转发给指定的所述中间交换单元的级联端口,通过所述指定的级联端口将带有HiGig头的报文转发到目的交换单元;
检查到带有HiGig头的报文HiGig头中的module-ID是目的交换单元的module-ID,则去掉HiGig头,根据HiGig头中的port-ID将所述报文转发到所述目的交换单元的指定端口。
另一方面,本发明实施例还提供了一种数据转发的装置,所述装置包括:
接收模块,用于接收指定转发目的的报文;
报文预处理模块,用于对所述接收模块接收到的指定转发目的的报文,根据所述报文的转发目的为数据报文添加双层虚拟局域网标签,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签;
数据转发模块,用于将所述报文预处理模块添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发;
其中,所述数据转发隧道由数据转发隧道生成模块生成,所述数据转发隧道生成模块包括:
逻辑交换系统形成子模块,用于通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统;
配置子模块,用于根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道。
进一步地,所述逻辑交换系统形成子模块包括:
分配单元,用于根据每个交换单元的机架号和卡槽号为每个交换单元分配唯一的交换单元标识号module-ID;
端口表示单元,用于将所述交换矩阵上的每个端口表示为由module-ID和端口号port-ID组成的一个二维数组{module-ID,port-ID};
建立单元,用于在每个交换单元上建立module-ID和级联端口的映射表,所述module-ID与级联端口的映射表反映从本交换单元到达module-ID所指定交换单元所需要经过的级联端口。
进一步地,所述外层虚拟局域网标签通过外层虚拟局域网标签形成子模块根据所述报文的转发目的交换单元的module-ID得到;
所述外层虚拟局域网标签形成子模块包括:
第一组合单元,用于组合报文的转发目的交换单元的机架号转换得到的二进制数字和目的交换单元的卡槽号转换得到的二进制数字;
第一转换单元,用于将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述外层虚拟局域网标签。
进一步地,所述内层虚拟局域网标签通过内层虚拟局域网标签形成子模块根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到;
所述内层虚拟局域网标签形成子模块包括:
第二组合单元,用于组合所述接入源端口号转换得到的二进制数字和所述目的端口号转换得到的二进制数字;
第二转换单元,用于将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述内层虚拟局域网标签。
进一步地,所述配置子模块包括:
第一配置单元,用于配置逻辑交换系统外层虚拟局域网标签所使用的VLAN,并将交换单元的端口加入到所述VLAN中;
第二配置单元,用于配置从VLAN的端口进入2层转发引擎L2转发表的查找密钥,基于外层虚拟局域网标签和内层虚拟局域网标签进行数据转发;
数据转发隧道形成单元,用于对每个交换单元的接入源端口{module-ID,port-ID}建立转发目的端口{module-ID,port-ID}信息,根据转发目的端口所在交换单元的module-ID生成外层虚拟局域网标签,根据转发源端口和转发目的端口生成内层虚拟局域网标签,建立交换矩阵内点到点的数据转发隧道。
进一步地,所述数据转发模块包括:
直接转发子模块,用于当所述目的端口与所述接入源端口处于同一交换单元时,将添加了所述双层虚拟局域网标签的报文直接转发到所述交换单元的对应端口。
进一步地,所述数据转发模块包括:
添加子模块,用于当所述目的端口与所述接入源端口处于不同的交换单元时,为报文添加HiGig头,通过HiGig协议进行跨交换单元的数据转发;
查询子模块,用于提取HiGig头内的转发目的交换单元的module-ID信息,查询所述module-ID和级联端口的映射表,得到转发到目的交换单元所需要经过的级联端口;
转发子模块,用于将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口。
进一步地,所述转发子模块包括:
第一转发单元,用于如果所述接入源端口所在的交换单元和所述目的交换单元之间存在中间交换单元,则检查到带有HiGig头的报文HiGig头中的module-ID不是中间交换单元的module-ID,按照module-ID和级联端口的映射表将带有HiGig头的报文转发给所述中间交换单元指定的级联端口,通过所述指定的级联端口将带有HiGig头的报文转发到目的交换单元;
第二转发单元,用于检查到带有HiGig头的报文HiGig头中的module-ID是目的交换单元的module-ID,则去掉HiGig头,根据HiGig头中的port-ID将所述报文转发到所述目的交换单元的指定端口。
本发明实施例提出的数据转发的方法及装置,通过以形成逻辑交换系统为基础配置交换矩阵内任意两点间的数据转发隧道,为所述报文添加双层虚拟局域网标签等报文预处理操作,将进行报文预处理操作后的报文按照所述数据转发隧道进行点到点的数据转发,实现了通过统一的转发策略和转发约定实现交换矩阵内点到点的数据转发,易于系统配置的维护,减少了数据转发中间交换单元的配置需求。
附图说明
图1是本发明第一实施例提供的数据转发的方法的流程图;
图2是本发明实施例提供的数据转发的方法中的交换矩阵系统的一个示意图;
图3是本发明第一实施例提供的数据转发的方法中的数据转发隧道的形成流程图;
图4是本发明第一实施例提供的数据转发的方法的概括实现示意图;
图5是本发明第二实施例提供的一种数据转发的装置的示意图;
图6是本发明第二实施例提供的数据转发的装置中数据转发隧道生成模块的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
图1示出了本发明的第一实施例。
图1是本发明第一实施例提供的数据转发的方法的实现流程图。
图2是本发明实施例提供的数据转发的方法中的交换矩阵系统的一个示意图,如图2所示,所述交换矩阵系统包括交换单元A、交换单元B、交换单元C、交换单元D和交换单元E,其中交换单元C为中间节点交换单元,其余的交换单元均为边缘交换单元。假设图2所示的交换矩阵系统的机架号为1,即所有交换单元的机架号为1,交换单元A的卡槽号为1、交换单元B的卡槽号为2、交换单元C的卡槽号为3、交换单元D的卡槽号为4、交换单元E的卡槽号为5;边缘交换单元A与中间节点交换单元C的级联端口为A1;边缘交换单元B与中间节点交换单元C的级联端口是B1;边缘交换单元D与中间节点交换单元C的级联端口是D1;边缘交换单元E与中间交换节点C的级联端口是E1;中间交换节点C与边缘交换节点A、B、D、E的级联端口分别是:C1、C2、C3、C4。假设交换单元A有2个外部输入输出端口A101、A102,端口号分别是1、2;交换单元B有2个外部输入输出端口B103、B104,端口号分别是3、4;交换单元D有2个外部输入输出端口D105、D106,端口号分别是5、6;交换单元E有2个外部输入输出端口E107、E108,端口号分别是7、8。
以图2所示的交换矩阵系统为例,对第一实施例所述的数据转发的方法进行详细说明,为了清楚地解释本实施例的内容,省去数据报文转发时未涉及到的单元或端口说明,该数据转发的方法详述如下:
步骤101,接收指定转发目的的报文。
执行数据转发的方法的设备接收指定了转发目的的报文。
步骤102,对接收到的指定转发目的的报文,根据所述报文的转发目的为所述报文添加双层虚拟局域网标签,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签。
示例性的,所述外层虚拟局域网标签根据所述报文的转发目的交换单元的module-ID得到;
所述外层虚拟局域网标签根据所述报文的转发目的交换单元的module-ID得到,包括:
组合报文的转发目的交换单元的机架号转换得到的二进制数字和目的交换单元的卡槽号转换得到的二进制数字;
将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述外层虚拟局域网标签。
示例性的,所述内层虚拟局域网标签根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到;
所述内层虚拟局域网标签根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到,包括:
组合所述接入源端口号转换得到的二进制数字和所述目的端口号转换得到的二进制数字;
将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述内层虚拟局域网标签。
通过上述计算方法,所述外层虚拟局域网标签,可表示为Outer-VID,由转发目的交换单元的的module-ID的数值表示;所述内层虚拟局域网标签,可表示为Inner-VID由报文接入源端口号和报文目的端口号共同计算得到,作为一种优选的方案,在本实施例中,Inner-VID的高6bit数值表示接入源端口号,低6bit数值表示目的端口号,如报文从交换单元A的A102口进入,从交换单元E的E107口输出,则对应的外层虚拟局域网标签为37,即Outer-VID=37;内层虚拟局域网标签的VLAN ID=(2<<6)|7=135,即Inner-VID=(2<<6)|7=135。
对接收到的指定转发目的的报文,根据所述报文的转发目的为所述报文添加双层虚拟局域网标签。对不同转发目的的报文,根据报文内容进行分流,将不同的数据流加上不同的虚拟局域网标签,从而转发到不同的目的端口。
步骤103,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发。
其中,图3是本发明第一实施例提供的数据转发的方法中的数据转发隧道的形成流程图,如图3所示,所述数据转发隧道的形成过程包括:
步骤301,通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统。
根据交换矩阵中交换芯片之间的连接关系,建立各交换单元之间的级联关系。根据交换芯片的类型,使用相应的协议进行数据转发,例如:交换矩阵使用BCM交换芯片,则通过HiGig协议实现BCM交换芯片的无缝连接,通过HiGig头实现跨交换芯片的数据转发。
HiGig(通常称为HiGigTM)是Broadcom公司的私有串行总线互联方案,于2001年推出,主要用于Broadcom公司StrataXGS系列芯片之间的互联,既可用于板内连接,也可通过背板走线形式实现跨板连接。HiGig总线是在以太网协议的基础上发展而来的,它在以太网二层报文中插入HiGig头,形成HiGig报文,通过HiGig头携带的控制信息,来实现芯片端口的镜像、聚合、QOS等功能,HiGig头部携带转发目标信息,如:是单播转发还是多播转发;单播转发目的的交换单元ID和端口号;多播转发目的的组播表索引等信息。
示例性的,通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统,包括:
根据每个交换单元的机架号和卡槽号为每个交换单元分配唯一的交换单元标识号module-ID;
将所述交换矩阵上的每个端口表示为由module-ID和端口号port-ID组成的一个二维数组{module-ID,port-ID};
在每个交换单元上建立module-ID和级联端口的映射表,所述module-ID与级联端口的映射表反映从本交换单元到达module-ID所指定交换单元所需要经过的级联端口。
首先根据每个交换单元的机架号和卡槽号为每个交换单元分配唯一的交换单元标识号module-ID,各个交换单元的module-ID不可重复,一个交换矩阵中,各交换单元的module-ID计算规则相同。为了避免分配的交换单元的module-ID重复,对图2所示的交换矩阵系统,采用机架号左移5位加上卡槽号的计算方式得到各个交换单元的module-ID,则分配到的该交换矩阵系统的各交换单元的module-ID值如下表所示:
交换单元 | 机架号 | 卡槽号 | 交换单元module-ID |
交换单元A | 1 | 1 | 33 |
交换单元B | 1 | 2 | 34 |
交换单元C | 1 | 3 | 35 |
交换单元D | 1 | 4 | 36 |
交换单元E | 1 | 4 | 37 |
将所述交换矩阵上的每个端口表示为由交换单元标识号module-ID和该端口的端口号port-ID组成的一个二维数组{module-ID,port-ID}。在每个交换单元上建立module-ID和级联端口的映射表,该module-ID和级联端口的映射表称为MODPORT表,所述MODPORT表反映从本交换单元到达module-ID所指定交换单元所需要经过的级联端口。如图2所示的交换矩阵系统的各交换单元之间的级联关系,交换单元A建立的MODPORT表如下表:
目标module-ID | 本交换单元级联端口 |
34 | A1 |
35 | A1 |
36 | A1 |
37 | A1 |
交换单元B建立的MODPORT表如下表:
目标module-ID | 本交换单元级联端口 |
33 | B1 |
35 | B1 |
36 | B1 |
37 | B1 |
交换单元C建立的MODPORT表如下表:
目标module-ID | 本交换单元级联端口 |
33 | C1 |
34 | C2 |
36 | C3 |
37 | C4 |
交换单元D建立的MODPORT表如下表:
目标module-ID | 本交换单元级联端口 |
33 | D1 |
34 | D1 |
35 | D1 |
37 | D1 |
交换单元E建立的MODPORT表如下表:
目标module-ID | 本交换单元级联端口 |
33 | E1 |
34 | E1 |
35 | E1 |
36 | E1 |
所述逻辑交换系统受交换矩阵处理能力的限制,交换单元个数是有限制的,所述系统内最大交换单元个数可以定义为:MAX_MODULE_NUM;所述逻辑交换系统受交换芯片处理能力的限制,所述交换单元的端口个数是有限制的,所述交换单元的最大端口个数可以定义为:MAX_PORT_NUM。
步骤302,根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道。
所述交换系统使用VLAN交叉连接(VLAN Cross Connect,VLAN-XC)技术,利用双层虚拟局域网标签建立点到点的数据转发隧道进行数据转发,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签。VLAN-XC也称为PVT(Provider VLANTransport,运营商VLAN传输),VLAN-XC技术重新定义了802.1q定义的VID字段,利用新定义的VLAN-XC标签可在以太网上建立预先定义好的隧道。运营商骨干网入口处的PE(ProviderEdge,服务商边缘路由器)设备为接入用户的以太帧头加上VLAN-XC标签,并选择隧道对流量进行传送。核心网络的P(Provider,服务商路由器)设备根据接入端口和VLAN-XC标签来转发数据,出口处PE将去掉这个标签。
步骤102中双层虚拟局域网标签的生成方法依据步骤302中配置所述各交换单元的端口的虚拟局域网VLAN属性中双层虚拟局域网的生成方法,双层虚拟局域网的生成方法在步骤102已经描述了,这里不再赘述。
示例性的,根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道,包括:
配置逻辑交换系统外层虚拟局域网标签所使用的VLAN,并将交换单元的端口加入到所述VLAN中;
配置从VLAN的端口进入2层转发引擎L2转发表的查找密钥,基于外层虚拟局域网标签和内层虚拟局域网标签进行数据转发;
对每个交换单元的接入源端口{module-ID,port-ID}建立转发目的端口{module-ID,port-ID}信息,根据转发目的端口所在交换单元的module-ID生成外层虚拟局域网标签,根据转发源端口和转发目的端口生成内层虚拟局域网标签,建立交换矩阵内点到点的数据转发隧道。
如图2所示的交换矩阵系统所使用的外层虚拟局域网标签值即Outer-VID为33-37,在各个交换单元上创建这些VLAN,并将所有交换单元的端口加入到这些VLAN中;配置从VLAN的端口进入2层转发引擎L2转发表的查找密钥,基于Outer-VID和Inner-VID进行数据转发。通过VLAN-XC技术建立的点到点的数据转发隧道需要接入源端口{module-ID,port-ID}、目的端口{module-ID,port-ID}、外层虚拟局域网标签Outer-VID和内层虚拟局域网标签Inner-VID共同约束生成。
所述逻辑交换系统内任意交换单元的任意端口的转发表项包括:到本交换单元端口的转发表项和到其他交换单元的转发表项。所述到本交换单元的转发表项,其外层虚拟局域网标签只有一个,即本交换单元的modul-ID;所述到本交换单元的转发表项,其内层虚拟局域网标签由接入源端口和目的端口共同决定,假设本交换单元的实际端口个数为:ACTUAL_LOCAL_PORT_NUM,则为了建立任意两点间的通信,需要产生ACTUAL_LOCAL_PORT_NUM*(ACTUAL_LOCAL_PORT_NUM-1)个内层虚拟局域网标签;因此,到本交换单元的转发表项一共需要建立ACTUAL_LOCAL_PORT_NUM*(ACTUAL_LOCAL_PORT_NUM-1)条转发表项。所述到其他交换单元的转发表项:根据逻辑交换系统的最大交换单元个数MAX_MODULE_NUM可知,会形成(MAX_MODULE_NUM-1)个外层虚拟局域网标签;
所述到逻辑系统内其他交换单元的转发表项,其内层虚拟局域网标签由接入源端口和转发目的端口共同决定,到任一个其他交换单元最大的转发目的端口个数是:MAX_PORT_NUM,本交换单元最大的接入源端口个数是ACTUAL_LOCAL_PORT_NUM,因此到任一个其他交换单元最多能产生ACTUAL_LOCAL_PORT_NUM*MAX_PORT_NUM个内层虚拟局域网标签;因此,所述到其他交换单元的转发表项一共需要建立:(MAX_MODULE_NUM-1)*ACTUAL_LOCAL_PORT_NUM*MAX_PORT_NUM个转发表项。
这样,将生成的外层虚拟局域网标签,内层虚拟局域网标签,转发源端口,转发目的端口信息下发VLAN-XC表项,由此,形成逻辑交换系统内任意两点间的数据转发隧道。
按照上述的逻辑交换系统所约定的双层虚拟局域网标签的生成方法,如图2所示的交换矩阵系统,以交换单元A为例,建立的数据转发表项也即点到点的数据转发隧道如下表所示:
表项ID | 源端口 | 目的端口 | 外层tag | 内层tag |
1 | A101 | A102 | 33 | 66 |
2 | A101 | B103 | 34 | 67 |
3 | A101 | B104 | 34 | 68 |
4 | A101 | D105 | 36 | 69 |
5 | A101 | D106 | 36 | 70 |
6 | A101 | E107 | 37 | 71 |
7 | A101 | E108 | 37 | 72 |
8 | A102 | A101 | 33 | 129 |
9 | A102 | B103 | 34 | 131 |
10 | A102 | B104 | 34 | 132 |
11 | A102 | D105 | 36 | 133 |
12 | A102 | D106 | 36 | 134 |
13 | A102 | E107 | 37 | 135 |
14 | A102 | E108 | 37 | 136 |
基于上面建立的转发表项也即数据转发隧道可以支撑逻辑交换系统中任意两点之间的数据转发通道。后面的数据报文的转发,可以应用部分或者全部转发表项完成数据转发的任务,不需要用户再进行任何的转发配置,即可完成基于双层虚拟局域网标签的数据转发。
示例性的,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发,包括:
当所述目的端口与所述接入源端口处于同一交换单元时,将添加了所述双层虚拟局域网标签的报文直接转发到所述交换单元的对应端口。
示例性的,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发,包括:
当所述目的端口与所述接入源端口处于不同的交换单元时,为报文添加HiGig头,通过HiGig协议进行跨交换单元的数据转发;
提取HiGig头内的转发目的交换单元的module-ID信息,查询所述module-ID和级联端口的映射表,得到转发到目的交换单元所需要经过的级联端口;
将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口。
示例性的,将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口,包括:
如果所述接入源端口所在的交换单元和所述目的交换单元之间存在中间交换单元,则检查到带有HiGig头的报文HiGig头中的module-ID不是中间交换单元的module-ID,按照module-ID和级联端口的映射表将带有HiGig头的报文转发给所述中间交换单元指定的级联端口,通过所述指定的级联端口将带有HiGig头的报文转发到目的交换单元;
检查到带有HiGig头的报文HiGig头中的module-ID是目的交换单元的module-ID,则去掉HiGig头,根据HiGig头中的port-ID将所述报文转发到所述目的交换单元的指定端口。
仍以图2所示的交换矩阵系统为例,假设报文从A102端口接入,经过对报文进行预处理,为报文添加了Outer-VID=37、Inner-VID=135的双层虚拟局域网标签,则报文的转发步骤如下:
根据接入交换单元的接入端口查找建立的数据转发表项,得到Outer-VID=37、Inner-VID=135的转发信息为:转发目的端口为E107,该端口的module-ID=37,port-ID=7;
交换单元A检查自己的module-ID与转发目的端口的module-ID是否相等,由于交换单元A的module-ID=33,而转发目的端口的module-ID=37,因此不相等,说明需要经过级联端口才可以讲所述报文转发到其他交换单元的目的端口;
交换单元A查询本交换单元的MODPORT表,得到转发目的交换单元module-ID=37的级联端口为A1;
交换单元A为报文添加HiGig头,HiGig头中包括目的端口的module-ID=37、port-ID=7,将报文经过级联端口A1转发到目的交换单元C;
交换单元C检查自己的module-ID与HiGig头中的module-ID是否相等,由于交换单元C的module-ID=35,目的交换单元的module-ID=37,不相等,说明需要转发到其他交换单元;
交换单元C检查本交换单元的MODPORT表,得到转发目的交换单元的module-ID=37的级联端口是C4;
交换单元单元C通过级联端口C4将报文转发到交换单元E;
交换单元E检查自己的module-ID与目的交换单元的module-ID是否相等,由于交换单元E的module-ID=37,而目的交换单元的module-ID=37,因此相等,说明所述报文是到达该交换单元的报文;
交换单元E去掉HiGig头,按照HiGig头中指定的port-ID=7,将报文转发到E107端口。
图4是本发明第一实施例提供的数据转发的方法的概括实现示意图,如图4所示,本实施例通过以形成逻辑交换系统为基础配置交换矩阵内任意两点间的数据转发隧道表项,为所述报文添加双层虚拟局域网标签等报文预处理操作,将进行报文预处理操作后的报文按照所述数据转发隧道表项进行点到点的数据转发;实现了通过统一的转发策略和转发约定实现交换矩阵内点到点的数据转发,易于系统配置维护,减少数据转发中间交换单元的配置需求。
图5示出了本发明的第二实施例。
图5是本发明第二实施例提供的一种数据转发的装置的示意图。如图5所示,本实施例所述的数据转发的装置包括:接收模块501、报文预处理模块502和数据转发模块503。
其中,接收模块501用于接收指定转发目的的报文。接收模块501用于实现第一实施例中的步骤101实现的功能,这里不再赘述。
报文预处理模块502用于对所述接收模块接收到的指定转发目的的报文,根据所述报文的转发目的为数据报文添加双层虚拟局域网标签,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签。报文预处理模块502用于实现第一实施例中的步骤102实现的功能,这里不再赘述。
数据转发模块503用于将所述报文预处理模块添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发。数据转发模块503用于实现第一实施例中的步骤103实现的功能,这里不再赘述。
其中,所述数据转发隧道由数据转发隧道生成装置生成,图6是本发明第二实施例提供的数据转发的装置中数据转发隧道生成模块的示意图,如图6所示,所述数据转发隧道生成模块包括:
逻辑交换系统形成子模块601,用于通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统。逻辑交换系统形成子模块601用于实现第一实施例中的所述数据转发隧道的形成过程中的步骤301实现的功能,这里不再赘述。
配置子模块602,用于根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道。配置子模块602用于实现第一实施例中的所述数据转发隧道的形成过程中的步骤302实现的功能,这里不再赘述。
本实施例通过逻辑交换系统形成模块形成逻辑交换系统;配置模块以所述逻辑交换系统为基础形成数据转发隧道;报文预处理模块对接收到的指定转发目的的报文添加双层虚拟局域网标签等报文预处理操作;数据转发模块将所述报文预处理模块添加的所述双层虚拟局域网标签的报文,通过所述数据转发隧道进行点到点的数据转发,实现了通过统一的转发策略和转发约定实现交换矩阵内点到点的数据转发,易于系统配置维护,减少数据转发中间交换单元的配置需求。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (14)
1.一种数据转发的方法,其特征在于,所述方法包括:
接收指定转发目的的报文;
对接收到的指定转发目的的报文,根据所述报文的转发目的为所述报文添加双层虚拟局域网标签,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签;
将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发;
其中,所述数据转发隧道的形成过程包括:
通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统;
根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道;
所述外层虚拟局域网标签根据所述报文的转发目的交换单元的module-ID得到;
所述外层虚拟局域网标签根据所述报文的转发目的交换单元的module-ID得到,包括:
组合报文的转发目的交换单元的机架号转换得到的二进制数字和目的交换单元的卡槽号转换得到的二进制数字;
将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述外层虚拟局域网标签。
2.根据权利要求1所述的方法,其特征在于,通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统,包括:
根据每个交换单元的机架号和卡槽号为每个交换单元分配唯一的交换单元标识号module-ID;
将所述交换矩阵上的每个端口表示为由module-ID和端口号port-ID组成的一个二维数组{module-ID,port-ID};
在每个交换单元上建立module-ID和级联端口的映射表,所述module-ID与级联端口的映射表反映从本交换单元到达module-ID所指定交换单元所需要经过的级联端口。
3.根据权利要求1或2所述的方法,其特征在于,所述内层虚拟局域网标签根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到;
所述内层虚拟局域网标签根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到,包括:
组合所述接入源端口号转换得到的二进制数字和所述目的端口号转换得到的二进制数字;
将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述内层虚拟局域网标签。
4.根据权利要求3所述的方法,其特征在于,根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道,包括:
配置逻辑交换系统外层虚拟局域网标签所使用的VLAN,并将交换单元的端口加入到所述VLAN中;
配置从VLAN的端口进入2层转发引擎L2转发表的查找密钥,基于外层虚拟局域网标签和内层虚拟局域网标签进行数据转发;
对每个交换单元的接入源端口{module-ID,port-ID}建立转发目的端口{module-ID,port-ID}信息,根据转发目的端口所在交换单元的module-ID生成外层虚拟局域网标签,根据转发源端口和转发目的端口生成内层虚拟局域网标签,建立交换矩阵内点到点的数据转发隧道。
5.根据权利要求4所述的方法,其特征在于,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发,包括:
当所述目的端口与所述接入源端口处于同一交换单元时,将添加了所述双层虚拟局域网标签的报文直接转发到所述交换单元的对应端口。
6.根据权利要求4所述的方法,其特征在于,将添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发,包括:
当所述目的端口与所述接入源端口处于不同的交换单元时,为报文添加HiGig头,通过HiGig协议进行跨交换单元的数据转发;
提取HiGig头内的转发目的交换单元的module-ID信息,查询所述module-ID和级联端口的映射表,得到转发到目的交换单元所需要经过的级联端口;
将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口。
7.根据权利要求6所述的方法,其特征在于,将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口,包括:
如果所述接入源端口所在的交换单元和所述目的交换单元之间存在中间交换单元,则检查到带有HiGig头的报文HiGig头中的module-ID不是中间交换单元的module-ID,按照module-ID和级联端口的映射表将带有HiGig头的报文转发给指定的所述中间交换单元的级联端口,通过所述指定的级联端口将带有HiGig头的报文转发到目的交换单元;
检查到带有HiGig头的报文HiGig头中的module-ID是目的交换单元的module-ID,则去掉HiGig头,根据HiGig头中的port-ID将所述报文转发到所述目的交换单元的指定端口。
8.一种数据转发的装置,其特征在于,所述装置包括:
接收模块,用于接收指定转发目的的报文;
报文预处理模块,用于对所述接收模块接收到的指定转发目的的报文,根据所述报文的转发目的为数据报文添加双层虚拟局域网标签,所述双层虚拟局域网标签包括外层虚拟局域网标签和内层虚拟局域网标签;
数据转发模块,用于将所述报文预处理模块添加了所述双层虚拟局域网标签的报文,通过数据转发隧道进行点到点的数据转发;
其中,所述数据转发隧道由数据转发隧道生成模块生成,所述数据转发隧道生成模块包括:
逻辑交换系统形成子模块,用于通过建立交换矩阵内各交换单元之间的级联关系,形成逻辑交换系统;
配置子模块,用于根据预设的转发策略和转发约定,配置所述各交换单元的端口的虚拟局域网VLAN属性,并配置所述各交换单元的端口到所述逻辑交换系统内任意交换单元的任意端口的转发表项,形成所述数据转发隧道;
所述外层虚拟局域网标签通过外层虚拟局域网标签形成子模块根据所述报文的转发目的交换单元的module-ID得到;
所述外层虚拟局域网标签形成子模块包括:
第一组合单元,用于组合报文的转发目的交换单元的机架号转换得到的二进制数字和目的交换单元的卡槽号转换得到的二进制数字;
第一转换单元,用于将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述外层虚拟局域网标签。
9.根据权利要求8所述的装置,其特征在于,所述逻辑交换系统形成子模块包括:
分配单元,用于根据每个交换单元的机架号和卡槽号为每个交换单元分配唯一的交换单元标识号module-ID;
端口表示单元,用于将所述交换矩阵上的每个端口表示为由module-ID和端口号port-ID组成的一个二维数组{module-ID,port-ID};
建立单元,用于在每个交换单元上建立module-ID和级联端口的映射表,所述module-ID与级联端口的映射表反映从本交换单元到达module-ID所指定交换单元所需要经过的级联端口。
10.根据权利要求8或9所述的装置,其特征在于,所述内层虚拟局域网标签通过内层虚拟局域网标签形成子模块根据所述报文的转发目的交换单元的目的端口号和所述报文接入交换单元上的接入源端口号计算得到;
所述内层虚拟局域网标签形成子模块包括:
第二组合单元,用于组合所述接入源端口号转换得到的二进制数字和所述目的端口号转换得到的二进制数字;
第二转换单元,用于将组合后的二进制数字转换为十进制数字,所述十进制数字即为所述内层虚拟局域网标签。
11.根据权利要求10所述的装置,其特征在于,所述配置子模块包括:
第一配置单元,用于配置逻辑交换系统外层虚拟局域网标签所使用的VLAN,并将交换单元的端口加入到所述VLAN中;
第二配置单元,用于配置从VLAN的端口进入2层转发引擎L2转发表的查找密钥,基于外层虚拟局域网标签和内层虚拟局域网标签进行数据转发;
数据转发隧道形成单元,用于对每个交换单元的接入源端口{module-ID,port-ID}建立转发目的端口{module-ID,port-ID}信息,根据转发目的端口所在交换单元的module-ID生成外层虚拟局域网标签,根据转发源端口和转发目的端口生成内层虚拟局域网标签,建立交换矩阵内点到点的数据转发隧道。
12.根据权利要求11所述的装置,其特征在于,所述数据转发模块包括:
直接转发子模块,用于当所述目的端口与所述接入源端口处于同一交换单元时,将添加了所述双层虚拟局域网标签的报文直接转发到所述交换单元的对应端口。
13.根据权利要求11所述的装置,其特征在于,所述数据转发模块包括:
添加子模块,用于当所述目的端口与所述接入源端口处于不同的交换单元时,为报文添加HiGig头,通过HiGig协议进行跨交换单元的数据转发;
查询子模块,用于提取HiGig头内的转发目的交换单元的module-ID信息,查询所述module-ID和级联端口的映射表,得到转发到目的交换单元所需要经过的级联端口;
转发子模块,用于将带有HiGig头的报文通过所述需要经过的级联端口转发到目的交换单元的目的级联端口。
14.根据权利要求13所述的装置,其特征在于,所述转发子模块包括:
第一转发单元,用于如果所述接入源端口所在的交换单元和所述目的交换单元之间存在中间交换单元,则检查到带有HiGig头的报文HiGig头中的module-ID不是中间交换单元的module-ID,按照module-ID和级联端口的映射表将带有HiGig头的报文转发给所述中间交换单元指定的级联端口,通过所述指定的级联端口将带有HiGig头的报文转发到目的交换单元;
第二转发单元,用于检查到带有HiGig头的报文HiGig头中的module-ID是目的交换单元的module-ID,则去掉HiGig头,根据HiGig头中的port-ID将所述报文转发到所述目的交换单元的指定端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310516261.4A CN103532857B (zh) | 2013-10-28 | 2013-10-28 | 一种数据转发的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310516261.4A CN103532857B (zh) | 2013-10-28 | 2013-10-28 | 一种数据转发的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103532857A CN103532857A (zh) | 2014-01-22 |
CN103532857B true CN103532857B (zh) | 2016-09-14 |
Family
ID=49934547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310516261.4A Active CN103532857B (zh) | 2013-10-28 | 2013-10-28 | 一种数据转发的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103532857B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515802B (zh) * | 2014-09-22 | 2019-04-12 | 新华三技术有限公司 | 网络虚拟化方法及装置 |
CN114884903B (zh) * | 2022-04-29 | 2023-06-02 | 绿盟科技集团股份有限公司 | 数据处理方法、现场可编程门阵列芯片及网络安全设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492634A (zh) * | 2002-10-25 | 2004-04-28 | 华为技术有限公司 | 城域网传输设备中用户数据业务子速率传送方法 |
CN1507230A (zh) * | 2002-12-10 | 2004-06-23 | ��Ϊ��������˾ | 一种多协议标签交换虚拟专用网的实现方法 |
CN1625144A (zh) * | 2003-12-01 | 2005-06-08 | 华为技术有限公司 | 一种在二层虚拟专用网的骨干网中保证业务质量的方法 |
CN1677951A (zh) * | 2004-04-01 | 2005-10-05 | 华为技术有限公司 | 基于虚拟局域网的数据交换方法 |
CN1863133A (zh) * | 2005-07-18 | 2006-11-15 | 华为技术有限公司 | 报文转发方法及装置 |
CN101080903A (zh) * | 2005-07-27 | 2007-11-28 | 西门子公司 | 用于传递数据分组的网络节点单元和方法 |
US7782856B1 (en) * | 2006-10-12 | 2010-08-24 | World Wide Packets, Inc. | Forwarding data packets having tags conforming to different formats |
CN103297344A (zh) * | 2012-02-27 | 2013-09-11 | 迈普通信技术股份有限公司 | 分布式数据通信系统及其组播报文转发方法 |
-
2013
- 2013-10-28 CN CN201310516261.4A patent/CN103532857B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492634A (zh) * | 2002-10-25 | 2004-04-28 | 华为技术有限公司 | 城域网传输设备中用户数据业务子速率传送方法 |
CN1507230A (zh) * | 2002-12-10 | 2004-06-23 | ��Ϊ��������˾ | 一种多协议标签交换虚拟专用网的实现方法 |
CN1625144A (zh) * | 2003-12-01 | 2005-06-08 | 华为技术有限公司 | 一种在二层虚拟专用网的骨干网中保证业务质量的方法 |
CN1677951A (zh) * | 2004-04-01 | 2005-10-05 | 华为技术有限公司 | 基于虚拟局域网的数据交换方法 |
CN1863133A (zh) * | 2005-07-18 | 2006-11-15 | 华为技术有限公司 | 报文转发方法及装置 |
CN101080903A (zh) * | 2005-07-27 | 2007-11-28 | 西门子公司 | 用于传递数据分组的网络节点单元和方法 |
US7782856B1 (en) * | 2006-10-12 | 2010-08-24 | World Wide Packets, Inc. | Forwarding data packets having tags conforming to different formats |
CN103297344A (zh) * | 2012-02-27 | 2013-09-11 | 迈普通信技术股份有限公司 | 分布式数据通信系统及其组播报文转发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103532857A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102474449B (zh) | 基于虚拟接口的交换装置和方法 | |
KR102113749B1 (ko) | 소스 라우팅에 근거한 별개의 인피니밴드 서브넷들 간에 트래픽을 라우팅하기 위한 시스템 및 방법 | |
CN102804693B (zh) | 用于在ip网络上实现l2 vpn的方法和设备 | |
RU2541940C2 (ru) | Способ применения экземпляра службы к сети mpls (варианты) и сеть mpls | |
CN104283756B (zh) | 一种实现分布式多租户虚拟网络的方法和装置 | |
CN100563190C (zh) | 实现层级化虚拟私有交换业务的方法及系统 | |
CN101047636B (zh) | 端到端伪线仿真虚拟租用线接入虚拟专用网的方法及系统 | |
CN101133407A (zh) | 带有伸缩的广播和服务实例域的城域以太网 | |
CN105556916B (zh) | 网络流的信息统计方法和装置 | |
CN103023792A (zh) | 在输送组播流量时传送进入接口(iif)的vlan/l2 vsn/桥接域 | |
CN102301663A (zh) | 一种报文处理方法及相关设备 | |
CN103209132B (zh) | 在透明多链路互联(trill)网络中实现组播的方法、装置及系统 | |
CN102075438A (zh) | 单播数据帧传输方法及装置 | |
CN100568822C (zh) | 一种基于弹性分组环的业务拓扑图形化显示方法 | |
CN106713137A (zh) | 基于分段路由和sdn技术的vpn方法、装置及系统 | |
CN106982157A (zh) | 流量工程隧道建立方法和装置 | |
CN109510785A (zh) | 一种镜像报文的方法和装置 | |
CN100358322C (zh) | 多层虚拟局域网交换的方法 | |
CN107645446A (zh) | 一种信息确定方法和装置 | |
CN104782104A (zh) | 使用站点虚拟mac地址的otv缩放 | |
CN108965134A (zh) | 报文转发方法及装置 | |
CN104702506B (zh) | 一种报文传输方法、网络节点及报文传输系统 | |
CN103138955A (zh) | 在第2层网络中使用多个igmp查询器 | |
CN101330411B (zh) | 一种模拟大规模网络拓扑的方法和系统 | |
WO2016095142A1 (zh) | 软件定义网络sdn中数据转发的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |