PortFast是大家熟知的传统STP和PVST+改进特性,它也是RSTP和MST中标准化的增强特性。实质上,它定义了个一个边界端口。边界端口在启用之后立刻进入转发状态,不产生拓扑变化事件,不会因为处理拓扑变化事件,而从CAM表中清除MAC地址,并且不受提议/同意过程中同步步骤的影响。边界端口发送BPDU但不应该收到任何BPDU。如果BPDU到达了一个PortFast端口,端口上就会禁用PortFast状态,直到端口关闭再启用。
 
在面向终端主机的端口上使用PortFast有几个重要原因。首先,它能够使端口快速进入转发状态。除了节省两倍的转发延迟时间外,终端主机上过于敏感的DHCP客户端可能会由于未能在几秒内收到DHCP服务器的响应,而报告错误信息,在端口上使用PortFast也解决了这个问题。其次,使用PortFast还有一个不太明显,但更为重要的原因:在RSTP和MST中,它避免了端口在提议/同意处理期间,被置为丢弃状态。在运行RSTP或MST的网络中,如果工程师不谨慎配置边界端口的话,有可能会导致拓扑变化期间连通性间断,而且在网络本身在几秒内重新收敛时(通常要快得多),终端主机会经历两倍转发延迟的中断。
 
在配置PortFast端口时,工程师可以直接在端口上使用命令spanning-tree portfast进行配置,也可以使用全局命令spanning-tree portfast default进行配置。这两条命令都只应用于Access端口(即静态配置为Access端口,或动态协商为Access端口)。这个行为遵循的逻辑是通常使用Access端口来连接终端主机,而使用Trunk端口来连接其他交换机。如果全局启用了PortFast特性,一旦工程师在Access端口上连接了交换机,可以使用命令spanning-tree portfast disable在该端口上明确禁用PortFast。
 
如果使用Trunk端口连接了终端设备,比如路由器或服务器,工程师可以使用接口命令spanning-tree portfast trunk强制让该端口使用PortFast特性。然而,一定要确保不在连接到其他交换机的端口上激活PortFast。当另一个台交换机也使用RSTP或MST时,RSTP和MST能够很好地执行快速处理。
 
 

STP-15-PortFast端口的更多相关文章

  1. BPDU与PortFast

    启用了BPDU Guard特性的端口在收到BPDU的时候会使端口进入err-disable状态,从而避免桥接环路.一般BPDU Guard是和PortFast结合使用,在端口上启用了PortFast之 ...

  2. STP

    生成树协议  spanning-tree protocol     网络中额外添加的链路连接着路由器和交换机 会引起流量的环路   当一个交换机的连接丢失时 另一条链路能快速地取代失败的链路  并且不 ...

  3. 2.二层常用技术-Portfast和BPDU Guard、BPDU Filter

    PortFast (生成树端口加速) 1.在交换机上使用portfast命令,可以防止出现由于STP的收敛时间太长,导致主机的DHCP请求超时,从而使主机不能接收到DHCP地址的问题. 确保有一台服务 ...

  4. STP的作用和操作

    STP的作用 STP通过阻塞端口来消除环路,并能够实现链路备份的目的 STP的操作 选举一个根桥 比较交换机的桥ID,越小越优先 桥ID  是8个字节,2个字节的优先级+6个字节的MAC地址 2.每个 ...

  5. EtherChannel Cisco 端口聚合详解

    冗余连接及其实现 无论什么设备都无法保障运行的绝对稳定性,即使再优秀的产品也无法保证24×7不间断的工作.除去设备或模块损坏.传输线路中断等硬件故障原因以外,还可能由于网络流量过载.任务负荷过大而导致 ...

  6. Spanning Tree Protocol (STP) in NetScaler Appliance

    Spanning Tree Protocol (STP) in NetScaler Appliance 来源 https://support.citrix.com/article/CTX112341 ...

  7. Linux STP介绍

    1. 介绍 STP(Spanning Tree Protocol)即生成树协议,标准为IEEE802.1D-1998STP是一种二层冗余技术,利用STA算法构建一个逻辑上没有环路的树形网络拓扑结构,并 ...

  8. Linux-Windows 端口转发

    在实际的生产环境中,我们为了安全性,会将一些重要的服务(数据库服务)不开放外网访问,但是当我们某个时刻由于一些特殊需求,需要进行外网访问的时候,我们可以通过端口转发来实现.通过一台和与服务可以互相访问 ...

  9. MySQL 8.0.15 配置 MGR单主多从

    转载自:http://www.cnblogs.com/zhangzihong/p/10443526.html 一.简介 MySQL Group Replication(简称MGR)字面意思是mysql ...

随机推荐

  1. Angular.forEach用法

    1.针对对象循环(key,value) 官方示例: var values = {name: 'misko', gender: 'male'}; var log = []; angular.forEac ...

  2. unity渲染层级关系小结

    http://blog.csdn.net/meegomeego/article/details/42060389 最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这 ...

  3. windows下,CSV文件Excel打开乱码

    在windows下面,csv文件另存为UTF-8,在excel中打开中文是乱码,如果另存为utf-8 Big + BOM,Excel打开则是正常显示

  4. BZOJ3307:雨天的尾巴

    浅谈线段树合并:https://www.cnblogs.com/AKMer/p/10251001.html 题目传送门:https://lydsy.com/JudgeOnline/problem.ph ...

  5. BZOJ1720:[Usaco2006 Jan]Corral the Cows 奶牛围栏

    我对二分的理解:https://www.cnblogs.com/AKMer/p/9737477.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...

  6. SciTE for Ruby的配置

    转自:http://my.oschina.net/xsinger/blog/14229?catalog=71266 下载下面这个文件:http://scintilla.sourceforge.net/ ...

  7. VisualGDB系列7:使用VS创建Linux静态库和动态库

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何在VS中创建静态库和动态库, ...

  8. 忘记mysql密码,但是可以用navicat修改MySQL密码

    1.首先:要知道你的账户 2.打开可以连接的navicat,在查询语句页面,输入以下操作,就可以修改成功密码了

  9. hibernate 数据关联一对多

    一对多,多对一 (在多的一端存放一的外键) 但是在实体类中不需要创建这个外键 // 在一的一方创建Set集合 public class User { private Integer id; priva ...

  10. C#设计模式(11)——外观模式

    一.概念 外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用.使用外观模式时,我们创建了一个统一的类,用来包装子系统中一个或多个复杂的类,客户端可以直 ...