CN104040965A - Vpls中vc标签分配和mac地址学习的方法,设备和系统 - Google Patents

Vpls中vc标签分配和mac地址学习的方法,设备和系统 Download PDF

Info

Publication number
CN104040965A
CN104040965A CN201280002587.9A CN201280002587A CN104040965A CN 104040965 A CN104040965 A CN 104040965A CN 201280002587 A CN201280002587 A CN 201280002587A CN 104040965 A CN104040965 A CN 104040965A
Authority
CN
China
Prior art keywords
vsi
sub
service
grade
local
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
CN201280002587.9A
Other languages
English (en)
Other versions
CN104040965B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104040965A publication Critical patent/CN104040965A/zh
Application granted granted Critical
Publication of CN104040965B publication Critical patent/CN104040965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明实施例公开了一种VPLS中VC标签分配和MAC地址学习的方法,设备和系统;通过将VSI划分为不同服务等级的子VSI,并将终端加入不同服务等级子VSI中,基于服务等级进行VC标签分配,构建VPLS,并基于服务等级进行MAC地址学习,可以自动识别并防止MAC地址仿冒攻击。

Description

VPLS中 VC标签分配和 MAC地址学习的方法, 设备和系统 技术领域
本发明实施例涉及计算机通信领域, 尤其涉及一种 VPLS中 ( Virtual Circuit, 简称 VC )标签分配和介质访问控制( Media Access Control, 简称 MAC )地址学习的方法, 设备和系统。 背景技术
虚拟专用局域网 ( local area network, 简称 LAN )业务( virtual private LAN service, 简称 VPLS )是一种基于网际协议 ( Internet
Protocol, 简称 IP ) /多协议标签交换 ( multi-protocol label switching, 简称 MPLS )和以太网技术的二层虚拟专用网 ( layer 2 virtual private network, 简称 L2VPN )技术, 能够在 IP/MPLS网络上提供类似于 LAN 服务的业务。 VPLS可以使用户分布于不同位置的站点(site )通过分 组交换网络( packet swith network, 简称 PSN )相连, 并且使各个站 点像在一个 LAN那样工作。 不同于普通 L2VPN的点到点业务, VPLS 支持点到点、 点到多点、 多点到多点的业务类型。
一个 VPLS中的运营商边缘 ( rovider edge, PE )设备是全连接的, 即彼此之间存在伪线(psedo wire, 简称 PW ), PW是两个 PE 间的虚 拟连接, 在两个 PE之间传输帧, 建立、 维护和拆除 PW的工作由 PE 利用 PW信令协议完成, 分为利用标签分发协议 ( label distribution protocol, 简称 LDP )作为 PW信令协议的 Martini方式 VPLS, 和利用边 界网关协议 ( border gateway protocol, 简称 BGP )作为 PW信令协议 的 Kompella方式 VPLS两种。 一条 PW通常由一对反向虚电路 ( Virtual Circuit, 简称 VC )组成, VC是两个 PE之间的一种单向逻辑连接, 在 一些应用中一个 VC 也可作为单向 PW使用。 用户边缘(customer edge, 简称 CE )设备通过接入线路(Attachment Circuit, 简称 AC ) 接入到 PE, AC 用于 CE 和 PE之间传输帧, 可以是物理链路, 也可 以是逻辑链路。 PE承担仿真网桥的功能, 将 CE经由 AC送入的以太网 帧转发至适当的 PW, 送达目的地, 由此实现用户不同位置的局域网 间的相互访问。 PE间使用虚拟交换实例(virtual switch instance, 简称 VSI )进行 VPLS转发; VSI 实现以太桥接功能, 并能够终结 PW, 每 个 VSI提供单独的 VPLS 服务。
在 VPLS中, PE基于介质访问控制 (Media Access Control, 简称 MAC ) MAC 地址, 或者 MAC 地址和虚拟局域网 ( virtual local area network, 简称 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地址, 例如仿冒网关设备, 动态主机配置协议( dynamic host configuration protocol,简称 DHCP )月良务器,或域名系统 ( domain name system, 简称 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标签, 并在 的服务等级、 所述第一 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网络的拓朴示意图; 图 3是本发明实施例提供的采用 DoD方式分配 VC标签的方法流 程图;
图 4是本发明实施例提供的 LDP标签请求消息的格式示意图; 图 5是本发明实施例提供的 DoD方式通告服务等级和标签分配的 信息交互示意图;
图 6是本发明实施例提供的 LDP标签映射消息的格式示意图; 图 7是本发明实施例提供的采用 DU方式分配 VC标签的方法流程 图;
图 8是本发明实施例提供的 DU方式通告服务等级和标签分配的 信息交互示意图; 图 10a, 10b, 10c是本发明实施例提供的 VC标签分配装置的结构 框图;
图 l la, l ib, 11c和 l id是本发明实施例提供的 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-VSI 0, 这样 AC3下挂的终端默认都加入 sub-VSI 0; 将 连接 PE2的 AC4的服务等级设置 5, 加入 sub-VSI 5, 这样 AC4下挂 的终端默认都加入 sub-VSI 5; 将连接 PE3的 AC1和 AC2的服务等 级设置 0, 加入 sub-VSI 0, 这样 AC1和 AC2下挂的终端默认都加入 sub-VSI 0; 同时指定 MAC地址为 0001-0203-0405的服务器的服务等 级为 10, 加入 sub-VSI 10。 将 VSI-B划分为多个服务等级, 采用仅 按 AC划分终端服务等级的方式,将连接 PE1的 AC13的服务等级设 置 5, 加入 sub-VSI 5, 这样 AC 13下挂的终端默认都加入 sub-VSI 5; 将连接 PE2的 AC 11的服务等级设置 0, 加入 sub-VSI 0, 这样 AC 13 下挂的终端默认都加入 sub-VSI 0; 将连接 PE3的 AC12的服务等级 设置 2,加入 sub-VSI 2,这样 AC 12下挂的终端默认都加入 sub-VSI 2。 图 1所示 VPLS网络中, PE1的终端服务等级信息表如表 la所示, 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。
表 la
本发明实施例中, 以 0表示低服务等级, 数值越大, 表示服务等 级越高。 当然, 也可以定义其他方式, 例如 A表示低服务等级, F表 示高服务等级, 本发明对此不作限定。
可选地, 可以在各个 PE上为一个 VSI默认配置一个低服务等级 的 sub-VSI, 例如, 服务等级为 0的 sub-VSI 0, 对于未设置服务等级 的 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标签请求( label request )消息或 LDP标签映射( label mapping ) 消息向所述远端 PE通告所述 VSI的 本地 sub-VSI。
基于 LDP 协议的标签分配有两种方式: 下游按需分配 ( downstream on demand, 简称 DoD ) 方式和下游自主分配 ( downstream unsolicited, 简称 DU ) 方式。 所述本地 PE可以采用 DoD方式向所述远端 PE通告所述 VSI的本地 sub-VSI; 此时所述本 地 PE向所述远端 PE发送 LDP标签请求消息,所述 LDP标签请求消 息中包括所述 VSI的标识和所述本地 sub-VSI的服务等级。所述本地 标签映射消息中包括所述 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的终端服务等级信息 表, 如表 la所示, 确定需要向远端 PE通告的 VSI-A的本地 sub-VSI 包括: 由 VSI-A和服务等级 0标识的 sub-VSI 0; PE3根据 PE3的终 端服务等级信息表, 如表 3a所示,确定需要向远端 PE通告的 VSI-A 的所有本地 sub-VSI包括: 由 VSI-A和服务等级 0标识的 sub-VSI 0, 以及由 VSI-A和服务等级 10标识的 sub-VSI 10。
进一步地, 当采用 DU方式进行 VC标签分配时, 所述本地 PE 根据所述本地 PE的终端服务等级信息表, 确定需要向远端 PE通告 的所述 VSI的本地 sub-VSI, 具体包括: 所述本地 PE根据所述本地 PE的终端服务等级信息表和出标签映射表,确定需要向远端 PE通告 的所述 VSI的本地 sub-VSI。仍以图 1所示 VPLS网络中 VSI-A为例, PE3首先根据 PE3的终端服务等级信息表, 如表 3a所示, 确定需要 向 PE1通告 sub-VSI 0和 sub-VSI 10, 然后 PE3根据 PE3的出标签映 射表, 发现 PE1已经向 PE3通告了 sub-VSI 0, 即 PE3的出标签映射 表中已经保存了 PE1为 sub-VSI 0分配的 VC标签, 则 PE3最终确定 需要向 PE1通告的本地 sub-VSI只有 sub-VSI 10。 或者, 例如 PE3首 先采用 DU方式向 PE1通告了 sub-VSI 0和 sub-VSI 10, 在 PE1的出 标签映射表中保存了 PE3为 sub-VSI 0和 sub-VSI 10分配的 VC标签, 然后 PE1根据 PE1的终端服务等级信息表, 如表 la所示, 确定需要 向 PE3通告 sub-VSI 0, 再根据 PE1的出标签映射表, 发现已经保存 了 PE3为 sub-VSI 0分配的 VC标签, 则 PE1最终确定无需再向 PE3 通告本地 sub-VSI, 即 sub-VSI 0。
所述远端 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消息头、 标签请求 消息、 转发等价类 (forward equivalence class, 简称 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的终端服务等级信息 表, 如表 la所示, 确定需要向远端 PE通告的 VSI-A的本地 sub-VSI 包括: 由 VSI-A和服务等级 0标识的 sub-VSI 0; PE3根据 PE3的终 端服务等级信息表, 如表 3a所示,确定需要向远端 PE通告的 VSI-A 的所有本地 sub-VSI包括: 由 VSI-A和服务等级 0标识的 sub-VSI 0, 以及由 VSI-A和服务等级 10标识的 sub-VSI 10。 举例来说, 结合图 1所示 VPLS网络中用户 A的 VSI-A, 以 PE3作为所述本地 PE, PE1 作为所述远端 PE为例, PE3向 PE1发送 LDP标签请求消息,通告两 个本地 sub-VSI: sub-VSI 0,即 VSI-A和服务等级 0,以及 sub-VSI 10, 即 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-VSI 0, 即, VSI-A和服务等级 0, 分配 VC2和 VC 标签 1024; 为 sub-VSI 10, 即, 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标签映射消息 mapl3。
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标签映射消息 map 13后, 从中获取 PE1为所述两个本地 sub-VSI: sub-VSI 0, 即 VSI-A和服务 等级 0, 以及 sub-VSI 10, 即 VSI-A和服务等级 10, 分配的 VC标识 和 VC 标签, 即从该 LDP 标签映射消息 map 13 中获取两个本地 sub-VSI的 VC标识和出 VC标签; 具体地, PE3从该 LDP标签映射 消息 map 13获取到 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-VSI 0对应的 VC2, sub-VSI 10对应的 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中 reql3和 map31所示; PE1作为本地 PE, PE2作为远端 PE 分配 VC标识和 VC标签,建立 PE1到 PE2方向 VC,如图 5中 reql2 和 map21所示; PE2作为本地 PE, PE1作为远端 PE分配 VC标识和 VC标签,建立 PE2到 PE1方向 VC,如图 5中 req21和 mapl2所示; 以及 PE2作为本地 PE, PE3作为远端 PE分配 VC标识和 VC标签, 建立 PE2到 PE3方向 VC, 如图 5中 req23和 map32所示。 具体地, 可以参考本实施例中 PE3作为本地 PE, PE1作为远端 PE的过程,在 此不再赘述。 最后, 各个 PE的入标签映射表和出标签映射表分别保 存有 VSI-A的相应 sub-VSI的表项, 如下各表所示; 表 lb为 PE1的 入标签映射表, 表 lc为 PE1的出标签映射表; 表 2b为 PE2的入标 签映射表, 表 2c为 PE2的出标签映射表; 表 3b为 PE3的入标签映 射表, 表 3c为 PE3的出标签映射表。
表 lb
入 VC标签 VSI 服务等级 1026 VSI-A 5
1024 VSI-A 0
1025 VSI-A 10 表 lc
表 2b
表 2c
表 3b
表 3c
VC7 VSI-A 0 1026
VC6 VSI-A 10 1025 本实施例中, 采用 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-VSI 0和 sub-VSI 10, 然后 PE3根据 PE3的出标签映射表,发现 PE1已经 向 PE3通告了 sub-VSI 0, 即 PE3的出标签映射表中已经保存了 PE1 为 sub-VSI 0分配的 VC标签, 则 PE3最终确定需要向 PE1通告的本 地 sub-VSI只有 sub-VSI 10。或者,例如 PE3首先采用 DU方式向 PE1 通告了 sub-VSI 0和 sub-VSI 10,在 PE1的出标签映射表中保存了 PE3 为 sub-VSI 0和 sub-VSI 10分配的 VC标签, 然后 PE1根据 PE1的终 端服务等级信息表, 如表 la所示, 确定需要向 PE3通告 sub-VSI 0, 再根据 PE1的出标签映射表,发现已经保存了 PE3为 sub-VSI 0分配 的 VC标签, 则 PE1最终确定无需再向 PE3通告本地 sub-VSI, 即 sub-VSI 0。
举例来说, 结合图 1所示 VPLS网络中用户 A的 VSI-A, 以 PE3 作为所述本地 PE, PE1作为所述远端 PE为例, PE3为 VSI-A的两个 本地 sub-VSI向 PE1分配 VC标识和 VC标签;具体的,为 sub-VSI 0, 即 VSI-A和服务等级 0, 分配 VC6和 VC标签 1026; 为 sub-VSI 10, 即 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-VSI 0和 sub-VSI 10, 以及为 sub-VSI 0分配的 VC6和 VC标签 1024, 为 sub-VSI 10分配的 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-VSI 0分配 VC8和 VC标签 1025, 为 sub-VSI 10 分配 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-VSI O, 即 VSI-A和服务等级 0, 以及 sub-VSI 10, 即 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中 mapl2和 mapl2,所示; 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-VSI 0和 sub-VSI 10, PE1通过第二 LDP标签映射消息响应 PE3 的通告; PE1根据 PE1的终端服务等级信息表和出标签映射表,确定 无需再向 PE3发送第一 LDP标签映射消息通告 sub-VSI 0。 最后, 各 个 PE 的入标签映射表和出标签映射表分别保存 VSI-A 的相关 sub-VSI的表项, 如下各表所示; 表 lb,为 PE1的入标签映射表, 表 lc,为 PE1的出标签映射表; 表 2b,为 PE2的入标签映射表, 表 2c,为 PE2的出标签映射表; 表 3b,为 PE3的入标签映射表, 表 3c,为 PE3 的出标签映射表。
表 lb, 1025 VSI-A 0
1026 VSI-A 10 表 lc,
表 2b,
表 2c,
表 3b, 1027 VSI-A 0
1025 VSI-A 10
1024 VSI-A 0
1028 VSI-A 5 表 3c'
本实施例中采用 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上的服务等级信息表可参见表 la, 表 2a 和表 3a, 具体地可参考本发明实施例前述内容, 在此不再赘述。
如图 10c所示, 所述装置进一步还可以包括确定模块 1005, 用于 根据所述 PE的终端服务等级信息表, 确定向所述远端 PE通告的所述 VSI的本地 sub-VSI。 可选地, 当采用 DU方式分配 VC标签时, 所述确 定模块 1005具体用于根据所述 PE的终端服务等级信息表和出标签映 射表,确定向所述远端 PE通告的所述 VSI的本地 sub-VSI。具体可参考 201中所述, 在此不再赘述。
基于 LDP 协议的标签分配有两种方式: 下游按需分配 ( downstream on demand, 简称 DoD ) 方式和下游自主分配 ( downstream unsolicited, 简称 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上生成的入标签映射表分别如表 lb, 2b 和 3b所示, 出标签映射表分别如表 lc, 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上生成的入标签映射表分别如表 lb,, 2b' 和 3b,所示, 出标签映射表分别如表 lc,, 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服务等级。
如图 lib所示, 所述装置还可以包括:
攻击判定模块 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地址仿冒攻击的防范。
如图 11 d所示,所述装置进一步的还可以包括 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- volatile memory ) , 例 如至少一个磁盘存储器。
处理器 1201 可以是通用处理器, 包括中央处理器 (Central Processing Unit, 简称 CPU ) 、 网络处理器(Network Processor, 简 称 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上的服务等级信息 表可参见表 la, 表 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、 图 l la-lle和图 12所示的装置, 可以实现 基于服务等级的 VC标签分配和 MAC地址学习。
需要说明的是, 本发明实施例主要以采用 LDP协议作为 PW信 令协议的 Martini方式 VPLS场景说明如何基于服务等级构建 VPLS 和 MAC地址学习,从而实现 MAC地址仿冒攻击的自动识别和防范; 本领域技术人员可以理解的是, 本发明技术方案在 Kompella 方式 VPLS场景下,通过对 BGP协议的适当扩展,其实现原理和过程相似。
以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范 围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内, 可轻易想到的变化或替换, 都应涵盖在本发明的保护范围 之内。

Claims (1)

  1. 权 利 要 求
    1、 一种 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服务等级。
    2、 根据权利要求 1所述的方法, 其特征在于, 还包括: 若所述第一 sub-VSI的服务等级低于所述第一 MAC转发表项的 MAC服务等级, 判定存在 MAC地址仿冒攻击。
    3、 根据权利要求 2所述的方法, 其特征在于, 还包括: 所述本地 PE执行: 发送告警信息, 记录攻击日志, 攻击溯源, 阻断攻击中的一种或多种处理。
    4、 根据权利要求 1至 3任一项所述的方法, 其特征在于, 还包 括:
    当所述本地 PE的 MAC转发表中不存在与所述第一 VSI的标识 和所述第一 文的源 MAC地址匹配的表项时,将所述第一 VSI的标 识、 所述第一报文的源 MAC地址、 所述第一接口的标识及所述第一 sub-VSI的服务等级的对应关系存入所述本地 PE的 MAC转发表中。
    5、 根据权利要求 1至 4任一项所述的方法, 其特征在于, 所述 第一报文中包括第一虚拟电路 VC 标签, 所述第一接口具体为第一 VC;
    相应地, 所述获取所述第一报文所属的第一 VSI 的标识和第一 sub-VSI的服务等级具体包括:
    根据所述第一 VC标签, 查询所述本地 PE的入标签映射表; 获取所述本地 PE的入标签映射表中入 VC标签与所述第一 VC 标签匹配的第一标签映射表项的 VSI标识和 sub-VSI的服务等级,作 为所述第一报文所属的第一 VSI的标识和第一 sub-VSI的服务等级。
    6、 根据权利要求 1至 4任一项所述的方法, 其特征在于, 所述 第一接口具体为第一接入电路 AC;
    相应地, 所述获取所述第一报文所属的第一 VSI 的标识和第一 sub-VSI的服务等级具体包括:
    根据所述第一报文的源 MAC地址或者所述第一 AC的标识, 查 询所述本地 PE的终端服务等级信息表, 所述终端服务等级信息表中 包括终端标识、 VSI标识和 sub-VSI的服务等级的对应关系;
    获取所述终端服务等级信息表中终端标识与所述第一报文的源 MAC地址或者所述第一 AC的标识匹配的表项的 VSI标识和 sub-VSI 的服务等级, 作为所述第一报文所属的第一 VSI 的标识和第一 sub-VSI的服务等级。
    7、 根据权利要求 6所述的方法, 其特征在于, 所述根据所述第 一才艮文的源 MAC地址或者所述第一 AC的标识, 查询所述本地 PE 的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与 所述第一报文的源 MAC地址或者所述第一 AC的标识匹配的表项的 VSI标识和 sub-VSI的服务等级具体包括:
    根据所述第一报文的源 MAC 地址查询所述终端服务等级信息 表;
    当所述终端服务等级信息表中第一终端服务等级信息表项的终 端标识与所述第一报文的源 MAC地址相同时, 获取所述第一终端服 务等级信息表项的 VSI标识和 sub-VSI的服务等级;
    当所述终端服务等级信息表中任一表项的终端标识与所述第一 报文的源 MAC地址均不相同时, 根据所述第一 AC的标识查询所述 终端服务等级信息表,获取所述终端服务等级信息表中终端标识与所 述第一 AC 的标识相同的第二终端服务等级信息表项的 VSI标识和 sub-VSI的服务等级。
    8、 根据权利要求 1至 7任一项所述的方法, 其特征在于, 在接 收第一报文之前, 还包括:
    所述本地 PE向远端 PE通告所述第一 VSI的本地 sub-VSI; 获取所述远端 PE为所述本地 sub-VSI分配的所述 VC标识和出 VC标签;
    将所述第一 VSI的标识、 所述本地 sub-VSI的服务等级、 所述远 端 PE为所述本地 sub-VSI分配的所述 VC标识和所述出 VC标签的 对应关系保存到所述本地 PE的出标签映射表。
    9、 根据权利要求 1至 8任一项所述的方法, 其特征在于, 在接 收第一报文之前, 还包括:
    所述本地 PE接收所述远端 PE 通告的所述第一 VSI 的远端 sub-VSI; 向所述远端 PE为所述远端 sub-VSI分配 VC标识和入 VC标签; 在所述本地 PE的入标签映射表保存所述第一 VSI的标识、 所述 所有远端 sub-VSI的服务等级、 所述本地 PE为所述远端 sub-VSI分 配的所述 VC标识和所述入 VC标签的对应关系。
    10、 一种虚拟专用局域网业务 VPLS中虚拟电路 VC标签分配的 方法, 其特征在于, 包括:
    本地运营商边缘 PE向远端 PE通告虚拟交换实例 VSI的本地子 虚拟交换实例 sub-VSI;
    获取所述远端 PE为所述本地 sub-VSI分配的 VC标识和 VC标 签;
    将所述 VSI、 所述本地 sub-VSI的服务等级、 所述远端 PE为所 述本地 sub-VSI分配的 VC标识和 VC标签的对应关系保存到所述本 地 PE的出标签映射表。
    11、 根据权利要求 10所述的方法, 其特征在于, 所述获取所述 远端 PE为所述本地 sub-VSI分配的 VC标识和 VC标签具体包括: 接收所述远端 PE发送的标签分发协议 LDP标签映射消息,从所 述 LDP标签映射消息中获取所述远端 PE为所述本地 sub-VSI分配的 VC标识和 VC标签,所述 LDP标签映射消息中包括所述 VSI的标识, 所述本地 sub-VSI的服务等级、 所述远端 PE为所述本地 sub-VSI分 配的 VC标识和 VC标签。
    12、 根据权利要求 10或 11所述的方法, 其特征在于, 还包括: 所述本地 PE接收所述远端 PE通告的所述 VSI的远端 sub-VSI; 所述本地 PE向所述远端 PE为所述 VSI的所述远端 sub-VSI分 配 VC标识和 VC标签;
    在所述本地 PE的入标签映射表保存所述 VSI的标识、 所述远端 sub-VSI的服务等级、 所述远端 PE为所述 VSI的所述远端 sub-VSI 分配的 VC标识和 VC标签的对应关系。
    13、 根据权利要求 10至 12任一项所述的方法, 其特征在于, 所 述本地 PE向远端 PE通告 VSI的本地 sub-VSI具体包括:
    所述本地 PE向所述远端 PE发送第一 LDP标签请求消息通告所 述 VSI的所述本地 sub-VSI,所述第一 LDP标签请求消息中包括所述 VSI的标识和所述本地 sub-VSI的服务等级。
    14、 根据权利要求 10至 12任一项所述的方法, 其特征在于, 所 述本地 PE向远端 PE通告 VSI的所有本地 sub-VSI具体包括:
    所述本地 PE向所述远端 PE发送第一 LDP标签映射消息通告所 述 VSI的所述本地 sub-VSI,所述第一 LDP标签映射消息中包括所述 VSI的标识,所述本地 sub-VSI的服务等级,第一 VC标识和第一 VC 标签。
    15、 根据权利要求 14所述的方法, 其特征在于, 在所述本地 PE 向所述远端 PE发送所述第一 LDP标签映射消息通告所述 VSI的所述 本地 sub-VSI之前, 还包括:
    所述本地 PE向所述远端 PE为所述本地 sub-VSI分配所述第一 VC标识和所述第一 VC标签;
    在所述本地 PE的入标签映射表保存所述 VSI的标识、 所述本地 sub-VSI的服务等级、 所述第一 VC标识和所述第一 VC标签的对应 关系。
    16、 根据权利要求 10至 15任一项所述的方法, 其特征在于, 在 所述本地 PE向远端 PE通告 VSI的所有本地 sub-VSI之前, 还包括: 所述本地 PE根据所述本地 PE的终端服务等级信息表确定向所 述远端 PE通告的所述 VSI的所述本地 sub-VSI。 17、 一种虚拟电路 VC标签分配装置, 其特征在于, 包括: 发送器, 用于向远端运营商边缘 PE通告虚拟交换实例 VSI的本 地子虚拟交换实例 sub-VSI;
    获取模块,用于获取所述远端 PE为所述 VSI的所述本地 sub-VSI 分配的 VC标识和 VC标签, 将所述 VSI的标识、 所述本地 sub-VSI 的服务等级, 及所述远端 PE为所述本地 sub-VSI分配的 VC标识和 VC标签的对应关系保存到所述本地 PE的出标签映射表。
    18、 根据权利要求 17所述的装置, 其特征在于, 还包括: 接收器, 用于接收所述远端 PE通告所述 VSI的远端 sub-VSI; 标签分配模块,用于向所述远端 PE为所述远端 sub-VSI分配 VC 标识和 VC标签。
    19、 根据权利要求 18所述的装置, 其特征在于, 所述发送器, 具体用于向所述远端 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的出标签映射表。
    20、 根据权利要求 18所述的装置, 其特征在于, 所述发送器, 具体用于向所述远端 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的出标签映射表。
    21、 根据权利要求 20所述的装置, 其特征在于, 所述标签分配 模块, 还用于向所述远端 PE为所述 VSI的所述本地 sub-VSI分别所 述第一 VC标识和所述第一 VC标签, 并在所述本地 PE的入标签映 射表保存所述 VSI的标识、 所述本地 sub-VSI的服务等级、 所述第一 VC标识和所述第一 VC标签的对应关系。
    22、 根据权利要求 17至 21任一项所述的装置, 其特征在于, 还 包括确定模块, 用于根据所述 PE的终端服务等级信息表, 确定向所 述远端 PE通告的所述 VSI的所述本地 sub-VSI。
    23、一种介质访问控制 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服务等级。
    24、 根据权利要求 23所述的装置, 其特征在于, 还包括: 攻击判定模块, 用于当所述第一 sub-VSI的服务等级低于所述第 一 MAC转发表项的 MAC服务等级时, 判定存在 MAC地址仿冒攻 击;
    地址存储模块, 用于当所述 PE的 MAC转发表中不存在与所述 第一 VSI和所述第 文的源 MAC地址匹配的表项时,将所述第一 VSI、所述第一报文的源 MAC地址、所述第一接口及所述第一 sub-VSI 的服务等级的对应关系存入所述 PE的 MAC转发表中。
    25、 根据权利要求 23或 24所述的装置, 其特征在于, 当所述第 一报文中包括第一虚拟电路 VC标签, 所述第一接口具体为第一 VC 时, 所述第一获取模块, 具体用于根据所述第一 VC标签, 查询所述 PE的入标签映射表, 获取所述入标签映射表中入 VC标签与所述第 一 VC标签匹配的第一标签映射表项的 VSI标识和 sub-VSI的服务等 级,作为所述第一报文所属的第一 VSI的标识和第一 sub-VSI的服务 等级。 26、 根据权利要求 23或 24所述的装置, 其特征在于, 当所述第 一接口具体为第一 AC时, 所述第一获取模块, 具体用于根据所述第 一才艮文的源 MAC地址或者所述第一 AC的标识, 查询所述本地 PE 的终端服务等级信息表,获取所述终端服务等级信息表中终端标识与 所述第一报文的源 MAC地址或者所述第一 AC的标识匹配的表项的 VSI标识和 sub-VSI的服务等级, 作为所述第一报文所属的第一 VSI 的标识和第一 sub-VSI的服务等级。
    27、 根据权利要求 26所述的装置, 其特征在于, 所述第一获取 模块, 具体用于根据所述第一报文的源 MAC地址查询所述终端服务 等级信息表; 当所述终端服务等级信息表中第一终端服务等级信息表 项的终端标识与所述第一 文的源 MAC地址相同时, 获取所述第一 终端服务等级信息表项的 VSI标识和 sub-VSI的服务等级; 当所述终 端服务等级信息表中任一表项的终端标识与所述第一报文的源 MAC 地址均不相同时,根据所述第一 AC的标识查询所述终端服务等级信 息表, 获取所述终端服务等级信息表中终端标识与所述第一 AC的标 识相同的第二终端服务等级信息表项的 VSI标识和 sub-VSI的服务等 级。
    28、 根据权利要求 24至 27任一项所述的装置, 其特征在于, 还 包括攻击处理模块, 用于当所述攻击判定模块判定存在 MAC地址仿 冒攻击时, 执行发送告警信息、 记录攻击日志、 进行攻击溯源、 阻断 攻击中的一种或多种处理。
    29、 根据权利要求 23至 28任一项所述的装置, 其特征在于, 还 包括 VC建立模块, 用于与远端 PE间基于服务等级为所述第一 VSI 的 sub-VSI分配 VC标识和 VC标签, 建立 VC。
    30、 一种虚拟专用局域网业务 VPLS网络, 其特征在于, 包括至 少两个运营商边缘 PE设备, 所述 PE设备包括如权利要求 17至 29 任一项所述的装置。
CN201280002587.9A 2012-12-31 2012-12-31 Vpls中vc标签分配和mac地址学习的方法,设备和系统 Active CN104040965B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/087962 WO2014101155A1 (zh) 2012-12-31 2012-12-31 Vpls中vc标签分配和mac地址学习的方法,设备和系统

Publications (2)

Publication Number Publication Date
CN104040965A true CN104040965A (zh) 2014-09-10
CN104040965B CN104040965B (zh) 2017-02-01

Family

ID=51019767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280002587.9A Active CN104040965B (zh) 2012-12-31 2012-12-31 Vpls中vc标签分配和mac地址学习的方法,设备和系统

Country Status (2)

Country Link
CN (1) CN104040965B (zh)
WO (1) WO2014101155A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945046A (zh) * 2010-09-15 2011-01-12 中兴通讯股份有限公司 一种vpls网络服务质量映射配置方法和系统
CN102255787A (zh) * 2010-05-19 2011-11-23 杭州华三通信技术有限公司 一种基于服务质量的报文处理方法和运营商网络边缘设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100493022C (zh) * 2003-12-01 2009-05-27 华为技术有限公司 一种在二层虚拟专用网的骨干网中保证业务质量的方法
CN102404179B (zh) * 2010-09-19 2014-10-29 杭州华三通信技术有限公司 一种报文处理的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255787A (zh) * 2010-05-19 2011-11-23 杭州华三通信技术有限公司 一种基于服务质量的报文处理方法和运营商网络边缘设备
CN101945046A (zh) * 2010-09-15 2011-01-12 中兴通讯股份有限公司 一种vpls网络服务质量映射配置方法和系统

Also Published As

Publication number Publication date
CN104040965B (zh) 2017-02-01
WO2014101155A1 (zh) 2014-07-03

Similar Documents

Publication Publication Date Title
CN108696440B (zh) 一种用于多重归宿evpn网络中的多播负载均衡的方法和提供者边缘路由器
US9432213B2 (en) IP forwarding across a link state protocol controlled ethernet network
US9509609B2 (en) Forwarding packets and PE devices in VPLS
Andersson et al. Framework for layer 2 virtual private networks (L2VPNs)
US8953590B1 (en) Layer two virtual private network having control plane address learning supporting multi-homed customer networks
US7894450B2 (en) Implementation of VPNs over a link state protocol controlled ethernet network
CN102035729B (zh) 一种组播数据转发方法
CN100563190C (zh) 实现层级化虚拟私有交换业务的方法及系统
CN100550841C (zh) 自治系统边界路由器路由发布方法及自治系统边界路由器
CN103209132B (zh) 在透明多链路互联(trill)网络中实现组播的方法、装置及系统
CA2674109A1 (en) Border gateway protocol procedures for mpls and layer-2 vpn using ethernet-based tunnels
CN101106507B (zh) 一种实现分层虚拟专用局域网服务的方法
CN102075446A (zh) 多链接透明互联网络异地互联方法及运营商边缘设备
CN103326940A (zh) 在网络中转发报文的方法和运营商边缘设备
CN115118545B (zh) 以太网虚拟专用网多播网络中的组管理协议主机移动性
CN103795630B (zh) 一种标签交换网络的报文传输方法和装置
CN102932499A (zh) Vpls网络中的mac地址学习方法及设备
US8774076B2 (en) Optimizing OTV multicast traffic flow for site local receivers
CN111064596A (zh) 对于用于多宿主节点故障的bum流量的节点保护
CN103326915A (zh) 实现三层虚拟专用网络的方法、设备及系统
EP3396897B1 (en) Multicast load balancing in multihoming evpn networks
CN100502400C (zh) 双归属/多归属逻辑组网方法和提供商设备
CN104468348A (zh) 实现vpn快速重路由的服务商边界路由器、系统及方法
CN103825794A (zh) 多链路透明互联数据帧发送方法及装置
CN104040965A (zh) Vpls中vc标签分配和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