1、虚拟交换系统VSS技术概述

VSS的特点:

VSS将两台Catalyst 6500/4500系列交换机组合为单一虚拟交换机,对外来看,只有一台交换机,管理冗余链路如同管理自己的一个单一接口。

VSS通过MEC多机箱通道技术减少了3层路由邻居和2层无环的拓扑,简化了网络的配置和操作。

MEC技术:

当互联的交换机连接到这个VSS的时候,是通过EtherChannel分别连接到VSS系统两台交换机上实现的。而VSS则利用MEC技术在这个捆绑的逻辑端口上实现冗余和负载均衡。

MEC技术——使互联交换机好像与一台交换机进行互联。使得VSS和下联交换机之间形成了一个无环的二层网络接口,不需要使用STP防止环路。

VSS的支持限制:

VSS最大支持512个EtherChannel。这个限制包括EtherChannel和MEC。

由于VSL需要两个EtherChannel号,所以能使用的EtherChannel有510个。

VSS运行状态:

当建立VSS的时候,两台VSS成员设备通过相互协商,一个将变成Active状态,另一个将变成Standby状态。

Active状态的设备将控制VSS,为两台设备所有模块运行2层和3层控制协议。换句话说,在控制平面,只由Active设备控制器的,在数据平面,两台物理设备都起作用。

Standby设备将控制流量通过VSL(虚拟交换链路)交给Active设备统一处理。

VSL是一条特殊的链路,它的作用是在VSS系统中的两台设备间传输控制信息和数据。VSL最多可以捆绑8条10GE链路。

在VSL中,控制信息比普通数据拥有更高的优先级,这样保证了控制信息的优先传输和完整性。VSL中的数据通过EtherChannel技术进行负载均衡。

建议VSL链路使用引擎上的10GE端口进行捆绑。

两个设备分别用各自的接口转发进入的流量。并根据数据源和目的的实际情况尽量进行本地转发,而不通过VSL进行转发。

在VSS系统中,由于Standby设备使用VSL监视Active设备。一旦检测到Active出现故障。Standby设备将把自己转换成Active状态。

2、VSS系统的硬件要求与限制

3、VSS系统引擎冗余模式

目前有SSO/NSF,RPR两种冗余模式

运行在SSO模式下切换时间可以以毫秒(ms)计算

两个引擎运行在SSO模式的条件如下:

  • 两者运行的IOS版本必须一致
  • 两者的配置文件要一致
  • VSL相关配置要一致
  • PFC运行模式要一致
  • SSO和NSF必须要两个引擎都要配置(如有动态路由协议),不配置NSF情况下也能运行在SSO模式,但故障时间较长。

4、VSS系统启动序列

A-两个VSS成员会将VSS相关配置复制在SP配置中。

B-在启动时进入SP软件启动时,VSS初始化所有拥有VSL接口的模块,然后初始化VSL接口,并通过LMP(链路管理协议)检测VSL链路的存活与对等体的存在。

C-如果VSL断开则表示对等体不存在,则系统会将自己的角色定义为Active并完成启动。

D-如果对等体存活,则会与之通过RRP(角色决定协议)进行角色的协商,如果配置了VSS优先级,那么优先级高的将会成为Active。

E-如果没有配置优先级,则VSS-SW-ID号小的成为Active,如SW1是主设备,SW2为备设备。

F-Standby状态的设备发送Startup-config文件下的虚拟交换信息给Active设备,Active设备确定虚拟交换域,虚拟交换节点,交换机优先级,交换抢占参数,VSL标识,VSL数量,电源冗余模式以及VSL模块电源参数的一致性。如果一致则进入SSO冗余模式,否则将进入RPR冗余模式。

G-Active设备同步配置和应用给Standby设备。

H-如优先级高且配置了抢占的设备启动后,等抢占计时器(默认为15min)到期后自己会变成Active设备,而原来的主设备会自动重启变成Standby设备。

I-在角色稳定时配置优先级与抢占不会立即生效,只有在重启时才会生效。

5、VSS系统包处理方式

VSL链路支持流量

  • VSL传送数据流量和控制流量,所有经过VSL的流量都将封装一个32Bytes的头部,内部包括输入输出的交换机端口索引、VLAN号、COS值等其他信息。
  • VSL上支持的L2协议有:STP、VTP、EtherChannel控制协议(LACP,PAGP)。
  • VSL上支持所有L3路由协议和组播。
  • VSL也能传输系统数据,比如Standby设备的Netflow输出数据和SNMP数据。
  • VSL支持所有的SPAN协议,支持所有非VSL接口的SPAN。
  • VSL上流量的负载方式,是根据EtherChannel负载方式计算的,默认为源-目的-IP。

建议:
如果VSL配置为本地SPAN源,则SPAN目标端口必须与VSL接口位于同一机箱上。
VSL无法配置为SPAN目标。
VSL不能配置为RSPAN,ERSPAN或仅本地SPAN Tx的源。
在数据包传输出去之前,SPAN目标端口会删除VSL标头,因此无法在sniffer traces中捕获。
当源和目标都在同一机箱(活动或备用)上时,SPAN流量不会流过VSL链路。

数据流走向

在VSS系统中,主设备在控制平面和数据平面都是可用的,而备设备中只有其数据平面是可用的,而控制平面是不可用的。

在VSS系统中,由主设备将其CEF转发信息下发给备设备的引擎的PFC、主备设备上板卡的DFC子卡,这样就可以尽可能少通过VSL链路转发数据流量。

6、VSS系统冗余切换事件

VSL链路问题

如果VSL没有全部断开,就不会影响主备设备之间的信息交互和数据传输,也不会影响主备设备之间的角色稳定(由于VSS自动采用adptive方式的channel负载均衡算法,所有恢复更快)。

如果整个VSL链路都断开,则会导致两个VSS成员初夏你双活的状况,这时会出现通信中断。

可以通过双活检测机制来避免双活问题的出现,确保主备角色的稳定。

双活检测机制有如下3种:

增强PAGP双活检测

IP BFD双活机制

快速Hello双活机制

如果通过双活检测确定有双活的情况存在,则原主设备会将自己置于recovery模式并且关闭所有非VSL端口(可以将某些特定接口排除在关闭之外),确保通信不受影响,待VSL链路恢复后,它将自动重启并重新确定主备状态。

三种检测机制可以同时使用,CISCO推荐使用增强PAGP和快速HELLO模式。

在上面的情况中如果以前有配置未保存的情况,则系统不会自动重启而需要人工干预进行重启,重启前会提示保存配置。

增强PAGP双活检测

PAGP是思科私有协议。如果VSS的MEC设备都是符合条件的Cisco-IOS(支持增强型PAGP),那么就可以使用PAGP协议。如果PAGP运行在VSS和下联设备间的MEC中,那么VSS就能使用PAGP去检测双激活状态。

在VSS中,PAGP信息包括了一个新的TLV字段,用来包含Active设备的ID。只有在VSS下的设备才会发送这种新的PAGP信息,如果主设备在该字段看到了备设备的ID则认为出现了双活情况而将自己置于Recovery状态并等待VSL链路的恢复。

支持增强PAGP的CISCO-IOS如下表:

IP BFD双活机制

使用IP BFD检测方式,必须在VSS系统中的两台设备间准备一个直连的3层链路,不需要互连交换机的支持。

VSS系统使用双向转发检测(BFD)协议进行双活检测,平时没有BFD邻居关系的建立。

如果VSL故障后,两台设备将建立BFD邻居,并且尝试建立邻接状态。如果起初是Active状态的设备检测到这个邻接信息,那么它就知道现在处于双活状态,那么,它将立刻进入recovery状态并等待VSL链路的恢复。

所谓IP BFD指的是有执行这种方式时需要要互连的两个接口上配置IP地址,进行三层通信。

快速Hello双活机制

使用快速Hello检测方式,必须在VSS系统中的两台设备间准备一个直连的L2链路作为心跳线,不需要互连交换机的支持。

此种方式在IOS12.2(33)SXI及之后的版本被支持。

VSS系统中两个成员使用专用Hello包周期性的进行交互,包中含有对方的设备信息与状态,如果VSL链路全部断开,则设备将停止发送Hello包,在一定时间内没收到Hello包,则认为出现了双活情况,这时原主设备将自己置于recovery模式并等待VSL链路恢复。

快速Hello只在物理接口上配置。

在配置了快速Hello检测的接口将清除原来所有的配置,并自动禁用UDLD功能,只作快速Hello检测只用。

主机箱引擎故障

备机箱引擎将通过VSLP建立到主引擎的故障而将自己使用SSO方式自动切换为主用状态,切换时间在50ms-200ms之间。
通过MEC与VSS系统互联的设备,其通信将依赖于与备机互连的另外一条Channel成员线路。
源和目的只在主机箱上的单线路与单设备,其通信将中断。
原来通过备机箱的通信将不受影响。
主机箱引擎恢复后如果没有配置抢占将变为备的状态。

备机箱引擎故障

主机箱引擎将通过VSLP检测到备引擎的故障而会出现类似于所有在备机箱上的所有模块备拔出的事件。
通过MEC与VSS系统互联的设备,其通信将依赖于与主机箱互连的一条Channel成员线路。
源和目的只在备机箱上的单线路与单设备,其通信将中断。
原来通过主机箱的通信将不受影响。
备机箱引擎恢复后仍将变为备的状态。

MEC中某条链路故障

当MEC中某条链路失败后,VSS系统会自动重新分配决定channel负载均衡的hash值与channel物理接口间的对应关系。
与VSS系统互联的设备同样会自动重新分配决定channel负载均衡的hash值与channel物理接口间的对应关系。
通信会产生短时中断,通常会丢一个包,这种情况与单台设备上channel接口中某一物理接口连接中断的情况一致。
当MEC到Active设备的全部链路坏掉后,MEC将变成普通的EtherChannel和Standby互联,而到Active设备的数据将通过VSL到达Active设备,控制信息还处于Active设备上。
当MEC到Standby设备的全部链路坏掉后,MEC将变成普通的EtherChannel和Active设备相连,而到Standby设备的数据将通过VSL到达Standby设备,控制信息还处于Active上。
Cisco文档中说是采用adptive方式比fixed方式恢复的时间要快,但在实际实验中都是丢一个包。

文档原文:https://wenku.baidu.com/view/a0e27280d4d8d15abe234ee5.html

虚拟交换系统-VSS的更多相关文章

  1. VSS虚拟交换系统

    下面介绍一下如何在CISCO交换机上配置VSS,具体配置如下: //在CISCO1 上配置vss域,两台设备都要在同一个域中 Cisco-(confgi)#switch virtual domain ...

  2. VSS(Virtual Switching System)

    一.虚拟交换系统(VSS) VSS是一种网络虚拟化技术,讲两台Catalyst 6500系列交换机组合为单一虚拟交换机,从而提高运营效率.增强不间断通信,并将系统带宽容量扩展到1.4Tbps.在初始阶 ...

  3. Cisco VSS

    1.原理 VSS是将两台及以上的物理设备虚拟成逻辑上的一台,可类比堆叠.VSS在控制层面上两个交换机有主从之分,但在数据面上处理是双活的.无论是从网络控制层面和管理视图上在网络上都是一个单独的设备实体 ...

  4. vCenter创建标准网络

          vmware虚拟化,有2种网络类型,一种是标准网络,另外一种是分布式网络.这里重点介绍标准网络,标准网络可通过vCenter创建vSwitch标准虚拟交换机(vSS).vSS的承载体是物理 ...

  5. 内存VSS/RSS/PSS/USS名词解释

    VSS(virtual set size)虚拟耗用内存(包含共享库占用的内存) RSS(Resident set size)实际使用物理内存(包含共享库占用的内存) RSS是进程实际驻存在物理内存的部 ...

  6. VSS、RSS、PSS、USS

    VSS:Virtual Set Size,虚拟耗用内存.它是一个进程能访问的所有内存空间地址的大小.这个大小包含了一些没有驻留在RAM中的内存,就像mallocs已经被分配,但还没有写入.VSS很少用 ...

  7. android内存耗用:VSS/RSS/PSS/USS

    VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)  不是真实当前应用进程所占用的内存. 内存分配的原理 从操作系统角度来看,进程分配内存有两种方式,分别由两个系统调用完 ...

  8. VSS的配置和使用

    目录:   〇. 摘要一. 开发前的准备二. 创建空的SourceSafe数据库三. 新建项目并加入版本控制四. 获取SourceSafe中的项目五. 版本控制的几个概念六. 版本控制项目的管理七. ...

  9. Android内存之VSS/RSS/PSS/USS

    Terms VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - P ...

随机推荐

  1. RTMP服务器搭建(nginx+rtmp)

    参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...

  2. docker容器 - 新建容器、启动容器、暂停容器和停止容器

    实验环境 CentOS 7.5 容器 容器是镜像的运行实例.不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层:同时,容器中的应用进程处于运行状态. 新建容器 [root@kvm ~]# ...

  3. android 使用系统级别权限

    java.lang.SecurityException: Neither user 10027 nor current process has android.permission.MODIFY_PH ...

  4. vs查看动态库依赖

    dumpbin是VS自带的工具,进入Visual Studio 的命令提示 查看程序或动态库所依赖的动态库 dumpbin /dependents  abc.exe 查看动态库的输出函数 dumpbi ...

  5. ES6 Set和Map的那点事

    Set  1.Set特点 类数组 新增数据结构 是构造函数 成员值唯一  注重独一无二的特征 2.Set实例的常用方法 console.log('------------Set操作方法-------- ...

  6. NUMPY的学习之路(2)——索引,合并,分割,赋值

    一.索引 1.1numpy数组的转置 A=np.arange(3,15).reshape(3,4) print(A) print(A[2][0]) print(A[2,1]) print(A[2,:] ...

  7. 基于XML装配bean的解析-Bean的作用域

    一.Bean的种类1.普通bean:<bean  id=""  class="A"> ,spring直接创建A实例,并返回. 2.FactoryBe ...

  8. Python 多任务(进程) day1(3)

    进程间的通信 可以用socket进行进程间的通信 可以用同意文件来进行通信(但是在硬盘上读取和写入比较慢,内存运行太快了) Queue队列(记得是队列)  在同一内存中通信 因为进程之间不能共享全局变 ...

  9. Linux - bash - 小坑: IFS

    1. 概述 for 循环读取文件内容时, 输出被打得稀碎 2. 场景 需求 读入文件 逐行显示 源文件 Continuous Delivery with Docker and Jenkins Jenk ...

  10. 删除文件时提示,你需来自SYSTEM的权限

    1. 提示如下 2. 对要删除的文件操作如下 2.1 为删除的文件添加本地账户 2.2 提示如下,多点几次继续就好 2.3 给本地账户添加完全控制权限