草庐IT

eNSP实验STP简单配置及介绍

是糖果呀 2023-07-23 原文

STP简单配置及介绍


【学习目标】

1.掌握启用和禁用STP的方法
2.掌握修改交换机STP模式的方法
3.掌握修改桥优先级,控制根桥选举的方法
4.掌握修改端口优先级,控制根端口和指定端口选举的方法
5.掌握修改端口开销,控制根端口和指定端口选举的方法
6.掌握边缘端口的配置方法


【理论知识】

STP生成树协议,是由IEEE协会制定的,用于在局域网中消除数据链路层物理环路的协议,其标准名称为802.1D.运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择地对某些端口进行阻塞,最终将环路结构修剪成无环路的树形网络结构,从而防止报文在环路网络中不断怎生和无限循环,避免设备由于重复接收相同的报文造成设备处理能力下降的问题。

【实验拓扑】

【应用场景】

某公司有两台交换机如上图的方式互连,为了避免网络中的环路问题,需要在网络中的交换机上配置STP。网络技术人员还需要通过修改桥优先级来控制STP的根桥选举,并通过配置STP的一些特性来加快STP的收敛速度。

【配置思路】

步骤1. 关闭和开启stp功能的相关操作
步骤2. 掌握修改交换机STP模式的方法以及查看名利
步骤3. 掌握修改桥优先级,控制根桥选举的方法
步骤4. 掌握修改端口优先级,控制根端口的方法
步骤5. 掌握修改端口开销,控制根端口和指定端口选举的方法掌握边缘端口的配置方法

【操作步骤】

首先回顾一下来自wakin.Xie Sir 谢老师PPT中的stp配置命令

提示:在实验之前我们在用户视图下<>可以使用undo terminal monitor 来关闭日志,防止时不时弹一大堆英文扰乱我们心情

<Huawei>undo terminal monitor
Info: Current terminal monitor is off.

步骤1

如果本实验在真实环境下配置,首先要关闭交换机其他与本实验无关的端口防止影响实验结果,华为交换机stp功能默认是开启的且为mstp模式,本实验使用的是ensp模拟环境,现使用交换机的stp 功能关闭后在开启。

<Huawei>system-view 
[Huawei]sysname Lsw1
[Lsw1]stp disable 
Warning: The global STP state will be changed. Continue? [Y/N]y
Info: This operation may take a few seconds. Please wait for a moment...done.
[Lsw1]stp enable 
Warning: The global STP state will be changed. Continue? [Y/N]y
Info: This operation may take a few seconds. Please wait for a moment...done.

步骤2

将模拟器中默认的MSTP模式手动改为STP模式并查看STP信息和STP接口信息。
使用stp mode stp 命令改为stp模式,ENSP模拟器中默认为MSTP模式。

[Lsw1]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.
[Lsw2]stp mode stp
Info: This operation may take a few seconds. Please wait for a moment...done.

使用命令 display stp brie 查看STP相关信息。

使用命令查看 display stp interface + 接口 查看接口STP信息,从下面信息中可以看到e0/0/1接口状态为转发状态,端口角色为根端口,STP模式为STP。

步骤3

修改桥的优先级,控制根桥选举的方法

方法一:

通过修改桥的优先级从而控制根桥的选举,开机默认是32768,可以修改为0-65535且为4096的整数倍,最小为0,最大为61440.

[Lsw1]stp priority 4096

通过display STP 查看stp信息和得出 LSW1经成为根桥。

方法二:

使用命令 stp root Primary 强制将LSW2改为根桥,从下面的信息可以看出来LSW2已经变成了根桥。

[Lsw2]stp root primary 


这里我们其实可以发现stp root Primary命令是直接将Lsw2交换机的桥优先级直接改为0,与stp priority 0命令一样

步骤4

在LSW1上使用 display stp brif 查看根端口,从下图可以看到交换机的e0/0/1的端口角色为根端口。

进入LSW2的e0/0/2的接口视图使用stp port priority 32 命令将端口优先级改为32(注意:通过优先级更改LSW2端口的角色,必须更改对端交换机相应的接口优先级)。
PID就是端口ID(包含端口的优先级和端口编号,端口编号就是比如说1口就是1,e/0/2口就是2,优先级-----0~255,开机默认缺省值是128,而且优先级必须是16的倍数,越小越优先)

在LSW1上使用 display stp brif 查看根端端口已经改为阻塞端口

LEARNING状态到FORWARDING状态需要15秒

步骤5

修改端口开销,控制根端口和指定端口选举的方法掌握边缘端口的配置方法。
将模拟器中LSW1交换机的端口e0/0/1的端口开销值200000改为2000 端口角色变为root端口。

开机默认是 802.1t标准:cost=1~200000000,默认

在e/0/1端口视图下用stp cost 2000修改开销值改为2000

[LSW1-Ethernet0/0/1]stp cost  2000


再查看LSW1的e0/0/1的端口角色。

在接口视图下使用stp edged-port enable命令开启交换机STP的边缘端口。

[Lsw1-Ethernet0/0/1]stp edged-port enable

在接口视图下使用display this 查看当前接口的配置。

[Lsw1-Ethernet0/0/1]d th

【实验结果】

STP根端口选举规则:每一个非根桥都一个根端口该端口到根路径开销最小,如果根路径开销值相同比较直连交换机的桥ID,与桥ID小的相连接的端口为跟端口,如果直连交换机的桥ID也相同,比较对端的指定端口ID,链接对端交换机端口ID小的端口为根端口。
指定端口选举规则:1、根桥上的所有端口都是指定端口。2、开启STP协议的交换机的每一段的物理链路都会选出指定端口,选出根路径开销最小的为指定桥,指定桥上的端口为指定端口。如果根路径相同选择桥ID小的交换机端口为指定端口。

有关eNSP实验STP简单配置及介绍的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby - 简单获取法拉第超时 - 2

    有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url

  4. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  5. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  6. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  7. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  8. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  9. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  10. Qt Designer的简单使用 - 2

    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用C++代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。用C++代码编写图形界面的问题就是不直观,因此Qt项目开发了专门的可视化图形界面编辑器——QtDesigner(Qt设计师)。通过QtDesigner就可以很方便地创建图形界面文件*.ui,然后将ui文件应用到源代码里面,做到“所见即所得”,大大方便了图形界面的设计。本节就演示一下QtDesigner的简单使用,学习拖拽控件和设置控件属性,并将ui文件应用到Qt程序代码里。使用QtDesigner设计界面在开始菜单中找到「Q

随机推荐