技术标签: 计算机网络安全学习日记 网络 运维
快速生成树协议 rapid spanning tree protocol
802.1w 对 802.1d的诸多优化,实现了二层网络拓扑的快速收敛。
问题1:STP从初始状态到完全收敛至少需经过30s,用户无法忍受
问题2:交换机有BP端口,RP端口down掉场景
SWC与SWA的直连链路down掉,其BP端口切换成RP端口并进入转发状态至少需要经过30s:
问题3:交换机无BP端口,RP端口down掉场景
SWB与SWA的直连链路down掉,则SWC的BP端口切换成DP端口并进入转发状态大约需要50s:
问题4:运行STP的交换机连接用户终端的场景
末梢交换机连接终端的链路进入转发需要经过30s-50s
问题5:STP的拓扑变更机制
先由变更点朝根桥方向发送TCN消息,收到该消息的上游交换机就会回复TCA消息进行确认;最后TCN消息到达根桥后,再由根桥发送TC消息通知设备删除桥MAC地址表项,机制复杂,效率低下。
问题6:STP的其他不足之处 - 端口角色 有优化的空间
被阻塞的端口,如果启用,再次选举时肯定会成为新的根端口的时候,可以提前让这个端口成为根端口的备份端口
问题7:端口状态 划分不合理,有优化的空间
处于前3个状态机的端口,都不能学习MAC地址和转发数据
RSTP定义了两种新的端口角色:备份端口(Backup Port)和预备端口(Alternate Port)。
Alternate Port 是根端口的备份, Backup Port 是指定端口的备份。
当 根端口或指定端口故障时,备份端口(Alternate 或 Backup ) 会立即代替原来接口的角色
RSTP的状态规范把原来的5种状态缩减为3种:
从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。
特点:由于有来回确认机制和同步变量机制,就无需依靠计时器来保障无环。
针对问题1: P/A 机制
P: proposal 提议 , A: agreement
阶段1在进行 根桥选举,参加选举的交换机从 所有的接口向外发送 P 置位的 BPDU
阶段2 ,SWA胜出, SWB 和SWC 从连接 SWA的端口,向上发 A置位的BPDU 报文,连接SWA的端口直接变成Forwarding状态。它们的端口角色是根端口。
同时,进行 同步变量(阻塞 SWB-SWC相连的接口)
阶段3:阻塞端口的选举:
在第一阶段,所有交换机相互发送P报文的时候, SWC就会发现 来自SWB的BPDU更优于自己的BPDU,SWC会将自己的连接SWB的接口设置为 discarding状态,端口角色是 Alternate Port
SWB 向SWC一直转发 来自SWA的 P置位的BPDU,此时不做回复。
SWC与SWA的直连链路down掉,其AP端口切换成RP端口并进入转发状态可在秒级时间内完成收敛:
SWB与SWA的直连链路down掉,SWC的AP端口切换成DP端口并进入转发状态可在秒级时间内完成:
在RSTP中,交换机连接终端的链路可立即进入转发状态:
判断拓扑变化唯一标准:一个非边缘端口迁移到Forwarding状态。
一旦检测到拓扑发生变化,首先将进行如下处理:
- 清空状态发生变化的端口上学习到的MAC地址。
- 同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。
如图所示,SWB的E1端口出现故障之后,RSTP的处理过程如下:
:::info
应用场景:防止有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到该报文时,会自动设置为非边缘端口,并重新进行生成树计算,引起网络震荡。
实现原理:配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭。
:::
如图所示,SWA、SWB和SWC组成了一个环形的交换网络,为了消除环路对网络的影响,故使交换机都运行RSTP,最终将环形网络结构修剪成无环路的树形网络结构。
将SW1配置为根桥
# 开启STP功能,
stp enable
# 选择STP模式为 RSTP
stp mode rstp
# 配置交换机为主根桥
stp root primary
# 开启STP功能,
stp enable
# 选择STP模式为 RSTP,
stp mode rstp
# 开启bpdu 保护
stp bpdu-protection
# 配置边缘接口
interface Ethernet0/0/1
stp edged-port enable
[SW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
[SW4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING BPDU
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
<SW3>dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
802.1s
MSTP multiple spanning tree protocol
RSTP工作在单局域网
多生成树实例:
1、默认情况下,所有的VLAN都在MSTID 0 中,这是MSTP默认运行的一棵生成树中
2、对于多区域生成树,同一区域中的生成树实例要一样,比如你可以建一个INSTANCE 1,里面有VLAN10\20\30,那么这个INSTANCE1是你在同一区域所有交换机上都要敲的,那么剩下的VLAN都在实例0中,即MSTID 0中
3、不同区域之间,会建立一棵CIST,通用内部生成树,即是由所有MSTID 0中的VLAN组成的一棵生成树
4、VLAN划分给instance实现负载分担。
SWA配置:
sys
sysname SWA
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1
instance 1 vlan 1 to 10
instance 2 vlan 11 to 20
active region-configuration
q
stp instance 1 root primary
stp instance 2 root secondary
int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20
SWB配置:
sys
sysname SWB
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1
instance 1 vlan 1 to 10
instance 2 vlan 11 to 20
active region-configuration
q
stp instance 2 root primary
stp instance 1 root secondary
int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20
SWC配置:
sys
sysname SWC
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1
instance 1 vlan 1 to 10
instance 2 vlan 11 to 20
active region-configuration
q
int g0/0/2
stp instance 2 cost 200000
int e0/0/1
stp edged-port enable
int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20
SWD配置:
sys
sysname SWD
vlan batch 1 to 20
stp enable
stp mode mstp
stp region-configuration
region-name RG1
instance 1 vlan 1 to 10
instance 2 vlan 11 to 20
active region-configuration
q
int g0/0/2
stp instance 1 cost 200000
int e0/0/1
stp edged-port enable
int e0/0/1
port link-type trunk
port trunk allow-pass vlan 1 to 20
int e0/0/2
port link-type trunk
port trunk allow-pass vlan 1 to 20
查看配置结果
默认为MSTID 0生成树。
手动配置了两个逻辑STP生成树,具体为MSTID 1 的生成树和MSTID 2 的生成树。
现在拓扑中有三个生成树。
鸣谢:yoyo鹿鸣
文章浏览阅读4.8k次,点赞2次,收藏33次。模仿淘宝写了一个小程序,主要目的还是练手并且以页面效果为主,写法肯定也会有更好的,后续继续加强。登录页面的话,就直接点登录进入到首页了,没有做过多的交互。其中做比较多的交互是购物车,应数据的形式做出的交互,实际的项目中可能会有更好的数据形式,产品数增减全选合计等,事件传参比较多;下面以购物车为例,贴上购物车的部分js 代码,里面有个“监听”是否勾选和计数的函数(watchSelec..._淘宝微信小程序
文章浏览阅读3.6k次。1 BSP批量同步并行计算BSP(Bulk Synchronous Parallel)批量同步并行计算用来解决并发编程难的问题。名字听起来有点矛盾,又是同步又是并行的。因为计算被分组成一个个超步(super-step),超步内并行计算并且结点间不能通信。在超步之间设置同步栅栏(barrier synchronization),计算完成后相互通信,全部完成后才能继续下一个超步。2 SEDA阶段_bulk synchronous parallel
文章浏览阅读1w次。企业微信的后台怎么进入和管理? _企业微信后台
文章浏览阅读1.2w次。QQ-plot深入理解与实现26JUNJune 26, 2013最近在看关于CSI(Channel State Information)相关的论文,发现论文中用到了QQ-plot。Sigh!我承认我是第一次见到这个名词,异常陌生。维基百科给出了如下定义:“在统计学中,QQ-plot(Q代表分位数Quantile)是一种通过画出分位数来比较两个概率分布的图形方法。首先选定_python qqplot subplot
文章浏览阅读2.8w次,点赞3次,收藏21次。存在这样的场景,当一些比较耗时的查询时,如果不中断,则会导致数据库堵塞,进而会拖垮整个数据库服务的正常运行。1.如果你使用的是HikariCP连接池的话,可以在配置文件设置connetion-timeout这个属性(如application.properties)2.如果你使用的是其他链接池,比如tomcat连接池,同时持久化框架用的是mybatis的话,那可以这样设置2.1 在配置文..._mybatis timeout
文章浏览阅读1.4k次。http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vcconwindowsdataalignmentonipfx86x86-64.asp?frame=trueWindows Data Alignment on IPF, x86, and x86-64Kang Su GatlinMic_data alignment is intrinsic
文章浏览阅读4.5k次。转自:http://blog.csdn.net/xiyu_1986/article/details/69969271,中断处理程序中不能使用有睡眠功能的函数,如ioremap,kmalloc,msleep等,理由是中断程序并不是进程,没有进程的概念,因此就没有休眠的概念;2,中断处理程序中的延时可以用忙等待函数来代替,如ndelay,udelay,mdelay等,这些函数在实现上本质是根据_模拟iic的延时对定时器中断的影响
文章浏览阅读5.2k次。iPhone手机打开服务器功能,和Windows电脑互传文件方法PC端设置:一、在计算机端新建一个文件夹,例如取名为:“iphone共享文件”。二、然后右键点击文件夹属,点击“共享”。三、打开共享后,再左键点击“共享”,下拉箭头选择“Everyone”然后继续选择“共享”,显示出共享文件夹的网络地址和共享文件夹的名字。PC端设置完成。Iphone手机端设置:一、选择iphone手机“文件”,点击右..._iphone 手机的连接服务器 怎么连接电脑
文章浏览阅读257次。OBB包围盒通常用一个包含12个元素的数组来表示,这些元素描述了包围盒的位置、尺寸和旋转。总之,这个包含12个元素的数组描述了OBB包围盒的位置、旋转和尺寸信息。第二行这三个元素表示包围盒的旋转信息,通常以旋转矩阵的形式给出。第四行这三个元素表示包围盒每个轴上的半边长,通常是尺寸的一半。:旋转矩阵的第一行,通常是X轴的旋转分量。:旋转矩阵的第二行,通常是Y轴的旋转分量。:旋转矩阵的第三行,通常是Z轴的旋转分量。:包围盒的中心点在X轴上的坐标。:包围盒的中心点在Y轴上的坐标。:包围盒的中心点在Z轴上的坐标。_obb包络盒
文章浏览阅读319次。【接上一章节明远智睿MY-IMX6-EK200 L3035测试手册(1)】2.7 串口测试MY-I.MX6评估板有5个串口,其中4个为用户串口(位于底板正面“J1”位置,丝印名称为“TTL_UART”),1个为调试串口(位于底板正面“P2”位置)。 测试说明系统设备文件说明:调试串口的在系统中的设备文件是ttymxc0,用户串口的设备文件是ttymxc1、ttymxc2、t..._imx6 五个串口
文章浏览阅读1.3k次。前面几篇文章里分别介绍了ffmpeg软解、硬解、音频解码,完成视频帧渲染,音频解码播放。之前做的视频播放器里,虽然也使用了硬件加速解码,解码确实快,但是渲染都采用QWidget方式渲染绘制,占用CPU较高,并且采用QWidget方式渲染,需要将硬解码之后的数据转为RGB24,然后封装为QImage这个过程非常消耗时间,如果是高清4K视频整个视频解码播放就会非常卡顿,CPU占用直接100%。这篇文章将渲染方式换成OpenGL,解码方式还是采用硬件加速解码,充分利用GPU,降低CPU占用,提高整体视频播放效率。_qt gpu渲染画面
文章浏览阅读1.6k次。element手动上传文件_element手动上传