EthChannel以太信道

交换机之间的链路速度是有限的,也许在某些情况下会变得拥挤EthChannel可以通过将多条物理链路绑定为一条逻辑链路来解决此种问题。
现有的情况,很多时候,交换机端口速度达到极限,当许多VLAN的流量到达接入层交换机,当接入层交换机将流量转发给汇聚层交换机时,带宽会产生局限。
速率更高的接口已经无法承载所有VLAN发来的入站流量,如果在接入和分布层交换机之间连接多条链路,则必须要求各物理链路配置完全一致,而且有可能产生环路,而默认的STP策略也会阻塞一条链路。
EthChannel是由Cisco研发的一种技术,思想是将多个以太网端口分组到一个逻辑通道中,EthChannel优势:
1.依靠的是已有的端口,意味着并不需要升级现有的交换机之间的链路,节约了成本。
2.绝大多数配置在EthChannel接口下完成,而不需要逐一对接口进行配置,在portchannel下的配置所有捆绑的物理接口都会继承,保证了物理接口配置的一致性。
3.EthChannel会实现冗余,所有链路会被看成一条逻辑连接,因此,其中一条物理链路断开不会给拓扑带来任何变化,STP也不会重新进行计算,只要EthChannel中还有一条链路在工作,那么EthChannel就正常。
4.根据平台不同,在同一个EthChannel几条链路之间可以实现负载。

EthChannel支持最多8条链路16个端口,支持EthChannel不仅仅局限于交换机,对于服务器,路由器,都是可以的。
很多情况下EthChannel会创建一条逻辑的点到点链路,同一条EthChannel链路不能向两台不同的交换机发送流量,一条EthChannel总是只能连接两台设备,连接的所有端口配置必须相同。

EthChannel可用来汇聚Access和Trunk端口,单个的EthChannel会组成一条逻辑链路,如果两设备之间有多条链路,STP会阻塞掉其中一些。
EthChannel也可以汇聚三层端口。在多层路由中会介绍。

EthChannel两种协议:
PAGP(端口汇聚协议):Cisco私有协议,在使用PAGP配置EthChannel时,PAGP会在启用了EthChannel的端口之间发送,以协商建立这条通道。
PAGP数据包每个30S发送一次,PAGP会通过数据包来查看两端的配置是否一致,也会以此管理交换机两端添加链路及链路失效问题。
PAGP可以检测两端的配置,确保这些配置是否兼容。
                                PAGP模式
Auto:               会使端口进入被动协商状态,此状态下,接口会对PAGP数据包做出相应,但不会主动发起协商。(默认)
Desirable:       会使端口进入主动协商状态,此状态下,接口会主动发送PAGP数据包,来主动与其他接口进行协商。
On:                  会强制使端口不使用PAGP而形成EthChannel。配置为此种状态,接口不会交换PAGP数据包。
Non-silent:     如果没有在Auto和Desirable模式下没有指定关键字Non-silent,默认是silent,这种设置会使用PAGP来进行操作,使接口连接到一个通道组中,并使用此接口来进行数据传输。

注意:ON模式下,接口不会进行协商的,和DTP要区分开。

LACP(链路汇聚控制协议):启用某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC地址、端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,从而双方可以对端口加入或退出某个动态汇聚组达成一致。
                                 LACP模式
Psssive:              会使接口进入被动协商状态,此状态下,接口会对LACP数据包做出相应,但不会主动发起协商。(默认)
Active:               会使接口进入主动协商状态,此状态下,接口会发送LACP数据包主动与其他端口进行协商。
On:                     这种模式会强制端口形成EthChannel。并不需要使用LACP和PAGP。

LACP和PAGP一样,都需要链路两端的模式完全兼容,才可以。

配置EthChannel的要求:
1.支持EthChannel,一条EthChannel最多8条链路捆绑
2.一个EthChannel上所有端口都必须工作在相同的速率,相同的双工模式下,如果EthChannel中某个接口处于关闭状态,那么这条链路就会失效
3.如果EthChannel端口被配置为SPAN的目标端口,则这个端口不会回送任何的流量,EthChannel建立不起来
4.三层EthChannel中,应该为逻辑的portchannel配置接口,而不是为EthChannel中所有的物理端口配置IP
5.EthChannel中所有的端口要划分进相同的VLAN,如果是trunk链路,Native VLAN也要一致。
6.链路两端允许的VLAN范畴要一致。
7.portchannel会影响EthChannel中所有的端口配置。

配置命令:
Switch(config)#interface range XX
Switch(config-if-range)#channel-group XX mode [no|auto|desirable]
Switch(config-if-range)#channel-protocol [pagp|lacp]

Switch(config)#interface port-channel XX

EthChannel的负载均衡:
默认是基于源MAC做负载
基于MAC,IP,端口号,共九种
EC的负载均衡,如果链路两端只有两台设备,使用基于源目MAC可以实现EC的流量负载均衡,如果使用基于源目IP,则流量37开,分担到EC的链路中

如果目的地有多个,设备会根据目的地的不同 来决定走哪条链路,分担流量,
如果源有多个,根据源IP,或源MAC的不同来实现负载均衡
如果类似上图A,B之间,根据服务的不同,可以选择基于源目端口都是可以的。

STP(Spanning Tree Protocol)生成树协议

网络拓扑中,如果交换机之间存在多条冗余路径,就意味着可能产生环路。有些交换机会看到某些站点同时出现在交换机的两侧。为了在阻止环路的同时还能提供路径冗余,STP定义了一个在扩展网络中可以延伸到所有交换机上的树形结构。

冗余网络会造成:
1.多帧复制
2.MAC地址表的翻动
3.广播风暴

STP(802.1D)——公有

STP采用STA(Spanning Tree Arithmetic)算法。
STA会在冗余链路中选择一个参考点(生成树的根),将选择到达要的单条路径,同时阻断其他冗余路径。一旦已选路径失效,将启用其他路径。

BPDU(Bridge Protocol Data Unit)
STP的各种选举是通过交换BPDU报文来实现的,BPDU是直接封装在以太网帧中的。
对于参与STP的所有SW,它们都通过数据消息的交换来获取网络中其他SW的信息,这种消息就被称为BPDU。
BPDU是直接封装在二层的协议 802.1D 目标地址是组播01-80-c2-00-00-00
每隔两秒发送一次。
交换机使用BPDU完成下列任务:
1.选举根桥
2.确定冗余路径位置
3.通过阻塞特定端口来避免环路
4.通告网络拓扑变更
5.监控STP状态

BPDU的两种类型:
1、配置BPDU--只能在根网桥产生配置BPDU,包括了STP参数,配置BPDU可用于选举根桥和保持拓扑稳定。每隔2S由根桥发送一个包含当前配置的BPDU。
2、TCN(topology change notification 拓扑变更通告)BPDU--这种BPDU是当交换机检测到拓扑发生变更时所产生。

·配置BPDU包含以下的字段
  1、Protocol ID      : 固定为0
  2、Version          : 802.1D (0)
  3、Message Type     : (Config BPDU=0x00 / TCN BPDU=0x80)
  4、Flags
  5、Root ID
  6、Cost of Path
  7、Bridge ID           由优先级和MAC地址组成,PVST+ RPVST会加上VLAN-ID,
  8、Port ID
  9、Message age
  10、Max age
  11、Hellotime
  12、Forward delay

STP的环境下,网桥从根端口处连续接收配置BPDU,从不向根桥发送配置BPDU。非根桥只负责BPDU的转发。

BID(Bridge ID):
STP为每台SW分配唯一的一个标识符,称为BID(Bridge ID)
BID=2(Bridge Priority优先级)+6(MAC)=8 Bytes
802.1D规定,CISCO交换机默认优先级为32768 取值范围是0~~~~65535

STP计时器:
Hello呼叫:定期发给邻接交换机BPDU的时间。
spanning-tree vlan 2 hello-time 2
Forward转发:指定了端口处于监听,和学习状态的时间。
spanning-tree vlan 2 forwad-time 4
Maxage最大老化:指定了在一个端口上接收并被保存的BPDU的生命期长度,计时器到期之后,端口就可以成为指定端口。
spanning-tree vlan 2 max-age 6
STP端口状态:
阻塞(Blocking):二层接口不参与帧转发,不学习MAC地址,监听入向BPDU
监听(listening):可以决定根,可以选择根端口,指定端口和非指定端口,不能学习MAC地址
学习(learning):准备参与帧的转发,可以学习入向帧的MAC地址(用来构建自己的MAC地址表)。还不能转发帧
转发(forwarding):可以转发帧,端口学习到接收帧的源MAC,可以根据目标MAC进行适当转发
禁用(disabled):不参与生成树,不转发数据帧

设备启动之初,网桥认为自己是根网桥,发送BPDU;并将过渡到监听状态。

STP计时器:
HELLO:指相邻BPDU之间的时间,默认时间下HELLO=2S   可控范围:1——10
转发延迟:指在监听和学习状态下所停留的时间,默认=15S 可控范围:4——30
最大寿命:网桥端口保存配置BPDU最大的时间长度,默认20S 可控范围:6——40
所有计时器依附根桥中的计时器,根桥将BPDU中的计时器传递给2层拓扑中的所有交换机

STP的选举
1.一个网络中选举一根桥
2.每个非根桥取唯一根端口
3.每条链路上取唯一指定端口(连接终端的端口必然是指定端口)
4.阻塞未分配到角色的端口

STP的根端口:去往根桥最近的端口
STP的指定端口:负责转发帧,每条链路一个,也就是说,根端口链路对端的必定是指定端口
 实际上,根端口和指定端口都会负责帧的转发和接收,根端口的选举是寻找一个桥上到达根桥最近的办法,当转发根桥的BPDU和接收非根桥发来的TCN的时候,根端口和指定端口扮演的是不同的角色。

1.网络中BID最小的成为根桥
默认Priority:32768(0x8000)
优先级相同,则比较MAC地址,MAC是唯一的。
 
交换机都有一个基础MAC地址,
  Sw2#show version 查看
Base ethernet MAC Address: 00:0D:28:61:35:00
  交换机的每一个端口都有一个MAC地址,就是以Base(基准) MAC地址加上端口号得到。

2.到达根的最小路径开销
  最小的发送BID    (也就是说指的是链路对端)
  最小的发送端口ID
 Path Cost:根桥发出的COST值是0,在下一交换机的入口处才加上COST值,出口处COST值不变。
10Mbps:100/ 100Mbps:19/ 1Gbps:4/ 10Gbps:2

Port ID是由优先级+端口号组成
修改端口优先级:默认情况下是128
Sw1(config-if)#spanning-tree port-priority 16  注意:必须是16的倍数才行

3.到达根的最小路径开销
  最小的发送BID
  最小的端口ID

STP选举判断其实很简单,确定根桥以后,由于COST是在到达根桥方向的下一个桥的入接口累加,所以,根端口也很容易判断,指定端口的责任就是负责帧的转发,如果一个根端口的链路对端端口被BLK
,根端口也没有意义。由此得出,根端口的对端,必定是指定端口。

转载于:https://blog.51cto.com/zhangchiccie/715999

EthChannel和STP01相关推荐

  1. 计算机网络原理:链路聚合

    目录 为什么要使用链路聚合 定义: 作用: 分类: 链路聚合注意事项: 为什么要使用链路聚合 因为由于网络规划的复杂性,大型网络设计规划中链路众多,容易出现故障,可靠性不高,难以管理,而且需要更高的带 ...

  2. 笔记/Linux运维面试常见问题

    linux基础 linux的特点 ? 免费: 开源: 单根目录树: 多用户多任务: 区分大小写: 一切皆文件: 不以扩展名区分文件类型. Linux的必须分区有哪些? 根分区.swap分区 swap分 ...

最新文章

  1. Vagrant控制管理器——“Hobo”
  2. 热榜第一!GitHub 标星 5.6w,如何用 Python 实现所有算法?
  3. Ubuntu默认密码,及其修改
  4. object类中的equals与自定义equals方法详解
  5. java冒泡排序找最大的值_(13)數組操作:遍歷、輸出最大值、冒泡排序、選擇排序,java已有的排序方法、折半查找...
  6. 各大门户网站Flash和JS实现的图片幻灯片切换特效代码文件下载:
  7. 我是最棒的,我一定会成功!
  8. 视觉SLAM笔记(47) 优化 PnP 的结果
  9. 凭什么相信你,我的CNN模型
  10. php 转义md5 和java 转译的区别_CTF|PHP中的命令参数注入
  11. 用字母表中的位置替换每个字母。
  12. Linux内存管理之mmap
  13. Hadoop大数据综合案例4-Hive数据分析
  14. IoT物联网天线有哪些?
  15. C++ Primer 第5版--练习9.31
  16. StreamNative翟佳:若无社区,开源项目可能是个死项目
  17. 线程并发锁竞争--java锁jvm锁--synch锁分析
  18. 解决-使用html2canvas截取页面时,页面的div背景图无法截取并跨域
  19. DVWA之XSS (Reflected)
  20. 热泵系统matlab仿真,热泵系统

热门文章

  1. Linux jdk 环境变量配置
  2. yii2.0 读取user表新增字段问题
  3. 谈一谈商品编码的问题
  4. _splitpath / _wsplitpath 将绝对路径分割为盘符、路径、文件名、扩展名。
  5. android第十二步Pull解析器解析和生成XML内容
  6. 调整Excel的打印线
  7. cf 165 div2 解题报告
  8. 为什么我们应该学马化腾,而不是马云
  9. 计算机职称评定认可增刊吗,核心期刊增刊评定职称可以用吗?
  10. linux下挂载共享目录,linux下挂载windows的共享目录