CN102833366A - 一种pvlan mac地址表、pvlan中mac地址学习方法及其系统 - Google Patents

一种pvlan mac地址表、pvlan中mac地址学习方法及其系统 Download PDF

Info

Publication number
CN102833366A
CN102833366A CN2012103094694A CN201210309469A CN102833366A CN 102833366 A CN102833366 A CN 102833366A CN 2012103094694 A CN2012103094694 A CN 2012103094694A CN 201210309469 A CN201210309469 A CN 201210309469A CN 102833366 A CN102833366 A CN 102833366A
Authority
CN
China
Prior art keywords
pvlan
port
mac address
mac
main
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.)
Granted
Application number
CN2012103094694A
Other languages
English (en)
Other versions
CN102833366B (zh
Inventor
张少太
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Digital Cloud Information Technology Co ltd
Shenzhou Kuntai Xiamen Information Technology Co ltd
Original Assignee
Digital China Networks Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Digital China Networks Beijing Co Ltd filed Critical Digital China Networks Beijing Co Ltd
Priority to CN201210309469.4A priority Critical patent/CN102833366B/zh
Publication of CN102833366A publication Critical patent/CN102833366A/zh
Application granted granted Critical
Publication of CN102833366B publication Critical patent/CN102833366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种PVLAN MAC地址表、PVLAN中MAC地址学习方法及其系统,所述方法和系统基于的地址表,包括端口号、MAC和VLAN。方法包括:在交换设备上配置PVLAN属性;当收到数据报文时,获取端口号和源MAC,获得端口的类型;若端口是主端口,在MAC表中添加三条记录;若端口是团体端口,在MAC表中添加两条记录;若所述端口是隔离端口,将端口号、源MAC、端口关联的主PVLAN写入MAC表中。本发明使PVLAN中的端口流量尽量走已知单播转发流程,提高了网络中的转发性能和安全性。

Description

一种PVLAN MAC地址表、PVLAN中MAC地址学习方法及其系统
技术领域
本发明涉及计算机网络通讯技术领域,尤其涉及一种PVLAN MAC地址表、PVLAN中MAC地址学习方法及其系统。 
背景技术
私有VLAN(Private VLAN,简称PVLAN)是一种VLAN特性,在PVLAN的概念中,交换机端口有三种类型:隔离端口(Isolated port),团体端口(Community port),主端口(Primary port);它们分别对应不同的VLAN类型:隔离端口属于隔离PVLAN(Isolated PVLAN),团体端口属于团体PVLAN(Community PVLAN),而代表一个Private VLAN整体的是主PVLAN(Primary PVLAN),前面两类VLAN需要和它绑定在一起,同时它还包括主端口。在隔离PVLAN中,隔离端口只能和主端口通信,彼此不能交换流量;在团体PVLAN中,团体端口不仅可以和主端口通信,而且彼此也可以交换流量。主端口与路由器或第三层交换设备的接口相连,它收到的流量可以发往隔离端口和团体端口。PVLAN的应用对于保证接入网络的数据通信的安全性是非常有效的,用户只需与自己的默认网关连接,一个PVLAN不需要多个VLAN和IP子网就提供了具备第二层数据通信安全性的连接,所有的用户都接入PVLAN,从而实现了所有用户与默认网关的连接,而与PVLAN内的其他用户没有任何访问。PVLAN功能可以保证同一个VLAN中的各个端口相互之间不能通信,但可以穿过Trunk端口,这样即使同一VLAN中的用户,相互之间也不会受到广播的影响。在PVLAN功能的使用中,对于端口中收到数据流量时需要学习MAC地址,正确学习这些MAC地址才能保证流量按照PVLAN功能进行转发,减少网络中流量的泛洪,尽量保证 流量进行已知单播转发。 
发明内容
为了克服现有技术中的缺陷和不足,本发明提出一种PVLAN MAC地址表、一种PVLAN中MAC地址学习方法和及其系统。 
本发明公开一种PVLAN MAC地址表,所述PVLAN MAC地址表包括端口号、MAC地址和VLAN; 
所述PVLAN MAC地址表中,端口类型为隔离端口的,所述MAC地址记录的VLAN字段为所述端口关联的主PVLAN; 
所述PVLAN MAC地址表中,端口类型为主端口的,分别包含有VLAN字段为所述端口绑定的主PVLAN的记录、VLAN字段为所述端口关联的团体PVLAN的记录和VLAN字段为所述端口关联的隔离PVLAN的记录; 
所述PVLAN MAC地址表中,端口类型为团体端口的,分别包含有VLAN字段为所述端口绑定的团体PVLAN的记录和VLAN字段为所述端口关联的主PVLAN的记录。 
本发明还提出了一种PVLAN中MAC地址学习方法,该方法基于上述PVLANMAC地址表,包括: 
S1、在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中; 
S2、当交换设备收到用户数据报文时,获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述配置的PVLAN属性获得所述端口的类型; 
S3、依据所述端口的类型进行如下操作: 
若所述端口是主端口,依据所述配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端 口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中; 
若所述端口是团体端口,依据所述配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中; 
若所述端口是隔离端口,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
或者,所述步骤S3替换为: 
S31、判断所述端口是否是隔离端口,若是,则执行步骤S34,否则执行步骤S32; 
S32、依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中,执行步骤S33; 
S33、遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下操作:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型, 
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中; 
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中,结束; 
S34、依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
或者,步骤S34之后返回步骤S33。 
进一步地,步骤S33所述遍历所述MAC地址表之前还包括,判定MAC复制定时器计时是否达到预设阈值,若是则执行步骤S33,否则MAC复制定时器继续计时,其中所述MAC复制定时器为所述交换设备中专门用于MAC地址复制的计时器件。 
或者,所述步骤S3替换为: 
S361、判断所述交换设备的MAC学习方式是否为定时学习方式,若是则执行步骤S363,否则执行步骤S362; 
S362、依据所述端口的类型进行如下操作: 
若所述端口是主端口,依据所述配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中; 
若所述端口是团体端口,依据所述配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中; 
若所述端口是隔离端口,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中,结束; 
S363、判断所述端口是否是隔离端口,若是,则执行步骤S366,否则执行步骤S364; 
S364、依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN将,所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中,执行步骤S365; 
S365、遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下操作:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型, 
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中; 
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中,结束; 
S366、依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
或者,所述步骤S366之后返回步骤S365。 
进一步地,步骤S365之前还包括,判定MAC复制定时器计时是否达到预设阈值,若是则执行步骤S365,否则MAC复制定时器继续计时,其中所述MAC复制 定时器为所述交换设备中专门用于MAC地址复制的计时器件。 
本发明还提出了一种PVLAN中MAC地址学习系统,该系统基于如权利要求1所述的PVLAN MAC地址表,包括: 
系统配置模块,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据所述端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN; 
非定时学习模块,包括隔离端口MAC学习模块、团体端口MAC学习模块和主端口MAC学习模块,与所述配置模块连接,当交换设备收到用户数据报文时,用于获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述系统配置模块配置的PVLAN属性获得所述端口的类型,依据所述端口类型调用对应的端口MAC学习模块进行MAC地址学习;若所述端口是主端口,调用主端口MAC学习模块进行MAC地址学习,若所述端口是团体端口,调用团体端口MAC学习模块进行MAC地址学习,若所述端口是隔离端口,调用隔离端口MAC学习模块进行MAC地址学习; 
主端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中; 
团体端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性, 获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中; 
隔离端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
本发明供了另一种PVLAN中MAC地址学习系统,该系统基于如前所述的PVLAN MAC地址表,包括: 
系统配置模块,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN; 
定时学习模块,与所述配置模块连接,包括隔离端口学习模块、非隔离端口学习模块和关联学习模块,当所述端口为隔离端口时,用于调用隔离端口学习模块进行MAC地址学习,当所述端口为非隔离端口时,用于调用非隔离端口学习模块进行MAC地址学习后调用关联学习模块进行MAC地址学习; 
隔离端口学习模块,用于依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中; 
非隔离端口学习模块,用于依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地 址表中; 
关联学习模块,遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下判断:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型, 
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中; 
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中。 
进一步地,所述隔离端口学习模块还用于调用关联学习模块进行MAC地址学习。 
进一步地,所述定时学习模块还包括MAC复制定时器,当所述MAC复制定时器计时达到预设阈值时启运所述关联学习模块工作。 
本发明还提供了一种PVLAN中MAC地址学习系统,该系统基于如前所述的PVLAN MAC地址表,包括: 
系统配置模块,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN; 
非定时学习模块,包括隔离端口MAC学习模块、团体端口MAC学习模块和主端口MAC学习模块,与所述配置模块连接,当所述交换设备的MAC学习方式为非定时学习方式,调用该非定时学习模块进行MAC地址学习,当交换设备收到用户数据报文时,获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述系统配置模块配置的PVLAN属性获得所述端口的类型,依据所述端口类型调用对应的端口MAC学习模块进行MAC地址学习;若所述端口是主端口,调用主端口MAC学习模块进行MAC地址学习,若所述端口是团体端口,调用团体端口MAC学习模块进行MAC地址学习,若所述端口是隔离端口,调用隔离端口MAC学习模块进行MAC地址学习; 
主端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中; 
团体端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中; 
隔离端口MAC学习模块,依据所述系统配置模块配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
定时学习模块,与所述配置模块连接,包括隔离端口学习模块、非隔离端口学习模块和关联学习模块,当所述交换设备的MAC学习方式为定时学习方 式,调用该定时学习模块进行MAC地址学习,当所述端口为隔离端口时,调用隔离端口学习模块进行MAC地址学习,当所述端口为非隔离端口时,调用非隔离端口学习模块进行MAC地址学习后调用关联学习模块进行MAC地址学习; 
隔离端口学习模块,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中; 
非隔离端口学习模块,否则依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中; 
关联学习模块,遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下判断:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型, 
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中; 
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中。 
进一步地,所述隔离端口学习模块还用于调用关联学习模块进行MAC地址学习。 
进一步地,所述定时学习模块还包括MAC复制定时器,当所述MAC复制定时器计时达到预设阈值时启运所述关联学习模块工作。 
本发明通过设计一种新的MAC地址表:PVLAN MAC地址表,包括端口号、MAC地址和VLAN,通过一条记录来学习每个隔离端口,通过两条记录来学习每个团体端口,通过三条记录来学习每个主端口,本发明实现了几种新的PVLANMAC地址表的地址的学习方法,将PVLAN中的MAC地址正确学习到相应的PVLANMAC地址表中,使PVLAN中的端口流量尽量走已知单播转发流程,提高了网络中的转发性能和安全性。 
附图说明
图1为本发明实施例一所述PVLAN MAC地址表存储方法的系统示意图; 
图2为本发明实施例二所述PVLAN中MAC地址学习方法流程图; 
图3为本发明实施例三所述PVLAN中MAC地址学习方法流程图; 
图4为本发明实施例五所述PVLAN中MAC地址学习系统结构框图; 
图5为本发明实施例六所述PVLAN中MAC地址学习系统结构框图; 
图6为本发明实施例七所述PVLAN中MAC地址学习系统结构框图。 
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以详细说明。 
实施例一 
本实施例公开了一种PVLAN MAC地址表,所述PVLAN MAC地址表包括端口号、MAC地址和VLAN。所述PVLAN MAC地址表中,端口类型为隔离端口的,所述MAC地址记录的VLAN为所述端口关联的主PVLAN;所述PVLAN MAC地址表中,端口类型为主端口的,分别包含有VLAN为所述端口绑定的主PVLAN的记录、VLAN为所述端口关联的团体PVLAN的记录和VLAN为所述端口关联的隔离PVLAN的记录;所述PVLAN MAC地址表中,端口类型为团体端口的,分别包含有VLAN 为所述端口绑定的团体PVLAN的记录和VLAN为所述端口关联的主PVLAN的记录。 
图1为本实施例所述PVLAN MAC地址表存储方法的系统示意图,如图1所示,以太网交换机A为一台网关接入交换设备,交换机上使能PVLAN功能,配置VLAN100为主PVLAN,VLAN200为团体PVLAN,VLAN300为隔离PVLAN,VLAN200和VLAN300绑定到VLAN100,端口Ethernet1/1和Ethernet1/2划到VLAN200中,端口Ethernet1/3和Ethernet1/4划到VLAN300中,端口Ethernet1/5划到VLAN100中。 
端口和PVLAN之间的关系如下表所示: 
  端口号   PVLAN ID   配置VLAN   实际属于VLAN
  Ethernet 1/1   200   200   100,200
  Ethernet 1/2   200   200   100,200
  Ethernet 1/3   300   300   100
  Ethernet 1/4   300   300   100
  Ethernet 1/5   100   100   100,200,300
端口Ethernet1/1下联用户1,端口Ethernet1/2下联用户2,端口Ethernet1/3下联用户3,端口Ethernet1/4下联用户4,端口Ethernet1/5上联服务器,当用户有数据流量经过交换机A时,交换机学习用户的MAC地址,根据配置的私有VLAN信息,本实施例所述的PVLAN MAC地址表下表所示: 
Figure BDA00002061447000121
Figure BDA00002061447000131
根据MAC地址表,用户1和用户2属于同一个团体PVLAN,它们的数据报文携带的VLAN信息为VLAN200,VLAN中有端口Ethernet1/1、Ethernet1/2和Ethernet1/5,用户1的未知单播或者广播数据可以直接二层转发到用户2和服务器,已知单播数据直接转发到相应的端口,减少了广播流量的转发。用户3和用户4在同一个隔离的VLAN300中,他们的数据报文携带的VLAN信息为VLAN300,VLAN仅中有端口Ethernet1/5,用户3的数据流量不能直接转发给用户4,隔离PVLAN中的用户的数据只能直接二层转发给服务器,隔离PVLAN中的用户很好的隔离了广播流量,提高了网络安全性。 
实施例二 
图2为本实施例所述PVLAN中MAC地址学习方法流程图,如图2所示,本实施例所述PVLAN中MAC地址学习方法包括: 
S201、在交换设备上配置PVLAN属性,将团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到该端口所属的PVLAN中; 
S202、当交换设备收到用户数据报文,获取端口号和源MAC地址,获取端 口类型; 
当交换设备收到用户数据报文时,获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述配置的PVLAN属性获得所述端口的类型。 
S203、判断端口类型是否是主端口,若是则执行步骤S204,否则执行步骤S205; 
S204、获取端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,将端口号、源MAC地址、主PVLAN写入MAC地址表中,将端口号、源MAC地址、端口关联的团体PVLAN写入MAC地址表中,将端口号、源MAC地址、端口关联的隔离PVLAN写入MAC地址表中,结束; 
若所述端口是主端口,依据所述配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中; 
S205、判断端口类型是否是团体端口,若是则执行步骤S206,否则执行步骤S207; 
S206、获取端口绑定的团体PVLAN和端口关联的主PVLAN,将端口号、源MAC地址、端口所在的团体PVLAN写入MAC地址表中,将端口号、源MAC地址、端口关联的主PVLAN写入MAC地址表中; 
若所述端口是团体端口,依据所述配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
S207、获取端口关联的主PVLAN将端口号、源MAC地址、端口关联的主PVLAN写入MAC地址表中。 
若所述端口是隔离端口,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
实施例三 
图3为本实施例所述PVLAN中MAC地址学习方法流程图,如图3所示,本实施例所述PVLAN中MAC地址学习方法包括: 
S301、在交换设备上配置PVLAN属性,将团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到该端口所属的PVLAN中; 
S302、当交换设备收到用户数据报文,获取端口号和源MAC地址,获取端口类型; 
当交换设备收到用户数据报文时,获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述配置的PVLAN属性获得所述端口的类型。 
S303、判断端口类型是否是隔离端口,若是则执行步骤S304,否则执行步骤S305; 
S304、获取端口绑定的PVLAN,将端口号、源MAC地址、端口绑定的PVLAN写入MAC地址表中,结束; 
依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。执行完本步骤后结束,或者,执行步骤S306。 
S305、获取端口关联的主PVLAN,将端口号、源MAC地址、端口关联的主PVLAN写入MAC地址表中; 
依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中,执行步骤S306。 
S306、当MAC复制定时器计时达到预设阈值,遍历MAC地址表,对MAC地址表中每条MAC地址记录进行MAC复制操作; 
当VLAN的类型为主PVLAN,将MAC地址记录的VLAN信息分别替换为端口关联的团体PVLAN和隔离PVLAN添加到MAC地址表中当VLAN的类型为团体PVLAN,将MAC地址记录的VLAN信息替换为端口关联的主PVLAN添加到MAC地址表中。 
本步骤之前还可包括:判定MAC复制定时器计时是否达到预设阈值,若是则执行本步骤。其中所述MAC复制定时器为所述交换设备中专门用于MAC地址复制的计时器件。 
本步骤具体为:遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下操作:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型,当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中;当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中,结束。 
实施例四 
本实施例所述PVLAN中MAC地址学习方法包括实施例二的方法和实施例三的方法,具体方案为:在交换设备上配置PVLAN属性后,当所述交换机上接收到数据报文时,通过读取所述交换机上的配置判断所述交换设备的MAC学习方式是否为定时学习方式,若是则采用实施例三的方式,否则采用实施例二的方 式,其具体实现方式详见实施例二和实施例三,在此不作赘述。 
实施例五 
图4为本实施所述PVLAN中MAC地址学习系统结构框图,如图4所示,本实施例所述的PVLAN中MAC地址学习系统包括: 
系统配置模块401,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据所述端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN。 
非定时学习模块402,包括隔离端口MAC学习模块4021、团体端口MAC学习模块4022和主端口MAC学习模块4023,与所述系统配置模块401连接,当交换设备收到用户数据报文时,用于获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述系统配置模块401配置的PVLAN属性获得所述端口的类型,依据所述端口类型调用对应的端口MAC学习模块进行MAC地址学习;若所述端口是主端口,用于调用主端口MAC学习模块进行MAC地址学习,若所述端口是团体端口,用于调用团体端口MAC学习模块进行MAC地址学习,若所述端口是隔离端口,用于调用隔离端口MAC学习模块进行MAC地址学习。 
主端口MAC学习模块4023,依据所述系统配置模块401配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表 中。 
团体端口MAC学习模块4022,用于依据所述系统配置模块401配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
隔离端口MAC学习模块4021,用于依据所述系统配置模块401配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
实施例六 
图5为本实施例所述PVLAN中MAC地址学习系统结构框图,如图5所示,本实施例所述的PVLAN中MAC地址学习系统包括: 
系统配置模块501,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN。 
定时学习模块502,与所述系统配置模块501连接,包括隔离端口学习模块5021、非隔离端口学习模块5022和关联学习模块5023,当所述端口为隔离端口时,用于调用隔离端口学习模块5021进行MAC地址学习,当所述端口为非隔离端口时,用于调用非隔离端口学习模块5022进行MAC地址学习后调用关联学习模块5023进行MAC地址学习。 
进一步地,所述定时学习模块还包括MAC复制定时器,当所述MAC复制定 时器计时达到预设阈值时启运所述关联学习模块工作。 
隔离端口学习模块5021,用于依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。 
进一步地,所述隔离端口学习模块还用于调用关联学习模块进行MAC地址学习。 
非隔离端口学习模块5022,用于依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中。 
关联学习模块5023,用于依次把各端口相关的MAC地址记录添加到PVLANMAC地址表中,添加的条件为:遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下判断:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型,当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中,当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中。 
实施例七 
图6为本实施例所述PVLAN中MAC地址学习系统结构框图,如图6所示,本实施例所述PVLAN中MAC地址学习系统包括:系统配置模块601,非定时学习模块602和定时学习模块606。 
系统配置模块601,与实施例六所述的系统配置模块501相同,在此不作赘 述。 
系统配置模块601配置PVLAN属性后,当所述交换机上接收到数据报文时,通过读取所述交换机上的配置决定所述交换设备是调用非定时学习模块602还是调用定时学习模块603进行MAC地址学习。 
非定时学习模块602,包括团体端口MAC学习模块6021、主端口MAC学习模块6022和隔离端口MAC学习模块6023,与实施例五所述的非定时学习模块402相同,在此不作赘述。 
定时学习模块603,包括隔离端口MAC学习模块6031、非隔离端口MAC学习模块6032和关联学习模块6033,与实施例六所述的定时学习模块502相同,在此不作赘述。 
进一步地,所述定时学习模块603还包括MAC复制定时器,当所述MAC复制定时器计时达到预设阈值时启运所述关联学习模块工作。 
进一步地,所述隔离端口学习模块还可用于调用关联学习模块进行MAC地址学习。 
本发明实施例一通过设计一种新的MAC地址表:PVLAN MAC地址表,包括端口号、MAC地址和VLAN,通过一条记录来学习每个隔离端口,通两条记录来学习每个团体端口,通过三条记录来学习每个主端口,能够实现使PVLAN中的端口流量尽量走已知单播转发流程,提高了网络中的转发性能和安全性。本发明实施例二至实施例七实现了几种新的PVLAN MAC地址表的地址的学习方法,将PVLAN中的MAC地址正确学习到相应的PVLAN MAC地址表中。 
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。 
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (15)

1.一种PVLAN中MAC地址学习方法,其特征在于,该方法基于PVLAN MAC地址表,所述PVLAN MAC地址表包括端口号、MAC地址和VLAN,所述PVLAN中MAC地址学习方法包括:
S1、在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;
S2、当交换设备收到用户数据报文时,获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述配置的PVLAN属性获得所述端口的类型;
S3、依据所述端口的类型进行如下操作:
若所述端口是主端口,依据所述配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中;
若所述端口是团体端口,依据所述配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中;
若所述端口是隔离端口,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。
2.如权利要求1所述的PVLAN MAC地址表,其特征在于,所述PVLAN MAC地址表包括端口号、MAC地址和VLAN;
所述PVLAN MAC地址表中,端口类型为隔离端口的,所述MAC地址记录的VLAN字段为所述端口关联的主PVLAN;
所述PVLAN MAC地址表中,端口类型为主端口的,分别包含有VLAN字段为所述端口绑定的主PVLAN的记录、VLAN字段为所述端口关联的团体PVLAN的记录和VLAN字段为所述端口关联的隔离PVLAN的记录;
所述PVLAN MAC地址表中,端口类型为团体端口的,分别包含有VLAN字段为所述端口绑定的团体PVLAN的记录和VLAN字段为所述端口关联的主PVLAN的记录。
3.如权利要求1所述的PVLAN中MAC地址学习方法,其特征在于,所述步骤S3替换为:
S31、判断所述端口是否是隔离端口,若是,则执行步骤S34,否则执行步骤S32;
S32、依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中,执行步骤S33;
S33、遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下操作:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型,
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中;
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中,结束;
S34、依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。
4.如权利要求3所述的PVLAN中MAC地址学习方法,其特征在于,步骤S34之后返回步骤S33。
5.如权利要求3或4所述的PVLAN中MAC地址学习方法,其特征在于,步骤S33所述遍历所述MAC地址表之前还包括,判定MAC复制定时器计时是否达到预设阈值,若是则执行步骤S33,否则MAC复制定时器继续计时,其中所述MAC复制定时器为所述交换设备中专门用于MAC地址复制的计时器件。
6.如权利要求2所述的PVLAN中MAC地址学习方法,其特征在于,所述步骤S3替换为:
S361、判断所述交换设备的MAC学习方式是否为定时学习方式,若是则执行步骤S363,否则执行步骤S362;
S362、依据所述端口的类型进行如下操作:
若所述端口是主端口,依据所述配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中;
若所述端口是团体端口,依据所述配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中;
若所述端口是隔离端口,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中,结束;
S363、判断所述端口是否是隔离端口,若是,则执行步骤S366,否则执行步骤S364;
S364、依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN将,所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中,执行步骤S365;
S365、遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下操作:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型,
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中;
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中,结束;
S366、依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。
7.如权利要求6所述的PVLAN中MAC地址学习方法,其特征在于,所述步骤S366之后还包括返回步骤S365。
8.如权利要求6或7所述的PVLAN中MAC地址学习方法,其特征在于,步骤S365之前还包括,判定MAC复制定时器计时是否达到预设阈值,若是则执行步骤S365,否则MAC复制定时器继续计时,其中所述MAC复制定时器为所述交换设备中专门用于MAC地址复制的计时器件。
9.一种PVLAN中MAC地址学习系统,其特征在于,该系统基于如权利要求1所述的PVLAN MAC地址表,包括:
系统配置模块,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据所述端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN;
非定时学习模块,包括隔离端口MAC学习模块、团体端口MAC学习模块和主端口MAC学习模块,与所述配置模块连接,当交换设备收到用户数据报文时,用于获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述系统配置模块配置的PVLAN属性获得所述端口的类型,依据所述端口类型调用对应的端口MAC学习模块进行MAC地址学习;若所述端口是主端口,调用主端口MAC学习模块进行MAC地址学习,若所述端口是团体端口,调用团体端口MAC学习模块进行MAC地址学习,若所述端口是隔离端口,调用隔离端口MAC学习模块进行MAC地址学习;
主端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中;
团体端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中;
隔离端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。
10.一种PVLAN中MAC地址学习系统,其特征在于,该系统基于如权利要求1所述的PVLAN MAC地址表,包括:
系统配置模块,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN;
定时学习模块,与所述配置模块连接,包括隔离端口学习模块、非隔离端口学习模块和关联学习模块,当所述端口为隔离端口时,用于调用隔离端口学习模块进行MAC地址学习,当所述端口为非隔离端口时,用于调用非隔离端口学习模块进行MAC地址学习后调用关联学习模块进行MAC地址学习;
隔离端口学习模块,用于依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中;
非隔离端口学习模块,用于依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中;
关联学习模块,遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下判断:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型,
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中;
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中。
11.如权利10所述的PVLAN中MAC地址学习系统,其特征在于,所述隔离端口学习模块还用于调用关联学习模块进行MAC地址学习。
12.如权利要求10或11所述的PVLAN中MAC地址学习系统,其特征在于,所述定时学习模块还包括MAC复制定时器,当所述MAC复制定时器计时达到预设阈值时启运所述关联学习模块工作。
13.一种PVLAN中MAC地址学习系统,其特征在于,该系统基于如权利要求1所述的PVLAN MAC地址表,包括:
系统配置模块,用于在交换设备上配置PVLAN属性,将所述PVLAN的团体PVLAN和隔离PVLAN绑定到主PVLAN上,将各端口绑定到所述端口所属的PVLAN中;用于依据端口号和所述配置的PVLAN属性获得所述端口的类型;用于依据所述配置的PVLAN属性,获取主端口绑定的主PVLAN、关联的团体PVLAN和关联的隔离PVLAN,获取团体端口绑定的团体PVLAN和关联的主PVLAN,获取隔离端口关联的主PVLAN;
非定时学习模块,包括隔离端口MAC学习模块、团体端口MAC学习模块和主端口MAC学习模块,与所述配置模块连接,当所述交换设备的MAC学习方式为非定时学习方式,调用该非定时学习模块进行MAC地址学习,当交换设备收到用户数据报文时,获取端口号和所述数据报文的源MAC地址,依据所述端口号和所述系统配置模块配置的PVLAN属性获得所述端口的类型,依据所述端口类型调用对应的端口MAC学习模块进行MAC地址学习;若所述端口是主端口,调用主端口MAC学习模块进行MAC地址学习,若所述端口是团体端口,调用团体端口MAC学习模块进行MAC地址学习,若所述端口是隔离端口,调用隔离端口MAC学习模块进行MAC地址学习;
主端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的主PVLAN、所述端口关联的团体PVLAN和所述端口关联的隔离PVLAN,将所述端口号、所述源MAC地址、主PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的隔离PVLAN写入MAC地址表中;
团体端口MAC学习模块,用于依据所述系统配置模块配置的PVLAN属性,获取所述端口绑定的团体PVLAN和所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口所在的团体PVLAN写入MAC地址表中,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中;
隔离端口MAC学习模块,依据所述系统配置模块配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中。
定时学习模块,与所述配置模块连接,包括隔离端口学习模块、非隔离端口学习模块和关联学习模块,当所述交换设备的MAC学习方式为定时学习方式,调用该定时学习模块进行MAC地址学习,当所述端口为隔离端口时,调用隔离端口学习模块进行MAC地址学习,当所述端口为非隔离端口时,调用非隔离端口学习模块进行MAC地址学习后调用关联学习模块进行MAC地址学习;
隔离端口学习模块,依据所述配置的PVLAN属性,获取所述端口关联的主PVLAN,将所述端口号、所述源MAC地址、所述端口关联的主PVLAN写入MAC地址表中;
非隔离端口学习模块,否则依据所述配置的PVLAN属性,获取所述端口绑定的PVLAN,将所述端口号、所述源MAC地址、所述端口绑定的PVLAN写入MAC地址表中;
关联学习模块,遍历所述MAC地址表,对所述MAC地址表中每条MAC地址记录进行如下判断:获取所述MAC地址记录的VLAN,依据所述配置的PVLAN属性判断所述VLAN的类型,
当所述VLAN的类型为主PVLAN,依据所述配置的PVLAN属性查找所述主PVLAN关联的团体PVLAN和关联的隔离PVLAN,将所述MAC地址记录的VLAN信息分别替换为所述关联的团体PVLAN或所述关联的隔离PVLAN添加到MAC地址表中;
当所述VLAN的类型为团体PVLAN,依据所述配置的PVLAN属性查找所述团体PVLAN关联的主PVLAN,将所述MAC地址记录的VLAN信息替换为所述关联的主PVLAN添加到MAC地址表中。
14.如权利13所述的PVLAN中MAC地址学习系统,其特征在于,所述隔离端口学习模块还用于调用关联学习模块进行MAC地址学习。
15.如权利要求13或14所述的PVLAN中MAC地址学习系统,其特征在于,所述定时学习模块还包括MAC复制定时器,当所述MAC复制定时器计时达到预设阈值时启运所述关联学习模块工作。
CN201210309469.4A 2012-08-27 2012-08-27 一种pvlan mac地址表、pvlan中mac地址学习方法及其系统 Active CN102833366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210309469.4A CN102833366B (zh) 2012-08-27 2012-08-27 一种pvlan mac地址表、pvlan中mac地址学习方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210309469.4A CN102833366B (zh) 2012-08-27 2012-08-27 一种pvlan mac地址表、pvlan中mac地址学习方法及其系统

Publications (2)

Publication Number Publication Date
CN102833366A true CN102833366A (zh) 2012-12-19
CN102833366B CN102833366B (zh) 2016-03-30

Family

ID=47336332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210309469.4A Active CN102833366B (zh) 2012-08-27 2012-08-27 一种pvlan mac地址表、pvlan中mac地址学习方法及其系统

Country Status (1)

Country Link
CN (1) CN102833366B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376231A (zh) * 2015-11-18 2016-03-02 浪潮(北京)电子信息产业有限公司 一种实现业务隔离的方法及装置
CN105978859A (zh) * 2016-04-25 2016-09-28 杭州华三通信技术有限公司 一种报文处理的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146835A1 (en) * 2004-12-30 2006-07-06 Sanjib Homchaudhuri Platform independent implementation of private VLANS
CN101119276A (zh) * 2007-08-22 2008-02-06 杭州华三通信技术有限公司 一种实现vlan内下行用户隔离的方法及设备
CN101729355A (zh) * 2009-12-08 2010-06-09 中兴通讯股份有限公司 一种专用虚拟局域网的实现方法和装置
CN102811173A (zh) * 2012-07-26 2012-12-05 杭州华三通信技术有限公司 一种mac地址学习方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146835A1 (en) * 2004-12-30 2006-07-06 Sanjib Homchaudhuri Platform independent implementation of private VLANS
CN101119276A (zh) * 2007-08-22 2008-02-06 杭州华三通信技术有限公司 一种实现vlan内下行用户隔离的方法及设备
CN101729355A (zh) * 2009-12-08 2010-06-09 中兴通讯股份有限公司 一种专用虚拟局域网的实现方法和装置
CN102811173A (zh) * 2012-07-26 2012-12-05 杭州华三通信技术有限公司 一种mac地址学习方法和设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376231A (zh) * 2015-11-18 2016-03-02 浪潮(北京)电子信息产业有限公司 一种实现业务隔离的方法及装置
CN105978859A (zh) * 2016-04-25 2016-09-28 杭州华三通信技术有限公司 一种报文处理的方法和装置
CN105978859B (zh) * 2016-04-25 2019-09-06 新华三技术有限公司 一种报文处理的方法和装置

Also Published As

Publication number Publication date
CN102833366B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
US9871721B2 (en) Multicasting a data message in a multi-site network
US9077563B2 (en) Switch for identifying extended group information of ports
CN102611634A (zh) 一种接入ip网络的方法和边缘设备
CN101217463A (zh) 一种控制报文转发的方法和设备
JP2012161044A (ja) 通信処理装置、アドレス学習プログラムおよびアドレス学習方法
CN102811173B (zh) 一种mac地址学习方法和设备
CN103139037A (zh) 用于实现灵活的虚拟局域网的方法和装置
CN105706391A (zh) 通过索引的本地化来增加组播规模
WO2014032598A1 (en) Forward packet with edge device
CN101572655B (zh) 端口隔离的方法和设备
CN100407704C (zh) 媒体接入控制层地址的动态学习方法
CN101478496B (zh) 一种数据报文的转发方法和交换设备
CN103731356B (zh) 报文处理方法及装置
US10880109B2 (en) Forwarding multicast data packet
CN105939324A (zh) 转发报文的方法及装置
CN107800549A (zh) 基于交换设备的端口实现多租户设备环境mdc的方法和装置
CN102833366B (zh) 一种pvlan mac地址表、pvlan中mac地址学习方法及其系统
CN103780630A (zh) 虚拟局域网端口隔离方法及系统
CN107896188A (zh) 数据转发方法及装置
CN107547535A (zh) 防攻击的mac地址学习方法、装置和网络设备
CN106230684B (zh) 报文转发方法、交换机和系统
CN101534218B (zh) 一种开放应用架构的管理方法、装置和系统
CN101924698A (zh) 基于ip单播路由的二层域负载均衡方法、系统和设备
CN102882761A (zh) Vpls实现方法
CN106209558A (zh) 形成同一mac地址转发表项拓展转发表容量的方法

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
CP03 Change of name, title or address

Address after: 100085 No.301, 3rd floor, 9 shangdijiu street, Haidian District, Beijing

Patentee after: Beijing Shenzhou Digital Cloud Information Technology Co.,Ltd.

Country or region after: China

Address before: 100085 Beijing Haidian District, No. 9 Shangdi Jiujie Digital Science and Technology Plaza

Patentee before: DIGITAL CHINA NETWORKS (BEIJING) Ltd.

Country or region before: China

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240802

Address after: 100085 No.301, 3rd floor, 9 shangdijiu street, Haidian District, Beijing

Patentee after: Beijing Shenzhou Digital Cloud Information Technology Co.,Ltd.

Country or region after: China

Patentee after: Shenzhou Kuntai (Xiamen) Information Technology Co.,Ltd.

Address before: 100085 No.301, 3rd floor, 9 shangdijiu street, Haidian District, Beijing

Patentee before: Beijing Shenzhou Digital Cloud Information Technology Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right