专利名称:一种多对一vlan映射方法
技术领域:
本发明涉及应用交换机进行数据通信的领域,具体的是涉及支持 VLAN (Virtual Local Area Network,虚拟局域网)映射的带网络处理器的 交换机进行多对一映射的方法。
背景技术:
随着交换机应用的普及,VLAN技术的应用也越来越广泛。众所周知, VLAN技术的主要作用是可将分布于不同地理位置的计算机按工作需要组 合成一个逻辑网络,同时VLAN的划分可縮小广播域,以提高网络传输速 度,由于处于不同VLAN的计算机之间不能直接通信,从而使网络的安全 性能得到了很大提高。但事实上在很多网络中要求处于不同VLAN中的计 算机间能够相互通信,如何解决VLAN间的通信问题是进行通信时需要面 对的问题。
采用VLAN映射方法,可以解决上述问题,它允许用于边缘接入的不 同以太网交换机的VLAN ID设置互相重叠,通过以太网交换机的VLAN 映射功能,将不同交换机的重复VLAN ID修改为不同的VLAN ID,并从 上联端口发送出去,从而在二层核心交换机中也实现用户的隔离,这样就 简化了边缘接入交换机的设置。
在使用交换机进行数据通信时,通常将跟用户相接的端口称为下联口, 跟网络侧相接的端口称为上联口,普通二层处理,只有上联口和下联口的 VLAN—致才能对通,有了 VLAN映射,可以实现一个下联口的多个VLAN 跟一个上联口的一个VLAN互通,称为多对一VLAN映射。在现有的多 对一VLAN映射技术中,由于上联口对应一个VLAN,因此,从下联口往 上联口发数据包处理比较容易,若查到MAC即转发,若査不到MAC地 址只要在上联口的VLAN内广播即可;但是由于下联口对应多个VLAN, 因此,从上联口往下联口发数据包时则出现这种情况,即若查到MAC
即按照MAC表中的地址进行转发,若查不到MAC就要在下联口的所有 VLAN内进行广播,因为下联口的VLAN范围可能是在1-4095内任意取, 范围比较广,如果对每个VLAN都进行数据包的广播传输,网络传输效率 低,实现困难。
发明内容
本发明的目的是,为了克服现有技术中进行多对一 VLAN映射时下行 广播实现难的问题,提出了一种可以灵活方便地进行下行广播的方法。
为了实现上述目的,本发明采用的技术方案是 一种多对一VLAN映 射方法,其中,从上联口到下联口的下行处理过程包括以下步骤
1) 将下联口的各VLAN分成N个区间,N为大于l的整数;每个区 间包括多个VLAN;
2) 进入VLAN映射的上联口的数据包根据其属性进行MAC学习和 查MAC表;
3) 如果步骤2)中查不到MAC,则网络处理器将数据包复制成N份, 每份对应一个下联口 VLAN区间;
4) 网络处理器将步骤3)中复制后的各份数据包分别进行再复制,复 制的数量分别为各区间中包括的VLAN个数,完成数据包在下联口的广 播。
优选地,所述步骤l)中每个区间中的VLAN是连续的。 优选地,所述每个区间中的VLAN数不超过网络处理器一次能复制数 据包数量。
优选地,所述步骤2)包括如下步骤用所述数据包中的上联口 VLAN 和源MAC做MAC学习,用所述数据包中的上联口 VLAN和目的MAC 查MAC表,查到MAC出口,并把数据包中的VLAN转换成该MAC出 口对应的下联口 VLAN。
优选地,所述步骤3)中网络处理器复制后的各数据包中带有序列号, 分别对应于下联口的VLAN区间。
优选地,所述步骤4)中通过软件或硬件环回将步骤3)中复制后的各 数据包送入网络处理器中进行再复制。 .
优选地,VLAN映射方法还包括从下联口到上联口的上行处理过程,
该上行处理过程包括以下步骤
5) 进入VLAN映射的下联口的数据包根据其属性进行MAC学习和 查MAC表;
6) 如果步骤5)中查到MAC出口,将数据包中的VLAN转换成该 MAC出口对应的上联口 VLAN;如果查不到MAC出口 ,则将该数据包在 上联口的VLAN中进行广播。
优选地,所述步骤5)中MAC学习和査MAC表的处理过程具体为 用所述数据包中的下联口 VLAN和源MAC做MAC学习,用所述数据包 中的下联口 VLAN和目的MAC査MAC表。
本发明的有益效果是通过采用将下联口的多个VLAN进行分区划分 和二次复制的技术方案进行下行广播,可以更高效地进行数据传输,使得 下联口 VLAN的范围和数目不受限,有利于下联口的扩展。
图1是本发明实施例多对一VLAN映射的系统图。
具体实施例方式
下面结合附图对本发明的具体实施方式
进行详细的说明。
如图1所示,从数据转发的角度来分析VLAN映射过程。假设配置下
联口的VLANl-50、 100-200 ,VLAN A属于这个范围,映射成上联口的
VLANB。
分成上行处理和下行处理两个过程来进行说明。
上行处理时(即下联口往上联口发送报文包的过程),数据包的结构
为'MAC1 I MAC2 |VLAN A|0x0800卩p包,,其中MAC1为目的MAC, MAC2为源MAC, VLAN A为数据包所携带的VLAN,后面就是IP类型 值及IP包处理过程包括以下步骤
1) 数据包带有VLAN A,通过入接口属性表发现是.VLAN映射的下 联口,并且由入接口属性表告知要映射成VLANB。
2) 用MAC2+VLAN B来进行MAC学习,并且把原数据包带的VLAN A写入MAC表。
3) 用MACl + VLAN B查MAC表。査到则把数据包的VLAN A变成 VLAN B进行转发;査不到则在要映射的VLAN B里面进行广播。
下行处理时(即上联口往下联口发送报文包的过程),数据包的结构 为'MAC2 |MAC1 I VLANB |0x0800 lip包,,其中MAC2为目的MAC, MACl为源MAC, VLAN B为数据包所携带的VLAN,后面就是IP类型 值及IP包处理过程包括以下步骤
1 )数据包带有VLAN B,通过入接口属性表发现是VLAN映射的上联 口,如果发现不是上联口,是普通端口则做普通的二层处理
2) MAC1+VLAN B进行MAC学习
3) MAC2+VLANB查MAC表,若查到MAC,如果发现MAC表显 示的是一个VLAN映射下联口学到的MAC,并且査到此MAC对应的下 联口 VLAN是A ,则把数据包映射成VLANA并转发出去。如果查到此 MAC不需要进行VLAN映射,是一个普通MAC表项,则不进行转发。 从而进行了 VLAN映射和普通VLAN的隔离;
4) 如果査不到MAC,则在所有下联口配置VLAN映射的范围 (VLANl-50、 100-200)内进行广播。
其中步骤4)中的广播过程包括,把这些下联口的VLAN分成一些区 间,每个区间的VLAN都是连续的,每个区间的VLAN数目最多为网络 处理器一次复制数据包的个数。比如,现在下联口的VLANl-50,100-200, 都要映射成400。网络处理器一次能复制64个数据包,这样就分成三个区 间,<l-50〉<100-163〉<164-200>,这样形成两张表,即区间数目表和 区间VLAN表。其中,区间数目表中放总共的分区间的数目,本例中VLAN
B对应的结果区间个数为3个。区间VLAN表放每个区间的VLAN起始值 和VLAN个数。本例中 .
VLAN B+序号0对应的结果是初始VLAN l,VLAN个数50;
VLANB+序号1对应的结果是初始VLAN 100,VLAN个数64;
VLAN B+序号2对应的结果是初始VLAN 164,VLAN个数36;
广播时,网络处理器首先用VLAN查区间数目表发现一共分成3个区 间,网络处理器则复制3份数据包。每个数据包带一个不同的序列号。
数据包通过硬件环回,或者软件环回方法重新进入网络处理器。复制 出来的数据包通过序列号来区分这个是哪个区间。再进行查表,得知这个 区间的起始VLAN值和这个区间的VLAN的个数,比如该实施例第一个 区间的起始是l,个数为50,则网络处理器就通过硬件环回,或者软件环回 方法复制50份数据包,每个数据包的VLAN从1-50递增。
通过上述方法就实现了整个上联口到下联口的广播工作。
以上为本发明的一个优选实施方式,对于本发明所属技术领域的普通 技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演 或替换,比如在进行区间划分时,每个区间中的VLAN也可以是非连续的, 同样可以取得本发明相同的效果,这些经过简单推演或替换后的技术方案 都应当视为属于本发明确定的专利保护范围。
权利要求
1.一种多对一VLAN映射方法,其特征在于,VLAN映射从上联口到下联口的下行处理过程包括以下步骤1)将下联口的各VLAN分成N个区间,N为大于1的整数;每个区间包括多个VLAN;2)进入VLAN映射的上联口的数据包根据其属性进行MAC学习和查MAC表;3)如果步骤2)中查不到MAC,则网络处理器将数据包复制成N份,每份对应一个下联口VLAN区间;4)网络处理器将步骤3)中复制后的各份数据包分别进行再复制,复制的数量分别为各区间中包括的VLAN个数,完成数据包在下联口的广播。
2. 根据权利1所述的多对一VLAN映射方法,其特征在于,所述步 骤l)中每个区间中的VLAN是连续的。
3. 根据权利要求1或2所述的多对一 VLAN映射方法,其特征在于, 所述每个区间中的VLAN数不超过网络处理器一次能复制数据包数量。
4. 根据权利1所述的多对一VLAN映射方法,其特征在于,所述步骤 2)包括如下步骤用所述数据包中的上联口 VLAN和源MAC做MAC学 习,用所述数据包中的上联口 VLAN和目的MAC査MAC表,査到MAC 出口,并把数据包中的VLAN转换成该MAC出口对应的下联口 VLAN。
5. 根据权利要求1所述的多对一VLAN映射方法,其特征在于,所 述步骤3)中网络处理器复制后的各数据包中带有序列号,分别对应于下 联口的VLAN区间。
6. 根据权利要求1或4或5所述的多对一VLAN映射方法,其特征 在于,所述步骤4)中通过软件或硬件环回将步骤3)中复制后的各数据包 送入网络处理器中进行再复制。
7. 根据权利要求1所述的多对一VLAN映射方法,其特征在于,还包括从下联口到上联口的上行处理过程,该上行处理过程包括以下步骤5) 进入VLAN映i]"的下联口的数据包根据其属性进行MAC #习和 査MAC表;6) 如果步骤5)中查到MAC出口,将数据包中的VLAN转换成该 MAC出口对应的上联口 VLAN;如果查不到MAC出口 ,则将该数据包在 上联口的VLAN中进行广播。
8. 根据权利要求7所述的多对一 VLAN映射方法,其特征在于,所 述步骤5)中MAC学习和査MAC表的处理过程具体为用所述数据包中 的下联口 VLAN和源MAC做MAC学习,用所述数据包中的下联口 VLAN 和目的MAC查MAC表。
全文摘要
本发明公开了一种多对一VLAN映射方法,包括以下步骤1)将下联口的各VLAN分成N个区间,N为大于1的整数;每个区间包括多个VLAN;2)进入VLAN映射的上联口的数据包根据其属性进行MAC学习和查MAC表;3)如果步骤2)中查不到MAC,则网络处理器将数据包复制成N份,每份对应一个下联口VLAN区间;4)网络处理器将步骤3)中复制后的各份数据包分别进行再复制,复制的数量分别为各区间中包括的VLAN个数,完成数据包在下联口的广播。采用本发明所述的多对一VLAN映射方法提高了数据传输的效率,并使得下联口VLAN的范围和数目不受限,有利于下联口的扩展。
文档编号H04L12/56GK101098286SQ200710112740
公开日2008年1月2日 申请日期2007年6月14日 优先权日2007年3月15日
发明者宋晓娟 申请人:中兴通讯股份有限公司