datacom-LAN

LAN

  • 概述
    • 前言
      • 以太网是当今现有局域网LAN(Local Area Network)采用的最通用的通信协议标准。该标准定义了在局域网中采用的电缆类型信号处理方法。以太网作为一种原理简单便于实现同时又价格低廉的局域网技术已经成为业界的主流。而更高性能的千兆以太网和万兆以太网的出现更使其成为最有前途的网络技术。
    • 目标
      • 描述MAC地址表的组成,MAC地址漂移原理
      • 描述免费ARP原理与应用场景
      • 掌握iStack堆叠与CSS集群技术
      • 掌握链路聚合原理与实现方式
      • 掌握MSTP工作原理
    • 1、MAC地址表
      • MAC地址表的组成
        • MAC地址三元素
          • MAC地址
          • 接口
          • VLAN
        • MAC地址表的定义
          • MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系,以及接口所属VLAN等信息。
          • 过程–>设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式在所属VLAN内除接收接口外的所有接口转发该报文。
          • 有则转发、无则广播
        • MAC地址表项
          • 动态表项
            • 由接口通过报文中的源MAC地址学习获得,表项可老化,默认老化时间300秒
            • 系统复位接口板热插拔接口板复位后,动态表项会丢失
            • 同一个MAC地址被多个接口学习到,选择后学习到的接口—MAC地址覆盖
            • 可以通过查看动态MAC地址表项,可以判断两台相连设备之间是否有数据转发。
            • 可以通过查看指定动态MAC地址表项的个数,可以获取接口下通信的用户数。
          • 静态表项
            • 由用户手工配置,并下发到各接口板,表项不可老化。
            • 在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
            • 一条静态MAC地址表项,只能绑定一个出接口。
            • 一个接口和MAC地址静态绑定后,不会影响该接口动态MAC地址表项的学习。
            • 通过绑定静态MAC地址表项,可以保证合法用户的使用,防止其他用户使用该MAC进行攻击。
          • 黑洞表项
            • 由用户手工配置,并下发到各接口板,表项不可老化。
            • 在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
            • 通过配置黑洞MAC地址表项,可以过滤掉非法用户。
            • 配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。
          • MAC地址特性
            • 缺省情况下,MAC地址表项的老化时间为300秒。
            • 黑洞表项,无VLAN,无出接口
            • MAC地址表示例

 

  • 通过“display mac-address”命令,可以查看设备的mac表项,如图所示,mac表的组成可以分为动态、静态和黑洞。从表项中也可以看出,mac地址所对应的VLAN以及VSI。
  • MAC地址表配置
    • 配置静态MAC表项
      • [Huawei]mac-address static 0011-2233-4455 GigabitEthernet 0/0/2vlan  1
    • 配置黑洞MAC表项
      • [Huawei]mac-address blackhole 00aa-bbcc-ddee
    • 配置动态MAC表项的老化时间
      • [Huawei]mac-address aging-time 400
    • 端口安全(Port Security)
      • 端口安全定义
        • 端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。
      • 端口安全分类
        • 安全动态MAC地址
          • 使能端口安全而未使能Sticky MAC功能时转换的MAC地址。
        • 安全静态MAC地址
          • 使能端口安全时手工配置的静态MAC地址。
        • Sticky MAC地址(粘性绑定)
          • 使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。
        • 端口安全特性
          • 接口使能端口安全功能时,接口上之前学习到的动态MAC地址表项将被删除,之后学习到的MAC地址将变为安全动态MAC地址。
          • 接口去使能端口安全功能时,接口上的安全动态MAC地址将被删除,重新学习动态MAC地址。
          • 接口使能StickyMAC功能时,接口上的安全动态MAC地址表项将转化为StickyMAC地址,之后学习到的MAC地址也变为StickyMAC地址。
          • 接口去使能StickyMAC功能时,接口上的StickyMAC地址,会转换为安全动态MAC地址。
          • 接口使能StickyMAC功能,即使配置了port-securityaging-time,StickyMAC也不会被老化。
          • StickyMAC地址表项,保存后重启设备不丢弃。
        • 端口安全配置
          • 配置安全MAC功能
            • [Huawei-GigabitEthernet0/0/2]port-security enable \\使能端口安全功能
            • [Huawei-GigabitEthernet0/0/2]port-security protect-action shutdown \\配置端口安全保护动作
            • [Huawei-GigabitEthernet0/0/2]port-security max-mac-num 5 \\配置端口安全动态MAC学习限制数量
            • [Huawei-GigabitEthernet0/0/2]port-security aging-time 1000 \\配置接口学习到的安全动态MAC地址的老化时间
          • 配置Sticky MAC功能
            • [Huawei-GigabitEthernet0/0/2]port-security enable
            • [Huawei-GigabitEthernet0/0/2]port-security mac-address sticky \\使能接口StickyMAC功能
          • 端口安全的保护动作
            • Restrict:丢弃源MAC地址不存在的报文并上报告警。推荐使用restrict动作。
            • Protect:只丢弃源MAC地址不存在的报文,不上报告警。
            • Shutdown:接口状态被置为error-down,并上报告警。
          • MAC地址漂移
            • MAC地址漂移定义
              • MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。
              • 举例说明: 如图所示,MAC地址为0011-0022-0034的表项,出接口由GE1/0/1刷新为GE1/0/2,这就是MAC地址漂移。设备出现MAC地址漂移时,设备CPU占用率会有不同程度的升高。正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中存在环路,可以通过查看告警信息和漂移记录,快速定位和排除环路。

 

  • MAC地址漂移避免机制
    • 提高接口MAC地址学习优先级,当不同接口学到相同的MAC地址表项时,高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址在接口间发生漂移。
    • 不允许相同优先级的接口发生MAC地址表项覆盖。当伪造网络设备所连接口的优先级与安全的网络设备相同时,后学习到的伪造网络设备的MAC地址表项不会覆盖之前正确的表项。但如果网络设备下电,仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。
  • MAC地址漂移检测
    • MAC地址漂移检测是利用MAC地址出接口跳变的现象,检测MAC地址是否发生漂移的功能。
    • 配置MAC地址漂移检测功能后,在发生MAC地址漂移时,可以上报包括MAC地址、VLAN,以及跳变的接口等信息的告警。其中跳变的接口即为可能出现环路的接口。网络管理员可以根据告警信息,手工排查网络中环路的源头,也可以使用MAC漂移检测提供的后续动作,使跳变的端口down或者VLAN从端口中退出,实现自动破环。
    • 举例说明:如图所示网络中,若SwitchC和SwitchD之间误接网线,则SwitchB、SwitchC、SwitchD之间形成环路。当SwitchA上Port1接口从网络中收到一个广播报文后转发给SwitchB,该报文经过环路,会被SwitchA上Port2接口收到。配置MAC地址漂移检测功能,SwitchA就会感知到MAC地址出接口跳变的现象。若连续出现此现象,SwitchA就会上报MAC漂移告警,提醒管理员进行维护。、

 

  • MAC地址防漂移配置
    • 配置接口MAC地址学习优先级
      • [Huawei-GigabitEthernet0/0/2]mac-learning priority 3 \\配置接口学习MAC地址的优先级,缺省情况下,接口学习MAC地址的优先级为0,数值越大优先级越高
    • 配置不允许相同优先级接口MAC地址漂移
      • [Huawei]undo mac-learning priority 3 allow-flapping \\配置不允许相同优先级的接口发生MAC地址漂移
    • 配置全局MAC地址漂移检测
      • [Huawei]mac-address flapping detection \\配置全局MAC地址漂移检测功能
    • 配置基于VLAN的MAC地址漂移检测
      • [Huawei]vlan 2
      • [Huawei-vlan2]loop-detect eth-loop block-time 100 retry-times 3 \\配置MAC地址漂移检测功能
    • 特性
      • 接口配置不同的MAC地址学习优先级后,如果不同接口学到相同的MAC地址表项,那么高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址发生漂移。
      • 配置不允许相同优先级的接口发生MAC地址表项覆盖,也可以防止MAC地址漂移,提高网络的安全性。
    • 2、免费ARP
      • 免费ARP定义
        • 设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称免费ARP。
      • 免费ARP作用
        • IP地址冲突检测
          • 当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。
          • 正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。
          • 如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
        • 用于通告一个新的MAC地址
          • 发送方更换了网卡,MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。
        • 在VRRP备份组中用来通告主备发生变换
          • 发生主备变换后,MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换。
        • 举例说明

 

  • 3、iStack
    • 园区典型组网
      • 组网

 

  • 优点
    • 简单
      • 各层设备均使用堆叠技术,逻辑设备少,网络拓扑简单,二层天然无环,无需部署STP破环协议。
    • 高效
      • 各层设备间使用Eth-Trunk链路聚合技术,负载分担算法灵活,链路利用率高。
    • 可靠
      • 服务器和主机可以配置多NIC网卡Teaming负载均衡或主备冗余链路提高服务器接入可靠性。
      • 堆叠技术同链路聚合技术结合使用,各层物理设备形成双归接入组网,提高整网可靠性。
    • 缺点
      • 对设备性能要求较高,盒式设备堆叠台数过多,可能导致堆叠主的主控性能下降。
      • 如果采用业务口堆叠或集群,会占用业务端口数。
    • iStack堆叠原理
      • iStack堆叠定义
        • 智能堆叠iStack (Intelligent Stack),是指将多台支持堆叠特性的交换机设备组合在一起,从逻辑上组合成一台交换设备。
        • 优点:通过交换机堆叠,可以实现网络高可靠性和网络大数据量转发,同时简化网络管理。
          • 高可靠性。堆叠系统多台成员交换机之间冗余备份;堆叠支持跨设备的链路聚合功能,实现跨设备的链路冗余备份。
          • 强大的网络扩展能力。通过增加成员交换机,可以轻松的扩展堆叠系统的端口数、带宽和处理能力;同时支持成员交换机热插拔,新加入的成员交换机自动同步主交换机的配置文件和系统软件版本。
          • 简化配置和管理。一方面,用户可以通过任何一台成员交换机登录堆叠系统,对堆叠系统所有成员交换机进行统一配置和管理;另一方面,堆叠形成后,不需要配置复杂的二层破环协议和三层保护倒换协议,简化了网络配置。
        • 举例说明
          • 如图所示,SwitchA与SwitchB通过堆叠线缆连接后组成堆叠系统,对于上游和下游设备来说,它们就相当于一台交换机Switch。

 

  • iStack堆叠基本概念
    • iStack堆叠角色(堆叠中所有的单台交换机都称为成员交换机,按照功能不同,可以分为三种角色)
      • 主交换机(Master):负责管理整个堆叠。堆叠中只有一台主交换机。
      • 备交换机(Standby):是主交换机的备份交换机。当主交换机故障时,备交换机会接替原主交换机的所有业务。堆叠中只有一台备交换机。
      • 从交换机(Slave):主要用于业务转发,从交换机数量越多,堆叠系统的转发能力越强。除主交换机和备交换机外,堆叠中其他所有的成员交换机都是从交换机。
    • iStack堆叠ID
      • 即成员交换机的槽位号(Slot ID),用来标识和管理成员交换机,堆叠中所有成员交换机的堆叠ID都是唯一的。
    • iStack堆叠优先级
      • 堆叠优先级是成员交换机的一个属性,主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,优先级越高当选为主交换机的可能性越大。
    • iStack堆叠建立方式
      • iStack堆叠建立

 

  • 三步“系统自动完成堆叠”
    • 主交换机选举
      • 运行状态比较,已经运行的交换机比处于启动状态的交换机优先竞争为主交换机。
      • 堆叠优先级高的交换机优先竞争为主交换机。
      • 堆叠优先级相同时,MAC地址小的交换机优先竞争为主交换机。
    • 拓扑收集和备交换机选举
      • 主交换机选举完成后,主交换机会收集所有成员交换机的拓扑信息,根据拓扑信息计算出堆叠转发表项和破环点信息下发给堆叠中的所有成员交换机,并向所有成员交换机分配堆叠ID。之后进行备交换机的选举,作为主交换机的备份交换机。
      • 当除主交换机外其它交换机同时完成启动时:堆叠优先级最高的设备成为备交换机。堆叠优先级相同时,MAC地址最小的成为备交换机。
    • 稳定运行
  • 角色选举、拓扑收集完成之后
    • 角色选举、拓扑收集完成之后,剩下的其他成员交换机作为从交换机加入堆叠,所有成员交换机会自动同步主交换机的系统软件和配置文件:
    • 堆叠具有自动加载系统软件的功能,待组成堆叠的成员交换机不需要具有相同软件版本,只需要版本间兼容即可。当备交换机或从交换机与主交换机的软件版本不一致时,备交换机或从交换机会自动从主交换机下载系统软件,然后使用新系统软件重启,并重新加入堆叠。
    • 堆叠具有配置文件同步机制,备交换机或从交换机会将主交换机的配置文件同步到本设备并执行,以保证堆叠中的多台设备能够像一台设备一样在网络中工作,并且在主交换机出现故障之后,其余交换机仍能够正常执行各项功能。
  • iStack堆叠连接方式
    • 根据堆叠口划分
      • 堆叠卡堆叠(根据堆叠口不同)
        • 交换机之间通过专用的堆叠插卡及专用的堆叠线缆连接。
        • 堆叠卡集成到了交换机后面板上,交换机通过集成的堆叠端口及专用的堆叠线缆连接。
      • 业务口堆叠

 

  • 业务口堆叠指的是交换机之间通过与逻辑堆叠端口绑定的物理成员端口相连,不需要专用的堆叠插卡。
  • 端口说明
    • 物理成员端口
      • 成员交换机之间用于堆叠连接的物理端口。物理成员端口用于转发需要跨成员交换机的业务报文或成员交换机之间的堆叠协议报文。
    • 逻辑堆叠端口
      • 逻辑堆叠端口是专用于堆叠的逻辑端口,需要和物理成员端口绑定。堆叠的每台成员交换机上支持两个逻辑堆叠端口,分别为stack-port n/1和stack-port n/2,其中n为成员交换机的堆叠ID。
    • 根据连接线缆划分
      • 普通线缆堆叠
        • 普通堆叠线缆包括:光线缆、网线和高速电缆。使用普通线缆堆叠时,逻辑堆叠端口需要手动进行配置,否则无法组建堆叠。
      • 专用线缆堆叠
        • 专用堆叠线缆的两端区分主和备,带有Master标签的一端为主端,不带有标签的一端为备端。使用专用线缆堆叠时,专用堆叠线缆按照规则插入端口后,交换机就可以自动组建堆叠。
      • iStack堆叠成员加入

 

  • 堆叠成员加入是指向已经稳定运行的堆叠系统添加一台新的交换机。
  • 使能堆叠并配置好SWD的堆叠参数
    • 如果是业务口堆叠,新加入的交换机需要配置物理成员端口加入逻辑堆叠端口;并且链形连接时,当前堆叠系统链形两端(或一端)的成员交换机也需要配置物理成员端口加入逻辑堆叠口。
    • 如果是堆叠卡堆叠,新加入的成员交换机需要使能堆叠功能。
    • 为了便于管理,建议为新加入的交换机配置堆叠ID。如果不配置,堆叠系统会为其分配一个堆叠ID。
  • 将SWD连接到堆叠系统
    • 如果是链形连接,新加入的交换机建议添加到链形的两端,这样对现有的业务影响最小。
    • 如果是环形连接,需要把当前环形拆成链形,然后在链形的两端添加设备。
  • 系统完成堆叠
    • 新加入的交换机连线上电启动后,进行角色选举,新加入的交换机会选举为从交换机,堆叠系统中原有主备从角色不变。
    • 角色选举结束后,主交换机更新堆叠拓扑信息,同步到其他成员交换机上,并向新加入的交换机分配堆叠ID(新加入的交换机没有配置堆叠ID或配置的堆叠ID与原堆叠系统的冲突时)。
    • 新加入的交换机更新堆叠ID,并同步主交换机的配置文件和系统软件,之后进入稳定运行状态。
  • iStack堆叠合并

 

  • 堆叠合并是指稳定运行的两个堆叠系统合并成一个新的堆叠系统。
  • 图例说明
    • 两个堆叠系统的主交换机SWA和SWD通过竞争,选举出一个更优的作为新堆叠系统的主交换机。
    • 竞争成功的主交换机SWA所在的堆叠系统将保持原有主备从角色和配置不变,业务也不会受到影响。
    • 而另外一个堆叠系统的所有成员交换机SWD和SWE将重新启动,以从交换机的角色加入到新堆叠系统,其堆叠ID将由新主交换机重新分配,并将同步新主交换机的配置文件和系统软件,该堆叠系统的原有业务也将中断。
  • 适用情况
    • 堆叠链路或设备故障导致堆叠分裂,链路或设备故障恢复后,分裂的堆叠系统重新合并。
    • 待加入堆叠系统的交换机配置了堆叠功能,在不下电的情况下,使用堆叠线缆连接到正在运行的堆叠系统。通常情况下,不建议使用该方式形成堆叠,因为在合并前过程中可能会导致正在运行的堆叠系统重启,影响业务运行。
  • iStack堆叠成员退出

 

  • 堆叠成员退出是指成员交换机从堆叠系统中离开。
  • 堆叠成员退出的触发方式
    • 拔出堆叠线缆;
    • 关闭堆叠端口或物理成员端口;
    • 堆叠成员设备重启;
    • 成员设备故障等其它原因。
  • 堆叠成员退出的影响
    • 当主交换机退出,备份交换机升级为主交换机,重新计算堆叠拓扑并同步到其他成员交换机,指定新的备交换机,之后进入稳定运行状态。
    • 当备交换机退出,主交换机重新指定备交换机,重新计算堆叠拓扑并同步到其他成员交换机,之后进入稳定运行状态。
    • 当从交换机退出,主交换机重新计算堆叠拓扑并同步到其他成员交换机,之后进入稳定运行状态。
  • 堆叠成员退出的过程(主要就是拆除堆叠线缆和移除交换机的过程)
    • 对于环形堆叠:成员交换机退出后,为保证网络的可靠性还需要把退出交换机连接的两个端口通过堆叠线缆进行连接。
    • 对于链形堆叠:拆除中间交换机会造成堆叠分裂。这时需要在拆除前进行业务分析,尽量减少对业务的影响。
  • iStack堆叠分裂

 

  • 堆叠分裂是指稳定运行的堆叠系统中带电移出部分成员交换机,或者堆叠线缆多点故障导致一个堆叠系统变成多个堆叠系统
  • 堆叠分裂类型
    • 堆叠分裂后,原主备交换机被分裂到同一个堆叠系统中
      • 原主交换机会重新计算堆叠拓扑,将移出的成员交换机的拓扑信息删除,并将新的拓扑信息同步给其他成员交换机;而移出的成员交换机检测到堆叠协议报文超时,将自行复位,重新进行选举。
    • 堆叠分裂后,原主备交换机被分裂到不同的堆叠系统中
      • 原主交换机所在堆叠系统重新指定备交换机,重新计算拓扑信息并同步给其他成员交换机;原备交换机所在堆叠系统将发生备升主,原备交换机升级为主交换机,重新计算堆叠拓扑并同步到其他成员交换机,并指定新的备交换机。
    • iStack堆叠多主检测
      • 多主检测MAD
        • 多主检测定义
          • 多主检测MAD(Multi-Active Detection),是一种检测和处理堆叠分裂的协议。链路故障导致堆叠系统分裂后,MAD可以实现堆叠分裂的检测、冲突处理和故障恢复,降低堆叠分裂对业务的影响。
        • 多主检测作用
          • 由于堆叠系统中所有成员交换机都使用同一个IP地址和MAC地址(堆叠系统MAC),一个堆叠分裂后,可能产生多个具有相同IP地址和MAC地址的堆叠系统。为防止堆叠分裂后,产生多个具有相同IP地址和MAC地址的堆叠系统,引起网络故障,必须进行IP地址和MAC地址的冲突检查。
        • 多主检测方式
          • MAD检测方式有两种:直连检测方式和代理检测方式。在同一个堆叠系统中,两种检测方式互斥,不可以同时配置。
          • 直连检测方式
            • 直连检测定义
              • 直连检测方式是指堆叠成员交换机间通过普通线缆直连的专用链路进行多主检测。
            • 直连检测的连接方式包括通过中间设备直连和堆叠成员交换机Full-mesh方式直连

 

  • 通过中间设备直连
    • 堆叠系统的所有成员交换机之间至少有一条检测链路与中间设备相连。
    • 可以实现通过中间设备缩短堆叠成员交换机之间的检测链路长度,适用于成员交换机相距较远的场景。
  • Full-mesh方式直连
    • 堆叠系统的各成员交换机之间通过检测链路建立Full-mesh全连接,即每两台成员交换机之间至少有一条检测链路。
    • 与通过中间设备直连相比,Full-mesh方式直连可以避免由中间设备故障导致的MAD检测失败,但是每两台成员交换机之间都建立全连接会占用较多的接口,所以该方式适用于成员交换机数目较少的场景。
  • 直连检测特性
    • 在直连检测方式中,堆叠系统正常运行时,不发送MAD报文。
    • 堆叠系统分裂后,分裂后的两台交换机以1s为周期通过检测链路发送MAD报文以进行多主冲突处理。
  • 代理检测方式
    • 代理检测定义
      • 代理检测方式是在堆叠系统Eth-Trunk上启用代理检测,在代理设备上启用MAD检测功能。
    • 代理检测方式可分为单机作代理和两套堆叠系统互为代理

 

  • 代理检测特性
    • 要求堆叠系统中的所有成员交换机都与代理设备连接,并将这些链路加入同一个Eth-Trunk内。
    • 与直连检测方式相比,代理检测方式无需占用额外的接口,Eth-Trunk接口可同时运行MAD代理检测和其他业务。
    • 在代理检测方式中,堆叠系统正常运行时,堆叠成员交换机以30s为周期通过检测链路发送MAD报文。
    • 堆叠成员交换机对在正常工作状态下收到的MAD报文不做任何处理。
    • 堆叠分裂后,分裂后的两台交换机以1s为周期通过检测链路发送MAD报文以进行多主冲突处理。
  • MAD冲突处理
    • 堆叠分裂后,MAD冲突处理机制会使分裂后的堆叠系统处于Detect状态或Recovery状态。
    • Detect状态表示堆叠正常工作状态,Recovery状态表示堆叠禁用状态。
    • MAD冲突处理机制
      • MAD分裂检测机制会检测到网络中存在多个处于Detect状态的堆叠系统,这些堆叠系统之间相互竞争。
      • 竞争成功的堆叠系统保持Detect状态,竞争失败的堆叠系统会转入Recovery状态。
      • 并且在Recovery状态堆叠系统的所有成员交换机上,关闭除保留端口以外的其它所有物理端口,以保证该堆叠系统不再转发业务报文。
    • MAD故障恢复
      • 通过修复故障链路,分裂后的堆叠系统重新合并为一个堆叠系统。
      • MAD故障恢复方式
        • 方式一:堆叠链路修复后,处于Recovery状态的堆叠系统重新启动,与Detect状态的堆叠系统合并,同时将被关闭的业务端口恢复Up,整个堆叠系统恢复。
        • 方式二:如果故障链路修复前,承载业务的Detect状态的堆叠系统也出现了故障。此时,可以先将Detect状态的堆叠系统从网络中移除,再通过命令行启用Recovery状态的堆叠系统,接替原来的业务,然后再修复原Detect状态堆叠系统的故障及链路故障。故障修复后,重新合并堆叠系统。
      • iStack堆叠配置
        • 通过堆叠卡连接方式组建堆叠
          • [SwitchA]stack slot 0 priority 200 \\配置成员交换机的堆叠优先级。缺省情况下,成员交换机的堆叠优先级为100
          • [SwitchB]stack slot 0 renumber 1 \\配置设备的堆叠ID
          • [SwitchC]stack slot 0 renumber 2
        • 通过业务口连接方式组建堆叠
          • [SwitchA]interface stack-port 0/1
          • [SwitchA-stack-port0/1]port interface gigabitethernet0/0/27 enable \\配置业务口为物理成员端口并将其加入到逻辑堆叠端口中。交换机B、C同理。
          • [SwitchA]interface stack-port 0/2
          • [SwitchA-stack-port0/2]port interface gigabitethernet0/0/28 enable
          • [SwitchA]stack slot 0 priority 200 \\ 配置SwitchA的堆叠优先级为200
          • [SwitchB]stack slot 0 renumber 1 \\配置SwitchB的堆叠ID为1
          • [SwitchC]stack slot 0 renumber 2
        • 4、CSS
          • CSS定义
            • 定义
              • 集群交换机系统CSS (Cluster Switch System),又称为集群,是指将两台支持集群特性的交换机设备组合在一起,从逻辑上组合成一台交换设备。
            • 特征
              • 交换机多虚一:堆叠交换机对外表现为一台逻辑交换机,控制平面合一,统一管理。
              • 转发平面合一:堆叠内物理设备转发平面合一,转发信息共享并实时同步。
              • 跨设备链路聚合:跨堆叠内物理设备的链路被聚合成一个Eth-Trunk端口,和下游设备实现互联。
            • CSS基本概念
              • 主交换机
                • 负责管理整个集群。集群中只有一台主交换机。
              • 备交换机
                • 主交换机的备份交换机。当主交换机故障时,备交换机会接替原主交换机的所有业务。集群中只有一台备交换机。
                • 不同于iStack可以多台设备堆叠,对于CSS集群,集群中只能有一主一备两台交换机。
              • 集群ID
                • 即CSS ID,用来标识和管理成员交换机。集群中成员交换机的集群ID是唯一的。
              • 集群优先级
                • 即Priority,是成员交换机的一个属性,主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,优先级越高当选为主交换机的可能性越大。
              • CSS集群建立
                • 集群建立时,成员交换机间相互发送集群竞争报文,通过竞争,一台成为主交换机,负责管理整个集群系统,另一台则成为备交换机。

 

  • 角色选举
    • 最先完成启动,并进入单框集群运行状态的交换机成为主交换机。
    • 当两台交换机同时启动时,集群优先级高的交换机成为主交换机。
    • 当两台交换机同时启动,且集群优先级又相同时,MAC地址小的交换机成为主交换机。
    • 当两台交换机同时启动,且集群优先级和MAC都相同时,集群ID小的交换机成为主交换机。
  • 版本同步
    • 集群具有自动加载系统软件的功能,待组成集群的成员交换机不需要具有相同的软件版本,只需要版本间兼容即可。
    • 当主交换机选举结束后,如果备交换机与主交换机的软件版本号不一致时,备交换机会自动从主交换机下载系统软件,然后使用新的系统软件重启,并重新加入集群。
  • 配置同步
    • 集群具有严格的配置文件同步机制,来保证集群中的多台交换机能够像一台设备一样在网络中工作。
  • 配置备份
    • 交换机从非集群状态进入集群状态后,会自动将原有的非集群状态下的配置文件加上.bak的扩展名进行备份,以便去使能集群功能后,恢复原有配置。
    • 例如,原配置文件扩展名为.cfg,则备份配置文件扩展名为.cfg.bak。
    • 去使能交换机集群功能时,用户如果希望恢复交换机的原有配置,可以更改备份配置文件名并指定其为下一次启动的配置文件,然后重新启动交换机,恢复原有配置。
  • CSS集群连接方式
    • 集群卡集群
      • 集群成员交换机之间通过主控板上专用的集群卡及专用的集群线缆连接。
    • 业务口集群
      • 集群成员交换机之间通过业务板上的普通业务口连接,不需要专用的集群卡。
      • 同iStack,业务口集群一样涉及两种端口的概念:物理成员端口和逻辑集群端口。
      • 物理成员端口:成员交换机之间用于集群连接的普通业务口。物理成员端口用于转发需要跨成员交换机的业务报文或成员交换机之间的集群协议报文。
      • 逻辑集群端口:逻辑集群端口是专用于集群的逻辑端口,需要和物理成员端口绑定。集群的每台成员交换机上支持两个逻辑集群端口。

 

  • CSS集群成员加入与合并

 

  • CSS集群成员加入
    • 定义
      • 集群成员加入是指向稳定运行的单框集群系统中添加一台新的交换机。
      • 如图1所示,新交换机SwitchB将加入单框集群系统从而形成新的集群系统。原单框集群的交换机成为主交换机,新加入的交换机成为备交换机。
    • 两种情形
      • 在建立集群时,先将一台交换机使能集群功能后重启,重启后这台交换机将进入单框集群状态。然后再使能另外一台交换机的集群功能后重启,则后启动的交换机则按照集群成员加入的流程加入集群系统,成为备交换机。
      • 在稳定运行的两框集群场景中,将其中一台交换机重启,则这台交换机将以集群成员加入的流程重新加入集群系统,并成为备交换机。
    • CSS集群成员合并
      • 定义
        • 集群合并是指稳定运行的两个单框集群系统合并成一个新的集群系统。
        • 如图2所示,两个单框集群系统将自动选出一个更优的作为合并后集群系统的主交换机。被选为主交换机的配置不变,业务也不会受到影响,框内的备用主控板将重启。而备交换机将整框重启,以集群备的角色加入新的集群系统,并将同步主交换机的配置,该交换机原有的业务也将中断。
      • 两种情形
        • 将两台交换机分别使能集群功能后重启(重启后的两台交换机都属于单框集群),再使用集群线缆将两台交换机连接,之后会进入集群合并流程。
        • 集群链路或设备故障导致集群分裂。故障恢复后,分裂后的两个单框集群系统重新合并。
      • CSS集群分裂
        • 集群建立后,系统主用主控板和系统备用主控板定时发送心跳报文来维护集群系统的状态。
        • 集群线缆、集群卡、主控板等发生故障或者是其中一台交换机下电或重启将导致两台交换机之间失去通信。
        • 当两台交换机之间的心跳报文超时(超时时间为8秒)时,集群系统将分裂为两个单框集群系统,如图所示:

 

  • 集群分裂后,由于成员交换机运行着相同的配置文件,就会产生两个具有相同IP和MAC的集群系统。为防止由此引起网络故障,必须进行IP地址和MAC地址的冲突检查。
  • CSS集群多主检测
    • CSS集群直连检测

 

  • 直连检测的连接方式包括通过中间设备直连和集群成员交换机直接直连。
  • 直连检测方式是指集群成员交换机间通过普通线缆直连的专用链路进行多主检测。
  • 在直连检测方式中,集群系统正常运行时,不发送MAD报文。
  • 集群系统分裂后,分裂后的两台交换机周期性地通过检测链路发送MAD报文以进行多主冲突处理。
  • 直连检测的连接方式包括通过中间设备直连和集群成员交换机直接直连:
    • 通过中间设备直连:集群系统的成员交换机之间至少有一条检测链路与中间设备相连。此种方式适用于成员交换机相距较远的场景。
    • 直接直连:集群成员交换机直接直连可以避免由中间设备故障导致MAD检测失败。
  • CSS集群代理检测

 

  • 代理检测方式可分为单机作代理和两套集群系统互为代理。
  • 代理检测方式是在集群系统Eth-Trunk上启用代理检测,在代理设备上启用MAD检测功能。
  • 此种检测方式要求集群系统中的所有成员交换机都与代理设备连接,并将这些链路加入同一个Eth-Trunk内。
  • 与直连检测方式相比,代理检测方式无需占用额外的接口,Eth-Trunk接口可同时运行MAD代理检测和其他业务。
  • 在代理检测方式中,集群系统正常运行时,集群成员交换机以30s为周期通过检测链路发送MAD报文。
  • 集群成员交换机对在正常工作状态下收到的MAD报文不做任何处理。
  • 集群分裂后,分裂后的两台交换机周期性地通过检测链路发送MAD报文以进行多主冲突处理。
  • MAD冲突处理
    • 集群分裂后,MAD冲突处理机制会使分裂后的单框集群系统处于Detect状态或Recovery状态。Detect状态表示集群正常工作状态,Recovery状态表示集群禁用状态。
    • MAD冲突处理机制如下:MAD分裂检测机制会检测到网络中存在两个处于Detect状态的集群系统即两台交换机,此时会进行集群优先级比较(优先级相同比较MAC地址,MAC地址相同则比较集群ID),优先级高的交换机将成为主交换机继续正常工作,另一台交换机会转入Recovery状态;并且在Recovery状态的交换机上,关闭除保留端口以外的其它所有物理端口,以保证该交换机不再转发业务报文。
  • MAD故障恢复
    • 通过修复故障链路,分裂后的集群系统重新合并为一个集群系统。重新合并的方式有以下两种:
    • 集群链路修复后,处于Recovery状态的集群系统重新启动,与Detect状态的集群系统合并,同时将被关闭的业务端口恢复Up,整个集群系统恢复。
    • 如果故障链路修复前,承载业务的Detect状态的集群系统也出现了故障。此时,可以先将Detect状态的集群系统从网络中移除,再通过命令行启用Recovery状态的集群系统,接替原来的业务,然后再修复原Detect状态集群系统的故障。故障修复后,重新合并集群系统。
  • CSS集群配置
    • 通过集群卡连接方式组建集群
      • [SwitchA] setcss modecss-card      \\配置集群卡连接方式
      • [SwitchA] setcss id1                        \\配置成员交换机的集群ID
      • [SwitchA] setcsspriority 100           \\配置设备的集群优先级
      • [SwitchA] cssenable                        \\使能交换机的集群功能
    • 通过业务口连接方式组建集群
      • [SwitchA] setcss modelpu       \\配置业务口连接方式
      • [SwitchA] setcss id1                  \\配置成员交换机的集群ID
      • [SwitchA] setcsspriority 100    \\配置设备的集群优先级
      • [SwitchA]interface css-port1  \\进入逻辑集群端口视图
      • [SwitchA-css-port1]port interface xgigabitethernet1/0/1 to xgigabitethernet1/0/2 enable \\配置业务口为物理成员端口,并将物理成员端口加入到逻辑集群端口中
      • [SwitchA]interface css-port2
      • [SwitchA-css-port2]port interface xgigabitethernet2/0/1 to xgigabitethernet2/0/2 enable
      • [SwitchA] cssenable                  \\使能交换机的集群功能
    • 5、Eth-Trunk
      • Eth-Trunk原理
        • Eth-Trunk基本原理
          • Eth-Trunk定义
            • 以太网链路聚合Eth-Trunk简称链路聚合。
            • 通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。
            • 同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。
          • 实现方式

 

  • Trunk接口连接的链路可以看成是一条点到点的直连链路。
  • 在一个Trunk内,可以实现流量负载分担。
  • 同时也提供了更高的连接可靠性和更大的带宽。
  • 用户通过对逻辑口进行配置,实现各种路由协议以及其它业务部署。
  • 优势
    • 增加带宽
    • 提高可靠性
    • 负载分担
  • 聚合组和成员接口
    • 链路聚合组LAG是指将若干条以太链路捆绑在一起所形成的逻辑链路。
    • 组成Eth-Trunk接口的各个物理接口称为成员接口。
  • 活动接口和非活动接口、活动链路和非活动链路
    • 链路聚合组的成员接口存在活动接口和非活动接口两种。
    • 转发数据的接口称为活动接口,不转发数据的接口称为非活动接口。
    • 活动接口对应的链路称为活动链路,非活动接口对应的链路称为非活动链路。
  • 活动接口数上限阈值
    • 当前活动链路数目达到上限阈值时,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目。
    • 超过上限阈值的链路状态将被置为Down,作为备份链路。
  • 活动接口数下限阈值
    • 设置活动接口数下限阈值是为了保证最小带宽。
    • 当前活动链路数目小于下限阈值时,Eth-Trunk接口的状态转为Down。
  • 设备支持的链路聚合方式
    • 同板:是指链路聚合时,同一聚合组的成员接口分布在同一单板上。
    • 跨板:是指链路聚合时,同一聚合组的成员接口分布在不同的单板上。
    • 跨框:是指在集群场景下,成员接口分布在集群的各个成员设备上。
    • 跨设备:是指E-Trunk基于LACP进行了扩展,能够实现多台设备间的链路聚合。
  • Eth-Trunk转发原理
    • 转发原理
      • Eth-Trunk位于MAC与LLC子层之间,属于数据链路层。

 

  • 转发表
    • Eth-Trunk模块内部维护一张转发表,这张表由以下两项组成。
    • HASH-KEY值:HASH-KEY值是根据数据包的MAC地址或IP地址等,经HASH算法计算得出。
    • 接口号:Eth-Trunk转发表表项分布和设备每个Eth-Trunk支持加入的成员接口数量相关,不同的HASH-KEY值对应不同的出接口。
  • 转发过程
    • Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址。
    • 根据HASH算法进行计算,得到HASH-KEY值。
    • Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。
    • 例如 ,某设备每Eth-Trunk支持最大加入接口数为8个,将接口1、2、3、4捆绑为一个Eth-Trunk接口,此时生成的转发表如图2所示。其中HASH-KEY值为0、1、2、3、4、5、6、7,对应的出接口号分别为1、2、3、4、1、2、3、4。
  • 负载分担方式
    • 为了避免数据包乱序情况的发生,Eth-Trunk采用逐流负载分担的机制,其中如何转发数据则由于选择不同的负载分担方式而有所差别。
    • 根据报文的源MAC地址进行负载分担;
    • 根据报文的目的MAC地址进行负载分担;
    • 根据报文的源IP地址进行负载分担;
    • 根据报文的目的IP地址进行负载分担;
    • 根据报文的源MAC地址和目的MAC地址进行负载分担;
    • 根据报文的源IP地址和目的IP地址进行负载分担;
    • 根据报文的VLAN、源物理端口等对L2、IPv4、IPv6和MPLS报文进行增强型负载分担。
  • Eth-Trunk实现方式
    • 手工模式链路聚合

 

  • 手工模式下,Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议LACP的参与。
  • 如图所示,DeviceA与DeviceB之间创建Eth-Trunk,手工模式下三条活动链路都参与数据转发并分担流量。
  • 当一条链路故障时,故障链路无法转发数据,链路聚合组自动在剩余的两条活动链路中分担流量。
  • LACP模式链路聚合
    • 为了提高Eth-Trunk的容错性,并且能提供备份功能,保证成员链路的高可靠性,出现了链路聚合控制协议LACP(Link Aggregation Control Protocol)。
    • 聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。
    • 作为链路聚合技术,手工模式Eth-Trunk可以完成多个物理接口聚合成一个Eth-Trunk口来提高带宽。
    • 同时能够检测到同一聚合组内的成员链路有断路等有线故障。
    • 但是无法检测到链路层故障、链路错连等故障。
    • LACP模式Eth-Trunk建立的过程
      • 两端互相发送LAC PDU报文。在DeviceA和DeviceB上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文。

 

  • 确定主动端和活动链路。

 

  • 如图所示,两端设备均会收到对端发来的LACPDU报文。以DeviceB为例,当DeviceB收到DeviceA发送的报文时,DeviceB会查看并记录对端信息,然后比较系统优先级字段,如果DeviceA的系统优先级高于本端的系统优先级,则确定DeviceA为LACP主动端。如果DeviceA和DeviceB的系统优先级相同,比较两端设备的MAC地址,确定MAC地址小的一端为LACP主动端。
  • 选出主动端后,两端都会以主动端的接口优先级来选择活动接口,如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口。两端设备选择了一致的活动接口,活动链路组便可以建立起来,从这些活动链路中以负载分担的方式转发数据。
  • 配置链路聚合
    • 配置手工模式链路聚合
      • [SwitchA]interface eth-trunk 1 \\创建Eth-Trunk接口,并进入Eth-Trunk接口视图
      • [SwitchA-Eth-Trunk1]mode manual load-balance \\配置链路聚合模式为手工模式
      • [SwitchA-Eth-Trunk1]trunkport gigabitethernet0/0/1 to 0/0/3 \\将成员接口加入聚合组
    • 配置LACP模式的链路聚合
      • [SwitchA]interface eth-trunk 1
      • [SwitchA-Eth-Trunk1]mode lacp \\配置链路聚合模式为LACP模式
      • [SwitchA-Eth-Trunk1]max active-linknumber2  \\配置活动接口上限阈值为2
      • [SwitchA]interface gigabitethernet0/0/1  \\将成员接口加入聚合组
      • [SwitchA-GigabitEthernet0/0/1]eth-trunk 1
      • [SwitchA]interface gigabitethernet0/0/2
      • [SwitchA-GigabitEthernet0/0/2]eth-trunk 1
      • [SwitchA]interface gigabitethernet0/0/3
      • [SwitchA-GigabitEthernet0/0/3]eth-trunk 1
    • 集群环境下的链路聚合
      • 将集群设备不同设备中的物理接口聚合到一个逻辑接口Eth-Trunk接口中。
      • 当集群设备中某台设备故障或加入Eth-Trunk接口中的物理成员口故障,可通过集群设备间线缆跨框传输数据流量,从而保证了数据流量的可靠传输,同时实现了设备间的备份。
      • 在网络无故障的情况下从DeviceB或DeviceC上来的流量,通过本设备中的成员口优先本地转发,而不是像A图中通过集群设备间线缆跨框转发。

 

  • 在设备集群情况下,为了保证流量的可靠传输,流量的出接口设置为Eth-Trunk接口。那么Eth-Trunk接口中必定存在跨框成员口。当集群设备转发流量时,Eth-Trunk接口通过HASH算法可能会选择跨框的成员口。由于集群设备间线缆带宽有限,跨框转发流量增加了集群设备之间的带宽承载压力,同时也降低了流量转发效率。为了解决这个问题,可以使能Eth-Trunk接口流量本地优先转发。
  • 如上图所示,DeviceB和DeviceC组成集群,集群设备和DeviceA之间用Eth-Trunk连接。通过在集群设备上部署接口流量本地优先转发功能,可实现:
    • 入本设备流量从本设备转发:当Eth-Trunk接口在DeviceB有出接口且出接口无故障时,DeviceB的Eth-Trunk接口转发表中将只包含DeviceB的出接口。这样DeviceB到DeviceA的流量在通过HASH算法选择出接口时只能选中DeviceB的接口,流量从DeviceB本设备转发出去。
    • 入本设备流量跨框转发:当Eth-Trunk接口在DeviceB本设备无出接口或者出接口全部故障时,DeviceB的Eth-Trunk转发表中将包含Eth-Trunk接口中所有可转发的出接口。这样DeviceB到DeviceA的流量在通过HASH算法选择出接口时将选中DeviceC上的出接口,流量将通过DeviceC跨框转发。
  • E-Trunk
    • E-Trunk(Enhanced Trunk)是一种实现跨设备链路聚合的机制,基于LACP(单台设备链路聚合的标准)进行了扩展,能够实现多台设备间的链路聚合,从而把链路可靠性从单板级提高到了设备级。
    • 如图所示,CE双归接入PE1和PE2,通过在PE节点部署E-Trunk,当CE至PE1的链路或PE1节点故障时,流量可以切换到CE至PE2的链路,从而实现设备级保护。

 

  • E-Trunk机制主要应用于CE双归接入VPLS、VLL、PWE3网络时,CE与PE间的链路保护以及对PE设备节点故障的保护。在没有使用E-Trunk前,CE通过Eth-Trunk链路只能单归到一个PE设备。如果Eth-Trunk出现故障或者PE设备故障,CE将无法与PE设备继续进行通信。使用E-Trunk后,CE可以双归到PE上,从而实现设备间保护
  • 如图,CE分别与PE1和PE2直连,PE1和PE2之间运行E-Trunk。PE侧,需要在PE1和PE2设备上分别创建ID相同的E-Trunk和Eth-Trunk,并将Eth-Trunk加入到E-Trunk。CE侧,在CE设备上配置LACP模式的Eth-Trunk,此Eth-Trunk分别与PE1和PE2设备相连。对CE设备而言,E-Trunk不可见。
  • PE1与PE2设备之间通过E-Trunk报文进行主备协商,确定E-Trunk的主备状态。正常情况下两台PE的协商结果是一个为主用一个为备用。PE设备上E-Trunk主备状态是根据报文中所携带的E-Trunk优先级和E-Trunk系统ID确定的。优先级的数值越小,优先级越高,优先级高的为主用。如果E-Trunk优先级相同,那么E-Trunk系统ID小的为主用。PE1为主,PE1的Eth-Trunk10为主,链路状态为Up。PE2为备,PE2的Eth-Trunk10为备,链路状态为Down。
  • 如果CE到PE1间的链路出现故障:PE1会向对端发送E-Trunk报文,报文中携带PE1的Eth-Trunk10故障的信息。PE2收到E-Trunk报文后,发现对端Eth-Trunk10故障,则PE2设备上Eth-Trunk10的状态将变为主。然后经过LACP协商,PE2设备上的Eth-Trunk10的状态变为Up。这样PE2设备的Eth-Trunk状态变为Up,CE的流量会通过PE2转发,以达到对CE的流量进行保护的目的。
  • 如果PE1设备出现故障:如果PE设备上配置了BFD,PE2检测到BFD会话状态为Down后,PE2设备从备用状态变为主用状态,PE2的Eth-Trunk10状态也变为主。如果PE设备上没有配置BFD,PE2设备上的定时器超时后仍然没有收到PE1设备发送的E-Trunk报文,PE2设备从备用状态变为主用状态,PE2的Eth-Trunk10状态也变为主。经过LACP协商,PE2设备上的Eth-Trunk10的状态变为Up。CE的流量会通过PE2转发,以达到对CE的流量进行保护的目的。
  • 6、MSTP
    • STP/RSTP
      • STP和RSTP的缺陷
        • RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。
        • 如图所示网络中,生成树结构在图中用虚线表示,S6为根交换设备。S2和S5之间、S1和S4之间的链路被阻塞。HostA和B同属于VLAN2,由于S2和S5之间的链路被阻塞,S3和S6之间的链路又不允许VLAN2的报文通过,因此HostA和HostB之间无法互相通讯。

 

  • 在STP和RSTP的算法中,所有VLAN共享一课生成树,会造成部分VLAN无法通信、次优路径、流量无法负载分担等问题。
  • 为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1S标准定义了MSTP。
  • MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
  • MSTP对STP和RSTP的改进
    • MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
    • 每棵生成树叫做一个多生成树实例MSTI (Multiple Spanning Tree Instance),每个域叫做一个MST域 (MST Region: Multiple Spanning Tree Region)。

 

  • 所谓生成树实例就是多个VLAN的一个集合。通过将多个VLAN捆绑到一个实例,可以节省通信开销和资源占用率。MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在端口上的转发状态取决于端口在对应MSTP实例的状态。
  • 如图所示,MSTP通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。每个VLAN只能对应一个MSTI,即同一VLAN的数据只能在一个MSTI中传输,而一个MSTI可能对应多个VLAN。
  • 经计算,最终生成两棵生成树:MSTI1以S4为根交换设备,转发VLAN2的报文。MSTI2以S6为根交换设备,转发VLAN3的报文。
  • 这样所有VLAN内部可以互通,同时不同VLAN的报文沿不同的路径转发,实现了负载分担。
  • MSTP实现原理
    • MSTP基本概念

 

  • MST由交换网络中的多台交换设备以及它们间的网段所构成。MSTI是MST域下实例,一个MST域下可以有多个MSTI。
  • VLAN映射表描述了VLAN和MSTI之间的映射关系。如图2所示,MST  Region4中,VLAN1映射到MSTI1,VLAN2映射到MSTI2,其余VLAN映射到MSTI3。
  • 公共生成树CST是连接交换网络内所有MST域的一棵生成树。如果把每个MST域看作是一个节点,CST就是这些节点通过STP或RSTP协议计算生成的一棵生成树。
  • 内部生成树IST(InternalSpanning Tree)是各MST域内的一棵生成树。IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0。
  • SST(SingleSpanning Tree):运行STP或RSTP的交换设备只能属于一个生成树;MST域中只有一个交换设备,这个交换设备构成单生成树。
  • 所有MST域的IST加上CST就构成一棵完整的生成树,即CIST。
  • 域根(RegionalRoot)分为IST域根和MSTI域根。
    • IST域根如图所示,在MST域中IST生成树中距离总根最近的交换设备是IST域根。
    • 一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI域根是每个多生成树实例的树根。如图3所示,域中不同的MSTI有各自的域根。
  • 总根是CIST(Commonand Internal Spanning Tree)的根桥。如图1中的S1。
  • 主桥(MasterBridge)也就是ISTMaster,它是域内距离总根最近的交换设备。如图1中的黄色交换机。如果总根在MST域中,则总根为该域的主桥。
  • 端口角色:同RSTP,MSTP中定义了根端口、指定端口、Alternate端口、Backup端口和边缘端口。新增了Master端口和域边缘端口。
  • 端口状态:同RSTP,MSTP定义的端口状态有Forwarding,Learning, Discarding。
  • MSTP拓扑计算
    • CIST的计算
      • 经过比较配置消息后,在整个网络中选择一个优先级最高的交换设备作为CIST的树根。
      • 在每个MST域内MSTP通过计算生成IST。
      • 同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST。
      • CST和IST构成了整个交换设备网络的CIST。
    • MSTI的计算
      • 在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。
      • 每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似。
    • MSTP对拓扑变化的处理
      • MSTP拓扑变化处理与RSTP拓扑变化处理过程类似。
    • MSTI的特点:
      • 每个MSTI独立计算自己的生成树,互不干扰。
      • 每个MSTI的生成树计算方法与STP基本相同。
      • 每个MSTI的生成树可以有不同的根,不同的拓扑。
      • 每个MSTI在自己的生成树内发送BPDU。
      • 每个MSTI的拓扑通过命令配置决定。
      • 每个端口在不同MSTI上的生成树参数可以不同。
      • 每个端口在不同MSTI上的角色、状态可以不同。
    • 在运行MSTP协议的网络中,一个VLAN报文将沿着如下路径进行转发:
      • 在MST域内,沿着其对应的MSTI转发。
      • 在MST域间,沿着CST转发。
    • MSTP快速收敛机制
      • 除支持RSTP所支持的普通P/A (Proposal/Agreement)机制外,MSTP还支持增强方式的P/A机制。
      • 如图所示,在MSTP中,P/A机制工作过程如下:

 

  • 上游设备发送Proposal报文,请求进行快速迁移。下游设备接收到后,把与上游设备相连的端口设置为根端口,并阻塞所有非边缘端口。
  • 上游设备继续发送Agreement报文。下游设备接收到后,根端口转为Forwarding状态。
  • 下游设备回应Agreement报文。上游设备接收到后,把与下游设备相连的端口设置为指定端口,指定端口进入Forwarding状态。
  • 缺省情况下,华为数据通信设备使用增强的快速迁移机制。
  • 如果华为数据通信设备和其他制造商的设备进行互通,而其他制造商的设备P/A机制使用普通的快速迁移机制,此时,可在华为数据通信设备上通过设置P/A机制为普通的快速迁移机制,从而实现华为数据通信设备和其他制造商的设备进行互通。
  • MSTP配置
    • [SwitchA] stpregion-configuration \\进入MST域视图
    • [SwitchA-mst-region]region-name RG1 \\配置MST域的域名
    • [SwitchA-mst-region]instance 1 vlan 2 to10 \\配置多生成树实例和VLAN的映射关系
    • [SwitchA-mst-region]instance 2 vlan 11to 20
    • [SwitchA-mst-region]active region-configuration \\激活MST域的配置,使域名、VLAN映射表和MSTP修订级别生效
    • [SwitchA] stpinstance 1 root primary \\配置当前设备为根桥设备
    • [SwitchA] stpinstance 2 root secondary \\配置当前交换设备为备份根桥设备
    • [SwitchA] stp pathcost-standardlegacy \\配置SwitchA的端口路径开销值的计算方法为华为计算方法
    • [SwitchA] stpenable \\在SwitchA上启动MSTP
    • 其他注意事项
      • 确认STP模式是否为MSTP
      • 进入MST域视图进行配置
      • Activeregion-configutstion激活MST域配置
      • Displaythis 查看MST域内配置
    • 思考题
      • 如何清除MAC地址表项和ARP表项?
        • 清除所有动态MAC(系统视图):undo mac-address dynamic
        • 清除所有静态MAC(系统视图):undo mac-address static
        • 删除一条静态ARP表项(系统视图):undo arp static
        • 删除多条ARP表项(用户视图):reset arp
      • Eth-Trunk是否支持抢占功能?
        • 只有在LACP模式下,Eth-Trunk才支持优先级抢占功能,可以执行lacp preempt enable命令使能优先级抢占功能。
        • 在LACP模式下,当活动链路中出现故障链路时,系统会从备用链路中选择优先级最高的链路替代故障链路。
        • 如果被替代的故障链路恢复了正常,而且该链路的优先级又高于替代自己的链路,这种情况下,如果使能了LACP优先级抢占功能,高优先级链路会抢占低优先级链路,回切到活动状态。
        • 要求Eth-Trunk两端LACP抢占功能使能情况配置一致,即:统一使能或不使能。
      • MSTP域如何配置?
        • MSTP的域信息在stpregion-configuration视图下配置,同一个域中各台设备的域配置信息必须完全一致。存在任何一点差异,就不在同一个域中。MSTP可以配置的域信息有:
          • Format selector:格式选择符,在命令行不能配置,默认为0;
          • Region name:域名,默认是桥MAC地址;
          • Revision level:修订级别,默认是0;
          • Instance/Vlans Mapped:实例和VLAN映射表,默认全部VLAN映射到实例0。
        • 总结
          • MAC地址表
          • 免费ARP
          • iStack
          • CSS
          • Eth-Trunk
          • MSTP

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注