华为数通HCIE面试题目解密系列之RSTP边缘端口

以下是华为数通面试考试的一道真题,原题如下;

请举例说明 stp 的 edge port 的作用,用在什么场景,并且使用 edge port 会碰到什么问题,怎么解决和防止?

提到边缘端口,我们是在NP课程的交换部分第一次接触,在RSTP中深入讲解了边缘端口的作用,作用如下;

<1>配置边缘端口的端口在UP后即可直接将端口的状态转变为forwarding状态, 不需要经历转发延时。
<2>网络发生变化,边缘端口所在交换机上的根端口发生变化时,边缘端口可以继续保持forwarding状态,持续为连接到边缘端口的设备转发流量。
<3>边缘端口从down转变为forwarding状态不算拓扑变化,不会触发产生TC报文;可以避免MAC表刷新。

以下是之前的考生跟考官的对话,可以脑补一下考试的现场画面;

我说完作用后,然后问考官有没有什么问题(如果他没有问题,我就接着说应用场景),但是考官就开始问了:“你刚才说边缘端口转为forwarding不算拓扑变化,那要是down了呢,算拓扑变化吗?”我回答“不算。”考官说“你确定吗?”我当时犹豫了一会儿说:“确定,因为如果边缘端口down了,交换机就直接在它的MAC地址表项里删除这个条目了,不会向其他交换机发TC-BPDU。”考官又问:“如果是普通端口,在down了之后,算拓扑变化吗?”我回答:“不算。”然后考官停顿了一会儿,问“你刚才说根端口发生变化时,边缘端口不会被同步,在什么情况下根端口会发生变化呢?”我说:“当一个非边缘端口DOWN的时候,比如说一个交换机连接根交换机的端口DOWN了,那么它的根端口就发生变化了。”考官好像没太理解,说“你能不能画个图解释一下,抛去边缘端口不谈,就说普通端口down了,交换机怎么处理?”我当时已经有点蒙了,觉得这道题好像已经跟边缘端口没什么关系了。我等了几秒后,就给他在电脑屏幕上画了一个图,解释了一下,当交换机检测到拓扑改变的时候,STP和RSTP是怎么做的,其中提到了TC-BPDU。考官又开始追问了“你说的这个TC-BPDU和普通的BPDU有什么区别?”我回答:“TC-BPDU的flag字段中的TC位置位。”考官停顿了几秒,说没有问题了,然后问另一个考官“X老师(具体姓什么我忘了),你还有什么问题么?”那个考官说“没有问题了。”然后考官说“你可以继续下一道了。”

这里注意了,什么是拓扑变化,拓扑变化一定是一个非边缘端口从不转发状态(down或者是discarding状态)转变为转发状态(forwarding)状态才算拓扑变化,是拓扑变化就会触发TC。一个非边缘端口从转发状态变为不转发状态不算拓扑变化,不会引发TC。

那TC的作用什么呢?
TC的作用是当拓扑发生变化候能够起到快速老化或者删除(华为实际为删除)MAC的效果,以此来防止由于拓扑已经发生变化,mac地址存在导致交换机误转数据这样的问题。

但是TC被华为交换机收到后会删除那些接口的MAC地址呢?是删除全部吗?
不是,除了收到TC BPDU的端口以外的其他端口(除边缘端口以外)MAC表项全部清空。如下图所示;

华为数通HCIE面试题目解密系列之RSTP边缘端口

边缘端口虽然很好,如果使用不当就会出现以下问题;

<1>临时环路的问题。(下图中HUB可以是无STP运行的switch) 初始时当Edge Port 在没有收到BPDU,且都处于forwarding state时,loop出现。既然是临时环路,这里就要问题大家了,临时环路是多久?欢迎大家评论提交你的答案啊。

华为数通HCIE面试题目解密系列之RSTP边缘端口
 
 
 
<2>当边缘端口收到 BPDU 时,就丧失了边缘端口的特性,成为普通的 STP 端口,并重新进行生成树计算,从而引起网络震荡。

如果解决呢,需要配置BPDU保护:
交换机上启用了BPDU 保护功能后,如果边缘端口收到STP BPDU,边缘端口将被shutdown,但是边缘端口属性不变,同时通知网管系统. 被shutdown的边缘端口只能由网络管理员手动恢复。 如果用户需要被shutdown的端口自动恢复,可通过配置使能端口自动恢复功能,并可设置延迟时间。被shutdown 的端口经过延迟时间后能够自动恢复。边缘端口状态恢复后,如果再次收到RST BPDU,该边缘端口将再次被shutdown。

转载于:https://blog.51cto.com/1376127/2139308

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

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

相关文章

VS2013 Pro版本密钥

Visual Studio Professional 2013 KEY&#xff08;密钥&#xff09;&#xff1a; XDM3T-W3T3V-MGJWK-8BFVD-GVPKY 转载于:https://www.cnblogs.com/Mysterious/p/5990358.html

Django:视图和URL配置

一、视图1.在mysite文件夹下。创建views.py文件&#xff08;文件名称没有特别的要求&#xff09;&#xff1b;from django.http import HttpResponsedef hello(request):return HttpResponse("Hello world")2.改动mysite文件夹下的urls.py文件&#xff1b;from djang…

u-boot 详细介绍 .

Bootloader 对于计算机系统来说&#xff0c;从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序&#xff0c;这个引导程序就叫作Bootloader。6.1.1 Bootloader介绍Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序&#xff0c;我们…

apicloud使用指南

ApiCloud ApiCloud平台介绍 ApiCloud首页在线教程文档ApiCloud是一个国内的Hybird APP平台&#xff0c;提供Hybird APP一站式开发服务。可以将使用HTML、CSS和JS制作的应用直接编译为能在安卓和IOS平台上运行的APP。另外&#xff0c;其所提供的代码托管和在线编译服务&#xff…

halcon对光源打光不均匀进行平场矫正

* Image Acquisition 01: Code generated by Image Acquisition 01 *******预处理&#xff0c;生成RGB三通道的平场矫正的图像 *1.绘制检测ROI *2.对检测的ROI进行平场矫正 *3.平场矫正方法采用均值对减方法 read_image (ImageWhite, C:/Users/Administrator/Desktop/平场矫正/…

一般面试题

1.浏览器访问一个网页的整个过程&#xff0c;附带连接协议&#xff1f; 2.tcp和upd的区别&#xff1f; 3.tcp报头&#xff1f; 4.网络协议的7层和5层分别是什么&#xff1f; 5.ipv6的知识&#xff1f; 6.网络分包&#xff1f; 7.求素数的改进方法&#xff1f;转载于:https://ww…

Python 执行代码的两种方式

1、交互执行即黑屏命令行执行 优点:即时调时程序&#xff0c;调试方便 缺点&#xff1a;无法永久无法保存代码 2、即文件存储代码执行Python代码文件 优点&#xff1a;可以永久保存代码 缺点&#xff1a;调试不方便转载于:https://www.cnblogs.com/liuxiaowei/p/7163473.html

金属圆柱求取倾斜角度

方法1&#xff1a; count_seconds (Seconds1)read_image (Image, 9_7750_f3d301de6764d94.jpg)get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, black, WindowHandle)dev_display (Image)rgb1_to_gray (Image, GrayImage)dev_display (GrayImage)…

编程开发之--java多线程学习总结(2)同步代码块

1、第一种解决办法&#xff1a;同步代码块&#xff0c;关键字synchronized package com.lfy.ThreadsSynchronize;/*** 1、使用同步代码块* 语法&#xff1a;synchronized (同步锁) {//需要同步操作的代码 }同步锁&#xff1a;为了保证每个线程都能正常的执行原子操作&a…

swift 随机数

1.一行代码生成随机数 arc4random() 如果要生成一个生成在一定范围内的随机整数: func randomIn(#min: Int, max: Int) -> Int { return Int(arc4random()) % (max - min 1) min} 该方法会生成[min, max]范围内的随机整数转载于:https://www.cnblogs.com/qiyiyifan/p/…

u-boot裁减

http://blog.csdn.net/menuconfig/article/details/2276078u-boot裁减的主要方法是通过删除不需要的命令来减小可执行代码体积。比如说&#xff0c;如果不需要网络相关的功能&#xff0c;则可以将网络相关的所有命令全部删除&#xff0c;可以节约可观的flash空间。一般u-boot的…

PhpStudy 升级 MySQL 版本到5.7

1&#xff1a;备份当前数据库数据、 最好是导成 SQL 文件2&#xff1a;备份 PhpStudy 下的 MySQL 文件夹、以防升级失败、还可以使用旧版本的数据库3&#xff1a;下载MySQL5.7、解压、然后放在 PhpStudy 下的 MySQL 文件夹下地址&#xff1a;https://dev.mysql.com/downloads/f…

使用直线标定板进行相机畸变校正,并且进行9点标定(halcon)

直线标定板图片&#xff1a; 机械吸头位置图片&#xff1a; 处理代码 read_image (Image, 直线标定板图片/Left201118140641772.bmp) get_image_size (Image, Width, Height) dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display…

github设置添加SSH

很多朋友在用github管理项目的时候&#xff0c;都是直接使用https url克隆到本地&#xff0c;当然也有有些人使用 SSH url 克隆到本地。然而&#xff0c;为什么绝大多数人会使用https url克隆呢&#xff1f; 这是因为&#xff0c;使用https url克隆对初学者来说会比较方便&…

linux设置套接字缓冲区的大小

系统提供的socket缓冲区大小为8K&#xff0c;你可以将之设置为64K&#xff0c;尤其在传输实时视频时。 socket发送数据时候先把数据发送到socket缓冲区中&#xff0c;之后接受函数再从缓冲区中取数据&#xff0c;如果发送端特别快的时候&#xff0c;缓冲区很快就被填满&#x…

【Java MyBatis Generator】使用generator自动生成Dao,Mapping和实体文件

具体请参照&#xff1a; http://blog.csdn.net/fengshizty/article/details/43086833 按照上面博客地址&#xff0c;下载Generator的依赖包&#xff1a; 如下是我的配置文件&#xff1a; 1 <?xml version"1.0" encoding"UTF-8"?>2 <!DOCTYPE ge…

h5移动端设备像素比dpr介绍

首先介绍一下概念 devicePixelRatio其实指的是window.devicePixelRatio window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pixels (dips))的比例。 公式表示就是&#xff1a;window.devicePixelRatio 物理像素 / dips 好了&#xff0c;到了这里有出…

halcon直线标定板对相机标定的效果评估(对比矫正前后、对比标定板矫正效果)

原图 程序源码 * gen_caltab (7, 7, 0.0025, 1/2.5, GB025标定板.descr, GB025标定板.ps) * Calibration 01: Code generated by Calibration 01 * CameraParameters : [0.048105,-44.0585,8.31518e-006,8.3e-006,641.37,588.269,1280,1024] * CameraPose : [-0.000849522,-0.…

【QQ输入法】QQ输入法-剪切板 释放内存

发现一个神奇的情况&#xff1a; 清除和关闭的操作&#xff1a; 1. 2.右键 3.点击 4.清空 5.最后需要关闭 QQ输入法的进程

Socket编程原理

什么是SocketSocket接口是TCP/IP网络的API&#xff0c;Socket接口定义了许多函数或例程&#xff0c;程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程&#xff0c;必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果…