VPLS中VC标签分配和MAC地址学习的方法,设备和系统与流程

文档序号:12011866阅读:841来源:国知局
VPLS中VC标签分配和MAC地址学习的方法,设备和系统与流程
本发明实施例涉及计算机通信领域,尤其涉及一种VPLS中(VirtualCircuit,简称VC)标签分配和介质访问控制(MediaAccessControl,简称MAC)地址学习的方法,设备和系统。

背景技术:
虚拟专用局域网(localareanetwork,简称LAN)业务(virtualprivateLANservice,简称VPLS)是一种基于网际协议(InternetProtocol,简称IP)/多协议标签交换(multi-protocollabelswitching,简称MPLS)和以太网技术的二层虚拟专用网(layer2virtualprivatenetwork,简称L2VPN)技术,能够在IP/MPLS网络上提供类似于LAN服务的业务。VPLS可以使用户分布于不同位置的站点(site)通过分组交换网络(packetswithnetwork,简称PSN)相连,并且使各个站点像在一个LAN那样工作。不同于普通L2VPN的点到点业务,VPLS支持点到点、点到多点、多点到多点的业务类型。一个VPLS中的运营商边缘(provideredge,PE)设备是全连接的,即彼此之间存在伪线(psedowire,简称PW),PW是两个PE间的虚拟连接,在两个PE之间传输帧,建立、维护和拆除PW的工作由PE利用PW信令协议完成,分为利用标签分发协议(labeldistributionprotocol,简称LDP)作为PW信令协议的Martini方式VPLS,和利用边界网关协议(bordergatewayprotocol,简称BGP)作为PW信令协议的Kompella方式VPLS两种。一条PW通常由一对反向虚电路(VirtualCircuit,简称VC)组成,VC是两个PE之间的一种单向逻辑连接,在一些应用中一个VC也可作为单向PW使用。用户边缘(customeredge,简称CE)设备通过接入线路(AttachmentCircuit,简称AC)接入到PE,AC用于CE和PE之间传输帧,可以是物理链路,也可以是逻辑链路。PE承担仿真网桥的功能,将CE经由AC送入的以太网帧转发至适当的PW,送达目的地,由此实现用户不同位置的局域网间的相互访问。PE间使用虚拟交换实例(virtualswitchinstance,简称VSI)进行VPLS转发;VSI实现以太桥接功能,并能够终结PW,每个VSI提供单独的VPLS服务。在VPLS中,PE基于介质访问控制(MediaAccessControl,简称MAC)MAC地址,或者MAC地址和虚拟局域网(virtuallocalareanetwork,简称VLAN)标识转发报文;为了能转发报文,PE必须能够将目的MAC地址与PW或VC进行关联;和桥设备相同,PE同样存在MAC地址学习行为,每个PE不但要学习从PW来的以太网报文的MAC地址,也要学习所连接的CE设备来的MAC地址。PE通过报文源MAC地址学习的方法建立MAC转发表,从PW学习远端MAC地址,从AC学习本地接入的MAC地址。转发时,PE使用目的MAC地址查找MAC转发表确定转发路径,即PW或AC;而对于未知单播地址、广播地址和组播地址的以太网报文,将在整个VPLS域内进行广播。PSN中一种常见的攻击方式是MAC地址仿冒攻击,这类攻击利用桥设备MAC地址学习过程的原理。攻击源通过不断发送携带仿冒的源MAC地址,例如仿冒网关设备,动态主机配置协议(dynamichostconfigurationprotocol,简称DHCP)服务器,或域名系统(domainnamesystem,简称DNS)服务器等的MAC地址的报文,来非法更新桥设备的MAC转发表,影响桥设备的转发行为,引起网络服务质量严重下降甚至中断。目前在VPLS中,可以针对重要MAC地址,采用静态配置MAC地址的方式来防止MAC地址仿冒攻击,但是需要在所有PE上都进行静态配置,一旦网络拓扑发送变化,例如主备切换或者设备迁移,则需要整网都进行部署调整,维护难度大且维护成本高。

技术实现要素:
有鉴于此,本发明实施例提供了一种VPLS中VC标签分配和MAC地址学习的方法,设备和系统,可以基于服务等级构建VPLS,基于服务等级进行MAC地址学习,从而可以自动识别是否存在MAC地址仿冒攻击,提高了VPLS网络的安全性。第一方面,提供了一种VPLS中MAC学习地址的方法,包括:本地PE从第一接口接收第一报文;获取所述第一报文的源MAC地址,以及所述第一报文所属的第一虚拟交换实例VSI的标识和第一子虚拟交换实例sub-VSI的服务等级;根据所述第一VSI的标识和所述第一报文的源MAC地址查询所述本地PE的MAC转发表,所述MAC转发表包括VSI标识,MAC地址,出接口标识和MAC服务等级的对应关系;当所述本地PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的第一MAC转发表项时,获取所述第一MAC转发表项的MAC服务等级,若所述第一sub-VSI的服务等级高于或等于所述第一MAC转发表项的MAC服务等级,用所述第一接口的标识及所述第一sub-VSI的服务等级更新所述第一MAC转发表项的出接口标识和MAC服务等级。在第一方面的第一种可能实现方式中,还包括:若所述第一sub-VSI的服务等级低于所述第一MAC转发表项的MAC服务等级,判定存在MAC地址仿冒攻击。结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,还包括所述本地PE执行:发送告警信息,记录攻击日志,攻击溯源,阻断攻击中的一种或多种处理。结合第一方面或第一方面的第一种或第二种可能实现方式,在第一方面的第三种可能实现方式中,还包括:当所述本地PE的MAC转发表中不存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的表项时,将所述第一VSI的标识、所述第一报文的源MAC地址、所述第一接口的标识及所述第一sub-VSI的服务等级的对应关系存入所述本地PE的MAC转发表中。结合第一方面或第一方面的第一种或第二种或第三种可能实现方式,在第一方面的第四种可能实现方式中,所述第一报文中包括第一VC标签,所述第一接口具体为第一VC;所述获取所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级具体包括:根据所述第一VC标签,查询所述本地PE的入标签映射表;获取所述本地PE的入标签映射表中入VC标签与所述第一VC标签匹配的第一标签映射表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。结合第一方面或第一方面的第一种或第二种或第三种可能实现方式,在第一方面的第五种可能实现方式中,所述第一接口具体为第一AC;所述获取所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级具体包括:根据所述第一报文的源MAC地址或者所述第一AC的标识,查询所述本地PE的终端服务等级信息表,所述终端服务等级信息表中包括终端标识、VSI标识和sub-VSI的服务等级的对应关系;获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。结合第一方面的第五种可能实现方式,在第一方面的第六种可能实现方式中,所述根据所述第一报文的源MAC地址或者所述第一AC的标识,查询所述本地PE的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级具体包括:根据所述第一报文的源MAC地址查询所述终端服务等级信息表;当所述终端服务等级信息表中第一终端服务等级信息表项的终端标识与所述第一报文的源MAC地址相同时,获取所述第一终端服务等级信息表项的VSI标识和sub-VSI的服务等级;当所述终端服务等级信息表中任一表项的终端标识与所述第一报文的源MAC地址均不相同时,根据所述第一AC的标识查询所述终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一AC的标识相同的第二终端服务等级信息表项的VSI标识和sub-VSI的服务等级。结合第一方面或第一方面的上述任一种可能实现方式,在第一方面的第七种可能实现方式中,在接收第一报文之前,还包括:所述本地PE向远端PE通告所述第一VSI的本地sub-VSI;获取所述远端PE为所述本地sub-VSI分配的所述VC标识和出VC标签;将所述第一VSI的标识、所述本地sub-VSI的服务等级、所述远端PE为所述本地sub-VSI分配的所述VC标识和所述出VC标签的对应关系保存到所述本地PE的出标签映射表。结合第一方面或第一方面的上述任一种可能实现方式,在第一方面的第八种可能实现方式中,在接收第一报文之前,还包括:所述本地PE接收所述远端PE通告的所述第一VSI的远端sub-VSI;向所述远端PE为所述远端sub-VSI分配VC标识和入VC标签;在所述本地PE的入标签映射表保存所述第一VSI的标识、所述所有远端sub-VSI的服务等级、所述本地PE为所述远端sub-VSI分配的所述VC标识和所述入VC标签的对应关系。第二方面,提供了一种VPLS中VC标签分配的方法,包括:本地运营商边缘PE向远端PE通告VSI的本地sub-VSI;获取所述远端PE为所述本地sub-VSI分配的VC标识和VC标签;将所述VSI、所述本地sub-VSI的服务等级、所述远端PE为所述本地sub-VSI分配的VC标识和VC标签的对应关系保存到所述本地PE的出标签映射表。在第二方面的第一种可能实现方式中,所述获取所述远端PE为所述本地sub-VSI分配的VC标识和VC标签具体包括:接收所述远端PE发送的标签分发协议LDP标签映射消息,从所述LDP标签映射消息中获取所述远端PE为所述本地sub-VSI分配的VC标识和VC标签,所述LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级、所述远端PE为所述本地sub-VSI分配的VC标识和VC标签。结合第二方面或第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,还包括:所述本地PE接收所述远端PE通告的所述VSI的远端sub-VSI;所述本地PE向所述远端PE为所述VSI的所述远端sub-VSI分配VC标识和VC标签;在所述本地PE的入标签映射表保存所述VSI的标识、所述远端sub-VSI的服务等级、所述远端PE为所述VSI的所述远端sub-VSI分配的VC标识和VC标签的对应关系。结合第二方面或第二方面的第一种或第二种可能实现方式,在第二方面的第三种可能实现方式中,所述本地PE向远端PE通告VSI的本地sub-VSI具体包括:所述本地PE向所述远端PE发送第一LDP标签请求消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签请求消息中包括所述VSI的标识和所述本地sub-VSI的服务等级。结合第二方面或第二方面的第一种或第二种可能实现方式,在第二方面的第四种可能实现方式中,所述本地PE向远端PE通告VSI的所有本地sub-VSI具体包括:所述本地PE向所述远端PE发送第一LDP标签映射消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级,第一VC标识和第一VC标签。结合第二方面的第四种可能实现方式,在第二方面的第五种可能实现方式中,在所述本地PE向所述远端PE发送所述第一LDP标签映射消息通告所述VSI的所述本地sub-VSI之前,还包括:所述本地PE向所述远端PE为所述本地sub-VSI分配所述第一VC标识和所述第一VC标签;在所述本地PE的入标签映射表保存所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签的对应关系。结合第二方面或第二方面的任一种可能实现方式,在第二方面的第六种可能实现方式中,在所述本地PE向远端PE通告VSI的所有本地sub-VSI之前,还包括:所述本地PE根据所述本地PE的终端服务等级信息表确定向所述远端PE通告的所述VSI的所述本地sub-VSI。第三方面,提供了一种VC标签分配装置,包括:发送器,用于向远端运营商边缘PE通告VSI的本地sub-VSI;获取模块,用于获取所述远端PE为所述VSI的所述本地sub-VSI分配的VC标识和VC标签,将所述VSI的标识、所述本地sub-VSI的服务等级,及所述远端PE为所述本地sub-VSI分配的VC标识和VC标签的对应关系保存到所述本地PE的出标签映射表。在第三方面的第一种可能实现方式中,所述装置还包括:接收器,用于接收所述远端PE通告所述VSI的远端sub-VSI;标签分配模块,用于向所述远端PE为所述远端sub-VSI分配VC标识和VC标签。结合第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述发送器,具体用于向所述远端PE发送LDP标签请求消息通告所述VSI的所述本地sub-VSI,所述LDP标签请求消息中包括所述VSI的标识和所述本地sub-VSI的服务等级;所述接收器,还用于接收所述远端PE发送的LDP标签映射消息,所述LDP标签映射消息包括所述VSI的标识,所述本地sub-VSI的服务等级,第一VC标识和第一VC标签;所述获取模块具体用于从所述接收器接收的所述LDP标签映射消息中获取所述第一VC标识和所述第一VC标签,并将所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签的对应关系保存到所述PE的出标签映射表。结合第三方面的第一种可能实现方式,在第三方面的第三种可能实现方式中,所述发送器,具体用于向所述远端PE发送第一LDP标签映射消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级、第一VC标识和第一VC标签;所述接收器,还用于接收所述远端PE发送的第二LDP标签映射消息,所述第二LDP标签映射消息包括所述VSI的标识,所述本地sub-VSI的服务等级、第二VC标识和第二VC标签;所述获取模块,具体用于从所述接收器接收的所述第二LDP标签映射消息中获取所述第二VC标识和第二VC标签,将所述VSI的标识,所述本地sub-VSI的服务等级、第二VC标识和第二VC标签的对应关系保存到所述PE的出标签映射表。结合第三方面的第三种可能实现方式,在第三方面的第四种可能实现方式中,所述标签分配模块还用于向所述远端PE为所述VSI的所述本地sub-VSI分别所述第一VC标识和所述第一VC标签,并在所述本地PE的入标签映射表保存所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签的对应关系。结合第三方面或第三方面的任一种可能实现方式,在第三方面的第五种可能实现方式中,所述装置还包括确定模块,用于根据所述PE的终端服务等级信息表,确定向所述远端PE通告的所述VSI的所述本地sub-VSI。第四方面,提供了一种介质访问控制MAC地址学习装置,包括:接收器,用于从第一接口接收第一报文;第一获取模块,用于获取所述第一报文的源MAC地址,以及所述第一报文所属的第一虚拟交换实例VSI的标识和第一子虚拟交换实例sub-VSI的服务等级;所述查询模块,用于根据所述第一VSI的标识和所述第一报文的源MAC地址查询PE的MAC转发表,所述MAC转发表包括VSI标识,MAC地址,出接口标识和MAC服务等级的对应关系;第二获取模块,用于当所述PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的第一MAC转发表项时,获取所述第一MAC转发表项的MAC服务等级;判断模块,用于判断所述第一获取模块中获取的所述第一sub-VSI的服务等级是否高于或等于所述第二获取模块中获取的所述第一MAC转发表项的MAC服务等级;更新模块,用于当所述第一sub-VSI的服务等级高于或等于所述第一MAC转发表项的MAC服务等级时,用所述第一接口的标识及所述第一sub-VSI的服务等级更新所述第一MAC转发表项的出接口标识和MAC服务等级。在第四方面的第一种可能实现方式中,所述装置还包括:所述攻击判定模块,用于当所述第一sub-VSI的服务等级低于所述第一MAC转发表项的MAC服务等级时,判定存在MAC地址仿冒攻击;地址存储模块,用于当所述PE的MAC转发表中不存在与所述第一VSI和所述第一报文的源MAC地址匹配的表项时,将所述第一VSI、所述第一报文的源MAC地址、所述第一接口及所述第一sub-VSI的服务等级的对应关系存入所述PE的MAC转发表中。结合第四方面或第四方面的第一种可能实现方式,在第四方面的第二种可能实现方式中,当所述第一报文中包括第一虚拟电路VC标签,所述第一接口具体为第一VC时,所述第一获取模块,具体用于根据所述第一VC标签,查询所述PE的入标签映射表,获取所述入标签映射表中入VC标签与所述第一VC标签匹配的第一标签映射表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。结合第四方面或第四方面的第一种可能实现方式,在第四方面的第三种可能实现方式中,当所述第一接口具体为第一AC时,所述第一获取模块,具体用于根据所述第一报文的源MAC地址或者所述第一AC的标识,查询所述本地PE的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。结合第四方面的第三种可能实现方式,在第四方面的第四种可能实现方式中,所述第一获取模块,具体用于根据所述第一报文的源MAC地址查询所述终端服务等级信息表;当所述终端服务等级信息表中第一终端服务等级信息表项的终端标识与所述第一报文的源MAC地址相同时,获取所述第一终端服务等级信息表项的VSI标识和sub-VSI的服务等级;当所述终端服务等级信息表中任一表项的终端标识与所述第一报文的源MAC地址均不相同时,根据所述第一AC的标识查询所述终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一AC的标识相同的第二终端服务等级信息表项的VSI标识和sub-VSI的服务等级。结合第四方面或第四方面的上述任一种可能实现方式,在第四方面的第五种可能实现方式中,所述装置还包括攻击处理模块,用于当所述攻击判定模块判定存在MAC地址仿冒攻击时,执行发送告警信息、记录攻击日志、进行攻击溯源、阻断攻击行为等一种或多种处理。结合第四方面或第四方面的上述任一种可能实现方式,在第四方面的第六种可能实现方式中,所述装置还包括VC建立模块,用于与远端PE间基于服务等级为所述第一VSI的sub-VSI分配VC标识和VC标签,建立VC。第五方面,本发明提供了一种虚拟专用局域网业务VPLS网络,包括至少两个运营商边缘PE设备,所述PE设备包括如上述第三方面或第三方面的任一种可能实现方式,或第四方面或第四方面的任一种可能实现方式中所述的装置。本发明实施例提供的VPLS中VC标签分配和MAC地址学习的方法,设备和系统,通过将VSI划分为不同服务等级的子VSI,并将终端加入不同服务等级子VSI中,基于服务等级进行VC标签分配、建立VC,基于服务等级构建VPLS,并基于服务等级进行MAC地址学习,可以自动识别并防止MAC地址仿冒攻击,提高VPLS网络的安全性。附图说明图1是本发明实施例提供的VPLS网络的拓扑示意图;图2是本发明实施例提供的VPLS中VC标签分配的方法流程图;图3是本发明实施例提供的采用DoD方式分配VC标签的方法流程图;图4是本发明实施例提供的LDP标签请求消息的格式示意图;图5是本发明实施例提供的DoD方式通告服务等级和标签分配的信息交互示意图;图6是本发明实施例提供的LDP标签映射消息的格式示意图;图7是本发明实施例提供的采用DU方式分配VC标签的方法流程图;图8是本发明实施例提供的DU方式通告服务等级和标签分配的信息交互示意图;图9是本发明实施例提供的VPLS中MAC地址学习的方法示意图;图10a,10b,10c是本发明实施例提供的VC标签分配装置的结构框图;图11a,11b,11c和11d是本发明实施例提供的MAC地址学习装置的结构框图;图12是本发明实施例提供的PE设备的硬件结构示意图;图13是本发明实施例提供的VPLS网络的系统示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,为本发明实施例提供的VPLS网络的拓扑示意图。用户A有分布于不同位置的4个站点(site),分别设置有CE设备,通过AC连接对应的PE设备,互联成为一个仿真LAN,构成一个VPLS实例,对应一个VSI,例如用VSI-A作为VSI标识。同样,用户B分布于不同位置的站点互联成为另一个仿真LAN,构成另一个VPLS实例,对应一个VSI,例如用VSI-B作为VSI标识。本发明实施例中,将一个VSI分为不同服务等级的子虚拟交换实例(sub-VSI),并将VSI内的终端划分到不同服务等级的sub-VSI中,一个sub-VSI具体通过VSI标识和一个sub-VSI的服务等级来标识。一个PE上可能有VSI的所有sub-VSI的服务等级,也可能只有部分sub-VSI的服务等级,具体与接入该PE的VSI内终端的服务等级相对应。各个PE上保存终端服务等级信息表,所述终端服务等级信息表中包括终端标识、VSI标识和sub-VSI的服务等级的对应关系;通常终端服务等级信息表是预先配置在各个PE上;当然,在网络运行过程中,还可以根据网络状况进行调整。根据终端服务等级的划分方式,终端标识可以为MAC地址或AC。具体的,终端服务等级的划分方式包括:(1)仅按AC划分服务等级;将PE下终端,以AC为单位划分服务等级,一个或多个AC下的所有终端为一个服务等级,默认加入一个sub-VSI。(2)仅按MAC地址划分服务等级;也就是指定的一个或多个MAC地址的终端为一个服务等级,加入指定的sub-VSI,与按照AC划分等级相比更加精细。(3)结合AC和MAC地址划分服务等级;将PE下终端,以AC为单位划分服务等级,一个或多个AC下的所有终端为一个服务等级,默认加入一个sub-VSI;同时可以指定某个或某些MAC地址的终端的服务等级,加入指定的sub-VSI。参见图1,将VSI-A划分为多个服务等级,采用结合AC和MAC地址划分终端服务等级的方式;将连接PE1的AC3的服务等级设置0,加入sub-VSI0,这样AC3下挂的终端默认都加入sub-VSI0;将连接PE2的AC4的服务等级设置5,加入sub-VSI5,这样AC4下挂的终端默认都加入sub-VSI5;将连接PE3的AC1和AC2的服务等级设置0,加入sub-VSI0,这样AC1和AC2下挂的终端默认都加入sub-VSI0;同时指定MAC地址为0001-0203-0405的服务器的服务等级为10,加入sub-VSI10。将VSI-B划分为多个服务等级,采用仅按AC划分终端服务等级的方式,将连接PE1的AC13的服务等级设置5,加入sub-VSI5,这样AC13下挂的终端默认都加入sub-VSI5;将连接PE2的AC11的服务等级设置0,加入sub-VSI0,这样AC13下挂的终端默认都加入sub-VSI0;将连接PE3的AC12的服务等级设置2,加入sub-VSI2,这样AC12下挂的终端默认都加入sub-VSI2。图1所示VPLS网络中,PE1的终端服务等级信息表如表1a所示,PE2的终端服务等级信息表如表2a所示,PE3的终端服务等级信息表如表3a所示。从上述可知,VSI-A共划分为3个sub-VSI,有3个sub-VSI的服务等级;其中,PE1上仅有VSI-A的一个sub-VSI的服务等级,0;PE2上也仅有VSI-A的一个sub-VSI的服务等级,5;而PE3上有VSI-A的两个sub-VSI的服务等级,分别为0和10。表1a表2a表3a本发明实施例中,以0表示低服务等级,数值越大,表示服务等级越高。当然,也可以定义其他方式,例如A表示低服务等级,F表示高服务等级,本发明对此不作限定。可选地,可以在各个PE上为一个VSI默认配置一个低服务等级的sub-VSI,例如,服务等级为0的sub-VSI0,对于未设置服务等级的AC或MAC地址,则默认加入该低服务等级的sub-VSI。本发明实施例中,通过将一个VSI分为不同服务等级的sub-VSI,在各个PE上设置终端的服务等级,加入相应的sub-VSI中,可以基于服务等级构建VPLS并进行MAC地址学习,从而实现MAC地址仿冒攻击的自动识别和防范。以下将具体介绍如何基于服务等级构建VPLS,以及在基于服务等级的VPLS中如何进行MAC地址学习。参见图2,为本发明实施例提供的VPLS中VC标签分配的方法流程图,如图2所示,所述方法包括:201:本地PE向远端PE通告VSI的本地sub-VSI;具体地,所述本地PE通过LDP标签请求(labelrequest)消息或LDP标签映射(labelmapping)消息向所述远端PE通告所述VSI的本地sub-VSI。基于LDP协议的标签分配有两种方式:下游按需分配(downstreamondemand,简称DoD)方式和下游自主分配(downstreamunsolicited,简称DU)方式。所述本地PE可以采用DoD方式向所述远端PE通告所述VSI的本地sub-VSI;此时所述本地PE向所述远端PE发送LDP标签请求消息,所述LDP标签请求消息中包括所述VSI的标识和所述本地sub-VSI的服务等级。所述本地PE也可以采用DU方式向所述远端PE通告所述VSI的本地sub-VSI;此时所述本地PE向所述远端PE发送LDP标签映射消息,所述LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级及其对应的VC标识和入VC标签;其中,入VC标签是指所述本地PE分配的VC标签;在所述本地PE向所述远端PE发送所述LDP标签映射消息之前,所述本地PE向所述远端PE为所述本地sub-VSI分配对应的VC标识和入VC标签。通常,从一个PE的角度,将其他PE为该PE分配的VC标签称为出VC标签,并保存在该PE的出标签映射表中;而将该PE为其他PE分配的VC标签称为入VC标签,并保存在该PE的入标签映射表中。可以理解的是,出VC标签或入VC标签是相对而言的。在201之前,所述本地PE根据所述本地PE的终端服务等级信息表,确定需要向远端PE通告的所述VSI的本地sub-VSI。以图1所示VPLS网络中VSI-A为例,PE1根据PE1的终端服务等级信息表,如表1a所示,确定需要向远端PE通告的VSI-A的本地sub-VSI包括:由VSI-A和服务等级0标识的sub-VSI0;PE3根据PE3的终端服务等级信息表,如表3a所示,确定需要向远端PE通告的VSI-A的所有本地sub-VSI包括:由VSI-A和服务等级0标识的sub-VSI0,以及由VSI-A和服务等级10标识的sub-VSI10。进一步地,当采用DU方式进行VC标签分配时,所述本地PE根据所述本地PE的终端服务等级信息表,确定需要向远端PE通告的所述VSI的本地sub-VSI,具体包括:所述本地PE根据所述本地PE的终端服务等级信息表和出标签映射表,确定需要向远端PE通告的所述VSI的本地sub-VSI。仍以图1所示VPLS网络中VSI-A为例,PE3首先根据PE3的终端服务等级信息表,如表3a所示,确定需要向PE1通告sub-VSI0和sub-VSI10,然后PE3根据PE3的出标签映射表,发现PE1已经向PE3通告了sub-VSI0,即PE3的出标签映射表中已经保存了PE1为sub-VSI0分配的VC标签,则PE3最终确定需要向PE1通告的本地sub-VSI只有sub-VSI10。或者,例如PE3首先采用DU方式向PE1通告了sub-VSI0和sub-VSI10,在PE1的出标签映射表中保存了PE3为sub-VSI0和sub-VSI10分配的VC标签,然后PE1根据PE1的终端服务等级信息表,如表1a所示,确定需要向PE3通告sub-VSI0,再根据PE1的出标签映射表,发现已经保存了PE3为sub-VSI0分配的VC标签,则PE1最终确定无需再向PE3通告本地sub-VSI,即sub-VSI0。所述远端PE收到所述本地PE通告的所述VSI的所述本地sub-VSI,会通过第一LDP标签映射消息向所述本地PE为所述VSI的所述本地sub-VSI分配第一VC标识和第一VC标签,所述第一LDP标签映射消息中包括所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签,并将所述第一VC标签和所述本地sub-VSI的对应关系,即,该第一VC标签、所述VSI的标识和所述本地sub-VSI的服务等级的对应关系保存到所述远端PE的入标签映射表中。本发明实施例中,入标签映射表中包括入VC标签,VSI标识和sub-VSI的服务等级的对应关系。202:获取所述远端PE为所述VSI的所述本地sub-VSI分配的第一VC标识和第一VC标签,将所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签的对应关系保存到所述本地PE的出标签映射表;具体地,所述本地PE接收所述远端PE发送的所述第一LDP标签映射消息,所述第一LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签,从所述第一LDP标签映射消息中获取所述第一VC标识和所述第一VC标签;并将所述本地sub-VSI及其对应的VC标识和出VC标签的对应关系保存到所述本地PE的出标签映射表,即,将所述VSI的标识、所述本地sub-VSI的服务等级,所述第一VC标识和所述第一VC标签的对应关系保存到所述本地PE的出标签映射表。本发明实施例中,出标签映射表中包括VSI标识、sub-VSI的服务等级、VC标识和出VC标签的对应关系。可选地,所述本地PE还执行如下203和204,接收所述远端PE通告的远端sub-VSI,并为远端sub-VSI分配VC标签。203:所述本地PE接收所述远端PE通告的所述VSI的远端sub-VSI;所述远端PE向所述PE通告所述VSI的远端sub-VSI的方式同201中所述本地PE向所述远端PE通告所述VSI的本地sub-VSI,具体可参考201,在此不再赘述。204:所述本地PE向所述远端PE为所述远端sub-VSI分配第二VC标识和第二VC标签。所述本地PE收到所述远端PE通告的所述VSI的远端sub-VSI,会向所述远端PE发送第二LDP标签映射消息,为所述远端sub-VSI分配第二VC标识和第二VC标签,所述第二LDP标签映射消息中包括所述VSI的标识,所述远端sub-VSI的服务等级,所述第二VC标识和所述第二VC标签;并将所述远端sub-VSI及其对应的入VC标签的对应关系,即,所述第二入VC标签、所述VSI的标识和所述远端sub-VSI的服务等级的对应关系,保存到所述本地PE的入标签映射表中。本发明实施例中,对执行201-202,203-204的顺序不作限定,可以同步进行,也可以先执行203-204,再执行201-202。VPLS中的所有PE在相互之间通告sub-VSI,进行VC标签分配之后,完成按照sub-VSI建立VC,即,为VSI按照各个服务等级分别建立VC,从而实现基于服务等级构建VPLS。可选地,在部署VPLS时,可以设置VPLS服务等级特性,使能该特性,则按照本发明提供的技术方案,基于服务等级构建VPLS;去使能该特性,则按照VSI构建VPLS。需要说明的是,sub-VSI、sub-VSI的服务等级本身并没有本地和远端之分;本发明实施例中,为方便叙述,将所述本地PE上设置的所述VSI的sub-VSI、sub-VSI的服务等级相应称为本地sub-VSI、本地sub-VSI的服务等级;将所述远端PE上设置的所述VSI的sub-VSI、sub-VSI的服务等级相应称为远端sub-VSI、远端sub-VSI的服务等级。结合图1,可以理解的是,各个PE上设置的sub-VSI与终端划分的服务等级一致;本地sub-VSI与远端sub-VSI可以相同,也可以不同;也就是说,本地sub-VSI的服务等级与远端sub-VSI的服务等级可以相同,也可以不同。接下来,在图2所示方法基础上,分别详细介绍采用DoD方式和DU方式分配VC标签,基于服务等级构建VPLS的过程。参见图3,为本发明实施例提供的采用DoD方式基于服务等级分配VC标签的方法流程图,所述方法包括:301:本地PE向远端PE发送LDP标签请求消息通告VSI的所有本地sub-VSI,所述LDP标签请求消息中包括所述VSI的标识和所述所有本地sub-VSI的服务等级;所述本地PE上可能有所述VSI的多个本地sub-VSI的服务等级,所述本地PE可以将所有本地sub-VSI的服务等级携带在一个LDP标签请求消息中;也可以在一个LDP标签请求消息中仅携带其中一个或部分的本地sub-VSI的服务等级,分多次发送LDP标签请求消息。本发明实施例中,所述本地PE将所述VSI的所有本地sub-VSI的服务等级携带在一个LDP标签请求消息中,以提高网络性能和效率。本发明实施例中,可以定义一种新的类型长度值(type-length-value,简称TLV),服务等级TLV,用于在LDP标签请求消息中携带sub-VSI的服务等级信息,参见图4,本发明实施例提供的LDP标签请求消息的格式示意图,其中LDP消息头、标签请求消息、转发等价类(forwardequivalenceclass,简称FEC)TLV与通常的LDP标签请求消息相同,本发明实施例通过扩展的服务等级TLV来通告sub-VSI的服务等级。可以理解的是,如果通过一个LDP标签请求消息通告多个sub-VSI时,则携带多个服务等级TLV。根据LDP协议,对于不能识别的TLV,接收端忽略掉该TLV,因此对于不支持本发明技术方案的PE,仍然可以完成VC标签分配,建立通常的VPLS网络。在301之前,所述本地PE根据所述本地PE的终端服务等级信息表,确定需要向远端PE通告的所述VSI的本地sub-VSI。以图1所示VPLS网络中VSI-A为例,PE1根据PE1的终端服务等级信息表,如表1a所示,确定需要向远端PE通告的VSI-A的本地sub-VSI包括:由VSI-A和服务等级0标识的sub-VSI0;PE3根据PE3的终端服务等级信息表,如表3a所示,确定需要向远端PE通告的VSI-A的所有本地sub-VSI包括:由VSI-A和服务等级0标识的sub-VSI0,以及由VSI-A和服务等级10标识的sub-VSI10。举例来说,结合图1所示VPLS网络中用户A的VSI-A,以PE3作为所述本地PE,PE1作为所述远端PE为例,PE3向PE1发送LDP标签请求消息,通告两个本地sub-VSI:sub-VSI0,即VSI-A和服务等级0,以及sub-VSI10,即VSI-A和服务等级10;该LDP标签请求消息中包括VSI-A,0和10,参见图5所示LDP标签请求消息req31;图5为本发明实施例提供的DoD方式通告服务等级和标签分配的信息交互示意图。302:所述远端PE收到所述LDP标签请求消息后,向所述本地PE发送LDP标签映射消息,响应所述LDP标签请求消息,为所述VSI的所有本地sub-VSI分配VC标识和VC标签,所述LDP标签映射消息中包括所述VSI的标识,所述所有本地sub-VSI的服务等级及其对应的VC标识和VC标签;参见图6,为本发明实施例提供的LDP标签映射消息的格式示意图,其中携带服务等级TLV,用于携带sub-VSI的服务等级信息。如图6所示,一个转发等价类TLV和一个标签TLV对应一个服务等级TLV。具体地,所述远端PE收到所述LDP标签请求消息后,分别为所述VSI的所有本地sub-VSI中每个本地sub-VSI分配VC和VC标签,并保存分配的VC标签和本地sub-VSI的对应关系到所述远端PE的入标签映射表中。例如,所述远端PE为所述VSI的所有本地sub-VSI中的第一本地sub-VSI分配第一VC标识和第一VC标签,并将所述第一VC标签和所述第一本地sub-VSI的对应关系,即,所述第一VC标签、所述VSI的标识和所述第一本地sub-VSI的服务等级的对应关系保存到所述远端PE的入标签分配表中。所述远端PE在得到为所述VSI的所有本地sub-VSI分配的VC标签之后,生成LDP标签映射消息,并向所述本地PE发送所述LDP标签映射消息,其中包括所述VSI的标识,所有本地sub-VSI的服务等级及其对应的VC标识和VC标签。举例来说,承上所述,当PE1收到该LDP标签请求消息req31后,PE1为sub-VSI0,即,VSI-A和服务等级0,分配VC2和VC标签1024;为sub-VSI10,即,VSI-A和服务等级10,分配VC3和VC标签1027;并将VC标签1024、VSI-A和服务等级0的对应关系,以及VC标签1027、VSI-A和服务等级10的对应关系,保存到PE1的入标签分配表中。PE1向PE3发送LDP标签映射消息,其中包括所述VSI-A,VC2、VC标签1024和服务等级0,VC3、VC标签1027和服务等级10,参见图5所示LDP标签映射消息map13。303:所述本地PE接收所述远端PE发送的所述LDP标签映射消息,从所述LDP标签映射消息中获取所述VSI的所述所有本地sub-VSI的VC标识和出VC标签,将所述VSI的标识、所述所有本地sub-VSI的服务等级及其对应的VC标识和出VC标签的对应关系保存到所述本地PE的出标签映射表;这样,就为所述VSI的所有本地sub-VSI中每个本地sub-VSI分别建立起,从所述本地PE到所述远端PE方向的一条VC。采用本发明实施例提供的方法,VPLS中的所有PE在相互之间通告sub-VSI,进行VC标签分配之后,完成按照sub-VSI建立VC,即,为VSI按照各个服务等级分别建立VC,从而实现基于服务等级构建VPLS。举例来说,承上,当PE3收到该LDP标签映射消息map13后,从中获取PE1为所述两个本地sub-VSI:sub-VSI0,即VSI-A和服务等级0,以及sub-VSI10,即VSI-A和服务等级10,分配的VC标识和VC标签,即从该LDP标签映射消息map13中获取两个本地sub-VSI的VC标识和出VC标签;具体地,PE3从该LDP标签映射消息map13获取到VSI-A,VC2、标签1024和服务等级0,VC3、标签1027和服务等级10;并且将VSI-A、服务等级0、VC2和VC标签1024的对应关系,以及VSI-A、服务等级10、VC3和VC标签1027的对应关系,保存到PE3的出标签分配表中。这样,就为VSI-A的两个本地sub-VSI分别建立起从PE3到PE1方向的VC,如图5所示,sub-VSI0对应的VC2,sub-VSI10对应的VC3。本实施例中,以PE3作为本地PE,PE1作为远端PE为例,说明采用DoD方式分配VC标识和VC标签,建立PE3到PE1方向VC的过程。结合图1所示VPLS网络中用户A的VSI-A,还有PE3作为本地PE,PE2作为远端PE分配VC标识和VC标签,建立PE3到PE2方向VC,如图5中req32和map23所示;PE1作为本地PE,PE3作为远端PE分配VC标识和VC标签,建立PE1到PE3方向VC,如图5中req13和map31所示;PE1作为本地PE,PE2作为远端PE分配VC标识和VC标签,建立PE1到PE2方向VC,如图5中req12和map21所示;PE2作为本地PE,PE1作为远端PE分配VC标识和VC标签,建立PE2到PE1方向VC,如图5中req21和map12所示;以及PE2作为本地PE,PE3作为远端PE分配VC标识和VC标签,建立PE2到PE3方向VC,如图5中req23和map32所示。具体地,可以参考本实施例中PE3作为本地PE,PE1作为远端PE的过程,在此不再赘述。最后,各个PE的入标签映射表和出标签映射表分别保存有VSI-A的相应sub-VSI的表项,如下各表所示;表1b为PE1的入标签映射表,表1c为PE1的出标签映射表;表2b为PE2的入标签映射表,表2c为PE2的出标签映射表;表3b为PE3的入标签映射表,表3c为PE3的出标签映射表。表1b入VC标签VSI服务等级1026VSI-A51024VSI-A01025VSI-A10表1cVCIDVSI服务等级出VC标签VC5VSI-A01024VC1VSI-A01024表2b入VC标签VSI服务等级1024VSI-A01025VSI-A101026VSI-A0表2cVCIDVSI服务等级出VC标签VC4VSI-A51026VC8VSI-A51025表3b入VC标签VSI服务等级1024VSI-A01025VSI-A5表3cVCIDVSI服务等级出VC标签VC2VSI-A01024VC3VSI-A101025VC7VSI-A01026VC6VSI-A101025本实施例中,采用DoD方式进行VC标签分配,PE间建立的VC是非对称的,但是DoD方式的VC标签利用率比DU方式更高。参见图7,为本发明实施例提供的采用DU方式基于服务等级分配VC标签的方法流程图,所述方法包括:701:本地PE向远端PE发送第一LDP标签映射消息通告VSI的本地sub-VSI,所述第一LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级及其对应的第一VC标识和第一VC标签;其中第一VC标识和第一VC标签,是所述本地PE向所述远端PE为所述本地sub-VSI分配的VC标识和VC标签。所述本地PE的入标签映射表中保存有所述VSI的标识,所述本地sub-VSI的服务等级,第一VC标识和第一VC标签的对应关系。同样,本实施例中通过新定义的服务等级TLV,在所述第一LDP标签映射消息中携带sub-VSI的服务等级信息,参见图6所示。在701之前,所述本地PE根据所述本地PE的终端服务等级信息表和出标签映射表,确定需要向远端PE通告的所述VSI的本地sub-VSI。以图1所示VPLS网络中VSI-A为例,PE3首先根据PE3的终端服务等级信息表,如表3a所示,确定需要向PE1通告sub-VSI0和sub-VSI10,然后PE3根据PE3的出标签映射表,发现PE1已经向PE3通告了sub-VSI0,即PE3的出标签映射表中已经保存了PE1为sub-VSI0分配的VC标签,则PE3最终确定需要向PE1通告的本地sub-VSI只有sub-VSI10。或者,例如PE3首先采用DU方式向PE1通告了sub-VSI0和sub-VSI10,在PE1的出标签映射表中保存了PE3为sub-VSI0和sub-VSI10分配的VC标签,然后PE1根据PE1的终端服务等级信息表,如表1a所示,确定需要向PE3通告sub-VSI0,再根据PE1的出标签映射表,发现已经保存了PE3为sub-VSI0分配的VC标签,则PE1最终确定无需再向PE3通告本地sub-VSI,即sub-VSI0。举例来说,结合图1所示VPLS网络中用户A的VSI-A,以PE3作为所述本地PE,PE1作为所述远端PE为例,PE3为VSI-A的两个本地sub-VSI向PE1分配VC标识和VC标签;具体的,为sub-VSI0,即VSI-A和服务等级0,分配VC6和VC标签1026;为sub-VSI10,即VSI-A和服务等级10,分配VC7和VC标签1027。PE3将VC标签1026、VSI-A和服务等级0的对应关系,以及VC标签1027、VSI-A和服务等级10的对应关系保存到PE3的入标签分配表中。PE3向PE1发送第一LDP标签映射消息,通告PE3上VSI-A的两个sub-VSI:sub-VSI0和sub-VSI10,以及为sub-VSI0分配的VC6和VC标签1024,为sub-VSI10分配的VC7和VC标签1027;该第一LDP标签映射消息中包括VSI-A,VC6、VC标签1024和服务等级0,以及VC7、VC标签1027和服务等级10,参见图8中map31所示;图8为本发明实施例提供的DU方式通告服务等级和标签分配的信息交互示意图。702:所述远端PE收到所述本地PE发送的所述第一LDP标签映射消息后,从所述第一LDP标签映射消息中获取所述本地PE为所述VSI的所述本地sub-VSI分配的第一VC标识和第一VC标签,并将所述VSI的标识、本地sub-VSI的服务等级、第一VC标识和第一VC标签的对应关系保存到所述远端PE的出标签映射表;这样,就为所述本地sub-VSI建立起从所述远端PE到所述本地PE方向的一条VC。举例来说,承上所述,当PE1收到该第一LDP标签映射消息map31后,从中获取PE3为VSI-A的两个本地sub-VSI向PE1分配的VC标识和VC标签,将VSI-A,服务等级0、VC6和VC标签1026的对应关系,以及VSI-A、服务等级10、VC7和VC标签1027的对应关系保存到PE1的出标签分配表中。703:所述远端PE在收到所述本地PE发送的所述第一LDP标签映射消息之后,向所述本地PE发送第二LDP标签映射消息,响应所述第一LDP标签映射消息,为所述VSI的所述本地sub-VSI分配第二VC标识和第二VC标签,所述第二LDP标签映射消息中包括所述VSI的标识,所述sub-VSI的服务等级、第二VC标识和第二VC标签;具体地,所述远端PE收到所述第一LDP标签映射消息后,为所述VSI的所述本地sub-VSI分配第二VC标识和第二VC标签,并保存第二VC标签和所述本地sub-VSI的对应关系,即,所述第二VC标签、所述VSI的标识和所述本地sub-VSI的服务等级的对应关系,到所述远端PE的入标签映射表中。然后,所述远端PE生成第二LDP标签映射消息,所述第二LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级、所述第二VC标识和所述第二VC标签,并向所述本地PE发送所述第二LDP标签映射消息。可以理解的是,所述远端PE可以并行执行702和703。举例来说,承上所述,当PE1收到该第一LDP标签映射消息map31后,为sub-VSI0分配VC8和VC标签1025,为sub-VSI10分配VC9和VC标签1026;并将VC标签1025、VSI-A和服务等级0的对应关系,以及VC标签1026、VSI-A和服务等级10的对应关系,保存到PE1的入标签分配表中。PE1向PE3发送第二LDP标签映射消息,参见图8中map31’所示,其中包括所述VSI-A,VC8、VC标签1025和服务等级0,VC9、VC标签1026和服务等级10。704:所述本地PE接收所述远端PE发送的所述第二LDP标签映射消息,从所述第二LDP标签映射消息中获取所述远端PE为所述VSI的所述本地sub-VSI分配的第二VC标识和第二VC标签,将所述VSI的标识、所述本地sub-VSI的服务等级、第二VC标识和第二VC标签的对应关系保存到所述本地PE的出标签映射表;这样,就为所述VSI的所述本地sub-VSI建立起从所述本地PE到所述远端PE方向的一条VC。采用本发明实施例提供的方法,VPLS中的所有PE在相互之间通告sub-VSI,进行VC标签分配之后,完成按照sub-VSI建立VC,即,为VSI按照各个服务等级分别建立VC,从而实现基于服务等级构建VPLS。举例来说,承上所述,如图8所示,当PE3收到该第二LDP标签映射消息map31’后,从中获取PE1为所述两个本地sub-VSI:sub-VSI0,即VSI-A和服务等级0,以及sub-VSI10,即VSI-A和服务等级10,分配的VC标识和VC标签;具体地,PE3从该LDP标签映射消息map31’获取到VSI-A,VC8、标签1025和服务等级0,VC9、标签1026和服务等级10;并且将VSI-A、服务等级0、VC8和VC标签1025的对应关系,以及VSI-A、服务等级10、VC9和VC标签1026的对应关系,保存到PE3的出标签分配表中。这样,就为VSI-A的两个本地sub-VSI分别建立起从PE3到PE1方向的VC。本实施例中,以PE3作为本地PE,PE1作为远端PE为例,说明采用DU方式为PE3的本地sub-VSI分配VC标签,建立PE3与PE1间双向VC的过程。结合图1所示VPLS网络中用户A的VSI-A,还有PE3作为本地PE,PE2作为远端PE,为PE3的本地sub-VSI分配VC标识和VC标签,建立PE3与PE1间双向VC的过程,如图8中map32和map32’所示;PE1作为本地PE,PE2作为远端PE,为PE1的本地sub-VSI分配VC标识和VC标签,建立PE1与PE2间双向VC的过程,如图8中map12和map12’所示;PE2作为本地PE,PE1作为远端PE分配VC标识和VC标签,为PE2的本地sub-VSI分配VC标签,建立PE2与PE1间双向VC的过程,如图8中map21和map21’所示;以及PE2作为本地PE,PE3作为远端PE,为PE2的本地sub-VSI分配VC标识和VC标签,建立PE2与PE3间双向VC的过程,如图8中map23和map23’所示。具体地,可以参考本实施例中PE3作为本地PE,PE1作为远端PE的过程,在此不再赘述。结合图8可以看到,本实施例中,PE3先向PE1发送第一LDP标签映射消息通告sub-VSI0和sub-VSI10,PE1通过第二LDP标签映射消息响应PE3的通告;PE1根据PE1的终端服务等级信息表和出标签映射表,确定无需再向PE3发送第一LDP标签映射消息通告sub-VSI0。最后,各个PE的入标签映射表和出标签映射表分别保存VSI-A的相关sub-VSI的表项,如下各表所示;表1b’为PE1的入标签映射表,表1C’为PE1的出标签映射表;表2b’为PE2的入标签映射表,表2c’为PE2的出标签映射表;表3b’为PE3的入标签映射表,表3c’为PE3的出标签映射表。表1b’入VC标签VSI服务等级1024VSI-A01027VSI-A51025VSI-A01026VSI-A10表1c’VCIDVSI服务等级出VC标签VC13VSI-A01028VC5VSI-A51025VC7VSI-A01027VC6VSI-A101026表2b’入VC标签VSI服务等级1025VSI-A51028VSI-A01024VSI-A51026VSI-A01027VSI-A10表2c’VCIDVSI服务等级出VC标签VC4VSI-A01024VC14VSI-A51027VC2VSI-A01024VC12VSI-A51028VC1VSI-A101025表3b’入VC标签VSI服务等级1026VSI-A101027VSI-A01025VSI-A101024VSI-A01028VSI-A5表3c’VCIDVSI服务等级出VC标签VC8VSI-A01025VC9VSI-A101026VC10VSI-A01026VC3VSI-A51024VC11VSI-A101027本实施例中采用DU方式进行VC标签分配,PE间建立的VC是对称的;DU方式下,PE间的VC建立较快,并且在增加新的sub-VSI时较为简便快捷,但是会浪费一些VC标签。在PE按照sub-VSI进行VC标签分配、建立VC,基于服务等级构建VPLS之后,可进一步基于服务等级进行MAC地址学习,实现MAC地址仿冒攻击的自动识别和防范。本发明实施例提供了一种VPLS中MAC地址学习的方法,如图9所示,包括:901:本地PE从第一接口接收第一报文;所述第一报文可能来自AC侧,也可能来自VC侧。902:获取所述第一报文的源MAC地址,以及所述第一报文所属的第一虚拟交换实例VSI的标识和第一子虚拟交换实例sub-VSI的服务等级;当所述第一报文中包括第一VC标签,所述第一接口具体为第一VC时;相应地,所述获取所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级具体包括:根据所述第一VC标签,查询所述本地PE的入标签映射表;获取所述入标签映射表中入VC标签与所述第一VC标签匹配的第一标签映射表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。当所述第一接口具体为第一AC时;相应地,所述获取所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级具体包括:根据所述第一报文的源MAC地址或者所述第一AC的标识,查询所述本地PE的终端服务等级信息表;所述终端服务等级信息表中包括终端标识、VSI标识和sub-VSI的服务等级的对应关系,其中,终端标识包括MAC地址或AC标识;获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。需要说明的是,PE设备上通常用端口号,或者VLAN标识和端口号来标识一个AC。进一步可选地,当VPLS中既根据AC划分服务等级,又根据MAC地址划分服务等级时,所述根据所述第一报文的源MAC地址或者所述第一AC的标识查询所述本地PE的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级具体包括:根据所述第一报文的源MAC地址查询所述终端服务等级信息表;当所述终端服务等级信息表中第一终端服务等级信息表项的终端标识与所述第一报文的源MAC地址相同时,获取所述第一终端服务等级信息表项的VSI标识和sub-VSI的服务等级;当所述终端服务等级信息表中任一表项的终端标识与所述第一报文的源MAC地址均不相同时,根据所述第一AC的标识查询所述终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一AC的标识相同的第二终端服务等级信息表项的VSI标识和sub-VSI的服务等级。903:根据所述第一VSI的标识和所述第一报文的源MAC地址查询所述本地PE的MAC转发表,所述MAC转发表包括VSI标识,MAC地址,出接口标识和MAC服务等级的对应关系;904:当所述本地PE的MAC转发表中不存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的表项时,将所述第一VSI的标识、所述第一报文的源MAC地址、所述第一接口的标识及所述第一sub-VSI的服务等级存入所述本地PE的MAC转发表中;MAC地址学习过程结束。所述本地PE在学习所述第一报文的源MAC地址时,将所述第一sub-VSI的服务等级作为所述源MAC地址的MAC服务等级保存到所述本地PE的MAC转发表中,这样可以在后续的MAC地址学习过程中,根据MAC服务等级判断MAC地址学习是否异常,以防止MAC仿冒攻击。905:当所述本地PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的第一MAC转发表项时,获取所述第一MAC转发表项的MAC服务等级;具体地,当所述本地PE的MAC转发表中的所述第一MAC表项的VSI标识与所述第一VSI的标识相同,且所述第一MAC转发表项的MAC地址与所述第一报文的源MAC地址相同时,获取所述第一MAC转发表项的MAC服务等级。906:判断所述第一sub-VSI的服务等级是否高于或等于所述第一MAC转发表项的MAC服务等级;907:若所述第一sub-VSI的服务等级高于或等于所述第一MAC转发表项的MAC服务等级,用所述第一接口的标识及所述第一sub-VSI的服务等级更新所述第一MAC转发表项的出接口标识和MAC服务等级;MAC地址学习过程结束。908:若所述第一sub-VSI的服务等级低于所述第一MAC转发表项的MAC服务等级,所述本地PE判定存在MAC地址仿冒攻击,不刷新所述第一MAC转发表项。具体地,若所述第一sub-VSI的服务等级低于所述第一MAC转发表项的MAC服务等级,所述本地PE认为本次根据所述第一报文进行的MAC地址学习异常,存在MAC地址仿冒攻击,不刷新MAC转发表,实现MAC地址仿冒攻击的自动识别和防范,提高了VPLS网络的安全性。进一步可选地,所述本地PE可以执行:发送告警信息,记录攻击日志,攻击溯源,阻断攻击中的一种或多种处理;具体地,所述本地PE可以根据MAC地址仿冒攻击行为的入方向,即,接收携带仿冒源MAC地址的第一报文的第一接口,判断MAC仿冒攻击源的位置,进行MAC地址仿冒攻击溯源;进一步地,所述本地PE可以根据被仿冒的MAC地址,丢弃MAC地址仿冒攻击行为的入方向所接收的所有攻击报文,即源MAC地址为所述被仿冒的MAC地址的报文,从而阻断攻击流量,隔离攻击源,进一步提高VPLS网络的安全性。可以理解的是,VPLS中各个PE都会进行MAC学习,如果PE采取阻断攻击处理,则位于某个站点内的攻击源发出的MAC地址仿冒攻击报文,会被该站点所接入的PE阻断在该站点内,而不会被传输到VPLS网络中其他PE,达到阻断攻击流量,隔离攻击源的目的,进一步增强对MAC地址仿冒攻击的防范。可选的,在901之前,所述本地PE执行本发明如图2,图3或图7所示的VC标签分配的方法,与远端PE间建立VC,构建基于服务等级的VPLS网络;具体包括:所述本地PE向远端PE通告所述第一VSI的本地sub-VSI;获取所述远端PE为所述本地sub-VSI分配的VC标识和出VC标签;将所述第一VSI的标识、所述本地sub-VSI的服务等级、所述远端PE为所述本地sub-VSI分配的所述VC标识和所述出VC标签的对应关系保存到所述本地PE的出标签映射表。所述本地PE接收所述远端PE通告的所述第一VSI的远端sub-VSI;向所述远端PE为所述远端sub-VSI分配VC标识和入VC标签;在所述本地PE的入标签映射表保存所述第一VSI的标识、所述所有远端sub-VSI的服务等级、所述本地PE为所述远端sub-VSI分配的所述VC标识和所述入VC标签的对应关系。进一步地,所述方法还可以包括:所述本地PE转发所述第一报文;具体地,所述本地PE获取所述第一报文的目的MAC地址,当所述本地PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的目的MAC地址匹配的第二MAC转发表项时,获取所述第二MAC转发表项的出接口标识;若所述第二MAC转发表项的出接口标识对应的接口为VC时,根据所述第一VSI、所述第一sub-VSI的服务等级和所述第二MAC转发表项的出接口标识查询所述本地PE的出标签映射表,获取转发所述第一报文的出VC标签,然后封装并转发所述第一报文;若所述第二MAC转发表项的出接口标识对应的接口为AC时,向所述第二MAC转发表项的出接口标识对应的AC转发所述第一报文。通常,如果所述第一报文是远端PE发来的广播报文,则所述本地PE只向同一VPLS,即所述第一VSI的所有直连端口转发所述第一报文,而不会向其他PE转发。如果所述第一报文是本地用户,即,连接到所述本地PE的CE,发来的广播报文,则所述本地PE将向同一VPLS,即所述第一VSI的所有其它直连端口以及所有其他PE转发所述第一报文。如果所述第一报文的目的MAC地址为非广播地址的报文,且所述本地PE的MAC转发表中还没有学习到所述目的MAC地址,则所述本地PE将广播所述第一报文。本发明实施例提供的VPLS中MAC地址学习的方法,所述本地PE从第一接口收到第一报文后,首先获取所述第一报文所属的第一VSI和第一sub-VSI的服务等级,并根据所述第一报文的源MAC地址和第一VSI查询MAC转发表,在首次学习到该源MAC地址,即,MAC转发表中没有匹配的表项时,将第一sub-VSI的服务等级作为该源MAC地址的MAC服务等级相应存入MAC转发表中;而在后续又学习到该源MAC地址,即,MAC转发表中存在匹配的第一MAC转发表项时,通过比较第一sub-VSI的服务等级和第一MAC转发表项中保存的MAC服务等级,来判断MAC学习是否异常,只有当第一sub-VSI服务等级高于或等于第一MAC转发表项的MAC服务等级时,才用第一接口及第一sub-VSI的服务等级更新第一MAC转发表项的出接口和MAC服务等级;从而可以自动识别并防止来自低服务等级的sub-VSI的报文,仿冒攻击高服务等级的MAC地址。可以理解的是,本发明实施例中,可以将网关设备、DHCP服务器、DNS服务器等重要设备的AC或MAC地址设置为高服务等级,相应建立高服务等级的sub-VSI,从而在MAC地址学习过程中,可以自动识别并防止MAC地址仿冒攻击,避免因MAC地址仿冒攻击引起网络服务质量下降甚至中断。本发明实施例提供了一种VC标签分配装置,位于PE设备内,用于实施本发明图2、图3或图4所示的方法;如图10a所示,所述装置可以包括:发送器1001,用于向远端PE通告VSI的本地sub-VSI;获取模块1002,用于获取所述远端PE为所述VSI的所述本地sub-VSI分配的VC标识和VC标签,将所述VSI的标识、所述本地sub-VSI的服务等级,及所述远端PE为所述本地sub-VSI分配的VC标识和VC标签的对应关系保存到所述本地PE的出标签映射表;如图10b所示,所述装置还可以包括:接收器1003,用于接收所述远端PE通告所述VSI的远端sub-VSI;标签分配模块1004,用于向所述远端PE为所述远端sub-VSI分配VC标识和VC标签。本发明实施例中,将一个VSI分为不同服务等级的sub-VSI(子VSI),并将VSI内的终端划分到不同服务等级的sub-VSI中,一个sub-VSI具体通过VSI和一个sub-VSI的服务等级来标识。一个PE上可能有VSI的所有sub-VSI的服务等级,也可能只有部分sub-VSI的服务等级,具体与接入该PE的VSI内终端的服务等级相对应。各个PE上保存终端服务等级信息表,所述终端服务等级信息表中包括终端标识、VSI和sub-VSI的服务等级的对应关系,通常预先配置在各个PE上。结合图1所示VPLS网络,各个PE上的服务等级信息表可参见表1a,表2a和表3a,具体地可参考本发明实施例前述内容,在此不再赘述。如图10c所示,所述装置进一步还可以包括确定模块1005,用于根据所述PE的终端服务等级信息表,确定向所述远端PE通告的所述VSI的本地sub-VSI。可选地,当采用DU方式分配VC标签时,所述确定模块1005具体用于根据所述PE的终端服务等级信息表和出标签映射表,确定向所述远端PE通告的所述VSI的本地sub-VSI。具体可参考201中所述,在此不再赘述。基于LDP协议的标签分配有两种方式:下游按需分配(downstreamondemand,简称DoD)方式和下游自主分配(downstreamunsolicited,简称DU)方式。所述PE可以采用DoD方式,也可以采用DU方式,向所述远端PE通告所述VSI的所述本地sub-VSI。本发明实施例中,可以定义一种新的类型长度值(type-length-value,简称TLV),服务等级TLV,用于在LDP标签请求消息或LDP标签映射消息中携带sub-VSI的服务等级信息,参见图4,为本发明实施例提供的LDP标签请求消息的格式示意图;参见图6,为本发明实施例提供的LDP标签映射消息的格式示意图。可以理解的是,可以在LDP标签请求消息或LDP标签映射消息中携带多个服务等级TLV,用于通告VSI的多个sub-VSI。当采用DoD方式进行标签分配时,所述发送器1001,具体用于向所述远端PE发送第一LDP标签请求消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签请求消息中包括所述VSI的标识和所述本地sub-VSI的服务等级。所述接收器1003,还用于接收所述远端PE发送的第一LDP标签映射消息,所述第一LDP标签映射消息包括所述VSI的标识,所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签。所述获取模块1002,具体用于从所述接收器1003接收的所述第一LDP标签映射消息中获取所述第一VC标识和所述第一VC标签,并将所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签的对应关系保存到所述PE的出标签映射表。所述接收器1003,具体用于接收所述远端PE发送的第二LDP标签请求消息,所述第二LDP标签请求消息中包括所述VSI的标识和所述远端sub-VSI的服务等级。所述标签分配模块1004,具体用于根据所述接收器1003接收的所述第二LDP标签请求消息,为所述VSI的所述远端sub-VSI分配第二VC标识和第二VC标签,并将第二VC标签和所述远端sub-VSI的对应关系,即,所述第二VC标签、所述VSI的标识和所述远端sub-VSI的服务等级保存到所述PE的入标签映射表中。所述发送器1001,还用于向所述远端PE发送第二LDP标签映射消息,响应所述第二LDP标签请求消息,所述第二LDP标签映射消息中包括所述VSI的标识,所述远端sub-VSI的服务等级、所述第二VC标识和所述第二VC标签。结合图1所示VPLS网络中用户A的VSI-A,采用DoD方式进行VC标签分配,建立VC,各个PE上生成的入标签映射表分别如表1b,2b和3b所示,出标签映射表分别如表1c,2c和3c所示,具体参见图3所示方法实施例,在此不再赘述。当采用DU方式进行标签分配时,所述发送器1001,具体用于向所述远端PE发送第一LDP标签映射消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级、第一VC标识和第一VC标签;所述标签分配模块1004,还可以用于向所述远端PE为所述VSI的所述本地sub-VSI分配所述第一VC标识和所述第一VC标签,并将所述VSI的标识、所述本地sub-VSI的服务等级和第一VC标签保存到所述PE的入标签映射表中。所述接收器1003,还用于接收所述远端PE发送的第二LDP标签映射消息,所述第二LDP标签映射消息包括所述VSI的标识,所述本地sub-VSI的服务等级、第二VC标识和第二VC标签;所述获取模块1002,具体用于从所述接收器1003接收的所述第二LDP标签映射消息中获取所述本地sub-VSI的第二VC标识和第二VC标,将所述VSI的标识、所述本地sub-VSI的服务等级、所述第二VC标识和所述第二VC标签的对应关系保存到所述PE的出标签映射表。所述接收器1003,具体用于接收所述远端PE发送的第三LDP标签映射消息,所述第三LDP标签映射消息中包括所述VSI的标识,所述远端sub-VSI的服务等级、第三VC标识和第三VC标签;所述获取模块1002,还用于从所述第三LDP标签映射消息中获取所述远端PE为所述远端sub-VSI分配的第三VC标识和第三VC标签,并将所述VSI的标识、所述远端sub-VSI的服务等级、第三VC标识和第三VC标签的对应关系保存到所述PE的出标签映射表。所述标签分配模块1004,具体用于为所述VSI的所述远端sub-VSI分配第四VC标识和第四VC标签,并将所述第四VC标签和所述远端sub-VSI的对应关系,即所述第四VC标签、所述VSI的标识和所述远端sub-VSI的服务等级保存到所述PE的入标签映射表中。所述发送器1001,还用于向所述远端PE发送第四LDP标签映射消息,响应所述第三LDP标签映射消息,所述第四LDP标签映射消息中包括所述VSI,所述远端sub-VSI的服务,所述第四VC标识和所述第四VC标签。结合图1所示VPLS网络中用户A的VSI-A,采用DU方式进行VC标签分配,建立VC,各个PE上生成的入标签映射表分别如表1b’,2b’和3b’所示,出标签映射表分别如表1c’,2c’和3c’所示,具体参见图7所示方法实施例,在此不再赘述。可选地,在部署VPLS时可以设置VPLS服务等级特性,使能该特性,则按照本发明提供的技术方案,基于服务等级构建VPLS;去使能该特性,则按照VSI构建VPLS。所述装置还可以包括特性控制模块,用于使能或去使能VPLS服务等级特性。需要说明的是,sub-VSI、sub-VSI的服务等级本身并没有本地和远端之分;本发明实施例中,为方便叙述,将所述PE上设置的所述VSI的sub-VSI、sub-VSI的服务等级相应称为本地sub-VSI、本地sub-VSI的服务等级;将所述远端PE上设置的所述VSI的sub-VSI、sub-VSI的服务等级相应称为远端sub-VSI、远端sub-VSI的服务等级。本发明实施例中,所述PE通过所述VC标签分配装置,与远端PE间相互通告sub-VSI的服务等级,分配VC标签,建立起VC,从而可以实现基于服务等级的VPLS的构建。本发明实施例提供了一种MAC地址学习装置,位于PE设备内,用于实施本发明图9所示的方法;如图11a所示,所述装置可以包括:接收模块1101,用于从第一接口接收第一报文;第一获取模块1102,用于获取所述第一报文的源MAC地址,以及所述第一报文所属的第一虚拟交换实例VSI的标识和第一子虚拟交换实例sub-VSI的服务等级;查询模块1103,用于根据所述第一VSI的标识和所述第一报文的源MAC地址查询所述PE的MAC转发表,所述MAC转发表包括VSI标识,MAC地址,出接口标识和MAC服务等级的对应关系;第二获取模块1104,用于当所述PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的第一MAC转发表项时,获取所述第一MAC转发表项的MAC服务等级;判断模块1105,用于判断所述第一获取模块1102中获取的所述第一sub-VSI的服务等级是否高于或等于所述第二获取模块1104中获取的所述第一MAC转发表项的MAC服务等级;更新模块1106,用于当所述第一sub-VSI的服务等级高于或等于所述第一MAC转发表项的MAC服务等级时,用所述第一接口的标识及所述第一sub-VSI的服务等级更新所述第一MAC转发表项的出接口标识和MAC服务等级。如图11b所示,所述装置还可以包括:攻击判定模块1107,用于当所述第一sub-VSI的服务等级低于所述第一MAC转发表项的MAC服务等级时,判定存在MAC地址仿冒攻击;地址存储模块1108,用于当所述PE的MAC转发表中不存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的表项时,将所述第一VSI的标识、所述第一报文的源MAC地址、所述第一接口的标识及所述第一sub-VSI的服务等级存入所述PE的MAC转发表中。本实施例中,当所述攻击判定模块1107判定存在MAC地址仿冒攻击时,说明本次根据所述第一报文进行的MAC地址学习异常,则不刷新MAC表项,从而实现MAC地址仿冒攻击的自动识别和防范,提高了VPLS网络的安全性。当所述第一报文中包括第一VC标签,所述第一接口具体为第一VC时,所述第一获取模块1102,具体用于根据所述第一VC标签,查询所述PE的入标签映射表,获取所述入标签映射表中入VC标签与所述第一VC标签匹配的第一标签映射表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。当所述第一接口具体为第一AC时,所述第一获取模块1102,具体用于根据所述第一报文的源MAC地址或者所述第一AC的标识,查询所述PE的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级;所述终端服务等级信息表中包括终端标识、VSI标识和sub-VSI的服务等级的对应关系,终端标识包括MAC地址或AC标识。进一步可选地,所述第一获取模块1102,具体用于根据所述第一报文的源MAC地址查询所述终端服务等级信息表;当所述终端服务等级信息表中第一终端服务等级信息表项的终端标识与所述第一报文的源MAC地址相同时,获取所述第一终端服务等级信息表项的VSI标识和sub-VSI的服务等级;当所述终端服务等级信息表中任一表项的终端标识与所述第一报文的源MAC地址均不相同时,根据所述第一AC的标识查询所述终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一AC的标识相同的第二终端服务等级信息表项的VSI标识和sub-VSI的服务等级。如图11c所示,所述PE进一步还可以包括攻击处理模块1109,用于当所述攻击判定模块判定1107存在MAC地址仿冒攻击时,执行发送告警信息、记录攻击日志、进行攻击溯源、阻断攻击行为等一种或多种处理。所述攻击处理模块1109,具体用于根据MAC地址仿冒攻击行为的入方向,即,接收携带仿冒源MAC地址的所述第一报文的第一接口,判断MAC仿冒攻击源的位置;根据被仿冒的MAC地址,丢弃MAC地址仿冒攻击行为的入方向所接收的所有攻击报文,即源MAC地址为所述被仿冒的MAC地址的报文,从而阻断攻击流量,隔离攻击源。本发明实施例中,所述PE所述MAC地址学习装置,在判定存在MAC地址仿冒攻击后,进行攻击处理,进一步提高VPLS网络的安全性。可以理解的是,VPLS中各个PE都会进行MAC学习,如果PE采取阻断攻击处理,则位于某个站点内的攻击源发出的MAC地址仿冒攻击报文,会被该站点所接入的PE阻断在该站点内,而不会被传输到VPLS网络中其他PE,达到阻断攻击流量,隔离攻击源的目的,进一步增强对MAC地址仿冒攻击的防范。如图11d所示,所述装置进一步的还可以包括VC建立模块1110,用于与远端PE间基于服务等级为所述第一VSI的sub-VSI分配VC标识和VC标签,构建基于服务等级的VPLS;具体地,所述VC建立模块1110可以包括如本发明图10a-10c所示VC标签分配装置中的各个模块,用于实现本发明图2、图3或图4所示的方法,在此不再赘述。所述装置进一步的还可以包括转发模块,用于转发所述第一报文;所述转发模块,具体用于获取所述第一报文的目的MAC地址,当所述本地PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的目的MAC地址匹配的第二MAC转发表项时,获取所述第二MAC转发表项的出接口标识;若所述第二MAC转发表项的出接口标识对应的接口为VC时,根据所述第一VSI、所述第一sub-VSI的服务等级和所述第二MAC转发表项的出接口标识查询所述本地PE的出标签映射表,获取转发所述第一报文的出VC标签,然后封装并转发所述第一报文;若所述第二MAC转发表项的出接口标识对应的接口为AC时,向所述第二MAC转发表项的出接口标识对应的AC转发所述第一报文。所述转发模块,具体还用于如果所述第一报文是远端PE发来的广播报文,则向同一VPLS,即所述第一VSI的所有直连端口转发所述第一报文;如果所述第一报文是本地用户,即,连接到所述本地PE的CE,发来的广播报文,则向同一VPLS,即所述第一VSI的所有其它直连端口以及所有其他PE转发所述第一报文;如果所述第一报文的目的MAC地址为非广播地址的报文,且所述PE的MAC转发表中还没有学习到所述目的MAC地址,则广播所述第一报文。本发明实施例提供的MAC地址学习装置,通过构建基于服务等级的VPLS,并在MAC地址学习过程中,基于服务等级判断MAC学习是否异常,可以自动识别并防止来自低服务等级的sub-VSI的报文,仿冒攻击高服务等级的MAC地址。可以理解的是,本发明实施例中,可以将网关设备、DHCP服务器、DNS服务器等重要设备的AC或MAC地址设置为高服务等级,相应建立高服务等级的sub-VSI,从而在MAC地址学习过程中,可以自动识别并防止MAC地址仿冒攻击,避免因MAC地址仿冒攻击引起网络服务质量下降甚至中断。参见图12,为本发明实施例提供的运营商边缘PE设备的硬件结构示意图,所述PE包括处理器1201,存储器1202,通信接口1203和总线1204;其中1201,存储器1202,通信接口1203通过总线1204相互连接;总线1204可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器1202,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器1202可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。处理器1201可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器1201执行所述程序代码,用于向远端PE通告VSI的本地sub-VSI,获取所述远端PE为所述本地sub-VSI分配的VC标识和VC标签,并将所述VSI的标识、所述本地sub-VSI的服务等级、所述远端PE为所述本地sub-VSI分配的VC标识和VC标签的对应关系保存到所述PE的出标签映射表;接收所述远端PE通告的所述VSI的远端sub-VSI,向所述远端PE为所述远端sub-VSI分配VC标识和VC标签。所述通信接口1203,用于与网络中设备通信,包括所述远端PE,接入所述PE的用户边缘CE设备等。本发明实施例中,将一个VSI分为不同服务等级的sub-VSI(子VSI),并将VSI内的终端划分到不同服务等级的sub-VSI中,一个sub-VSI具体通过VSI和一个sub-VSI的服务等级来标识。一个PE上可能有VSI的所有sub-VSI的服务等级,也可能只有部分sub-VSI的服务等级,各个PE上保存终端服务等级信息表,所述终端服务等级信息表中包括终端标识、VSI和sub-VSI的服务等级的对应关系,通常预先配置在各个PE上。结合图1所示VPLS网络,各个PE上的服务等级信息表可参见表1a,表2a和表3a,具体地可参考本发明实施例前述内容,在此不再赘述。可选地,处理器1201,还用于根据所述PE的终端服务等级信息表,确定向所述远端PE通告的所述VSI的所述所有本地sub-VSI。可选地,所述存储器1202还用于保存所述PE的终端服务等级信息表,以及所述PE的入标签映射表和出标签映射表。当采用DoD方式进行标签分配时,处理器1201,具体用于向所述远端PE发送第一LDP标签请求消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签请求消息中包括所述VSI的标识和所述本地sub-VSI的服务等级,接收所述远端PE发送的所述第一LDP标签映射消息,所述第一LDP标签映射消息包括所述VSI的标识,所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签,从所述第一LDP标签映射消息中获取所述第一VC标识和所述第一VC标签,并将所述VSI的标识、所述本地sub-VSI的服务等级、所述第一VC标识和所述第一VC标签的对应关系保存到所述PE的出标签映射表;具体还用于接收所述远端PE发送的第二LDP标签请求消息,所述第二LDP标签请求消息中包括所述VSI的标识和所述远端sub-VSI的服务等级,为所述VSI的所述远端sub-VSI分配第二VC标识和第二VC标签,并将所述第二VC标签、所述VSI的标识和所述远端sub-VSI的服务等级保存到所述PE的入标签映射表中,向所述远端PE发送第二LDP标签映射消息,响应所述第二LDP标签请求消息,所述第二LDP标签映射消息中包括所述VSI的标识,所述远端sub-VSI的服务等级、所述第二VC标识和所述第二VC标签。当采用DU方式进行标签分配时,处理器1201,具体用于向所述远端PE发送第一LDP标签映射消息通告所述VSI的所述本地sub-VSI,所述第一LDP标签映射消息中包括所述VSI的标识,所述本地sub-VSI的服务等级、第一VC标识和第一VC标签;向所述远端PE为所述VSI的所述本地sub-VSI分配所述第一VC标识和所述第一VC标签,并将所述VSI的标识、所述本地sub-VSI的服务等级和第一VC标签保存到所述PE的入标签映射表中;接收所述远端PE发送的第二LDP标签映射消息,所述第二LDP标签映射消息包括所述VSI的标识,所述本地sub-VSI的服务等级、第二VC标识和第二VC标签,从所述第二LDP标签映射消息中获取所述本地sub-VSI的第二VC标识和第二VC标,将所述VSI的标识、所述本地sub-VSI的服务等级、所述第二VC标识和所述第二VC标签的对应关系保存到所述PE的出标签映射表;具体还用于接收所述远端PE发送的第三LDP标签映射消息,所述第三LDP标签映射消息中包括所述VSI的标识,所述远端sub-VSI的服务等级、第三VC标识和第三VC标签,从所述第三LDP标签映射消息中获取所述远端PE为所述远端sub-VSI分配的第三VC标识和第三VC标签,并将所述VSI的标识、所述远端sub-VSI的服务等级、第三VC标识和第三VC标签的对应关系保存到所述PE的出标签映射表;为所述VSI的所述远端sub-VSI分配第四VC标识和第四VC标签,并将所述第四VC标签、所述VSI的标识和所述远端sub-VSI的服务等级保存到所述PE的入标签映射表中;向所述远端PE发送第四LDP标签映射消息,响应所述第三LDP标签映射消息,所述第四LDP标签映射消息中包括所述VSI,所述远端sub-VSI的服务,所述第四VC标识和所述第四VC标签。进一步的,所述处理器1201,还可以用于从第一接口接收第一报文,获取所述第一报文的源MAC地址,以及所述第一报文所属的第一虚拟交换实例VSI的标识和第一子虚拟交换实例sub-VSI的服务等级,根据所述第一VSI的标识和所述第一报文的源MAC地址查询所述PE的MAC转发表,所述MAC转发表包括VSI标识,MAC地址,出接口标识和MAC服务等级的对应关系;当所述PE的MAC转发表中不存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的表项时,将所述第一VSI的标识、所述第一报文的源MAC地址、所述第一接口的标识及所述第一sub-VSI的服务等级存入所述PE的MAC转发表中;当所述PE的MAC转发表中存在与所述第一VSI的标识和所述第一报文的源MAC地址匹配的第一MAC转发表项时,获取所述第一MAC转发表项的MAC服务等级,判断所述第一sub-VSI的服务等级是否高于或等于所述第一MAC转发表项的MAC服务等级,若所述第一sub-VSI的服务等级高于或等于所述第一MAC转发表项的MAC服务等级,用所述第一接口的标识及所述第一sub-VSI的服务等级更新所述第一MAC转发表项的出接口标识和MAC服务等级;若所述第一sub-VSI服务等级低于所述第一MAC转发表项的MAC服务等级,判定存在MAC地址仿冒攻击,不刷新所述MAC转发表。可选地,所述存储器1202还用于保存所述PE的MAC转发表。当所述第一报文中包括第一VC标签,所述第一接口具体为第一VC时,所述处理器1201,具体用于根据所述第一VC标签,查询所述本地PE的入标签映射表,获取所述入标签映射表中入VC标签与所述第一VC标签匹配的第一标签映射表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级。当所述第一接口具体为第一AC时,所述处理器1201,具体用于根据所述第一报文的源MAC地址或者所述第一AC的标识,查询所述PE的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一报文的源MAC地址或者所述第一AC的标识匹配的表项的VSI标识和sub-VSI的服务等级,作为所述第一报文所属的第一VSI的标识和第一sub-VSI的服务等级;所述终端服务等级信息表中包括终端标识、VSI标识和sub-VSI的服务等级的对应关系,终端标识包括MAC地址或AC标识。进一步可选地,所述处理器1201,具体用于根据所述第一报文的源MAC地址查询所述终端服务等级信息表;当所述终端服务等级信息表中第一终端服务等级信息表项的终端标识与所述第一报文的源MAC地址相同时,获取所述第一终端服务等级信息表项的VSI标识和sub-VSI的服务等级;当所述终端服务等级信息表中任一表项的终端标识与所述第一报文的源MAC地址均不相同时,根据所述第一AC的标识查询所述终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所述第一AC的标识相同的第二终端服务等级信息表项的VSI标识和sub-VSI的服务等级。进一步地,所述处理器1201,还可以用于当判定存在MAC地址仿冒攻击时,执行发送告警信息、记录攻击日志、进行攻击溯源、阻断攻击中的一种或多种处理。所述处理器1201,具体用于根据MAC地址仿冒攻击行为的入方向,即,接收携带仿冒源MAC地址的第一报文的第一接口,判断MAC仿冒攻击源的位置;根据被仿冒的MAC地址,丢弃MAC地址仿冒攻击行为的入方向所接收的所有攻击报文,即源MAC地址为所述被仿冒的MAC地址的报文,从而阻断攻击流量,隔离攻击源,进一步提高VPLS网络的安全性。本发明实施例提供的PE可以基于服务等级构建VPLS,并在基于服务等级的VPLS中进行MAC地址学习,实现MAC地址仿冒攻击的自动识别和防范,避免因MAC地址仿冒攻击引起网络服务质量下降甚至中断。参见图13,是本发明实施例提供的VPLS网络的系统示意图,如图13所示,所述VPLS网络包括至少两个PE设备,所述PE设备包括如本发明图10a-10c、图11a-11e和图12所示的装置,可以实现基于服务等级的VC标签分配和MAC地址学习。需要说明的是,本发明实施例主要以采用LDP协议作为PW信令协议的Martini方式VPLS场景说明如何基于服务等级构建VPLS和MAC地址学习,从而实现MAC地址仿冒攻击的自动识别和防范;本领域技术人员可以理解的是,本发明技术方案在Kompella方式VPLS场景下,通过对BGP协议的适当扩展,其实现原理和过程相似。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1