CCNP笔记——MST上

CCNP笔记--MSTP上

第一次看CCNP学习指南时,对书中描述MST的部分简直一头雾水,有种受挫的感觉。后来通过实验并结合书中的内容才对MST有了初步的了解。下面通过实验说明自己对MSTP的认识:

实验环境:如图1所示,S1和S2属于MST管理域CCNA,S3和S4属于MST管理域CCNP,都将VLAN 1-2映射到MST实例1。

图1:实验环境

从图中可以看到,当MSTP生成树算法运算完成后,S1将成为总根和域根,S3成为域根,S3的e0/2端口是master端口,S4的e0/2端口将被阻塞。先简单描述一下MSTP新加入的几个概念:

1.总根:总根是一个全局的概念,对于所有互联运行STP/RSTP/MSTP的交换机只能有一个总根。

2.域根:域根是一个局部概念,是相对于某个域的实例而言的,每个域所包含的域根数目与实例个数有关。

3.MASTER端口:MASTER端口是所有边界端口中到达总根开销最小的端口,也就是连接MSTP域到总根的端口。

我觉得这些概念不用特别在意,顺其自然就好。学习MSTP还是先从MSTP的BPDU入手比较好,如下图:

图2:MSTP的BPDU

对照书本上的内容来看,书上说MSTPBPDU包含一些配置属性,交换机在接收到BPDU之后能够与本地MST配置进行比较。如果属性的比对结果相互匹配,那么MST内的STP实例可以成为相同管理区的一部分。反之,本地交换机将被视为MST管理区的边界。也就是说只有格式选择器,配置名,配置修订号,VLAN与实例映射关系(消息摘要)这四项属性都相同,交换机才认为对方与自己在同一个MSTP域内。书上还说只有IST(MST0)允许发送和接受BPDU,其他MST的实例信息被附加在MSTBPDU中,作为一种M记录。这一观点在BPDU报文中已经看得很清楚了。

*注:CIST BRIDGEIDENTIFIER 这东西是让同一个MST域中的交换机看的,也让不同域中的交换机看,只能先这样理解。

了解了MST BPDU中的一些配置属性后,现在要回到实验结果上。首先S1是总根,因为S1的BID最小,确切的说是MST0的BID最小。

图3:MST0实例

*注:选举总根(对于运行STP/PVST/RSTP的交换机来说叫选举根桥)。

其实就是比较谁BID小而已,不用管什么实例号,选择总根就是比较MST0的BID,如果连接STP/PVST/RSTP交换机,也是用MST0的BID去选举根桥。这也是MST能够兼容其他类型生成树的原因。图3还有一个很关键的问题就是COST值,S3到总根的开销是2000000,那么S4到总根的开销为什么还是2000000?(中间隔着个S2),S2到总根的开销又为何是0?问题的答案还是在BPDU报文中,如图:

图4:同一管理域发送的BPDU

可以看出S2发送的BPDU根路径开销为0,发送者网桥ID是S1的。不同点就是CIST内部根路径开销为2000000,CIST网桥标示符是S2。根据图4中BPDU的内容,可以想像出一副画面,如下图:

图5

书上说MST管理域作为一台虚拟的网桥(大号交换机),使其能够与外部的CST进行交互。结合图4和图5正好对应上这一概念。然后在说说实例1,如图6所示:

图6:实例1

从图6中可以看到,S2认为S1是实例1的根桥,S4认为S3是实例1的根桥。它们处于不同的管理域,各玩各的。最后来看看MST的兼容性,如图7所示,加入一台运行PVST+的交换机。

图7:MST兼容PVST+

重点还是在BPDU上,S1和S2发送给S5的是版本0的BPDU。S5通过比较发送者网桥ID来选举根端口,如图8所示:

图8

根路径开销都为0(同一管理域),只能比发送者ID了。S5的PVST+有2个VLAN实例,S1向S5发送BPDU时会复制两份BPDU,分别代表不同VLAN。这是书中提到的概念,事实也确实如此。

总结:个人觉得MST是最难学的生成树,CCNP学习指南中对MST描述并不细致,一些新概念,新的端口角色都是一笔带过。比如MASTER端口,书中对该端口的定义是所有边界端口中到达总根开销最小的端口。从图1看出S3的E0/2端口是MASTER端口。S4的E0/2是一个边界端口,为什么却不是MASTER端口?说明该端口到总根开销并不是最小,从图4的BPDU中可以看到答案。重点还是BPDU,还是BPDU,还是BPDU。

时间: 2024-10-10 08:12:33

CCNP笔记——MST上的相关文章

这些基础知识你都了解吗?——《松本行弘的程序世界》读书笔记(上)

1. 前言 半个月之前买了这本书,还是经园子里的一位网友推荐的.到现在看了一半多,基础的都看完了,剩下的几章可做高级部分来看.这本书看到现在,可以说感触很深,必须做一次读书笔记! 关于这本书,不了解的可以去网上查查.作者是Ruby语言的创始人,可谓是程序世界中的高手,开卷有益,不管你是哪个层次的编程人员,相信都能或多或少的汲取到你想要的营养. 下面将总结一下看完本书我记录下的一些知识点.有的是书中的原话,有的是我个人的理解,供参考. 2. 面向对象 2.1 多态性 面向对象三大原则:继承.封装和

《探索式软件测试》读书笔记(上)

<探索式软件测试>读书笔记(上) 2015-05-12 一.局部探索式测试 1.如何测试用户输入  1)合法输入和非法输入    输入筛选器   输入检查   异常处理代码  2)常规输入还是非常规输入  3)默认输入或用户提供的输入  4)使用输出来指导输入选择 2.如何测试软件状态 3.代码路径 4.用户数据 5.运行环境二.全局探索性测试 分类 方法 商业区 指南测试法 卖点测试法  地标测试法  极限测试法  快递测试法  深夜测试法  遍历测试法  历史区 恶邻测试法  博物馆测试法

CCNP笔记—VLAN双标记攻击

CCNP SWITCH(300-115)学习指南描述了VLAN双标记攻击的原理,双标记攻击的防御方式,该部分内容在书里第20章(保护VLAN的安全)中有详细的描述.要彻底理解VLAN双标记攻击还是要通过实验测试才行. 演示:VLAN的双标记攻击 演示环境 演示环境:首先完成交换机的基础配置,设置VLAN.设置Trunk端口.将攻击机划入VLAN1.R3划入VLAN2.交换机的Trunk链路使用802.1q封装.本征VLAN保持默认的VLAN1. 理解VLAN双标记前提:要想彻底理解VLAN双标记

CCNP笔记----环路防护

CCNP学习指南要求掌握Guard Loop和UDLD两种环路防护技术,不过GNS3貌似不支持UDLD的模拟, 只能测试Guard Loop.话不多说直接进入正题. 如果IOU3的E0/1不开启Guard loop特性,当IOU2的e0/1接口关闭后,IOU3的e0/1将会从阻塞状态转为转发状态. 现在在IOU3的e0/1接口上启用Guard loop特性,接着将IOU2的e0/1接口关闭,这样就模拟了单向链路故障.查看IOU3的接口状态,如下所示: 可以看到e0/1接口处于broken状态,而

《编写可维护的javascript》读书笔记(上)

最近在读<编写可维护的javascript>这本书,为了加深记忆,简单做个笔记,同时也让没有读过的同学有一个大概的了解. 一.编程风格 程序是写给人读的,所以一个团队的编程风格要保持一致. 1.缩进:一种是利用制表符缩进,一种是使用空格符缩进,各有利弊,任选一种,保持一致即可.个人比较喜欢制表符缩进. 2.语句结尾需要加上分号,避免没必要的BUG. 3.命名:首先要语义化,使用驼峰式命名法,小驼峰即首字母小写,之后每个单词首字母大写:大驼峰即首字母大写,之后同小驼峰:变量名前缀应该是名词(my

【HTML】【学习】 Canvas学习笔记【上】

Canvas是HTML新增的开发跨平台动画和游戏的标准解决方案,能够实现对图像和视频进行像素级操作. 一.在页面中添加canvas元素 就像添加一个普通div一样,canvas的添加方式为: <canvas id = "myCanvas" width = "200px" height = "100px">不支持时显示的部分</canvas> 可以用对div添加样式的方法使用CSS对Canvas添加样式 二.使用Canvas

【HTML】【学习】 2、Canvas学习笔记【上】

Canvas是HTML新增的开发跨平台动画和游戏的标准解决方案,能够实现对图像和视频进行像素级操作. 一.在页面中添加canvas元素 就像添加一个普通div一样,canvas的添加方式为: <canvas id = "myCanvas" width = "200px" height = "100px">不支持时显示的部分</canvas> 可以用对div添加样式的方法使用CSS对Canvas添加样式 二.使用Canvas

学习angular.js的一些笔记想法(上)

1.data-ng-app与ng-app的区别 data-ng-app是为了h5不报错 2.ng-class 不多说就来拿例子说吧 html代码 <div class='color-changer' data-ng-class="{'color-changer-hiden':!colorChanger}"> </div> js代码: $scope.colorChanger=false; 此时的变量colorChanger=false,那么!colorChange

Hbase 技术细节笔记(上)

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张秀云 前言 最近在跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行了Hbase相关技术的分享,由于Hbase涵盖的内容比较多,因此计划分享2期,下面就是针对第一期Hbase技术分享整体而成,第一期的主要内容如下: 一.Hbase介绍二.Hbase的Region介绍三.Hbase的写逻辑介绍四.Hbase的故障恢复五.Hbas