思科加强生成树性能的属性(Portfast /Uplinkfast/BackboneFast)与RSTP的关系


      思科加强生成树性能的属性(Portfast/Uplinkfast/BackboneFast)与RSTP的关系

                                            

                          本文截自于博主CCNP交换技术稿件内容


4.2.6思科加强生成树性能的属性(Portfast/Uplinkfast/BackboneFast)与RSTP的关系

首先说明一下,为什么笔者专门将(Portfast/Uplinkfast/BackboneFast)与RSTP的关系来独立成一个小节进行描述,那是因为,笔者不知被现实工程中的技术实施人员问了同一个问题N次,关于这个问题如下:“为什么在很多资料上,描述RSTP特性时都会提到Portfast /Uplinkfast/BackboneFast这三个特性,甚至说RSTP是具备这三个特性的,然而通过实践工程环境大家不难发现,在很多设备上支持Uplinkfast/BackboneFast这两个特性的交换机一般都不支持RSTP,相反支持RSTP的交换机上一般都不会存在Uplinkfast/BackboneFast这两个特性(至少没有配置它们的命令),而Portfast是乎是所有设备都支持的,这是为什么呢?

因原是Portfast/Uplinkfast/BackboneFast这三个思科的属性被完整的移植并集成到了RSTP生成树中,也就是因为这个原因,所以很多关于生成树的资料典籍中,在描述RSTP时会同时讨论Portfast/Uplinkfast/BackboneFast三个属性。所以读者在查看别的资料时别被这个给弄混淆了,它们的关键区别如下:

一、Portfast/Uplinkfast/BackboneFast本是思科在RSTP提出之前就具备的三个厂商特性,后来当RSTP集成了Portfast/Uplinkfast/BackboneFast的功能后,通常在支持RSTP生成树的交换机中,IOS就不再提供Uplinkfast/BackboneFast这两个特性的独立配置指令了,因为RSTP会自动完成这两个功能的配置。所以支持RSTP的生成树,就不会存在Uplinkfast/BackboneFast功能的配置指令。下一小节取证将给大家更详细证明这一现象。

二、但是传统的独立支持Portfast/Uplinkfast/BackboneFast三个属性指令的交换机和支持RSTP生成树的交换机都保留了Portfast功能配置的指令,在RSTP中这里的portfast被另一个名词所替代,那就是RSTP中的“边缘端口”,事实上RSTP中的“边缘接口”和传统交换机上的portfast是一回事儿,只是说RSTP不会自动启用它,因为这样太危险,需要管理员手工启动,所以用户才会在传统的独立支持Portfast/Uplinkfast/BackboneFast三个属性指令的交换机和支持RSTP生成树的交换机上都能看到portfast的配置指令。

关于RSTP的特性和基本理论,笔者将在4.3小节部分做更多的描述。

 

4.2.7取证: Portfast/Uplinkfast/BackboneFastRSTP的关系

为了更充分的证实4.2.6小节所描述的内容,现在可以通过对两台不同年代设备的生成树功能进行取证,来彻底的理解Portfast/Uplinkfast/BackboneFastRSTP的关系。因为多数人习惯了在仿真平台上进行学习,那么也可以使用个不同的仿真平台来进行该小节的取证,比如:使用仿真平台GNS3中的3640交换机模块和思科官方的仿真平台Cisco Packet Tracer中的3560交换机。注意这两个设备在生成树功能上的区别在于,GNS3中的3640的交换模块相对于Cisco Packet Tracer中的3560交换机更传统,年代更久远。

首先在传统设备3640上在spanning-tree后面打问号,如1所示,可以看到在所列出的可用参数中,用户是不能执行spanning-tree mode 来选择RSTP的生成树模式,因为它不支持RSTP模式,所以它提供了Portfast/Uplinkfast/BackboneFast三个思科私有属性来加速传统生成树;所以拥有独立执行三个思科私有属性的指令;相反在Cisco Packet Tracer中相对较新的交换机3560上在spanning-tree后面打问号,如2所示,可以看到在所列出的可用参数中,用户是可以执行spanning-tree mode 来选择RSTP的生成树模式,由于RSTP是自动集成了Uplinkfast/BackboneFast,简单的讲就是RSTP生成树启动时,Uplinkfast/BackboneFast机制就被开启了,所以在3560spanning-tree后面打问号就再也看不到启动Uplinkfast/BackboneFast的独立指令了。但是不难发现,无论是传统的3640还是相对较新的3560都能支持portfast指令,请注意对比1图3就很清晰,它们都支持portfast,是因为在RSTP生成树中,为了防止潜在的成环风险,边缘端口不会自动启用,需要管理员手工配置。


wKiom1WDJJuRq_qiAAI_thBoQY8693.jpg

注意:通过上面的取证过程,说明了一个问题,如果交换机已经具备RSTP功能模式,还去独立搞个启动Uplinkfast/BackboneFast功能的指令作甚?这不画蛇添足吗?这并不是IOS镜像有问题,而是进一步体现了思科IOS镜像功能设计的精简性和科学性,如果用户有更好的网络技术基础,并知道一项技术的发展历程、以及移植集成性,还会在更多的功能上发现诸如此种特性。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构(java语言描述)顺序栈的使用

1.声明Istack接口; package stack;public interface Istack { public void clear(); public boolean isEmpty(); public int length(); public Object peek(); public void push(Object x) throws Exception; public Objec…

sql LEFT JOIN RIGHT JOIN(左连接)(mysql)

我们首先来看我们的两个表: table1: table2: 在这里,LEFT JOIN(内连接,或等值连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。 …

linux shell之xargs 、tr、sha1sum、head、tail一般使用

1 xargs命令 有点类似-exec命令 1)删除当前目录下面的c文件 find . -name "*.c" | xargs rm 2)统计当前c文件里面的代码行数 find . -name "*.c" | xargs wc -l 2 tr命令 替换命令 1)把大小替换成小写 echo &quo…

php的_auto,AutoPHPCheck下载

AutoPHPCheck官方版是一款相当优秀的php开发人员专用PHP验证工具,AutoPHPCheck官方版功能全面,便捷好用,支持执行快速验证来帮助您确保代码的安全性,并且软件还附带了一个基本的语法检查器,可以查找并帮助您处理错误。…

python0表示剪刀_石头,纸,剪刀Python代码。帮助简化

我是Python新手,只写过几个程序。这是我最近为一个“石头剪子”游戏编写的代码。我已经测试过了,效果很好。有什么方法可以简化它吗?谢谢!import randomwins0losses0ties0rounds0r1 #rockp2 #papers3 #scissorsy "The compu…

Google图片加载库Glide的简单封装GlideUtils

Google图片加载库Glide的简单封装GlideUtils

【ArcGIS遇上Python】Python实现点转栅格(PointToRaster)

在ArcGIS中提供了点转栅格(PointToRaster)的工具,如下所示: 参数说明: (1)file:点图层(.shp) (2)data:值字段 (3)outFile:转换后的栅格图层 (4)9660.848118:空间分辨率 python批处理代码: import arcpy arcpy.gp.overwriteOutput=1 arcpy.env.workspace=&…

ASP.NET Core认证授权方案

前言在前面我讲过基于token的权限认证,然后前几天有小伙伴私信我,怎么做一个身份认证也就是授权。在Asp.net Core常见的授权方式有:基于角色的授权,有基于声明的授权,有基于策略的授权, 这三种授权我就不做过多介绍了,…

linux基础知识个人总结

linux基础知识个人总结第一章:1. Linux发展史略,有代表性的Linux发行版:Suse、slackware、ubuntu、RedHat、CentOS2. GNU是Richard Stallman在1983年发起的一项自由软件运动,目标是为了创建一套完全自由的操作系统,它要…

linux shell之pushd、popd、dirs

1 问题 我们有时候需要保存多个路径,上下键切换不方便,用cd-只能到上个目录,我们可以用dirs和pushd和popd 2 dirs、pushd、popd dirs: 这个命令显示栈里面所有的路径,一定会包含当前路径,常用参数如下 dirs -v 显示栈里面的所有…

插入排序—直接插入排序(Straight Insertion Sort)

基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插插入到已入,直至整个序列有序为止。 要点:设…

SQL UNION 和 UNION ALL 操作符(mysql)

首先看两个表: table1: table2: 如果我们要查询table1表和 table2表中的 name1的值,但是不存在重复的值一起输出出来,那么就可以用union操作符: SELECT name1 FROM table1 UNION SELECT name1 FROM table2 结果我们会查…

redis php方案,Redis三种部署方案图文详解

standaloan(单机模式)standaloan 是redis单机模式,及所有服务连接一台redis服务,该模式不适用生产。如果发生宕机,内存爆炸,就可能导致所有连接改redis的服务发生缓存失效引起雪崩。(推荐:redis视频教程)ssentinel(哨兵…

【ArcGIS遇上Python】Python版的ArcGIS栅格计算器模板

python编写的栅格计算器,用于批处理。 import arcpy from arcpy.sa import * arcpy.CheckOutExtension("spatial") arcpy.gp.overwriteOutput1#custom arcpy.env.workspace"G:\\Phenology of 30 Years\\GIMMS 3g\\15Length\\1Length\\" #custo…

抛开flash,自己开发实现C++ RTMP直播流播放器

众所周知,RTMP是以flash为客户端播放器的直播协议,主要应用在B/S形式的场景中。本人研究并用C开发实现了RTMP直播流协议的播放器,结合之前做的RTMP直播采集端,可以将RTMP协议完全扩展到C/S形式的应用场景中,这将对之后…

python用户输入若干个分数_编写一个程序,要求用户输入五个测试分数。与字母grad对应...

Determine_grade-接受单个数字作为参数,并根据以下评分标准显示分数的字母等级:Score 90-100 80-89 70-79 60-69 Below 60Letter Grade ABCDFcalc_average-以分数列表作为参数,显示分数的平均值,以及与该平均值相等的字母分数。ma…

.NET 程序读取当前目录避坑指南

前些天有 AgileConfig 的用户反映,如果把 AgileConfig 部署成 Windows 服务程序会启动失败。我看了一下日志,发现根目录被定位到了 C:\Windows\System32 下,那么读取 appsettings.json 配置文件自然就失败了。var builder new Configuration…

linux之sed命令

1 sed命令(stream edit) 我们一般用来替换文件内容 2 常用方法 1)、比如一般用sed命令替换文件内容,这里参数-i的意思是操作后直接保存在file里面去了 sed -i s/pattern/replace_str/ file 比如我们把sed.txt文件里面的chenyu替换成chen cat sed.txt chenyu ch…

Liststring[] 如何去重

List<string[]> 如何去重&#xff0c;代码如下: static void Main(string[] args){List<string[]> list new List<string[]>();list.Add(new string[] { "1", "2", "3" });list.Add(new string[] { "1" });list.Ad…

sql create,not null 简单用法(mysql)

sql中CREATE用于创建&#xff0c;一般所说的CREATE DATABASE dbname就是创建数据库&#xff0c;那么dbname我们换成我们所要创建的数据库名称即可。 例如创建一个test数据库&#xff1a; CREATE DATABASE test 创建一个表&#xff1a; CREATE TABLE TableName ( 数据库列…