第一部分 STP介绍

1.stp协议

STP - Spanning Tree Protocol(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生

 当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用。生成树协议最主要的应用是        为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络        保护技术,可以消除由于失误 或者意外带来的循环连接。STP也提供了为网络提供备份连接的可            能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d标准的生成树        协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。

2.原理

   STP的作用是通过阻断冗余链路,使一个有回路的桥接网络修剪成一个无回路的树形拓扑结构

3.算法顺序

   STP将一个环形网络生成无环拓朴的步骤:

       1.选择根桥(Root Bridge)

2.选择根端口(Root Ports)

       3.选择指定端口(Designated Ports)

       4.剩下的一个端口为BLOCK状态

4.选举原则:

    1,在所有交换机中Bridge ID越低,越优先。
【先介绍一下Bridge ID,Bridge ID又两部分组成,{Bridge Priority,MAC Adress}。Bridge Priority为桥优先级,默认为32768;MAC Adress就是交换机的MAC地址。注:如果想把指定交换机设为根桥,可把改交换机的Bridge Priority设为更低,一般设为0】
   2,选举根端口时,按照以下原则。COST--Port ID,先比较COST值,即该端口到根桥的花费。COST值越低越优先。
【COST值】
带宽    COST
10Gps    2
1Gps        4
100M        19
10M       100
如果COST值相同的话,再比较Port ID,Port 0优先与Port 1。
   3,选举DP,规则为COST--Bridge ID。先比较COST,当COST相同时,再比较桥ID,桥ID越小越优先。
   4,最后剩下的那个唯一的端口即为BLOCK状态,即不运作,但会接收BPDU报文,监听其他正常使用的交换机是否工作正常,如不正常立即启用。
Spanning-tree transits each port through several different states:
       1,收BPDU报文,如20s没有收到回包,即转入下一步骤。------只可收BPDU报文
       2,Listening 届时15s 此期间,会进行STP选举------------可以收、发BPDU报文,不转发用户数据
       3,Learning 届时15s 此期间会学习MAC地址,为以后减少泛洪流量做准备
       4,Forwarding
  以上可以看出,STP协议会持续50s,这就是有的PC开机后50s后才可以上网,进行数据传输。为此,由开发了RSTP协议(快速生成树协议),收敛速度可达到1s。


简单的STP试验案例:

   试验拓扑:


wKioL1LP7D_B7u1wAAN2PP3SImE430.jpg


   图中的Switch1型号为2403h-hi,命名为sw1;下面的Switch2型号为2403-h-ei,命名为sw2

   试验要求:

   对两个交换机进行stp配置,使能够做到链路备份功能。


1.基本配置:

Sw1

配置vlan管理接口地址:

[sw1]int Vlan-interface 1

[sw1-Vlan-interface1]ip add 192.168.1.4 255.255.255.0

[sw1]stp enable     开启stp


Sw2.

[sw2]int Vlan-interface 1

[sw2-Vlan-interface1]ip add 192.168.1.5 255.255.255.0

[sw2]stp enable


测试连通性:

[sw2-Vlan-interface1]ping 192.168.1.4

  PING 192.168.1.4: 56  data bytes, press CTRL_C to break

   Reply from 192.168.1.4: bytes=56 Sequence=1 ttl=255 time = 30 ms

   Reply from 192.168.1.4: bytes=56 Sequence=2 ttl=255 time = 20 ms

   Reply from 192.168.1.4: bytes=56 Sequence=3 ttl=255 time = 20 ms

   Reply from 192.168.1.4: bytes=56 Sequence=4 ttl=255 time = 10 ms


2.查看生成树:

Sw1

wKiom1LP7Eyw4FPbAADhqCMy9qE913.jpg


Sw2

wKioL1LP7ECw-U1fAAKi_tUswtM172.jpg


wKiom1LP7EzjbEJAAAJnj_hboh4636.jpg

上面几个图显示两个交换机的eth0/1接口的线路为运转线路,sw1eth1/0/2状态为DISCARDING这条为备用线路。

   查看收敛情况:

在sw1下输入命令[sw1-Ethernet1/0/2]ping -c 100000 192.168.1.5

此时拔掉sw1eth1/0/1接口线,发现会有一段时间的丢包,但是过一段时间又会恢复正常,这就实现了自动收敛。

wKioL1LP7ECzHoeiAAIw4squ3f8115.jpg

试验结束。


第二部分:  链路聚合

一 原理介绍

概念:

   链路聚合(Link Aggregation),是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/ 入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。

原理:

逻辑链路的带宽增加了大约(n-1)倍,这里,n为聚合的路数。另外,聚合后,可靠性大大提高,因为,n条链路中只要有一条可以正常工作,则这个链路就可以工作。除此之外,链路聚合可以实现负载均衡。因为,通过链路聚合连接在一起的两个(或多个)交换机(或其他网络设备),通过内部控制,也可以合理地将数据分配在被聚合连接的设备上,实现负载分担。

因为通信负载分布在多个链路上,所以链路聚合有时称为负载平衡。但是负载平衡作为一种数据中心技术,利用该技术可以将来自客户机的请求分布到两个或更多的服务器上。 聚合有时被称为反复用或IMUX。如果多路复用是将多个低速信道合成为一个单个的高速链路的聚合,那么反复用就是在多个链路上的数据“分散”。它允许以某种增量尺度配置分数带宽,以满足带宽要求。链路聚合也称为中继。


二.端口汇聚试验(接着上面的STP试验

以QuidwayS2400系列交换机来实现端口汇聚

试验拓扑:

wKiom1LP8O-QE5W4AAN2PP3SImE377.jpg


上图的Switch1型号为2403h-hi,命名为sw1;下面的Switch2型号为2403-h-ei,命名为sw2

端口连接如图。

试验要求:

   两个交换机上配置端口聚合,实现负载分担的高可用性。


1.实现汇聚配置:

Sw1做端口聚合:

[sw1]link-aggregation group 1 mode manual

[sw1]int eth1/0/1

[sw1-Ethernet1/0/1]port link-aggregation group 1

[sw1-Ethernet1/0/1]int eth1/0/2                

[sw1-Ethernet1/0/2]port link-aggregation group 1


查看stp:发现两个接口变为了一个。只显示主端口e1/0/1:

wKioL1LP8OLgIYnrAACAqtcjKR8583.jpg


查看汇聚:

wKiom1LP8O-QsbHoAAF7zj-fLm0995.jpg

Sw2做端口聚合:

[sw2]link-aggregation Ethernet 0/1 to Ethernet 0/2 both

The speed of aggregating ports should be same, but not be AUTO!

出现错误!原因能是汇聚的端口速度不能自动协商要手动配置成一致。


此时把相连的所有接口(共4个)速度都配置为100M

[sw2-Ethernet0/2]speed 100

......


查看端口汇聚情况:

[sw2]link-aggregation Ethernet 0/1 to eth0/2 both

wKioL1LP8OPAN_24AABsS2aivRc841.jpg


2.检查:

[sw1]ping -c 100000 192.168.1.5 ping下面的交换机:

此时把链接eth 0/1的线拔掉:发现没什么影响:

wKiom1LP8PDRIRpvAANnLlA_v1M704.jpg


重新接线:也没什么影响。说明多链路的汇聚能实现负载分担。

wKioL1LP8OPyOy_UAAPifU3ay84968.jpg

试验结束。