一、SV技术基本说明

思科Catalyst9K平台的Stackwise Virtual技术是将两个物理的交换机虚拟成一个逻辑的实体(从网络控制层面和管理的角度来看),这两个交换机合二为一之后,将共享相同的配置和转发状态。这项技术对于网络设计在如下方面都得到了强化:

  • 高可用性

  • 扩展性

  • 设备管理

  • 设备维护

由于两个设备都虚拟成了一台逻辑的设备,所以生成树(STP)将该逻辑的设备视为一个桥节点,但是和其他的SW设备协同工作,也需要注意STP的使用。另外,该技术也整合了包括SSO(Stateful Switch Over)、NSF(Non-Stop Forwarding)、MEC(Multi-chassis EtherChannel)等技术,以提升了可靠性。

从如上这个图我们可以看到,该技术消除了HSRP/VRRP等FHRP协议的使用,避免FHRP协议的一些问题。并通过LACP,PAGP等完成了的Ethernet Channel的建立,实现EMC。为了使用该技术,需要特定的硬件和软件来支持。且不同的设备,要求可能也会不一样。

二、SV技术的架构

该技术将两台配置为同一给SV domain的物理设备虚拟成为一台逻辑的设备,其中一台设备被指定为Active角色,另外一台则作为Standby角色,所有的控制平面的工作都是Active交换机来处理,这包括了我们熟知的SNMP、SSH、Telnet等管理方式;L2的协议如BPDU、PDU、LACP等;L3的路由协议;软件数据路径等。

对于数据平面和流量转发,SV域中的两台交换机都会参与,每台交换机都可以将流量从自己的物理接口转发到上行接口,不是所有的流量都需要Active交换机来转发,除非某一交换机查询到目的是在SV域中另一台交换机,那么会将该流量通过SVL(Stackwise Virtual Link)转发给那台交换机进行出口方向的处理。

1、SV MAC地址

  • 当交换机启动,作为Active交换机时,它将给所有的L3接口分配MAC地址,默认情况下,MAC地址从位于Cisco Catalyst 9000交换机本身的EEPROM存储设备派生。

  • 当选为Active角色的交换机将为SV domain提供系统MAC地址。

  • 当Standby交换机上线之后,它的MAC地址也将由Active交换机的MAC EEPROM派生。

  • 即使SV交换机的角色发生了切换,MAC地址也会保持不变。当该情况发生时,show switch查看也能看到MAC persistency wait time(MAC持久性等待时间)为“indefinite”(未定义)。此行为特别有助于减少对流量的影响,因为在意外切换期间,SV domain不必向邻居通告新的MAC地址。

SV-#show switch

Switch/Stack Mac Address : 2eaf.be84.0a12 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Switch#         Role         Mac Address     Priority     Version     State
-------------------------------------------------------------------------------------
          Standby        2eaf.be84.0a12                     Ready
*         Active         00b0.e1f2.                      Ready

我们可以通过命令“stack-mac persistent timer #”来修改该行为的时间,在该配置的时间内,会使用当前的Active交换机来更新系统的MAC地址。

  • 如果整个SV domain的设备被重启并再次上线之后,并且Peer交换机或其他的交换机作为了SV Active交换机,则Virtual MAC地址将由当前的Active交换机重新分配,所以虚拟MAC地址将和系统重启之前不同。
  • 如果SV domain中的其中一台交换机由于硬件问题而发生故障,并且恰好是SV MAC地址的所有者,那么系统将继续使用相同的MAC地址运行,除非SV domain重新加载或用户明确更新Stack的MAC地址。要在SV domain上更新MAC地址,可以执行命令“ stack-mac update force”。 这将使用当前Active的交换机更新Stack MAC地址。

2、Stackwise Virtual Link(SVL)

SVL是为了让两台C9K交换机形成SV的关键,相关信号或控制信息需要通过SVL来交互,为了促进信息的交互,在两台交换机之间使用的专门的链路来传输数据和控制流量,这个链路就叫做SVL。

该链路通过EthernetChannel形成,可以有1-8个物理接口组成,该链路承载正常的数据流量和SV控制流量。

为了确保在SVL上控制流量获得最高优先级,在所有Link的控制帧上都设置了特殊位。这有助于确保这些帧始终在出口硬件队列上获得优先服务。从数据平面的角度来看,SVL用于将内部交换机数据路径扩展到相邻交换机。使用配置的EtherChannel load-balancing算法,可在SVL负载平衡发送的数据流量。

通过SVL发送的所有帧都用SV头部封装,该头部由出接口ASIC添加到数据帧,并在SVL的另一侧被入口端口ASIC剥离。该头部中包含诸如入端口索引、目标端口索引、VLAN和服务等级(CoS)之类的信息。SV头部的长度为64个字节。它被放置在以太网前导之后,并直接位于第2层头部之前,如下所示。

初始化过程必须确定哪个交换机将成为StackWise Virtual Domain的Active交换机。要确定Active角色和Standby角色,必须初始化SVL并使其联机以进行控制平面通信。由于此决策会影响每个交换机的行为,因此必须在交换机启动周期的早期就协商好角色。因此,在初始化系统的其余部分之前,系统必须使SVL及其关联的端口Online。

通过SVL发送的内部消息可促进两个交换机之间的通信。 因为该Link通过EtherChannel接口被实现,所以它可以低于单链路故障。在激活SV domain之前,系统必须使SVL Online。初始化序列包括如下所示的步骤。

初始化

交换机确定其系统本地的哪些端口是构成SVL的成员,并且预先解析配置文件以提取适当的SVL命令及其相关的接口。这样,可以快速将链路接口置于Online状态。一旦Online,就在SVL的每个Link上激活链接管理协议(Link Management Protocol,LMP)。

LMP执行以下功能:

  • 通过建立双向流量转发来验证链路完整性,并拒绝任何单向链路;
  • 周期交换Hello,以监视和维护Links的健康状况;
  • 在交换机之间协商SV Header的版本。

StackWise虚拟链接角色解析

每个交换机的冗余角色由StackWise发现协议(SDP)解决。

该协议执行以下功能:

  • 确定硬件和软件版本是否允许形成Cisco StackWise Virtual Domain;
  • 从控制平面的角度确定哪个交换机将成为Active交换机,哪个将成为Standby交换机。

HA角色确定

在角色解析期间,首先确定Active角色,然后才对具有成员角色的另一台交换机进行兼容性检查,然后进行批量配置同步。然后,交换机借助SSO机制转换为Standby角色。

*Mar  ::-BULK_CFGSYNC_SUCCEED: Bulk Sync succeeded
*Mar  ::-RF_TERMINAL_STATE: Terminal state reached for (SSO)

3、软硬件需求

从Release16.8.1开始,Stackwise Virtual在所有的Catalyst3850 XS型号和Catalyst9500系列交换机开始支持。

从Release16.9.1开始,Stackwise Virtual只在C9404和C9407支持,并且仅在两个参与Stackwise Virtual 的机箱的相同插槽号中放置单个Supervisor。如果机箱内有备引擎,将在Stackwise Virtual中处于power-off状态。如果Active要求发生了故障,需要用新的引擎或者备引擎来替换。此限制将在以后的软件版本中删除。 WS-SUP-1和WS-SUP1-XL都支持Stackwise Virtual。但是,对于SUP-1,Stackwise Virtual 配置需要额外的许可证。

从Release16.10.1开始,Stackwise Virtual也在所有的高性能C9500支持,如C9500-24Y4C, C9500-48Y4C, C9500-32QC, C9500-32C。

C9K Stackwise Virtual(一)的更多相关文章

  1. Catalyst9K设备介绍

    Catalyst9K系列的里面包含了多款交换机,以及无线控制器,甚至包含了无线AP,如下将简单的介绍这几款产品的情况: 首先,这是一种总体的对应关系: 1.Catalyst9200 Series 主要 ...

  2. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  3. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

  4. VR ( Virtual Reality )、AR(Augmented Reality)、MR(Mix Reality)和CR(Cinematic Reality)是什么鬼?

    整个社会对虚拟现实的研究和开发源于上个世纪六十年代,计算机图形学.人机接口技术.图像处理与模式识别.多传感技术.语音处理与音响技术.高性能计算机系统.人工智能等领域在之后半个世纪取得了长足的发展为虚拟 ...

  5. C#中Abstract和Virtual的区别

    c# 中 Abstract和Virtual比较容易混淆,都与继承有关,并且涉及override的使用.下面讨论一下二者的区别: 一.Virtual方法(虚方法) virtual 关键字用于在基类中修饰 ...

  6. Java/C++之 public、protected、private ; virtual & abstract

    一.绪 Java/C++都是面向对象的第三代计算机高级编程语言,其本质雷同,而语法确有差异,稍不注意容易引起混淆.本文总结了一些这两门语言的差异之处,仅供参考. 二.C++ 对于C++这门语言,就其类 ...

  7. 初识virtual memory

    一.先谈几个重要的东西 virtual memory是一个抽象概念,书上的原文是"an abstraction of main memory known as virtual memory& ...

  8. php编译 :virtual memory exhausted: Cannot allocate memory

    有时候用vps建站时需要通过编译的方式来安装主机控制面板.对于大内存的VPS来说一般问题不大,但是对于小内存,比如512MB内存的VPS来说,很有可能会出现问题,因为编译过程是一个内存消耗较大的动作. ...

  9. Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息

    Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息 http://www.cnblogs.com/zhwx/archive/2012/08/28/266055 ...

随机推荐

  1. nginx显示静态html爆502 bad gateway的错误提示

    在centos的服务器上,没有启动php-fcgi. 本来是想设置显示一个静态文件目录的,用不着php,于是就关闭了php-fcgi. 结果打开爆了一个大大的nginx502 bad gateway的 ...

  2. Web实验一 国内旅游界面

    Web实验一  旅游界面的设计 一.首页代码 <!DOCTYPE html> <html lang="zh-cn"> <head> <me ...

  3. windows服务搭建与删除简单介绍

    安装windows服务: 1 VS的开发命令使用管理员权限打开, 2 installutl.exe /servicename="服务名称"  "服务地址" 卸载 ...

  4. 5W随想

    什么时候都要想5个W:what.where.when.why.who 比如:提bug的时候:这个问题是什么问题,在哪里发现的,什么时候发现的/什么时候修复好,怎么发现的/为什么是bug,谁发现的/指给 ...

  5. 在vue中实现锚点定位功能

    场景如下: 今天早上看到需求方新提的一个需求,这是一份网上答卷,点击题数要实现滚动到对应题目的位置: 注意点:每题题目的高度是不受控制的,你可以取到想跳转的index:(我再循环题目时做了index+ ...

  6. 使用PageHelper插件分页时,如何对对象进行转换以及添加属性

    一.插件介绍 PageHelper是针对Mybaits的分页插件,支持任何复杂的单表.多表分页. 二.基本用法 以springboot为例,有两种方式配置,一种是传统的,引入依赖,编写配置类:一种是使 ...

  7. Open live Writer 直接发布wps文章,优点是可以带上图片

    官方网站: http://openlivewriter.org/ 博客园的设置里面的 MetaWeblog访问地址

  8. 扩展gRPC支持consul服务发现和Polly策略

    gRPC由于需要用工具生成代码实现,可开发性不是很高,在扩展这方面不是很友好 最近研究了下,进行了扩展,不需要额外的工具生成,直接使用默认Grpc.Tools生成的代理类即可 相关源码在文章底部 客户 ...

  9. org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout 和 RocketmqRemoting closeChannel: close the connection to remote address[] result: true

    org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout ...

  10. 记一次RSA解密过程

    有问题可以评论 openssl rsa -pubin -text -modulus -in warmup -in pub.key