05-S-Trunk配置
本章节下载: 05-S-Trunk配置 (451.98 KB)
S-Trunk(Smart Trunk)为我司私有协议,是一种跨设备链路聚合的机制,通过多台设备间的链路聚合,将可靠性提高到设备级。
如图1-1所示,在CE(Customer Edge,用户网络边缘)双归接入的组网环境中,当一台PE(Provider Edge,服务提供商网络边缘)设备故障时,要求另外一台PE设备可以接替其继续转发用户业务流量。如果仅依靠路由协议的自动收敛,会有较大延时,导致数据流量中断。此时,可部署S-Trunk将两台设备的数据链路聚合在一起形成链路聚合组,当某条链路或者某个设备故障时,自动将数据业务切换到S-Trunk的其他可用链路或设备上,从而增强设备可靠性。
图1-1 S-Trunk示意图
如图1-2所示,S-Trunk网络模型主要定义以下概念:
· S-Trunk组:将两台PE设备上的接口聚合在一起形成的链路聚合组。
· S-Trunk组中设备优先级:用于在同一S-Trunk组中决策两台PE设备的主备状态。
· S-Trunk组中设备的角色:S-Trunk组中设备角色分为主用设备角色和备用设备角色。如图1-2所示,PE 1的设备优先级数值小于PE 2的设备优先级数值,则PE 1设备的优先级大于PE 2设备的优先级。因此在S-Trunk组1中,PE 1为主用设备,PE 2为备用设备。S-Trunk正常工作时,PE 1负责转发用户流量,当PE 1故障时PE 2接替PE 1转发用户流量,保证流量不中断。
· S-Trunk组成员接口:加入S-Trunk组的接口,在同一S-Trunk组中成员接口形成备份。如图1-2所示,PE 1和PE 2上的接口LAGG 1为S-Trunk组的成员接口。
· S-Trunk组成员接口的角色:两台PE设备上同一S-Trunk组中成员接口的角色分为主用接口和备用接口。如图1-2所示,PE 1为主用设备,PE 2为备用设备,则PE 1上的接口LAGG 1为主用接口,PE 2上的接口LAGG 1为备用接口。
图1-2 S-Trunk网络模型示意图
S-Trunk中主用设备和备用设备之间相互周期性的发送S-Trunk Hello报文。S-Trunk Hello报文中携带超时时间,本端从对端发送的S-Trunk Hello报文中获取超时时间。如果备用设备在超时时间内没有收到S-Trunk Hello报文,则转为主用设备。
超时时间=S-Trunk Hello报文的发送周期×超时时间因子。
如图1-3所示,进行如下部署:
(1) PE部署S-Trunk:在PE 1和PE 2上分别创建相同ID的S-Trunk组(S-Trunk 1)和聚合接口(LAGG 1),并将聚合接口加入S-Trunk组中。
(2) CE部署链路聚合:在CE上配置以太网链路聚合,将和PE设备相连的接口加入同一聚合组中。
图1-3 S-Trunk建立过程示意图
部署完成后,S-Trunk建立过程如下:
(1) PE 1和PE 2之间交互S-Trunk协议报文,通告各自的S-Trunk相关配置,如果满足以下条件,则开始在PE 1和PE 2上建立S-Trunk:
¡ 相同的LACP的系统MAC地址
¡ 相同的LACP的系统优先级
¡ 不同的LACP的系统编号
¡ 相同的S-Trunk协议报文的UDP端口号
¡ S-Trunk协议报文的IP地址成对配置,且可达
(2) 确认S-Trunk组中设备及成员接口的角色:
¡ 设备角色:PE设备之间通过S-Trunk协议报文进行主备协商,比较S-Trunk组中设备优先级,确定S-Trunk组中设备的主备角色。如图1-3所示,协商后PE 1为主用设备,PE 2为备用设备。
¡ 成员接口角色:由S-Trunk组中设备的角色以及对端成员接口的链路信息,决定本端S-Trunk组成员接口的角色。如图1-3所示,PE 1上的成员接口LAGG 1为主用接口,PE 2上的成员接口LAGG 1为备用接口。
(3) 确认S-Trunk组中设备及成员接口的角色后,S-Trunk建立成功。在建立S-Trunk后,由PE 1上的主用接口LAGG 1转发用户流量。
S-Trunk成功建立后,正常情况下,由组内主用设备上的成员接口进行报文转发。如图1-4所示,正常情况下,PE 1为主用设备,PE 1的LAGG 1为主用接口,其链路状态为UP。PE 2为备用设备,PE 2的LAGG 1为备用接口,其链路状态为DOWN。CE侧的用户流量通过PE 1的LAGG 1转发。
图1-4 S-Trunk报文转发示意图(正常情况)
S-Trunk组中主用成员接口所在链路故障后,由组内备用成员接口转发流量。如图1-5所示,如果CE到PE 1间的链路出现故障,PE 1向PE 2发送的Hello报文中会携带PE 1的LAGG 1故障的信息。PE 2收到Hello报文后,发现PE 1的LAGG 1故障,则将PE 2上LAGG 1变为主用接口,链路状态变为UP。这样CE的流量会通过PE 2转发,从而达到对CE的流量进行保护的目的。
图1-5 S-Trunk报文转发示意图(CE与PE 1之间链路故障)
S-Trunk组中主用设备故障后,由组内备用设备转发流量。如图1-6所示,如果PE 1出现故障,PE 2在定时器超时后仍然没有收到PE 1发送的Hello报文,则PE 2从备用设备变为主用设备,PE 2的LAGG 1也变为主用接口。PE 2设备上的LAGG 1的链路状态变为UP。这样CE的流量会通过PE 2转发,从而达到对CE的流量进行保护的目的。
图1-6 S-Trunk报文转发示意图(PE 1故障)
由于Hello报文超时机制无法快速感知对端故障,可以使用S-Trunk与BFD(Bidirectional Forwarding Detection,双向转发检测)联动功能来快速感知对端是否故障。通过S-Trunk与BFD联动,在主备设备间建立BFD会话,当对端设备故障,BFD会话会变成Down状态并通知S-Trunk模块,使得S-Trunk可感知到BFD通告的故障。有关BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
正常情况下,同一S-Trunk组中,本端成员接口处于主用状态,其物理状态为UP,对端成员接口处于备用状态,其物理状态为DOWN。当本端成员接口发生故障时,其物理状态变为DOWN。经过S-Trunk协议报文协商后,对端成员接口变为主用状态,其物理状态变为UP,本端成员接口变为备用状态。当本端接口故障消除,本端成员接口的物理状态恢复为UP,此时启动延时回切定时器。延时回切定时器超时后,本端成员接口恢复为主用状态。
如图1-7所示,PE 1处于主用状态,PE 2处于备用状态。攻击者获取PE 1设备发出的S-Trunk协议报文,当PE 1发生故障时,攻击者将获取的报文发送到PE 2,此时PE 2会认为PE 1还在正常工作,PE 2仍然为备用状态,导致业务流量中断。
图1-7 S-Trunk协议报文序列号校验示意图
为了防止重放攻击,保证流量正常转发,S-Trunk支持序列号校验,以识别非法攻击报文。开启S-Trunk协议报文序列号校验功能后,如果PE本次收到的S-Trunk协议报文的序列号与已经收到的S-Trunk协议报文的序列号相同,或小于上次收到的S-Trunk协议报文的序列号,则认为发生重放攻击。PE设备会丢弃序列号校验失败的S-Trunk协议报文。
为防止攻击者篡改S-Trunk协议报文内容,S-Trunk提供报文认证功能,提高安全性。PE设备发送的协议报文中会携带一个消息摘要,该消息摘要是对协议报文内容经Hash计算得到。对端PE设备收到该报文时,会与自己计算的该报文的消息摘要进行比对,如果一致,则认为其合法。
当聚合接口加入S-Trunk组后,该聚合接口上最大选中端口数和最小选中端口数的配置不生效。有关聚合接口最大/最小选中端口数配置的介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。
建议在CE与PE设备间配置链路聚合联动BFD功能,以便快速响应CE与PE间链路故障。有关链路聚合联动BFD功能的介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。
为了提高设备安全性,建议同时使用S-Trunk协议报文序列号校验和报文认证。
S-Trunk配置任务如下:
(1) 系统配置
(2) 创建S-Trunk组
(3) 配置S-Trunk组参数
(4) 为S-Trunk组添加成员接口
(6) 配置S-Trunk回切功能
(7) 配置S-Trunk与BFD联动
(10) 开启S-Trunk维护模式功能
为了能够让CE设备将S-Trunk组中的两台PE设备看成一台设备,要求同一S-Trunk组中所有PE设备配置相同的LACP系统MAC地址和LACP系统优先级,配置不同的LACP系统编号。
同一设备上所有S-Trunk组使用相同的系统配置,当完成系统配置后,请谨慎更改,避免影响S-Trunk正常运行。
为了能够让CE设备将S-Trunk组中的两台PE设备看成一台设备,部署S-Trunk的设备需要具备相同的LACP系统MAC地址。
建议用户将系统MAC地址配置为S-Trunk组中其中一台设备的桥MAC地址,防止MAC地址冲突。
(1) 进入系统视图。
system-view
(2) 配置LACP的系统MAC地址。
lacp system-mac mac-address
缺省情况下,LACP的系统MAC地址为设备的桥MAC地址。
(1) 进入系统视图。
system-view
(2) 配置LACP的系统优先级。
lacp system-priority priority
缺省情况下,LACP的系统优先级为32768。
有关LACP系统优先级的详细介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。
为了和对端设备区分相同接口编号的接口,部署S-Trunk的设备上需要具备不同的LACP系统编号,从而为不同设备上相同接口编号的接口生成不同的Index。
如果聚合接口没有加入S-Trunk组,则本命令配置的系统编号不会影响到LACP报文的Index字段。LACP报文的Index字段可以通过display link-aggregation verbose命令查看。
(1) 进入系统视图。
system-view
(2) 配置LACP的系统编号。
lacp system-number number
缺省情况下,未配置LACP的系统编号。
部署S-Trunk的两台设备上S-Trunk ID必须相同。
(1) 进入系统视图。
system-view
(2) 创建S-Trunk组,并进入S-Trunk组视图。
s-trunk id s-trunk-id
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk组的描述信息。
description text
缺省情况下,未配置S-Trunk组的描述信息。
设备优先级用于两台设备间进行主备协商,值越小优先级越高,优先级高的为主设备。如果优先级相同则比较两台设备的桥MAC地址,桥MAC地址比较小的为主设备。
当S-Trunk建立以后,不建议修改设备的角色优先级,避免主备设备的重新选举导致网络震荡。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk组中设备的优先级。
s-trunk role priority priority
缺省情况下,S-Trunk组中设备的优先级为32768。
部署S-Trunk的设备之间通过UDP连接传输S-Trunk协议报文。当S-Trunk的UDP端口号与其他协议的UDP端口号冲突时,为了保证S-Trunk协议报文正常转发,可通过本功能更改S-Trunk协议报文的UDP端口号。
S-Trunk中主备设备的UDP端口号必须一致。
用户可以通过display udp命令查看已经被使用的UDP端口号,以便选择未被使用的UDP端口号。
(1) 进入系统视图。
system-view
(2) 配置S-Trunk协议报文的UDP端口号。
s-trunk udp-port port-number
缺省情况下,S-Trunk协议报文使用的UDP端口号为1025。
(3) 配置S-Trunk协议报文的IPv6 UDP端口号。
s-trunk ipv6 udp-port port-number
缺省情况下,S-Trunk协议报文使用的IPv6 UDP端口号为1025。
通过本功能指定S-Trunk协议报文的源IP地址和目的IP地址以及报文所属的VPN。在需要交互S-Trunk协议报文的两台设备上分别配置本功能,源指定为本设备,目的指定为对端设备。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk协议报文的参数。
s-trunk { ip | ipv6 } destination { des-ipv4-address | des-ipv6-address } source { source-ipv4-address | source-ipv6-address } [ vpn-instance vpn-instance-name ]
缺省情况下,未配置S-Trunk协议报文的参数。
建议用户在S-Trunk两端设备上配置相同的发送周期,避免由于协议报文发送周期的不同造成协议报文超时,S-Trunk不能建立。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk协议报文的发送周期。
s-trunk interval interval
缺省情况下,S-Trunk协议报文发送周期为10,即1000毫秒。
在同一S-Trunk组中,如果本端成员接口在S-Trunk协议报文发送超时时间内没有收到来自对端成员接口的S-Trunk协议报文,则认为对端成员接口故障。如果本端成员接口为备用接口,则在超时时间后变为主用接口。
S-Trunk协议报文的超时时间=S-Trunk协议报文的发送周期×S-Trunk协议报文超时时间因子。
S-Trunk Hello协议报文的超时时间需要大于S-Trunk组数量×200毫秒,避免S-Trunk协议震荡。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk协议报文超时时间因子。
s-trunk timeout multiplier multiplier
缺省情况下,S-Trunk协议报文超时时间因子为20。
部署S-Trunk的两台设备上同一S-Trunk组的S-Trunk ID必须相同。同一S-Trunk组中成员接口编号可以相同也可以不同。
同一S-Trunk组中,如果成员接口编号不相同,本端成员接口加入S-Trunk时必须指定对端的成员接口编号。比如需要配置设备1的聚合接口1和设备2上的聚合接口2互为备份,则将设备1的聚合接口1加入S-Trunk组时,必须指定peer为聚合接口2;将设备2的聚合接口2加入S-Trunk组时,必须指定peer为聚合接口1。
对于部署S-Trunk的两台设备上加入同一S-Trunk组的聚合接口,如下配置必须一致:
· 聚合接口的聚合模式和聚合接口类型必须一致。
· 聚合组成员端口操作Key和属性类配置必须相同。
一个接口只能加入一个S-Trunk组。
(1) 进入系统视图。
system-view
(2) 进入聚合接口视图。
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置接口加入S-Trunk组。
s-trunk s-trunk-id [ peer peer-interface-number ]
缺省情况下,接口未加入S-Trunk组。
S-Trunk组成员接口的角色分为:
· 自动模式:S-Trunk成员接口的工作模式由S-Trunk组中本端设备的主备状态和对端S-Trunk成员接口的故障信息决定:
¡ 本端设备在S-Trunk组中为主设备,则本端S-Trunk组中的成员接口的角色为主用接口。
¡ 本端设备在S-Trunk组中为备设备,对端S-Trunk成员接口故障,则本端S-Trunk成员接口的角色为主用接口。当对端成员接口故障恢复,流量切回到主用成员接口后,本端成员接口变为备用接口。
· 强制主用接口:强制为主用接口时,即使本端S-Trunk组中的成员接口故障,本端成员接口仍为主用接口。
· 强制备用接口:强制为备用接口时,即使对端S-Trunk组中的成员接口故障,本端成员接口仍为备用接口。
正常情况下,S-Trunk工作在自动模式,此时改变报文发送周期或超时时间因子,会引起主备状态震荡。因此建议在改变报文发送周期或超时时间因子前,先将成员接口的角色设置为强制主/备接口,待新的配置生效后,再恢复自动模式。
(1) 进入系统视图。
system-view
(2) 进入聚合接口视图。
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置S-Trunk成员接口的角色。
s-trunk port-role { auto | primary | secondary }
缺省情况下,S-Trunk成员接口的角色为auto。
在S-Trunk与MPLS L2VPN业务配合使用的组网环境下,当S-Trunk组中主用设备发生故障恢复后,成员接口状态恢复早于PW(Pseudo Wire)状态恢复,此时如果马上将S-Trunk成员的流量回切,将会导致业务流量中断。用户可以调整S-Trunk的延时回切时间,避免链路频繁切换。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk延时回切的时间。
s-trunk revert-delay delay-value
缺省情况下,S-Trunk延时回切的时间为120秒。
正常情况下,同一S-Trunk组中,本端成员接口处于主用状态,其物理状态为UP,对端成员接口处于备用状态,其物理状态为DOWN。当本端成员接口发生故障时,其物理状态变为DOWN。经过S-Trunk协议报文协商后,对端成员接口变为主用状态,其物理状态变为UP,本端成员接口变为备用状态。当本端接口故障消除,本端成员接口的物理状态恢复为UP,此时启动延时回切定时器。延时回切定时器超时后,本端成员接口恢复为主用状态。
在回切过程中会造成流量丢失,为了避免这种情况可关闭S-Trunk回切功能。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 关闭S-Trunk回切功能。
s-trunk revert disable
缺省情况下,S-Trunk回切功能处于开启状态。
S-Trunk仅能和静态BFD会话关联,且创建静态BFD会话时,不能指定BFD会话所在接口,避免S-Trunk与BFD联动失效。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 配置S-Trunk关联BFD会话。
s-trunk bfd-session bfd-session-name
缺省情况下,S-Trunk没有关联任何BFD会话。
当本端设备整机重启时,本端接收和发送S-Trunk协议报文中携带的序列号均被清零。如果对端设备未重启设备,接收S-Trunk协议报文未超时,且未检测到BFD链路故障,则对端接收和发送S-Trunk协议报文中携带的序列号不会被清零。此时可能导致本端重启后对端序列号校验不通过,S-Trunk无法建立。建议在未重启设备上先关闭本功能然后再开启本功能,清除原有接收报文序列号记录。
当本端设备接收S-Trunk协议报文超时或者BFD链路故障时,本端接收S-Trunk协议报文中携带的序列号被清零,发送S-Trunk协议报文中携带的序列号不被清零。如果对端设备未重启设备,接收S-Trunk协议报文未超时,且未检测到BFD链路故障,则不影响序列号校验,S-Trunk可以正常建立。
设备整机重启后,如果攻击者使用之前获取的报文进行攻击,则对端未重启设备可能认可攻击报文,建议设备重启后更换S-Trunk认证密钥。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 开启S-Trunk协议报文序列号校验功能。
s-trunk sequence enable
缺省情况下,S-Trunk协议报文序列号校验功能处于关闭状态。
同一S-Trunk组需要配置相同密钥,否则认证失败。
(1) 进入系统视图。
system-view
(2) 进入S-Trunk组视图。
s-trunk id s-trunk-id
(3) 开启S-Trunk协议报文认证功能,并配置认证密钥。
s-trunk authentication key { cipher | simple } string
缺省情况下,S-Trunk协议报文认证功能处于关闭状态。
当进行设备维护或者升级的GIR操作时,本功能将自动生效,即本端设备进入S-Trunk维护模式。该模式下,将本端设备上所有S-Trunk组成员接口链路状态置为Down(GIR),使对端成员接口经过S-Trunk协议报文协商后变为主用状态。此时,本端和对端均为主用状态,对流量进行负载分担,以避免设备维护或者升级时流量切换导致的丢包。待其他业务模块完成流量隔离后,本端变为备用状态,对端变为主用状态,本端进行设备维护或者升级,对端处理业务流量,保证流量不中断。
如果本功能未按照GIR功能的指令运行,则可以手工开启S-Trunk维护模式功能,使本端设备进入S-Trunk维护模式。
本功能需要和link-aggregation lacp isolate命令配合使用,不建议单独配置。
(1) 进入系统视图。
system-view
(2) 开启S-Trunk维护模式功能。
s-trunk maintain enable
缺省情况下,S-Trunk维护模式功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后S-Trunk的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除S-Trunk的报文统计信息。
表1-1 S-Trunk显示和维护
操作 |
命令 |
显示S-Trunk的概要信息 |
display s-trunk brief |
显示S-Trunk成员接口最近10次的状态变化轨迹 |
display s-trunk member role-change interface interface-type interface-number |
显示S-Trunk的报文统计信息 |
display s-trunk packet-statistics [ s-trunk-id ] |
显示S-Trunk的详细信息 |
display s-trunk verbose s-trunk-id |
清除S-Trunk的报文统计信息 |
reset s-trunk packet-statistics [ s-trunk-id ] |
如图1-8所示,用户网络有两个站点,站点的CE设备分别为CE 1和CE 2,CE 1和CE 2通过MPLS L2VPN网络交互用户数据。CE 1双归接入MPLS L2VPN网络。为了保证业务不中断,在PE 2和PE 3上部署S-Trunk,PE 2为主用设备,PE 3为备用设备。当PE 2故障或PE 2连接CE 1的链路故障,使CE 1到PE 2的流量切换到PE 3上,通过PE 3与CE 2继续通信。当故障恢复,流量重新切换到PE 2上。S-Trunk在PE 2与PE 3之间实现备份,提高网络可靠性。
图1-8 S-Trunk接入MPLS L2VPN配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
RAGG1 |
192.1.1.2/24 |
PE 1 |
Loop0 |
1.1.1.1/32 |
PE 2 |
Loop0 |
2.2.2.2/32 |
|
GE3/1/2 |
10.1.1.1/24 |
|
GE3/1/2 |
10.1.1.2/24 |
|
GE3/1/3 |
10.1.2.1/24 |
|
GE3/1/3 |
10.1.3.1/24 |
CE 2 |
GE3/1/1 |
192.1.1.1/24 |
PE 3 |
Loop0 |
3.3.3.3/32 |
|
|
|
|
GE3/1/2 |
10.1.2.2/24 |
|
|
|
|
GE3/1/3 |
10.1.3.2/24 |
|
|
|
(1) 请按照图1-8配置各接口的IP地址和子网掩码,具体配置过程略
(2) 配置OSPF协议实现网络层互通
# 配置PE 1。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 配置PE 2。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
# 配置PE 3。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
(3) 配置MPLS LSR ID、开启MPLS和LDP能力
# 配置PE 1。
[PE1] mpls lsr-id 1.1.1.1
[PE1] mpls ldp
[PE1-ldp] quit
[PE1] interface gigabitethernet 3/1/2
[PE1-GigabitEthernet3/1/2] mpls enable
[PE1-GigabitEthernet3/1/2] mpls ldp enable
[PE1-GigabitEthernet3/1/2] quit
[PE1] interface gigabitethernet 3/1/3
[PE1-GigabitEthernet3/1/3] mpls enable
[PE1-GigabitEthernet3/1/3] mpls ldp enable
[PE1-GigabitEthernet3/1/3] quit
# 配置PE 2。
[PE2] mpls lsr-id 2.2.2.2
[PE2] mpls ldp
[PE2-ldp] quit
[PE2] interface gigabitethernet 3/1/2
[PE2-GigabitEthernet3/1/2] mpls enable
[PE2-GigabitEthernet3/1/2] mpls ldp enable
[PE2-GigabitEthernet3/1/2] quit
[PE2] interface gigabitethernet 3/1/3
[PE2-GigabitEthernet3/1/3] mpls enable
[PE2-GigabitEthernet3/1/3] mpls ldp enable
[PE2-GigabitEthernet3/1/3] quit
# 配置PE 3。
[PE3] mpls lsr-id 3.3.3.3
[PE3] mpls ldp
[PE3-ldp] quit
[PE3] interface gigabitethernet 3/1/2
[PE3-GigabitEthernet3/1/2] mpls enable
[PE3-GigabitEthernet3/1/2] mpls ldp enable
[PE3-GigabitEthernet3/1/2] quit
[PE3] interface gigabitethernet 3/1/3
[PE3-GigabitEthernet3/1/3] mpls enable
[PE3-GigabitEthernet3/1/3] mpls ldp enable
[PE3-GigabitEthernet3/1/3] quit
(4) 开启L2VPN功能
# 配置PE 1。
[PE1] l2vpn enable
# 配置PE 2。
[PE2] l2vpn enable
# 配置PE 3。
[PE3] l2vpn enable
(5) 创建交叉连接组,配置主备PW与AC关联,并配置PW冗余保护的双收功能
# 配置PE 1。
[PE1] xconnect-group vpna
[PE1-xcg-vpna] connection ldp
[PE1-xcg-vpna-ldp] protection dual-receive
[PE1-xcg-vpna-ldp] ac interface gigabitethernet 3/1/1
[PE1-xcg-vpna-ldp-GigabitEthernet3/1/1] quit
[PE1-xcg-vpna-ldp] peer 2.2.2.2 pw-id 11
[PE1-xcg-vpna-ldp-2.2.2.2-11] backup-peer 3.3.3.3 pw-id 22
[PE1-xcg-vpna-ldp-2.2.2.2-11-backup] quit
[PE1-xcg-vpna-ldp-2.2.2.2-11] quit
[PE1-xcg-vpna-ldp] quit
[PE1-xcg-vpna] quit
# 配置PE 2。
[PE2] xconnect-group vpna
[PE2-xcg-vpna] connection ldp
[PE2-xcg-vpna-ldp] ac interface route-aggregation 1
[PE2-xcg-vpna-ldp-Route-Aggregation1] bypass-peer 3.3.3.3 pw-id 44 ac-bypass
[PE2-xcg-vpna-ldp-Route-Aggregation1-bypass] quit
[PE2-xcg-vpna-ldp-Route-Aggregation1] quit
[PE2-xcg-vpna-ldp] peer 1.1.1.1 pw-id 11
[PE2-xcg-vpna-ldp-1.1.1.1-11] bypass-peer 3.3.3.3 pw-id 33 pw-bypass
[PE2-xcg-vpna-ldp-1.1.1.1-11-bypass] quit
[PE2-xcg-vpna-ldp-1.1.1.1-11] quit
[PE2-xcg-vpna-ldp] quit
[PE2-xcg-vpna] quit
# 配置PE 3。
[PE3] xconnect-group vpna
[PE3-xcg-vpna] connection ldp
[PE3-xcg-vpna-ldp] ac interface route-aggregation 1
[PE3-xcg-vpna-ldp-Route-Aggregation1] bypass-peer 2.2.2.2 pw-id 33 ac-bypass
[PE3-xcg-vpna-ldp-Route-Aggregation1-bypass] quit
[PE3-xcg-vpna-ldp-Route-Aggregation1] quit
[PE3-xcg-vpna-ldp] peer 1.1.1.1 pw-id 22
[PE3-xcg-vpna-ldp-1.1.1.1-22] bypass-peer 2.2.2.2 pw-id 44 pw-bypass
[PE3-xcg-vpna-ldp-1.1.1.1-22-bypass] quit
[PE3-xcg-vpna-ldp-1.1.1.1-22] quit
[PE3-xcg-vpna-ldp] quit
[PE3-xcg-vpna] quit
(6) 配置以太网链路聚合,使CE设备双归接入PE设备
# 配置CE 1。
<CE1> system-view
[CE1] interface route-aggregation 1
[CE1-Route-Aggregation1] link-aggregation mode dynamic
[CE1-Route-Aggregation1] quit
[CE1] interface gigabitethernet 3/1/2
[CE1-GigabitEthernet3/1/2] port link-aggregation group 1
[CE1-GigabitEthernet3/1/2] quit
[CE1] interface gigabitethernet 3/1/3
[CE1-GigabitEthernet3/1/3] port link-aggregation group 1
[CE1-GigabitEthernet3/1/3] quit
(7) 配置LACP系统配置,让CE设备将S-Trunk组中的两台PE设备看成一台设备
# 配置PE 2。
[PE2] lacp system-priority 10
[PE2] lacp system-mac 1-1-1
[PE2] lacp system-number 1
# 配置PE 3。
[PE3] lacp system-priority 10
[PE3] lacp system-mac 1-1-1
[PE3] lacp system-number 2
(8) 配置S-Trunk协议报文参数
# 配置PE 2。
[PE2] s-trunk udp-port 2048
[PE2] s-trunk id 1
[PE2-s-trunk1] s-trunk role priority 100
[PE2-s-trunk1] s-trunk ip destination 10.1.3.2 source 10.1.3.1
[PE2-s-trunk1] quit
# 配置PE 3。
[PE3] s-trunk udp-port 2048
[PE3] s-trunk id 1
[PE3-s-trunk1] s-trunk role priority 200
[PE3-s-trunk1] s-trunk ip destination 10.1.3.1 source 10.1.3.2
[PE3-s-trunk1] quit
(9) 创建静态BFD,配置S-Trunk与BFD联动,加快故障检测
# 配置PE 2。
[PE2] bfd static bfd1 peer-ip 10.1.3.2 source-ip 10.1.3.1 discriminator local 1 remote 2
[PE2-s-trunk1] s-trunk bfd-session bfd1
[PE2] s-trunk id 1
[PE2-s-trunk1] s-trunk bfd-session bfd1
[PE2-s-trunk1] quit
# 配置PE 3。
[PE3] bfd static bfd1 peer-ip 10.1.3.1 source-ip 10.1.3.2 discriminator local 2 remote 1
[PE3-bfd-static-session-bfd1] quit
[PE3] s-trunk id 1
[PE3-s-trunk1] s-trunk bfd-session bfd1
[PE3-s-trunk1] quit
(10) 创建S-Trunk组,并为该组添加成员接口
# 配置PE 2。
[PE2] interface route-aggregation 1
[PE2-Route-Aggregation1] link-aggregation mode dynamic
[PE2-Route-Aggregation1] s-trunk 1
[PE2-Route-Aggregation1] quit
[PE2] interface gigabitethernet 3/1/1
[PE2-GigabitEthernet3/1/1] port link-aggregation group 1
[PE2-GigabitEthernet3/1/1] quit
# 配置PE 3。
[PE3] interface route-aggregation 1
[PE3-Route-Aggregation1] link-aggregation mode dynamic
[PE3-Route-Aggregation1] s-trunk 1
[PE3-Route-Aggregation1] quit
[PE3] interface gigabitethernet 3/1/1
[PE3-GigabitEthernet3/1/1] port link-aggregation group 1
[PE3-GigabitEthernet3/1/1] quit
# 在PE 1上查看PW信息。
[PE1] display l2vpn pw
Flags: M - main, B - backup, BY - bypass, H - hub link, S - spoke link, N - no s
plit horizon
Total number of PWs: 2
1 up, 1 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: vpna
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
2.2.2.2 11 65657/1151 LDP M 0 Up
3.3.3.3 22 65656/1151 LDP B 0 Blocked
以上信息表明,PE 1上建立了两条LDP PW,其中与PE 2建立的PW为主用PW,与PE 3建立的PW为备用PW。
# 在PE 2上查看PW信息。
[PE2] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 3
1 up, 2 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: 1
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
3.3.3.3 44 24125/24127 LDP ABY 0 Blocked
1.1.1.1 11 24129/24124 LDP M 1 Up
3.3.3.3 33 24128/24128 LDP PBY 1 Blocked
# 在PE 3上查看PW信息。
[PE3] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 3
2 up, 1 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: 1
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
2.2.2.2 33 24128/24128 LDP ABY 0 Up
1.1.1.1 22 24129/24123 LDP M 1 Up
2.2.2.2 44 24127/24125 LDP PBY 1 Blocked
以上信息表明,PE 2和PE 3之间建立了两条LDP PW,一条用于保护AC侧链路,一条用于保护PW侧链路,可以提供更短的切换时间和更高的可靠性。
# 在PE 2和PE 3上查看BFD会话信息。
[PE2] display bfd session
Total sessions: 1 Up sessions: 1 Init mode: Active
IPv4 static session working in control packet mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
1/2 10.1.3.1 10.1.3.2 Up 1870ms N/A
[PE3] display bfd session
Total sessions: 1 Up sessions: 1 Init mode: Active
IPv4 static session working in control packet mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
2/1 10.1.3.2 10.1.3.1 Up 1947ms N/A
以上信息表明,PE 2与PE 3建立BFD会话,且BFD会话状态为Up。
# 在CE 1上查看聚合组1的详细信息。
[CE1] display link-aggregation verbose route-aggregation 1
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Port Status: S -- Selected, U -- Unselected, I -- Individual
Port: A -- Auto
Flags: A -- LACP_Activity, B -- LACP_Timeout, C -- Aggregation,
D -- Synchronization, E -- Collecting, F -- Distributing,
G -- Defaulted, H -- Expired
Aggregate Interface: Route-Aggregation1
Aggregation Mode: Dynamic
Loadsharing Type: Shar
System ID: 0x8000, 90e7-10f9-5000
Local:
Port Status Priority Index Oper-Key Flag
GE3/1/2 S 32768 1 1 {ACDEF}
GE3/1/3 U 32768 2 1 {ACD}
Remote:
Actor Priority Index Oper-Key SystemID Flag
GE3/1/2 32768 16385 24577 0xa , 0001-0001-0001 {ACDEF}
GE3/1/3 32768 32769 24577 0xa , 0001-0001-0001 {AC}
以上信息表明,CE 1上接口GigabitEthernet3/1/2处于选中状态,接口GigabitEthernet3/1/3处于非选中状态,用户流量通过接口GigabitEthernet3/1/2转发。
# 在PE 2和PE 3上分别查看S-Trunk详细信息。
[PE2] display s-trunk verbose 1
Trunk-wide info and statistics
S-Trunk ID: 1
Revert: Enabled Revert-delay(s): 120
Local bridge MAC: 00fc-3423-d800 Peer bridge MAC: 84d9-3125-7800
Local priority: 32768 Peer priority: 32768
DevRole (Trigger): Primary (PRIORITY)
DestIP: 10.1.3.2
SrcIP: 10.1.3.1
Local hello interval(100ms): 100 Local hello timeout(100ms): 2000
InStrunkPDUs: 16571 OutStrunkPDUs: 16603
InDrops: 0 OutDrops: 36
Peer hello interval(100ms): 100 Peer hello timeout(100ms): 2000
Sequence number check: Disabled
BFD-Session: bfd1
VPN instance: -
Description: -
Trunk member info
Local LinkState ConfigRole OperRole (Trigger) Peer
RAGG1 UP auto Primary (PEER_MEMBER_DOWN) RAGG1
[PE3] display s-trunk verbose 1
Trunk-wide info and statistics
S-Trunk ID: 1
Revert: Enabled Revert-delay(s): 120
Local bridge MAC: 84d9-3125-7800 Peer bridge MAC: 00fc-3423-d800
Local priority: 32768 Peer priority: 32768
DevRole (Trigger): Secondary (PRIORITY)
DestIP: 10.1.3.1
SrcIP: 10.1.3.2
Local hello interval(100ms): 100 Local hello timeout(100ms): 2000
InStrunkPDUs: 16580 OutStrunkPDUs: 16621
InDrops: 0 OutDrops: 37
Peer hello interval(100ms): 100 Peer hello timeout(100ms): 2000
Sequence number check: Disabled
BFD-Session: bfd1
VPN instance: -
Description: -
Trunk member info
Local LinkState ConfigRole OperRole (Trigger) Peer
RAGG1 DOWN auto Secondary (PEER_MEMBER_UP) RAGG1
以上信息表明,在S-Trunk组1中PE 2为主用设备,PE 3为备用设备,实现了设备间的冗余备份功能。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!