专利名称:一种专用虚拟局域网的实现方法和装置的制作方法
技术领域:
本发明涉及数据通信中虚拟局域网技术,尤其涉及一种专用虚拟局域网的实现方
法和装置。
背景技术:
虚拟局域网(VLAN, Virtual Local Area Network)最初是为了限制二层网络的广播报文而产生的技术,VLAN将一个扁平的二层网络分割成多个二层子网,子网间不能互相通讯,将广播报文限制在一个子网里,增加了二层网络的管理性能和安全性能。
随着网络应用的迅猛发展,以太网经历了 10兆比特以太网、100兆比特快速以太网、1吉比特以太网和10吉比特以太网的发展,在这个过程中,用户对于网络可扩展方面提出了越来越高的要求。现如今,传统的VLAN技术已无法解决现有网络可扩展方面的局限性,现有的网络模型是为每个用户分配单一VLAN和IP子网,这种模型带来了很多局限性,主要包括 (l)VLAN的限制交换机固有的VLAN数量是4096个,这个资源是有限的; (2)生成树协议(STP, Spanning Tree Protocol)管理的限制VLAN的生成树拓扑
管理需要按照STP运行STP算法,STP算法非常复杂; (3)IP地址的限制IP地址的数量是有限的,而IP子网的划分,每个IP子网会占用相应的IP地址,因此会带来IP地址的浪费; (4)路由的限制每个子网都需要配置默认网关,进而就需要维护、管理大量的路由; 为解决上述问题,现有技术在VLAN基础上产生了一种新的技术专用虚拟局域网(PVLAN, Private VLAN) , PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN实现隔离。在PVLAN中,交换机端口分为三种类型隔离端口 (Isolated port)、团体端口 (Community port)、混合端口 (Promiscuous port),其中,隔离端口和团体端口属于下层VLAN,混合端口属于上层VLAN。不同的PVLAN之间,任何端口都不能通过以太网的媒体访问控制(MAC)地址互相通信。同一个PVLAN内,隔离端口只能和混合端口通信,两个隔离端口彼此不能交换报文;团体端口可以和混合端口通信,而且两个团体端口彼此也可以交换报文;混合端口与路由器或第三层交换机接口相连,它收到的报文可以发往隔离端口和团体端口。 目前,PVLAN通常通过端口隔离表来实现,通过控制层软件管理该表,转发系统在
转发报文过程中以VLAN、入端口 、出端口为索引查端口隔离表,决定是否转发流量。 随着交换机支持端口数的增加,且一个端口可以属于多个VLAN,那么,端口隔离表
也随之变大,如此,就带来存储、管理、维护等方面的困难,因此目前大多数交换机对PVLAN
的支持是有限制的,通常只支持一定数量的PVLAN,显然这无法满足日益发展的网络需求;
同时,交换机为了实现性能要求,通常采用硬件转发,通过查端口隔离表来判断报文是否转
发,这也将占用一定的硬件资源开销。
发明内容
有鉴于此,本发明的主要目的在于提供一种专用虚拟局域网的实现方法和装置,可以方便的实现PVLAN功能并易于扩容,也将降低硬件资源开销的占用。
为达到上述目的,本发明的技术方案是这样实现的 本发明提供的一种专用虚拟局域网的实现方法,在创建的VLAN的入端口 VLAN表和出端口 VLAN表中设置各端口的PVLAN端口类型;该方法还包括 当二层数据进入交换设备进行转发时,查询数据入端口在入端口 VLAN表中的
PVLAN端口类型及数据出端口在出端口 VLAN表中的PVLAN端口类型; 比较数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端口类型,在符合转发
要求时,进行数据转发。 上述方案中,所述设置各端口的PVLAN端口类型具体为通过网络管理接口设置VLAN内各端口的PVLAN端口类型,PVLAN端口类型包括隔离端口 、团体端口和混合端口 ,以端口号+VLAN信息为索引,分别保存到入端口 VLAN表和出端口 VLAN表。
上述方案中,所述查询数据入端口在入端口 VLAN表中的PVLAN端口类型具体为根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型。
上述方案中,所述数据出端口在出端口 VLAN表中的PVLAN端口类型的查询具体为根据出端口号和数据所属VLAN查询出端口 VLAN表,得到出端口 PVLAN端口类型。
上述方案中,所述符合转发要求具体为数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端口类型,其中任意一个为混合端口 ,或者均为团体端口 。
上述方案中,该方法进一步包括在不符合转发要求时,丢弃数据。
本发明提供的一种专用虚拟局域网的实现装置,其特征在于,该装置包括端口设置模块、端口查询模块、比较模块、转发模块;其中, 端口设置模块,用于在创建的VLAN的入端口 VLAN表和出端口 VLAN表中设置各端口的PVLAN端口类型; 端口查询模块,用于根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型;以及根据数据要转发的出端口号和数据所属VLAN查询出端口VLAN表,得到出端口 PVLAN端口类型; 比较模块,用于比较数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端口类型,在符合转发要求时,通知转发模块;
转发模块,用于转发数据。 上述方案中,所述端口查询模块进一步包括入端口查询模块和出端口查询模块,其中, 入端口查询模块,用于根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型; 出端口查询模块,用于根据数据要转发的出端口号和数据所属VLAN查询出端口VLAN表,得到出端口 PVLAN端口类型。
上述方案中,该装置进一步包括丢弃模块,用于丢弃数据; 相应的,所述比较模块,进一步用于在不符合转发要求时,通知丢弃模块。本发明所提供的专用虚拟局域网的实现方法和装置,在创建的VLAN的入端口 VLAN表和出端口VLAN表中设置各端口的PVLAN端口类型,当二层数据进入交换设备进行转发时,通过比较入端口在入端口 VLAN表中的PVLAN端口类型和出端口在出端口 VLAN表中的PVLAN端口类型,在符合转发要求时,进行数据转发;如此,可以方便地实现PVLAN功能,而且不需要为PVLAN创建端口隔离表,可以扩充更多的VLAN实现PVLAN ;并节省硬件查找复杂的端口隔离表所占用的硬件资源开销。
图1为本发明的专用虚拟局域网的实现方法的流程示意 图2为本发明的专用虚拟局域网的实现装置的结构示意图。
具体实施例方式
本发明的基本思想是在创建的VLAN的入端口 VLAN表和出端口 VLAN表中设置各端口的PVLAN端口类型,当二层数据进入交换设备进行转发时,查询数据入端口在入端口VLAN表中的PVLAN端口类型、及数据出端口在出端口 VLAN表中的PVLAN端口类型;通过比较入端口 PVLAN端口类型和出端口 PVLAN端口类型,确定在符合转发要求时进行数据转发;从而实现PVLAN的功能。 下面通过附图及具体实施例对本发明再做进一步的详细说明。 本发明的专用虚拟局域网的实现方法,如图1所示,该方法包括以下步骤 步骤101 :在创建的VLAN的入端口 VLAN表和出端口 VLAN表中设置各端口的PVLAN
端口类型; 具体的,通过网络管理接口创建VLAN,并创建该VLAN的入端口 VLAN表(IngressPortVlan表)和出端口 VLAN表(EgressPortVlan表),将交换设备端口加入到该VLAN的入端口 VLAN表和出端口 VLAN表中; 通过网络管理接口设置VLAN内各端口的PVLAN端口类型,PVLAN端口类型包括隔离端口 、团体端口和混合端口 ,默认端口类型都是混合端口 。以端口号+VLAN信息作为入端口 VLAN表和出端口 VLAN表的索引,分别保存到所述VLAN的入端口 VLAN表和出端口VLAN表。所述VLAN信息可以是VLAN名称、VLAN地址等。 步骤102 :二层数据进入交换机转发的上行处理流程中,根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型; 步骤103 :根据数据的MAC地址转发表,跳转到要转发的交换设备相应的出端口 ;
步骤104 :数据进行转发的下行处理流程中,根据出端口号和数据所属VLAN查询出端口 VLAN表,得到出端口 PVLAN端口类型; 下面通过步骤105与步骤106判断数据是否符合转发要求; 步骤105 :比较得到的入端口 PVLAN端口类型和出端口 PVLAN端口类型,判断是否
其中任意一个为混合端口,如果是,则执行步骤108 ;如果不是,则执行步骤106 ; 步骤106 :比较得到的入端口 PVLAN端口类型和出端口 PVLAN端口类型,判断是否
均为团体端口,如果是,则执行步骤108 ;如果不是,则执行步骤107 ; 步骤107 :丢弃数据,结束转发流程。
步骤108 :数据由要转发的出端口正常转发。 为实现上述方法,本发明还提供了专用虚拟局域网的实现装置,如图2所示,该装 置包括端口设置模块20、端口查询模块21、比较模块22、转发模块23 ;其中,
端口设置模块20,用于在创建的VLAN的入端口 VLAN表和出端口 VLAN表中设置各 端口的PVLAN端口类型; 端口查询模块21,用于根据数据的入端口号和数据所属VLAN查询入端口 VLAN表, 得到入端口PVLAN端口类型;以及根据数据要转发的出端口号和数据所属VLAN查询出端口 VLAN表,得到出端口 PVLAN端口类型; 比较模块22,用于比较数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端口 类型,在符合转发要求时,通知转发模块23 ; 所述符合转发要求为数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端 口类型,其中任意一个为混合端口 ;或者,数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端口类型均为团体端口 ; 转发模块23,用于由要转发的出端口转发数据。 所述端口查询模块21进一步包括入端口查询模块211、出端口查询模块212,其 中, 入端口查询模块211 ,用于根据数据的入端口号和数据所属VLAN查询入端口 VLAN 表,得到入端口 PVLAN端口类型; 出端口查询模块212,用于根据数据要转发的出端口号和数据所属VLAN查询出端 口 VLAN表,得到出端口 PVLAN端口类型; 该装置进一步包括丢弃模块24,用于丢弃所要转发的数据。 相应的,所述比较模块22,进一步用于在不符合转发要求时,通知丢弃模块24。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在
本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护
范围之内。
权利要求
一种专用虚拟局域网的实现方法,其特征在于,在创建的虚拟局域网(VLAN)的入端口VLAN表和出端口VLAN表中设置各端口的专用虚拟局域网(PVLAN)端口类型;该方法还包括当二层数据进入交换设备进行转发时,查询数据入端口在入端口VLAN表中的PVLAN端口类型及数据出端口在出端口VLAN表中的PVLAN端口类型;比较数据的入端口PVLAN端口类型和数据的出端口PVLAN端口类型,在符合转发要求时,进行数据转发。
2. 根据权利要求1所述的方法,其特征在于,所述设置各端口的PVLAN端口类型具体为通过网络管理接口设置VLAN内各端口的PVLAN端口类型,PVLAN端口类型包括隔离端口 、团体端口和混合端口 ,以端口号+乂1^^信息为索引,分别保存到入端口 VLAN表和出端口VLAN表。
3. 根据权利要求2所述的方法,其特征在于,所述查询数据入端口在入端口 VLAN表中的PVLAN端口类型具体为根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型。
4. 根据权利要求2所述的方法,其特征在于,所述数据出端口在出端口 VLAN表中的PVLAN端口类型的查询具体为根据出端口号和数据所属VLAN查询出端口 VLAN表,得到出端口 PVLAN端口类型。
5. 根据权利要求l所述的方法,其特征在于,所述符合转发要求具体为数据的入端口PVLAN端口类型和数据的出端口 PVLAN端口类型,其中任意一个为混合端口 ,或者均为团体端口。
6. 根据权利要求1所述的方法,其特征在于,该方法进一步包括在不符合转发要求时,丢弃数据。
7. —种专用虚拟局域网的实现装置,其特征在于,该装置包括端口设置模块、端口查询模块、比较模块、转发模块;其中,端口设置模块,用于在创建的VLAN的入端口 VLAN表和出端口 VLAN表中设置各端口的PVLAN端口类型;端口查询模块,用于根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型;以及根据数据要转发的出端口号和数据所属VLAN查询出端口 VLAN表,得到出端口 PVLAN端口类型;比较模块,用于比较数据的入端口 PVLAN端口类型和数据的出端口 PVLAN端口类型,在符合转发要求时,通知转发模块;转发模块,用于转发数据。
8. 根据权利要求7所述的装置,其特征在于,所述端口查询模块进一步包括入端口查询模块和出端口查询模块,其中,入端口查询模块,用于根据数据的入端口号和数据所属VLAN查询入端口 VLAN表,得到入端口 PVLAN端口类型;出端口查询模块,用于根据数据要转发的出端口号和数据所属VLAN查询出端口 VLAN表,得到出端口 PVLAN端口类型。
9. 根据权利要求7或8所述的装置,其特征在于,该装置进一步包括丢弃模块,用于丢弃数据;相应的,所述比较模块,进一步用于在不符合转发要求时,通知丢弃模块。
全文摘要
本发明公开了一种专用虚拟局域网的实现方法,在创建的虚拟局域网(VLAN)的入端口VLAN表和出端口VLAN表中设置各端口的专用虚拟局域网(PVLAN)端口类型,当二层数据进入交换设备进行转发时,通过比较入端口在入端口VLAN表中的PVLAN端口类型和出端口在出端口VLAN表中的PVLAN端口类型,在符合转发要求时,进行数据转发;本发明同时还公开了一种专用虚拟局域网的实现装置;通过本发明的方案,可以方便地实现PVLAN功能并易于扩容,并节省了硬件查找复杂的端口隔离表的资源开销。
文档编号H04L12/46GK101729355SQ20091024213
公开日2010年6月9日 申请日期2009年12月8日 优先权日2009年12月8日
发明者钱勇 申请人:中兴通讯股份有限公司