0
点赞
收藏
分享

微信扫一扫

H3C 模拟器搭建BGP AD自动发现LDP信令的VPLS组网

seuleyang 04-06 15:00 阅读 1

简介

本实验使用在H3C HCL上运行搭建,使用AD-BGP方式搭建VPLS。

Juniper 系列文章:https://songxwn.com/categories/Juniper/

LDP VPLS采用FEC 128 TLV的LDP协议作为信令协议,需要手工配置PW,对设备的性能要求较低;BGP AD VPLS采用BGP协议自动发现VPLS域中的成员,并通过FEC 129 TLV的LDP协议自动建立PW。通常LDP VPLS适合于少量站点的VPLS网络,BGP AD VPLS适合于要求大量PW的VPLS网络。

VPLS系列文章: https://songxwn.com/tags/vpls/

基础理论

VPLS称为虚拟专用局域网业务(Virtual Private LAN Service),是公用网络中提供的一种点到多点的L2VPN(Layer 2 Virtual Private Network)业务,使地域上隔离的用户站点能通过MAN/WAN(Metropolitan Area Network/Wide Area Network)相连,并且使各个站点间的连接效果像在一个LAN(Local Area Network)中一样。它是一种基于MPLS(MultiProtocol Label Switching)和以太网的二层VPN技术,也被称为透明局域网业务TLS(Transparent LAN Service)。

VPLS的典型组网如下图所示,处于不同物理位置的用户通过接入不同的PE设备,实现用户之间的互相通信。从用户的角度来看,整个VPLS网络就是一个二层交换的交换机,用户之间就像直接通过LAN互连在一起一样。

在这里插入图片描述

VPLS基本传输结构

如下图所示,整个VPLS网络就像一个交换机,它通过MPLS隧道在每个VPN的各个Site之间建立虚链路(PW),并通过PW将用户二层报文在站点间透传。对于PE(Provider Edge)设备,它会在转发报文的同时学习源MAC并建立MAC转发表项,完成MAC地址与用户接入接口(AC接口)和虚链路(PW)的映射关系。

VPLS网络中各组件的概念如下:

名称全称概念
AC(Attachment Circuit)接入电路用户与服务提供商之间的连接,即连接CE与PE的链路。支持的接口类型仅支持EVC二层子接口。
PW(Pseudo Wire)伪线两个PE设备上VSI之间的一条双向虚拟连接。它由一对方向相反的单向的MPLS VC(Virtual Circuit)组成,也称为仿真电路。
VSI(Virtual Switch Instance)虚拟交换实例VSI是交换机上为每一个VPLS单独划分的一个虚拟交换处理单元,在每一个VSI中都有独立的一张MAC地址表和转发器,并负责终结PW。
PW SignalingPW信令协议VPLS实现的基础,用于创建和维护PW。目前,PW信令协议主要有LDP(Label Distribution Protocol)和BGP(Border Gateway Protocol)。
Tunnel隧道用于承载PW,一条隧道上可以承载多条PW。隧道是一条本地PE与对端PE之间的直连通道,完成PE之间的数据透明传输,可以是LSP(Label Switched Path)隧道。
Forwarder转发器转发器相当于VPLS的转发表。PE收到AC上送的数据帧,由转发器选定转发报文使用的PW。

VPLS的三种方式 - PW信令协议

PW信令协议主要有LDP和BGP。在信令协议基础上实现的VPLS可以分为以下几种:

  • LDP方式的VPLS

  • BGP方式的VPLS

  • BGP AD方式的VPLS

类型描述特点应用场景
LDP方式的VPLS采用LDP作为信令协议,也称为Martini方式的VPLS。协议比较简单,对PE设备要求低,不能提供VPN成员自动发现机制,需要手工配置。在增加PE时需要在每个PE上都配置到新PE的PW。在每两个PE之间建立LDP Session,其Session数与PE数的平方成正比。当需要时才对每个PE分配一个标签,标签利用率高。在跨域时,必须保证所有域中配置的VSI都使用同一个VSI ID值空间。适合用在Site点比较少,不需要或很少跨域的情况,特别是PE不运行BGP的时候。
BGP方式的VPLS采用BGP作为信令协议,也称为Kompella方式的VPLS。要求PE设备运行BGP,对PE设备要求高,可以提供VPN成员自动发现机制,用户使用简单。在增加PE时只要PE数没有超过标签块大小就不需要修改原有PE上的配置,只需配置新的PE。利用RR(Route Reflector)降低BGP连接数,从而提高网络的可扩展性。分配一个标签块,对标签有一定浪费。在跨域时,采用VPN-Target识别VPN关系,对跨域的限制较小。适合用在大型网络的核心层,PE本身运行BGP以及有跨域需求的情况。
BGP AD方式的VPLS首先通过扩展的BGP UPDATE报文来自动发现VPLS域中的其他成员信息,然后通过LDP FEC 129信令报文来完成本地VSI与远端VSI之间自动协商建立VPLS PW。通过VPLS成员自动发现和VPLS PW的自动部署:与LDP方式VPLS相比,网络新增站点时配置的工作量少。与BGP方式VPLS相比,不仅节省本地的标签资源,而且能兼容与PWE3的互通。BGP AD方式VPLS结合了BGP和LDP两种VPLS信令各自的优点。

LDP方式的VPLS

介绍

LDP方式的VPLS(Martini方式VPLS)采用静态发现机制实现成员发现,采用LDP作为信令。这种方式通过扩展标准LDP的TLV来携带VPLS的信息,增加了128类型和129类型的FEC TLV。建立PW时的标签发布方式采用DU模式,标签保持方式采用Liberal Label Retention。

实现过程

  • 利用LDP信令协议建立PW的过程如图4-4所示:

    图4-4 利用LDP信令协议建立PW的过程在这里插入图片描述

    1. 当PE1和VSI关联并指定PE2为其对端后,此时如果PE1和PE2之间的LDP Session已经建立,PE1则采用DU方式主动向PE2发送标签映射消息(Label Mapping Message),该消息中包含PW ID和与该PW ID绑定的VC标签,以及接口参数。

    2. PE2收到该标签映射消息后,会检查本地是否也和该VSI进行了关联。如果已经关联并且封装类型等参数也相同,则说明PE1和PE2的VSI都在同一个VPN内。此时PE2将接受标签映射消息,即单向VC1建立成功。同时,PE2向PE1回应自己的标签映射消息,PE1收到PE2的标签映射消息后作同样的检查和处理,最终也成功建立VC2。

  • 利用LDP信令协议拆除PW的过程如图4-5所示:

    图4-5 利用LDP信令协议拆除PW的过程

    1. 当PE1取消指定PE2为其对端后,PE1向PE2发送标签撤除消息(Label Withdrawal Message),PE2收到该消息后拆除VC1,并向PE1回应标签释放消息(Label Release Message)。

    2. PE1收到标签释放消息后,释放标签并拆除VC2。

BGP方式的VPLS

介绍

BGP方式的VPLS(Kompella方式VPLS)采用动态发现机制实现成员发现,用BGP作为信令。这种方式利用BGP的多协议扩展(MP-BGP)传递VPLS成员信息,其中MP-REACH和MP-UNREACH属性传递VPLS的标签信息,接口参数信息在扩展团体属性中传递,VPN成员关系靠RD(Route Distinguish)和VPN-Target来确定,RD和VPN-TARGET都在扩展团体属性中传递。

实现过程

  • 利用BGP信令协议建立PW的过程如图4-6所示:

    图4-6 利用BGP信令协议建立PW的过程
    在这里插入图片描述

    1. 当PE1和VSI关联并指定PE2为其对端后,此时如果PE1和PE2之间的BGP Session已经建立,PE1则向PE2发送携带MP-REACH属性的Update消息,包括Site ID和标签块信息。

    2. PE2收到该Update消息后,根据自己的Site ID和报文中的标签块,计算出唯一的一个标签值,作为VC标签,此时单向VC1建立成功。同时,PE2根据报文中Site ID和本地标签块,也可以得到PE1的VC标签值,并向PE1发送Update消息,PE1收到PE2的Update消息后作同样的检查和处理,最终也成功建立VC2。

  • 利用BGP信令协议拆除PW的过程如图4-7所示:

    图4-7 利用BGP信令协议拆除PW的过程
    在这里插入图片描述

    1. 当PE1取消指定PE2为其对端后,PE1向PE2发送携带MP-UNREACH属性的Update消息,PE2收到该消息后释放标签并拆除VC1,同时向PE1回应携带MP-UNREACH属性的Update消息。

    2. PE1收到标签释放消息后,释放标签并拆除VC2。

BGP AD方式的VPLS

介绍

BGP AD VPLS是BGP Auto-Discovery VPLS的简写,也称为BGP自动发现方式的VPLS,是一种自动部署VPLS网络的新技术。

BGP AD VPLS是首先通过扩展的BGP UPDATE报文来自动发现VPLS域中的其他成员信息,然后通过LDP FEC 129信令报文来完成本地VSI与远端VSI之间自动协商建立VPLS PW的过程。此外,BGP AD也支持HVPLS(Hierarchical Virtual Private LAN Service),可以通过关闭水平分割功能,使该对等体在HVPLS网络中属于用户端。

目的

随着VPLS技术的广泛应用,VPLS的组网规模也越来越大,网络部署的配置量也越来越大。为了实现简化网络配置,业务自动部署,降低运营成本的实际需求,引入了BGP AD VPLS的技术。

BGP AD VPLS是结合了Kompella VPLS和Martini VPLS两种类型的VPLS信令的优势而提出来的,利用扩展BGP报文在成员自动发现方面的优势来完成VSI之间的成员发现,再利用LDP FEC 129信令来协商建立PW,完成VPLS PW业务的自动部署。

通过VPLS成员自动发现和VPLS PW的自动部署,减少了部署VPLS网络的配置工作量,实现了业务的自动部署,降低了客户的运营成本。

相关概念
缩略语英文全称说明
VPLS IDVirtual Private LAN Service ID每个VPLS域的标识符。
AGIAttachment Group Identifier相同VPLS域中VSI实例间用于协商的域标识符。
AIIAttachment Individual Identifier相同VPLS域中VSI实例间用于协商的VSI实例标识符。
SAIISource Attachment Individual IdentifierBGP-AD方式VSI中进行PW协商时,携带的源附属ID,即为本端信令协商PEER IP地址。
TAIITarget Attachment Individual IdentifierBGP-AD方式VSI中进行PW协商时,携带的目的附属ID,即为对端信令协商PEER IP地址。
实现过程

BGP AD VPLS结合了Martini VPLS和Kompella VPLS的优势,通过BGP信令实现VPLS成员的自动发现,不仅减少了配置工作量,而且减少了对标签的浪费。

BGP AD VPLS是通过扩展BGP UPDATE报文,携带VSI成员信息,完成VPLS域中VSI成员之间的自动发现,然后通过LDP FEC 129类型的信令进行协商,完成VSI之间PW的自动建立,实现了VPLS域中VSI成员的自动发现及VPLS PW业务的自动部署。

  1. VPLS成员发现阶段

    VPLS成员发现是建立PW的第一阶段,使用BGP协议进行自动成员发现,其交互过程和携带的信息如图7-8所示。

    图7-8 VPLS成员发现的交互过程图

在这里插入图片描述

BGP AD VPLS成员发现的交互过程详细描述如下:

  1. 当在PE1设备上完成VPLS-ID、RD、RT、VSI-ID等参数的配置后,PE1会将这些信息封装到BGP的Update消息中作为BGP AD报文,向所有BGP域内的对端PE发送。当PE2在配置完成后也会做相同的处理。

    在这里插入图片描述

    其中,RD默认使用VPLS-ID的值,所以只需要配置VPLS-ID即可。而VSI-ID即本端的LSR-ID,也不需要手动配置。

  2. 在PE接收到远端发送过来的Update报文后,会根据配置的RT策略对收到的BGP AD报文进行过滤。对于符合RT策略的BGP AD报文,PE设备会从报文中获取远端VSI的信息,并将这些远端信息与本地配置生成的信息做比较。

    • 当两端设备的VSI中的VPLS-ID相同时,说明两个VSI属于同一个VPLS域,可以协商建立PW,而且这两个VSI之间只能建立一条PW。

    • 当两端设备的VSI中的VPLS-ID不同时,说明这两个VSI分属不同的VPLS域,则不能建立PW。

  3. VPLS PW自动部署阶段

    当完成VPLS成员发现后,则通过LDP FEC 129信令协商建立PW,具体交换过程和携带的信息如图7-9所示。

    图7-9 VPLS PW自动部署过程图

在这里插入图片描述

BGP AD VPLS PW的自动部署过程详细描述如下:

  1. 两台PE上属于相同VPLS域的VSI根据到远端(BGP AD中的Next Hop)的LDP会话状态相互发起LDP Mapping(FEC 129)信令,其中携带AGI、SAII、TAII和标签等信息。

    BGP AD VPLS在成员发现后,采用主动触发LDP协议创建LDP会话的方式,使LDP能够按照业务的需求来建立会话。当VPLS业务撤销,不再使用该LDP会话时,再主动触发LDP协议拆除LDP会话。这样既能减少LDP会话拓扑的维护工作量,又能提高系统资源的利用率,减少网络资源的开销,提升网络性能。

  2. PE接收到远端的LDP Mapping(FEC 129)信令后,解析获取VPLS-ID、PW Type、MTU、TAII等信息,将这些信息与本地VSI比较,如果协商通过,并且满足建立PW的条件时,创建到对端的PW。

环路避免

在以太网上,为了避免环路,一般的二层网络都要求使能STP(Spanning Tree Protocol)协议。但是对使用VPLS的用户来说,不会感知到ISP(Internet Service Provider)的网络,因此在私网侧使能STP的时候,不能把ISP的网络考虑进来。因而VPLS中使用PW全连接和水平分割转发来避免环路:

PE之间逻辑上全连接(PW全连接),也就是每个PE必须为每一个VPLS转发实例创建一棵到该实例下的所有其他PE设备的树。

每个PE设备必须支持水平分割转发来避免环路。“水平分割转发”的意思就是从公网侧PW收到的数据包不再转发到这个VSI关联的其它PW上,只能转发到私网侧,从PE收到的报文不转发到其他PE。也就是说要求任意两个PE之间通过直接相连的PW通信,而不能通过第三个PE设备中转报文,这也是PE之间需要建立全连接(PW全连接)的原因。

PE间全连接和水平分割一起保证了VPLS转发的可达性和无环路。当CE到PE有多条连接,或连接到同一个VPLS VPN的不同CE间有连接时,VPLS不能保证没有环路发生,需要使用其他方法来避环。

对于用户来说,在L2VPN私网内运行STP协议是允许的,所有的STP的BPDU(Bridge Protocol Data Unit)报文只是在ISP的网络上透传。

BGP AD-VPLS实验拓扑

  • PE1-3 之间配置OSPF Area0 打通底层路由。

  • PE1-3 之间建立MP-iBGP,开启L2VPN地址族。

  • PE1-3 之间建立LDP,用于公网MPLS隧道建立。

  • 创建VSI配置RD RT,开启BGP AD。

分步配置- 以PE1为例

OSPF 基础路由和骨干接口配置

ospf 1
 area 0.0.0.0
  network 1.1.1.9 0.0.0.0
  network 20.1.1.0 0.0.0.255
  network 30.1.1.0 0.0.0.255


# 配置ospf并宣告接口。

interface LoopBack0
 ip address 1.1.1.9 255.255.255.255
#
interface GigabitEthernet0/0
 ip address 20.1.1.1 255.255.255.0
 mpls enable
 mpls ldp enable
#
interface GigabitEthernet0/1
 ip address 30.1.1.1 255.255.255.0
 mpls enable
 mpls ldp enable

# 配置骨干接口,并开启MPLS和LDP.


MP-iBGP - AD

bgp 9527
 peer 2.2.2.9 as-number 9527
 peer 2.2.2.9 connect-interface LoopBack0
 peer 3.3.3.9 as-number 9527
 peer 3.3.3.9 connect-interface LoopBack0
 #
 address-family l2vpn
  peer 2.2.2.9 enable
  peer 3.3.3.9 enable

# 建立BGP开启L2VPN地址族传递

LDP和MPLS配置

mpls lsr-id 1.1.1.9
mpls ldp

# 开启全局LDP,配置LDP源地址为 lookback地址
l2vpn enable


# 开启l2vpn全局

vsi songxwn.com
 auto-discovery bgp
  route-distinguisher 100:1
  vpn-target 100:1 export-extcommunity
  vpn-target 100:1 import-extcommunity
  signaling-protocol ldp
   vpls-id 9527:1


# VSI配置,开启BGP AD,配置RD RT,配置信令协议为ldp,配置vpls-id。vpls-id同VPS组网需要相同

VPLS AC 接入配置

interface GigabitEthernet0/2
 xconnect vsi songxwn.com
# 不带VLAN接入
interface Giabitethernet 1/0/1
  service-instance 10
   encapsulation s-vid 100
   xconnect vsi songxwn.com
# 二层子接口接入

从CE-3 接入PC Ping CE-1 接入PC 抓包

VPLS 连接验证

display l2vpn pw verbose
VSI Name: svc
  Peer: 2.2.2.9          VPLS ID: 9527:1
    Signaling Protocol  : LDP
    Link ID             : 8          PW State : Up
    In Label            : 917629     Out Label: 917629
    MTU                 : 1500
    PW Attributes       : Main
    VCCV CC             : -
    VCCV BFD            : -
    Tunnel Group ID     : 0x800000230000000
    Tunnel NHLFE IDs    : 4
  Peer: 3.3.3.9          VPLS ID: 9527:1
    Signaling Protocol  : LDP
    Link ID             : 9          PW State : Up
    In Label            : 917628     Out Label: 917628
    MTU                 : 1500
    PW Attributes       : Main
    VCCV CC             : -
    VCCV BFD            : -
    Tunnel Group ID     : 0x800000330000001
    Tunnel NHLFE IDs    : 5

验证VPLS MAC地址表(有通信才会有地址)


display l2vpn mac-address

MAC Address      State    VSI Name                        Link ID/Name  Aging
56dc-86bf-0406   Dynamic  svc                             0             Aging
56dc-8f68-0606   Dynamic  svc                             9             Aging
--- 2 mac address(es) found  ---

验证BGP、OSPF、LDP邻居

show bgp peer l2vpn

 BGP local router ID: 1.1.1.9
 Local AS number: 9527
 Total number of peers: 2                 Peers in established state: 2

  * - Dynamically created peer
  Peer                    AS  MsgRcvd  MsgSent OutQ PrefRcv Up/Down  State

  2.2.2.9               9527       21       24    0       1 00:16:23 Established
  3.3.3.9               9527       19       23    0       1 00:13:32 Established

show ospf peer

         OSPF Process 1 with Router ID 1.1.1.9
               Neighbor Brief Information

 Area: 0.0.0.0
 Router ID       Address         Pri Dead-Time  State             Interface
 2.2.2.9         20.1.1.2        1   40         Full/DR           GE0/0
 3.3.3.9         30.1.1.3        1   31         Full/DR           GE0/1

display mpls ldp peer
Total number of peers: 2
Peer LDP ID             State         Role     GR   MD5  KA Sent/Rcvd
3.3.3.9:0               Operational   Passive  Off  Off  178/178
2.2.2.9:0               Operational   Passive  Off  Off  178/178

参考文档

https://support.huawei.com/enterprise/zh/doc/EDOC1100075312/ea751f32

https://support.huawei.com/enterprise/zh/doc/EDOC1100333866/3120d885

https://www.h3c.com/cn/d_202306/1884427_30005_0.htm#_Toc137577552

https://www.h3c.com/cn/d_200805/606212_30003_0.htm

https://www.juniper.net/documentation/en_US/junos/topics/example/vpls-bgp-configuring.html

https://www.juniper.net/documentation/cn/zh/software/nce/feature-guide-virtual-private-lan-service/topics/example/vpls-bgp-configuring-detailed-solutions.html

主要还有大侠唐在飞的大力支持

举报

相关推荐

0 条评论