二层环路
二层环路带来2个问题:
1.带来广播风暴
2.地址漂移

BUM帧:Broadcast,Unknow unicast,multicast,指定广播,未知单播以及组播
关闭生成树:stp disable
开启生成树:stp enable
生成树的作用:
1.在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某够(或某些)接口进行阻塞(block),从而打破环路
2.交换机上运行生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树感知到这些变化,并自动做出调整,因此生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案
在实际项目中根桥一般放在汇聚层,如果放在接入层会产生次优路径
Vlan:virtual local area network:即虚拟局域网,是将一个物理的lan在逻辑上划分多个广播域的通信技术
1.限制广播域
2.增强局域网的安全性
3.提供了网络的健壮性
4.灵活构建虚拟工作组
Vlan标签:
当一个局域网被划分为我多个vlan时,每个vlan都用一个唯一的vlan标签来标识,vlan标签也称为vlan tag或者802.1q tag,增加了4个字节

TPID用来标识标签的类型,16个位,2个字节
PRI:表示优先级,3个bit位,0-7级,当网络拥塞时,可以放行优先级更高的数据帧
CFI:1bit位,用来表示以太网的
VID:vlan id用12个bit位表示。0-4095,0和4095被保留,能够使用的是1-4094
缺省vlan:
缺省vlan又称为pvid(port default vlan id),交换机处理数据帧都带tag,当交换机收到untagged帧时,就需要给该帧添加tag,添加什么tag,就由接口上的缺省vlan决定
每个接口都有一个缺省vlan。缺省情况下,所有接口的缺省vlan均为vlan1
| 接口类型 | 接收帧处理过程 | 发送帧处理过程 |
| access接口 |
判断数据帧的vlan tag 1.无tag,则添加本地pvid tag 2.有tag,若tag与pvid tag相同,则允许该vlan帧进入,否则丢弃 |
先剥离帧的pvid tag,然后再发送 |
| trunk 接口 |
判断数据帧帧vlan tag: 1.无tag,则添加本地接口pvid tag,当pvid在允许通过vlan id 列表里面时, 则允许该vlan帧进入,否则丢弃 2.有tag,当该数据帧的vlan id在允许通过的vlan id列表里时, 则允许该vlan帧进入,否则丢弃 |
判断vlan在本接口的属性: 1.如果是接口的pvid tag,且是该接口允许通过的vlan id时,先剥离帧的pvid tag,然后再发送 2.如果不是接口的pvid tag,且是该接口允许通过的vlan id时,则直接发送,否则丢弃 3.其中一个vlan不带标签出去 其它的都带标签 |
| hybrid | 同上 |
判断接口是否允许该数据帧通过: 1.如果允许,则发送该数据帧,发送时可以通过命令设置发送时是否携带vlan tag 2.如果不允许,直接丢弃 3.允许多个vlan不带标签出去 允许多个vlan 带标签出去 |
vlan划分方式:
1.接口
2.mac地址
3.子网
5.网络层协议
5.匹配策略
如果入方向Untagged帧同时匹配多种划分vlan的方式,则优先级顺序从高到低依次时基于匹配策略划分vlan--》基于mac地址划分或者基于子网划分valn-》基于协议划分vlan-基于接口划分vlan
基于接口划分vlan的优先级最低,也是最常用的vlan划分方式
三层通信方式:
1.用vlanif
2.用单臂路由(用的不多)
通过路由器的子接口实现
子接口1:
interface GigabitEthernet0/0/1.10
dot1q termination vid 10
ip address 192.168.10.254 24
arp broadcast enable
子接口2:
interface GigabitEthernet0/0/1.20
dot1q termination vid 20
ip address 192.168.20.254 24
arp broadcast enable
VLAN集合:
在一般的三层交换机中,通常是采用一个VLAN对应一个三层逻辑接口的方式实现广播域之间的互通,这样就导致ip地址的浪费
VLAN aggregation 技术(也称为super vlan ,即vlan聚合)就是在一个物理网络内,用多个vlan隔离广播域,是不同的vlan属于同一个子网
super-vlan:只建立三层接口
sub-vlan:只包含物端口
Vlan聚合配置命令:
Vlan聚合创建:
vlan batch 2 to 4 10
vlan 10
aggregate-vlan
access-vlan 2 to 4
quit
创建Super-Vlan对应的VLANIF接口,并配置IP地址
interface vlanif10
ip address 1.1.1.1 24
使能vlan间arp代理功能
arp-proxy inter-sub-vlan-proxy enable
MUX Vlan :multiplex vlan提供了一种通过vlan进行网络资源控制的机制
分为:1.principle vlan
2.subordinate vlan
2,.1separate vlan
2.2group vlan
MUX VLAN配置命令:
valn2 :主vlan
vlan3:互通型从vlan
vlan4:隔离型从vlan
vlan batch 2 3 4
vlan 2
mux-vlan
subordinate group 3
subordinate separate 4
配置接口加入VLAN,并在接口下使能MUX VLAN功能,并开启ARP代理
interface 10ge 1/0/1
port link-type access
port default vlan 2
port mux-vlan enable vlan 2
interface Vlanif2
ip address 192.168.2.1 255.255.255.0
arp-proxy inner-sub-vlan-proxy enable //vlan内arp代理
arp-proxy inter-sub-vlan-proxy enable //vlan间arp代理
QinQ(802.1Q-in-802.1Q)技术是一项扩展vlan的空间技术,也叫做VLAN stacking或者Double Vlan,通过在802.1Q标签报文的基础上再加一层802.1Qtag来达到扩展vlan空间的功能。QinQ分为基本QinQ和灵活QinQ
QinQ配置命令
在PE1上创建vlan 100 和vlan 200
vlan batch 3 4
在PE1上配置接口 1GE1/0/1 、10GE1/0/2的类型为QinQ
interface 10ge 1/0/1
port link-type dot1q-tunnel
port default vlan 3
quit
interface 10ge 1/0/2
port link-type dot1q-tunnel
port default vlan 4
quit
VLAN内二层隔离:
华为提供了一些VLAN内二层隔离技术,如果端口隔离,MUX VLAN和基于流策略的VLAN内二层隔离等
1.端口隔离可实现同一个VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间的二层隔离
2.MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。它即可实现VLAN间用户通信,也可以实现VLAN的用户相互隔离
3.基于流策略(MQC)的VLAN内二层隔离指用户可以根据匹配故障对报文进行流分类,然后通过流策略将流分类和permit/deny动作相关联,使符合流分类的报文被允许或者被禁止,从而实现灵活的VLAN内单向或双向隔离
端口隔离(关键配置)
配置vlan2中的1口和2口二层隔离
vlan batch 2
interface gigabiterhernet 0/0/1
port-isolate enable
port default vlan 2
interface gigabitethernet 0/0/2
port-isolate enable
port link-type access
port default vlan 2
配置vlanif2接口ARP代理实现三层互通
interface vlanif2
ip address 192.168.2.1 255.255.255.0
arp-proxy inner-sub-vlan-proxy enable
生成树协议简介:
作用:解决交换网中的环路问题
| 名称 | 标准 | 收敛速度 |
| STP | 802.1D | 传统生成树协议,收敛慢 |
| RSTP | 802.1W | 快速生成树协议,收敛快 |
| MSTP | 802.1S | 多生成树协议,除了快,还能vlan负载均衡 |
BPDU报文:
BPDU报文被封装在以太网数据帧中,目的MAC时组播MAC:01-80-C2-00-00-00
1.配置VPDU(Configuration BPDU):用来进行生成树计算和维护生成树拓扑的报文
2.TCN BPDU(Topology Change Notification BPDU):拓扑变化通知BPDU,时在网络拓扑发生变化时,用来通知相关设备的报文
Root Identifier:当前根桥的BID
Root Path cost:根路径开销
Bridge Identifier:本交换机设备的BID
Port Identifier:发送该BPDU的端口ID

Length:2个字节长度
LLC:逻辑链路层
BPDU:采用的802.3的协议进行封装
STP根桥,根端口,和指定端口选举原则:
1.根桥选举原则(所有交换机选举一个根交换机)
首先:比较优先级,优先级小者优先
其次:比较mac地址,mac地址小者优先
2.根端口(RP)的选举原则(每个非根交换机选举一个根端口)
首先:选择根路径开销(Root Path Cost,RPC)最低的端口
其次:若有多个端口RPC相等,选择对端桥ID最低的端口
最后:若有多个端口的对端桥ID相等,选择对端端口ID最低的端口
3.指定端口(DP)的选举原则(每个二层交换机选举一个指定端口)
首先:选择根路径开销(Root Path Cost,RPC)最低的端口
其次:若有多个端口的RPC相等,选择桥ID最低的端口
最后:若有多个端口桥ID相等,选择端口ID最低的端口。
根桥:Root Bridge
1.STP的主要作用之一是在整个交换网络中计算出一个棵无环的树(STP树)
2.根桥是一个STP交换网络中的树根
3.STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要参考点,是STP计算得出的无环拓扑的树根
4.在STP网络中,桥ID最小的设备会被选举为根桥
在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,拥有最小优先级值的交换机会成为根桥;如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥
开销Cost:
每一个激活了STP的接口都维护者一个cost值,接口的cost主要用于计算根路径开销,也就是达到了根的开销
接口的缺省cost除了与其速率,工作模式有关,还与交换机使用的STP cost计算方法有关
接口带宽越大,则cost值越小
用户也可以根据需要通过命令调整接口的cost
开销值是根据dot1t来计算的,也就是802.1t
根路径开销值(Root Path Cost)
在STP的拓扑计算过程中,一个非常重要的环境就是“丈量”交换机某个接口到根桥的成功,也就RPC
一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有方向接口的cost累加
在本列中,SW3从GE0/0/1接口到达根桥的RPC等于接口1的Cost加上接口2的Cost
接口ID(Port ID,PID)
运行STP的交换机使用接口ID来标识每个端口,接口ID主要用于特定场景选举指定接口
接口ID由两部分构成的,高4bit是接口优先级,低12bit是接口编号
激活STP的接口会维护一个缺省的接口优先级,在华为交换机上,该值为128.用户可以根据实际需要,通过命令修改优先级
修改端口stp优先级:
interface g0/0/1
stp port priority 16 是16的倍数
BPDU(Brigdge Protocol Data Unit)网桥协议数据单元
BPDU是STP能够正常工作的根本。BPDU时STP的协议报文。
STP交换机会交换BPDU报文,这些BPDU报文携带着一些重要信息,正式基于这些信息,STP才能够顺利工作
BPDU分类:
1.配置BPDU(Configuration BPDU)
2.TCN BPDU(Topology Change NOtification BPDU)
配置BPDU时STP进行拓扑计算的关键,
TCN BPDU只在网络拓扑发送变更时才会被触发
根端口:
一个非根桥设备上会有多个端口与网络相连,为了保证从某条非根桥设备到跟前设备的工作路径最优且唯一,就必须从该非根桥设备端口中确定出一个成为根端口 的端口,由根端口作为非根桥设备和根桥设备之间进行报文交换的端口
在选举出根桥后,根桥仍然持续发送BPDU,而非根桥持续不断的收到根桥发送的BPDU。因此,在所有非根桥上选举一个距离根桥最近的端端(根端口),在网络收敛后,根端口不端的收到来自根桥的bpdu
即:根端口保证了交换机与根桥之间的工作路径唯一性和最优性
注意:一个非根桥设备,最多只能有一个根端口
STP计算过程:
1.选举根桥
STP在交换网络中开始工作后,每个交换机都会向网络中发送配置BPDU。配置BPDU中包含交换机自己的桥ID
网络中拥有最小桥ID的交换机成为根桥
在一个连续的STP交换网络中只会存在一个根桥
根桥的校色是可抢占的
为了确保交换网络的稳定,建议提前规划STP组网,并将规划为根桥的交换机的桥优先级设置为最小值0
2.选举根端口
在每台非根桥网络交换机上选举一个根接口
每一台非根桥交换机都会在自己的接口中选举出一个接口
非根桥交换机上有且只有一个根接口
当非根桥交换机有多个接口接入网络中时,根接口是其收到最优配置BPDU的接口
可以形象地理解为,根接口是每台非根桥上朝向根桥的接口
根端口是离根桥最近的端口,是接收根桥的BPDU
选举过程:
1.交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中会携带“RootID ,RPC,BID,PID”等关键字段,端口会针对这些字段进行PK
2.首先比较根路径开销(RPC),STP协议把根路径开销作为确定根端口的重要依据。RPC值越小,越仙优先,因此交换机会选RPC最小的端口作为根端口
3.当RPC相同时,比较上行交换机的BID,即比较交换机各个端口收到的BPDU中的BID,值越小,越优先,因此交换机会选上行设备的BID最小的端口作为根端口
4.当上行交换机BID相同时,比较上行交换机的PID,既比较交换机各个端口收到的BPDU中的PID,值越小,越优先,因此交换机会选上行设备PID最小的端口作为根端口
5.当上行交换机的PID相同时,则比较本地交换机的PID,即比较本端交换机各个端口各自的PID,值越小,越优先,因此交换机会选举PID最小的端口作为根端口
1》rpc比较
2》对比对端BID
3》比较对端PID
4》比较本端PID
3.指定端口:用来发BPDU的端口
1.根端口选举出来以后,非根桥会使用其在该接口收到最优BPDU进行计算,然后将计算得到的配置BPDU与除了根接口之外的其他所有接口所收到的配置BPDU比较
如果前者更优,则该接口为我指定端口
如果后者更优,则该接口为非指定接口
2.一般情况下,根桥的所有接口都是指定接口
1》用自己交换机的根端口rpc和这条链路上对端口的根端口rpc进行比较
2》比较本端的BID
3》比较PID
根端口只接收BPDU报文,它不发送,
指定端口只发BPDU,但是不接收
非指定端口被阻塞:
一台交换机上,即不是根接口,又不是指定接口的接口称为非指定接口
STP操作的最后一步就是阻塞网络中的非指定端口,这一步完成后,网络中的二层环路就此消除,阻塞就是不发业务报文
| 状态名称 | 状态描述 |
| 禁用(Diable) | 该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down |
| 阻塞(Blocking) | 该接口被STP阻塞,处于阻塞状态接口不能发送BPDU,但是会持续侦听BPDU,不能收发业务数据帧,也不会进行mac地址学习 |
| 侦听(Listening) | 当接口处于该状态时,表面STP除服认定该接口为根接口或者指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习 |
| 学习(Learning) | 当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到的业务数据帧后进行mac地址学习 |
| 转发(Forwarding) | 处于该状态的接口与正常地法守法业务数据帧,也会进行BPDU处理,接口角色是根接口或者指定接口进入转发状态 |

拓扑变化-根桥故障
根桥故障恢复过程:
1.sw1根桥发生故障,停止发送BPDU报文
2.sw2等待MAX age计时器 20s超时,从而导致已经收到的BPDU失效,又接收不到根桥发生的新的bpdu报文,从而得知上游出现故障
3.非根桥会互相发生配置BPDU,重新选军新的根桥
4.经过重新选举后,sw2的a端口经过两个forward delay(15s)时间恢复转发状态
非根桥会在bpdu老化之后开始根桥的重新选举
根桥故障会导致50s左右的恢复时间
浙公网安备 33010602011771号