PortFast (生成树端口加速)

1.在交换机上使用portfast命令,可以防止出现由于STP的收敛时间太长,导致主机的DHCP请求超时,从而使主机不能接收到DHCP地址的问题。

确保有一台服务器或其他设备连接到交换机上时,可以保证在禁用STP时不会产生交换环路。使用端口加速意味着,当STP正在收敛时,端口不会花费通常的50秒才进入转发状态。 慎用,易出现环路!

asw2960(config-if)#spanning-tree portfast

%Warning: portfast should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc... to this interface

when portfast is enabled, can cause temporary bridging loops.

Use with CAUTION

%Portfast has been configured on GigabitEthernet0/1 but will only  have effect when the interface is in a non-trunking mode.

BPDU Guard

1.BPDU Guard(BPDU保护),简单的讲它的意义就是一个不该接收BPDU的端口,比如被启动了portfast的端口,一旦收到BPDU报文,那么BPDU保护功能将会立即关闭该端口,并将端口状态置为error-disabled状态。

BPDU Guard的配置分为全局型的配置和接口级的配置,注意这两种配置将带来一些不同的效果。

2.全局配置BPDU Guard

全局配置BPDU Guard将使用spanning-tree portfast bpduguard default全局配置命令。全局配置BPDU Guard功能是必须依附于portfast而存在的,因为一个被规划为portfast的端口默认情况下是不应该连二层接桥接类设备。

一般用户连接桌面机和服务器,那么这样的端口是不应该接收BPDU报文的,如果在全局配置了BPDUGuard功能,当portfast端口一旦收到BPDU报文,那么该端口将被关闭并转入error-disabled状态。

3.在接口上的BPDU Guard配置

在接口模式下配置BPDU Guard是通过spanning-tree bpduguard enable接口配置命令来完成,注意在接口模式下启动BPDU Guard功能,不需要依赖portfast而存在。换言之,在接口模式下启动BPDU Guard功能时,

无论该接口是一个什么接口,是否是portfast接口这些都不重要,只要管理员认为该接口不应该接收BPDU报文,那么就可以在接口上配置BPDUGuard功能。

一旦这个接口被启动BPDUGuard功能后,它接收到BPDU报文,那么该端口将被关闭并转入error-disabled状态。

注意:一旦某个端口被转入error-disabled状态,必须通过管理员手工重启并恢复该接口!

4.交换机触发BPDU Guard后的提示信息:

%LINEPROTO-5-UPDOWN: Line protocol on InterfaceEthernet1/0, changed state to down

%LINEPROTO-5-UPDOWN: Line protocol onInterface Ethernet1/0, changed state to up

%SPANTREE-2-BLOCK_BPDUGUARD: ReceivedBPDU on port Et1/0 with BPDU Guard enabled. Disabling port.

%PM-4-ERR_DISABLE: bpduguard errordetected on Et1/0, putting Et1/0 in err-disable state

%LINEPROTO-5-UPDOWN: Line protocol onInterface Ethernet1/0, changed state to down

%LINK-3-UPDOWN: Interface Ethernet1/0,changed state to down

BPDU Filter

1.默认时启用了PortFast的交换机端口仍将接收BPDU,这时可以使用BPDU Filter完全阻止BPDU出入那个端口。如果接收到了BPDU,BPDU Filter过滤将立即使端口关闭PortFast,并迫使端口重新成为STP拓扑的一部分。

BPDU Guard会将端口置为错误的禁用状态,而BPDU Filter将使端口保持打开,但不运行PortFast。

配置BPDU Guard和BPDU Filter:

  S1(config-if-range)#spanning-tree bpduguard ?

  disable Disable BPDU guard for this interface

  enable Enable BPDU guard for this interface

  S1(config-if-range)#spanning-tree bpdufilter ?

  disable Disable BPDU filtering for this interface

  enable Enable BPDU filtering for this interface

  BPDU Guard和BPDU Filter完成的是同一件事情,只需使用其中一个或另一个命令。

2.二层常用技术-Portfast和BPDU Guard、BPDU Filter的更多相关文章

  1. 1.二层常用技术-STP

    1.STP定义: STP(Spanning Tree Protocol)是生成树协议的英文缩写.STP在IEEE 802.1D文档中定义,该协议的原理是按照树的结构来构造网络拓扑,消除网络中的环路,避 ...

  2. Android无线开发的几种常用技术(阿里巴巴资深工程师原创分享)

    完整的开发一个android移动App需要经过从分解需求.架构设计到开发调试.测试.上线发布等多个阶段,在发布后还会有产品功能上的迭代演进,此外还会面对性能.安全.无线网络质量等多方面的问题. 移动A ...

  3. React.js 常用技术要点

    最近在公司的一个移动端WEB产品中使用了React这个框架(并不是React-Native),记录一下在开发过程中遇到的各种问题以及对应的解决方法,希望能对读者有所帮助. React原则 React不 ...

  4. OC中另外的一个常用技术:通知(Notification)

    OC中另外的一个常用技术:通知(Nofitication)其实这里的通知和之前说到的KVO功能很想,也是用于监听操作的,但是和KVO不同的是,KVO只用来监听属性值的变化,这个发送监听的操作是系统控制 ...

  5. Struts 2 常用技术

    目录  Struts 2 常用技术  1. 常用类和接口  1.1 getter 和 setter 方法  1.2 Action 接口  1.3 ActionSupport 类  1.4 通过 Act ...

  6. 必知干货:Web前端应用十种常用技术你全都知道吗?

    Web前端应用十种常用技术,随着JS与XHTML的应用普及,越来越多的web界面应用技术出现在网站上,比如我们常见的日历控件,搜索下拉框等,这些web界面应用技术大大的丰富了网站的表现形式,本文将为您 ...

  7. 可伸缩性架构常用技术——之数据切分 Data Sharding/Partition

    1. 简介 本来想写一篇可伸缩性架构方面的文章,发现东西太多了,久久未能下笔,这里首先把大家最关注的数据切分(Partition/Sharding)方面的内容先写完,给大家参考. 我们知道,为了应对不 ...

  8. 介绍web开发中实现会话跟踪的常用技术方法

    由于http是无状态的协议,这种特性严重阻碍了客户端与服务器进行动态交互,例如购物车程序,客户在购物车中添加了商品,服务器如何知道购物车已有的物品呢?为了支持客户端与服务器之间的交互,为了弥补http ...

  9. 【转】logback logback.xml常用配置详解(三) <filter>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

随机推荐

  1. Adnc简介

    Adnc是一个轻量级的.Net Core微服务(microservices)快速开发框架,同时也可以应用于单体架构系统的开发.框架基于JWT认证授权,包含基础的后台管理功能,代码简洁.易上手.学习成本 ...

  2. ubutu14.04选中文本就会删除问题解决

    1.网上解法 (1)重装ibus sudo apt-get install --reinstall ibus (2)键盘格局为english(united state) (3)升级火狐为最新版 以上方 ...

  3. linux下 shell时间处理

    一.hour #获取当前时间年月日时分秒current_create_time=`date +"%Y-%m-%d %H:%M:%S"` echo $current_create_t ...

  4. 对接口报错404 发现url多了一些不可描述的代码%E2%80%8B

    接口url出现了空格,复制的url可能出现空格肉眼看不出来,手动输入一遍URL

  5. DB2在渗透中的应用(转载)

    原文地址:http://drops.wooyun.org/tips/16673 0x00 DB2简介 DB2是IBM公司推出关系型数据库管理系统. 现今DB2主要包含以下三个系列: DB2 for L ...

  6. MySQL中Exists和In的使用

    Exists关键字: exists表示存在,是对外表做loop循环,每次loop循环再对内表(子查询)进行查询,那么因为对内表的查询使用的索引(内表效率高,故可用大表),而外表有多大都需要遍历,不可避 ...

  7. 【剑指Offer】链表的基本操作之创建、插入、删除

    // C++ #include<iostream> using namespace std; //链表的定义 struct ListNode { int val; ListNode* ne ...

  8. 一次snapshot迁移引发的Hbase RIT(hbase2.1.0-cdh6.3.0)

    1. 问题起因 通过snapshot做跨集群数据同步时,在执行拷贝脚本里没有指定所有者及所有组,导致clone时没有权限,客户端卡死.master一直报错,经过一系列操作后,导致RIT异常. 2. 异 ...

  9. 【Java】一个简单的Java应用程序

    简单记录,Java 核心技术卷I 基础知识(原书第10 版) 一个简单的Java应用程序"Hello, World!" Hello, World! Goodbye,World! 一 ...

  10. 【Oracle】从删除的recyclebin中查看并恢复数据

    如果数据库中用了drop删除表,后面没有加上purge的话,会出现在oracle的回收机制中 dba_recyclebin可以查看当前删除的都是哪些 这个只是部分截图,可以看到删除的对象是什么,删除的 ...