服务器的生成树冗余与负载分担技术是什么

39次阅读
没有评论

共计 2945 个字符,预计需要花费 8 分钟才能阅读完成。

本篇内容主要讲解“服务器的生成树冗余与负载分担技术是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“服务器的生成树冗余与负载分担技术是什么”吧!

    交换层有三个地方涉及到冗余与负载分担,分别是生成树、EC 以太网通道、FHRP 网关协议。本文关于生成树相关的实现技术。生成树(包括 stp、rstp、mstp)的三层主要功能由低至高分别为:防环收敛、冗余备份、负载均衡。首先说明,冗余与负载分担是两个概念。冗余往往与备份是联系在一起的,单纯有冗余技术并不一定能实现负载分担。而负载分担技术是依赖于冗余的。

1、STP(Spanning-Tree Protocol)

    STP 协议生来就是为了冗余而存在的,单纯树型的网络无法提供足够的可靠性,由此我们引入了额外的链路,这才出现了环路这样的问题。但单纯是标准的 802.1D STP 协议并不能实现真正的冗余与负载分担。

  STP 为 IEEE 802.1D 标准,它内部只有一棵 STP tree,因此必然有一条链路要被 blocking,不会转发数据,只有另外一条链路出现问题时,这条被 blocking 的链路才会接替之前链路所承担的职责,做数据的转发。无论怎样,总会有一条链路处于不被使用的状态,冗余是有了,但是负载分担是不可想象的。

  cisco 对 STP 做了改进,它使得每个 VLAN 都运行一棵 stp tree,这样第一条链路可以为 vlan 1 2 3 服务,对 vlan 4 5 6 blocking,第二条链路可以为 vlan 4 5 6 forwarding,对 vlan 1 2 3 关闭,无形中实现了链路的冗余,负载分担。这种技术被称之为 PVST+。

  随着网络的发展,人们发现传统的 STP 协议无法满足主备快速切换的需求,因为 STP 协议将端口定义了 5 种状态,分别为:blocking listening learning forwarding disabling,想要从 blocking 切换至 forwarding 状态,必需要经过 50 秒的周期,这 50 秒我们只能被动地去等待。20 秒的 blocking 状态下,如果没有检测到邻居发来的 BPDU 包,则进入 listening,这时要做的是选举 Root Bridge、Designate Port、Root Port,15 秒后,进入 learning,learning 状态下可以学习 MAC 地址,为最后的 forwarding 做准备,同样是 15 秒,最后到达转发状态。这样的延时在现代网络环境下是让人极为难以忍受的。

2、RSTP(802.1w)

    RSTP 的出现解决了延时的问题,它的收敛速度很快,当然 CISCO 也针对这种技术推出了自 已的 RPVST+ 技术。RSTP 在 STP 基础上
额外定义了两种 port role(注意这里的概念,端口角色),分别是
alternate 与 backup。另外重新规定了
port state(端口状态),分别为 discarding、Learning、Forwarding. 

    STP 的一大失败之处在于混淆了 port role 与 port state 两种概念,在 RSTP 上,这样的问题不再存在了,port state 与 port role 无关了。alternate port 责任是为另一台交换机上的链路作备份,而 backup port 是为本交换机上的端口作备。

 7 6 5 4 3 2 1 0TCProposalPort-rolelearningforwardingAgreementTCA

  RSTP 最重要的变化在于对 BPDU 中 type 字段的利用上,之前 STP 只使用了其中的两个位,另外 6 个位中实现了很多的功能,包括不再需要去等待 50 秒的时间完成主备切换,直接利用 proposal 与 agreement 协商即可,这样大大缩短了收敛时间。

  RSTP 还定义了两个新的概念:edge port 与 link type,如果是 edge port,表明下面接的只能是主机,环路的存在是不可能的,所以我们可以直接将其从 discarding 切换到 forwarding 状态,类似于 STP 中的 port fast 技术。而 link type 定义了这条链路是 point-to-point 的还是 shared。如果有 pt-pt 环境下,我们就可以做快速的切换了。

3、MSTP(802.1s)

  STP 和 RSTP 都采用了一棵 STP tree,负载分担不可实现,而 CISCO 的 PVST+ 与 RPVST+ 采用了每个 VLAN 一棵生成树,虽然实现了负载分担,但是会占用非常多的 CPU 时间。这也正是 MSTP(802.1s)产生的原因。

  MSTP 可以将多个 VLAN 的生成树映射为一个实例,即 vlan map to a instance,我们不需要那么多的生成树,只需要按照冗余链路的条数来得出需要几棵生成树。

  如果只有两条链路,并且有 1 -1000 个 VLAN,我们可以将 1 -500 定义为 instance 1,将 501-1000 定义到 instance 2。只生成两棵树 1 和 2,同样实现了冗余与负载分担。

MSTP 是基于 RSTP 的,没有 RSTP,MSTP 是无法运行的。

另:

PVST+ 与 RPVST+ 模式下:交换机可支持 128 个 STP instance。

MSTP 模式下:交换机可支持 65 个 MST instance,当然每个实例中的 VLAN 数目是无限的。

4.Ether channel

  其实 channel 技术不仅仅是接口的绑定,通常当我们骨干链路带宽不足的时候,可能会想到绑定多条链路,这时候自然会用到 ether-channel 技 术,它把多条物理接口绑定为一个逻辑接口,最多可绑定 8 个接口,实现 1600G 的带宽绑定效果。但是实际上数据的传输过程中仍然是通过物理的接口来转发的。这就为我们做负载分担又提出了一种方案。我们可以根据源、目的 IP 地址来做负载分担,也就是一条会话。第一条会话走第 1 个接口,第 2 条会话自动切换到第 2 个物理接口去做转发。。。。。。这样就不会使大量的数据都通过物理接口 1 来做转发了。

  Ether Channel 可以通过手动指定,当然也可以动态形成,这就需要提到另外两种技术,一种是思科私有的 PAGP, 另外一种是 IEEE 标准的 LACP(802.3ad),我们只需要注意他们的协商方式。

接口模式:on、desirable、auto:

  配置为 on 时,表示不接受 PAGP 的动态协商,要完全手工指定,也就是两端必须一致配置为 on 模式,否则无法绑定。

  desirable 表示主动协商,如对端为 desirable 或 auto 都可形成 channel。

  auto 表示被动协商,如果对端为 auto,就无法形成 channel,这时必须对端为 desirable。

  这其实很好理解,但是为什么要注意它,是因为我们在 trunk 的建立时,也有几种类似的模式,而 trunk 中的这几种模式非常混乱,无论如何都能动态协商成功,比如 on 和 desirable 是可以协商成功的。

  LACP 的接口模式有 PAGE 不同,但是意义类似它们分别是:on、off、passive、active。

到此,相信大家对“服务器的生成树冗余与负载分担技术是什么”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2945字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)