• 生成树协议


    交换基础


    1.交换机启用过程RAM:随机存储(当前配置文件)  

    ROM:只读存储(自检程序) 

    NVRAM:非易失性存储(保存配置) 

    Flash:闪存(操作系统)

    2.交换机 : 二层基于MAC地址转发设备,依靠MAC地址表进行数据的转发。

    3.MAC地址表: 3元素组成,VLAN ID  、MAC地址、端口编号

    4.路由器、交换机、网桥、集线器的区别

    5.交换机的分类:二层交换机  和   多层交换机

    6.二层交换机的工作方式: 1.存储转发   2.贯穿转发  3.无分片转发 

    7.交换机的基本功能:1.基于源MAC地址学习  2.基于目标MAC地址转发  3.数据过滤  4.防止环路 

    组播数据帧Mac地址固定:01-00-5E  前25位固定,第25位为0.

    VLAN :虚拟局域网 

    VLAN 范围 :1-4094

    802.1Q封装:也称为dot1Q, 对流量进行VLAN 标记的。

    PVID : 端口VLAN 标识符  ,默认所有的接口PVID 为 VLAN 1  ;

    接口类型: Access  trunk  hybrid

    华为所有的接口存在两个列表: tagged-list(打标签列表 )   untagged-list(移除标签列表)

    Access 接口: 访问接口  接入接口

    Trunk : 中继协议,干道协议,使用一条物理链路传递多VLAN 的流量;

    Hybrid: 混杂接口,华为交换机默认模式  (access+trunk),在链路中传递数据包可以有标签可以没有标签,同时可以自定义打标签列表和移除标签列表

    MUX VLAN :  相当于思科中私有VLAN (PVLAN )定义主从VLAN

    从VLAN 分为:组VLAN 和 隔离VLAN

    规则: 主VLAN 可以和所有的从VLAN 通信,从VLAN 之间丌能通信,组VLAN 之内可以通信 ,隔离VLAN 之内丌能通信。

    Super VLAN : 超级VLAN ,super VLAN 之内的所有子VLAN 配置相同网段的IP地址(可以节约IP地址),丌同子

    VLAN 之间丌能通信,丌存在哪个接口存在不super VLAN 中 ;若子VLAN 之间要通信,必须在super VLAN 的三层接口下开启ARP代理功能:

    VLAN mapping : VLAN 映射  ,在数据的传输过程中进行VLAN 标记的改变,一般被用于城域网中。
     

    在ISP交换机连接客户端的交换机上配置:

    1.定义为trunk链路

    2.启用QINQ 的VLAN 转换能力

    3.定义VLAN 的映射列表

    4.定义VLAN 的允许列表

    QINQ技术:双层或多层VLAN 标记来穿越二层的ISP技术。

    接口配置802.1Q 隧道技术:

    1.接口封装为802.1Q的隧道模式

    2.端口的PVID 为 500(接口接收到的所有数据帧都增加802.1Q的新标记)

    802.1Q隧道技术 堆叠VLAN 做法:

    1.接口必须为hybrid接口

    2.启用QINQ VLAN 映射功能

    3.针对丌同的VLAN 的 定义丌同的堆叠VLAN

    4.在接口的移除标签列表中增加对应的VLAN ID

    VLAN 之间的通信:

    1.使用VLAN 单臂路由

    2.使用SVI接口(VLAN-if)

    SVI----交换虚拟接口,交换机上针对丌同的VLAN 可以设置的接口(此接口为3层接口)功能:    1.充当对应VLAN 之内的网关 ,为丌同VLAN 之间通信提供可能

    2.方便用户进行远程控制(telnet ssh)

    SVI 存在条件:    

    1.交换机存在属于SVI接口对应VLAN ID 的活劢接口

    2.Trunk 链路,SVI对应VLAN id 存在于trunk链路的VLAN 允许列表之内                    

    3.针对三层交换机,可以创建多个SVI --多个SVI可以同时工作,但对于二层交换机,启用多个SVI时,只有最后一个SVI 是up的
     

    生成树

    为了保证交换网络高可用性,在交换机之间使用冗余链路,由于网络中的泛洪机制可能造成二层的桥接环路,会导致 

    1.广播风暴  

    2.Mac地址表的不稳定

    3.数据帧的重复拷贝

    解决思路: 打破交换网络中的环路(针对交换网络的所有环路中,关闭其中的某个接口)

    生成树协议: spanning tree  protocol  ,  STP ,所有的生成树协议都在通过发送比较信息进行选丼,找到环路中应该被关闭的接口(接口阻塞)。

    生成树的类型: STP(标准生成树,又称为802.1D)    RSTP(快速生成树,又称为802.1W)   MSTP(多生成树协议,又称为802.1S)

    802.1D ,标准生成树:

     

    Message type: 代表着BPDU 的类型  (0X00  配置  0X80 拓扑TC)

    Flags :标记位,在802.1D 中,标识BPDU 是拓扑变更还是拓扑变更确认BPDU

    Root  ID :根标识符,用于标记一颗树的树根。与根网桥的BID 一致。

    Bridge ID :网桥标识符, BID , 用于标识本设备在本生成树的唯一性。

    Port ID :端口标识符, PID ,用于标识设备上某接口的唯一性。

    Cost of path : 路径开销。在华为设备中,称作 root path cost (RPC)根路径开销。

    hello时间: 默认为2s ,BPDU 发送的间隔。

    Max-age : 最大时间,可以理解为hello包的超时时间。默认时间为20s

    Forward delay : 转发延时,状态切换时间,默认为15s

    Message age :在思科中默认为300s,就是对应的MAC地址条目的老化时间;华为中,代表着该BPDU传递的跳数

    (默认值为0,每经过一台交换机 值+1)

    Max-hop :默认为20 ,收到BPDU之后 将message age中的时间与max-hop进行比较,若小于,则正常使用该

    BPDU ,若大于,则忽略BPDU。

    BID:    使用8字节构成,组成方式: BID优先级字段(4个bit)+扩展系统ID(12个bit)+Mac地址(6个字节)

    BID 的使用: 1.比较BID 优先级  2.比较MAC地址 

    BID优先级: 4位,默认值为32768 ,范围0-65535(实际范围0-61440),越小越优。BID优先级单位4096.调整

    BID优先级时 值必须为4096的倍数。

    扩展系统ID: 8位,在802.1D和802.1W 无意义,在802.1S中有用的

    Mac地址: 为交换机 背板地址池中所有MAC地址中最小的,MAC地址越小越优。

    PID:端口标识符  2个字节构成,组成部分:PID优先级(4个bit构成)+端口标识符(12个bit构成)使用方法:1.比较PID优先级  2.Port number

    PID优先级:默认值为128,范围0-255(实际范围0-240),单位16

    Port number :标识唯一性

    RPC:根路径开销

    COST: 开销值

    不同带宽的链路使用不同的cost (该cost值是内部编码的),非线性过程。

     

    端口角色:

    1.根端口 (RP),存在于非根网桥之上,一个非根网桥仅有一个,用于接收来自于根的BPDU

    2.指定端口(DP),在一条链路中有且仅有一个,用于转发BPDU

    3.阻塞端口(NDP)被逡辑上关闭的接口

    端口状态:

    1.disable ---关闭状态  1.关闭生成树协议  2.接口物理关闭 

    2.blocking---阻塞状态   ,不能发送BPDU ,可以接收BPDU ,不能发送和接收数据

    3.listening ---监听状态,可以发送并接收BPDU,不能发送和接收数据;(进行生成树选丼的)

    4.learning ---学习状态,可以发送并接收BPDU,不能发送和接收数据;(学习MAC地址表)---目的:限制未知单播帧的泛洪 

    5.forwarding---转发状态,可以发送并接收 BPDU和数据

    802.1D生成树收敛时间:30s或50s

    生成树选举:

    1.选举根网桥 (标识一颗树,在一个生成树中有且仅有一个)选丼规则: 最小的BID(先比较BID优先级,再比较MAC地址)

    2.选举端口角色

    选举根端口:1.接口最小的开销值(RPC+PC)2.最小的BID(发送方的) 3.最小的PID(发送方的)选举指定端口:1.本设备根端口的最小开销值  2.最小的BID(本交换机)3.最小的PID(本设备)

    802.1D特性:

    1.连接终端的接口,启用之后进入转发状态需要30s,可以加速。(在cisco中使用portfast , 华为中可以使用边缘端口)

    节约时间: 30 s

    2.上行链路状态切换  ,切换时间为30s ,思科中可以使用uplink-fast 进行加速(节约30s)

    3.骨干链路故障切换,思科中默认为50s(20+15+15;思科中可以使用backbone-fast进行加速,节约时间20s)。

    华为切换时间默认为30s

    802.1D 生成树的重收敛:

     

    802.1D总结:

    1.收敛时间较慢

    2.不支持负载分担

    3.不支持上行链路加速

    生成树选丼:与802.1D完全一致

    端口状态:

    Discarding  ---丢弃状态( disable   blocking  listening  ),可以发送并接收BPDU,但是不能发送接收数据

    Learning ---学习状态

    Forwarding---转发状态端口角色:根端口

    指定端口

    替代端口:阻塞,同一个交换机上使用阻塞端口替代根端口(替换时间0s,相当于自动集成uplink-fast)

    备份端口:阻塞,同一个交换机上针对同一条链路备份指定端口(备份端口切换时间30s,因为出现备份端口一定存在 hub,hub是半双工的,不能使用802.1W的机制。)

    边缘端口: 边缘端口 、非边缘端口 ,一般在连接终端的接口上实施(access)

    作用:

    1.自动启用端口加速(节约30s)

    2.若收到 proposal 置位的BPUD,边缘端口不会同步

    3.若收到了TC位置位的配置BPDU,不通过边缘端口转发

    4.若启用边缘端口的接口收到了BPDU,则边缘端口特性失效

    5.若收到TC位置位的BPDU,边缘端口学习到的MAC地址时间不变化(依然为300s)

    链路类型: 802.1W中存在两种链路类型   1.point-to-point  点对点类型 2.shared   共享型强制链路类型为point-to-point :

    802.1W特性(以及与802.1D区别):

    1.收敛机制:PA机制

    2.端口状态:3个

    3.端口角色:4

    4.支持边缘端口(但默认不启用的)

    5.自动集成上行链路加速(节约30s)

    6.自动集成骨干链路加速 (节约50s)

    7.在802.1W中所有的交换机都有发送BPDU的能力,BPDU超时时间为6s

    配置: 与802.1D一致

    802.1S : MST  多生成树 

    Instance 实例  多生成树配置:

    1.域名 name 

    2.reversion  leave  版本等级 

    3.instance 实例映射

    生成树的弹性(特性):

    1.portfast  (边缘端口)

    2.uplink fast (上行链路加速 )

    3.backbone fast  (骨干链路加速)

    4.BPDU 防护 思科中BPDU guard 华为  BPDU    ----若启用了BPDU防护的接口收到BPDU ,则会导致接口 down(error-down)

    默认在华为BPDU 防护只能全局设置,并且仅仅针对边缘端口在思科中BPDU guard 可以针对接口也可以针对全局

    5.BPDU-fitter  BPDU 过滤 ,开启之后,该接口不发送也不接收BPDU信息,若接收到了BPDU ,则直接忽略可以全局启用也可以接口启用,全局启用同样仅仅针对边缘端口,接口启用无所谓全局做法:

    6.root-protection  根防护

    一般建议在连接新交换机的接口上启用,若该接口收到了优质根的BPDU信息,则接口进入discarding

    7.loop-protection 环路防护 

    防止当出现单向链路故障时,导致生成树出现转发环路,所以可以在阻塞端口上启用loop-protection ,使阻塞接口可以发送BPDU ,进行链路双向检测
     

  • 相关阅读:
    算法leetcode|16. 最接近的三数之和(rust重拳出击)
    can 光纤 光纤 can 认识can光纤转换器的接口定义、终端电阻和指示灯
    Java内部类初探
    springboot:java操作docker(docker-java)的基本使用
    【图像分割】基于和声搜索算法实现图像多级阈值分割附matlab代码
    NFT有哪些特性呢
    Binder
    pytest(10)-常用执行参数说明
    我的创作纪念日———C/C++之动态内存管理
    多级菜单 树结构 排序 前端 后端 java
  • 原文地址:https://blog.csdn.net/MorningStar_He/article/details/126315379