㈠ 什么是交换机生成树
STP 生成树协议 防止交换回路的
㈡ 怎样用Java实现网桥自学习算法
网桥的自学习算法原理
珞辰
网桥:在数据链路层可以用网桥设备来扩展以太网。网桥工作在数据链路层,它根据MAC 帧的目的地址对收到的帧进行存储转发和过滤。当网桥收到一个数据帧时,并不是向所有的接口转发这个数据帧,而是会进行有条件的转发(网桥会丢弃CRC检验有差错的帧以及帧长过短和过长的无效帧)再根据此帧的目的MAC地址,然后查找转发表(网桥会自己维护转发表,转发表中每一条目都记录了到达某个目的MAC地址的数据帧可以从那个接口进行转发)根据转发表中的条目逐步匹配看该从那个接口转发或是否需要丢弃该数据帧。最简单的网桥只有两个接口(这里所讲的网桥都是两个接口的网桥)。
使用网桥设备的优点:
1,过滤通信量,增大吞吐量(网桥可以隔离碰撞域提高网络的吞吐量)
2,扩大了物理网络的范围(扩展以太网)
3,提供了可靠性(只影响单个网段)
4,可以互连不同的物理层,不同MAC子层和不同速率
使用网桥设备的缺点:
1,使用CMSA/CD算法增加了时延
2,不能进行流量控制,缓存存储空间可能会发生溢出
3,会产生广播风暴
网桥自学习和转发帧的一般步骤:
1,网桥收到一帧后先进行自学习。查找转发表中与收到数据帧的源地址有无匹配的项目。如果没有,就在转发表中增加一个项目(记录数据帧的源地址,进入网桥的接口和时间)。如果有,则把原来的项目进行更新。
2,转发帧。查找转发表中与收到数据帧的目的地址有无相匹配的项目。如果没有,则通过其他的接口(但进入网桥的接口除外)进行转发。如果有,则按转发表中给出的接口进行转发。但应当注意,若转发表中给出的接口就是该帧进入网桥的接口,则应该丢弃这个数据帧(因为这种情况不需要经过网桥进行转发)。
3,使用生成树算法,即互连载一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的一个子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站点之间只有一条路径。
for example: 如图所示,6个站点通过透明网桥B1和B2连接到一个扩展的局域网上。初始时网桥B1和B2的转发表都为空。假设需要传输的帧序列如下:H2传输给H1;H5传输给H4;H3传输给H5;H1传输给H2;H6传输给H5。请给出这些帧传输完后网桥B1和网桥B2的转发表。假设转发表表项的格式为:[ 站点, 端口 ]。
发送的帧B1转发表 B1的处理 B2转发表 B2的处理
H2--->H1 H2,1 登记,转发 H2,1 登记,转发
H5--->H4 H5,2 登记,转发 H5,2 登记,转发
H3--->H5 H3,2 登记,丢弃 H3,1 登记,转发
H1--->H2 H1,1 登记,丢弃
H6--->H5 H6,2 登记,丢弃
解释说明:
1,H2主机向H1主机发送帧。连接在同一个局域网上的主机H1和网桥B1都能收到H2主机发送的数据帧。网桥B1收到这个数据帧后,先按源地址H2查找转发表。这时因为网桥B1的转发表为空,于是就把地址H2和收到此帧的接口1 写入到转发表中。这就表示,以后若收到要发给H2的帧,应当从网桥B1的这个接口1 转发出去。接着再按目的地址H1查找转发表。转发表中没有H1的地址,于是通过除收到此帧的接口1 以外的所有接口转发此帧。网桥B2 从其接口1 收到这个转发过来的帧。网桥B2按同样的方式处理收到的帧。网桥B2的转发表中没有H2的地址,因此在网桥B2的转发表中写入地址H2 和接口1 。网桥B2的转发表中没有H1的地址,因此网桥B2会通过除接收此帧的接口1 以外的所有接口转发这个帧。(H1本来就可以直接收到H2发送的数据帧,为什么还要让网桥B1和B2盲目地转发这个帧呢??? 答案是:这两个网桥当时并不知道网络的拓扑结构,因此要通过自学习过程才能逐步弄清所连接的网络拓扑,建立起自己的转发表)
2,H3主机向H5主机发送数据帧。首先看网桥B1,网桥B1从其接口2收到这个数据帧。网桥B1的转发表中没有H3,因此在B1的转发表中写入地址H3 和接口2。再查找目的地址H5。现在网桥B1的转发表中可以查询到H5,其转发的接口是2,和这个帧进入网桥B1的接口一样。于是网桥B1知道,不用自己转发这个帧,H5也能收到H3发送的帧。于是网桥B1把这个帧丢弃,不再继续转发了。再看网桥B2,网桥B2从其借口1 收到这个帧。网桥B2的转发表中没有H3,因此在B2的转发表中写入地址H3 和接口 1。再查找目的地址H5。现在网桥B2的转发表中可以查询到H5,其转发的接口是 2 ,于是网桥B2直接将这个帧从接口2 转发出去。
3,H6主机向H5主机发送数据帧。首先看网桥B2,网桥B2从其接口2 收到这个数据帧。网桥B2的转发表中没有H6,因此在B2的转发表中写入地址H6 和接口 2。再查找目的地址H5。现在网桥B2的转发表中可以查询到H5,其转发的接口是2,和这个帧进入网桥B2的接口一样。于是网桥B2知道,不用自己转发这个帧,H5也能收到H6发送的帧。于是网桥B2把这个帧丢弃,不再继续转发了。再看网桥B1,其根本不会收到H6主机向H5发送的数据帧,所以不会有任何其他操作。
PS:在网桥的转发表中写入的信息除了地址和接口外,还有帧进入该网桥的时间。网桥中的接口管理软件周期性的扫描转发表中的项目。只要在一定时间以前登记的都要删除。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。还有一点网桥是一种工作在数据链路层的网络设备,它能对于接收到的数据帧进行有条件的转发并且能隔离冲突域。
㈢ 思科生成树协议STP
思科生成树协议STP
STP(生成树协议)是一个二层链路管理协议。它的主要功能是在保证网络中没有回路的基础上,允许在第二层链路中提供冗余路径,以保证网络可靠、稳定地运行。下面我整理了一位思科网络工程师关于STP笔记,现分享给大家!
STP定义
1.STP(生成树协议)是一个二层链路管理协议。它的主要功能是在保证网络中没有回路的基础上,允许在第二层链路中提供冗余路径,以保证网络可靠、稳定地运行。
2.回路会造成数据在环路中无限循环,终端站点接收重复的信息,交换机在多个端口上得到同一个终端站点的MAC地址,产生广播风暴,影响整个网络的正常运行。
3.IEEE802.1D是最早的STP标准,它提供了动态冗余切换机制,是目前最流行、应用最广泛的STP标准。STP运行在交换机和网桥设备上,通过计算建立一个稳定的树状结构网络,来避免网络中回路的产生。
STP的基本工作原理
1.STP通过在交换机之间传递网桥协议数据单元BPDU,并用生成树算法STA,对其进行比较计算。
2.根据BPDU提供的参数和生成树计算,STP首先选定一个根网桥,根网桥是整个生成树拓扑结构的核心。所有的数据实际上都要通过根网桥。
3.然后确定交换机冗余链路端口的工作状态,让一些端口进入阻塞工作模式,另一些端口进入转发工作模式。其中被阻塞的端口仍然是一个激活的端口,但它只能接收和读取BPDU,不能接收和转发数据流。
4.用改变冗余端口的工作状态来阻断网络中的部分冗余路径,使其成为备份链路,以保证在任何两个终端站点之间,只存在一条激活的路径,避免了回路的产生。
5.STP还计算从根到二层网络中所有交换机的最佳路径,并建立一个无环路的树状结构网络。
在网络运行过程中,如果一个网段在生成树中因故障而失效,多余的路径又存在时,生成树会重新计算生成树拓扑,并强制将有故障的链路变为备份链路,而把原备份链路重新激活。(重新设置转发端口和阻塞端口)
STP:交换机和网桥的区别
在STP的处理过程中,交换机和网桥是有区别的,交换机需要对VLAN进行处理。
1.首先要指定一个根交换机,然后为每一个VLAN选择一个根网桥,因为每个虚拟网都是一个独立的广播域。最后再确定冗余端口的工作模式,选择备份链路和激活链路,生成无回路的拓扑结构。
2.根的.确定,树状结构的生成,主要是依靠BPDU提供的信息。BPDU数据包有两种类型,一种是包含配置信息的配置BPDU(不超过35B),另一种是包含拓扑变化信息的拓扑变化通知BPDU(不超过4B)。
3.在配置BPDU包中的BridgeID信息,是选取根网桥或根交换机的主要依据。BridgeID值最小的成为根网桥或根交换机。
4.BPDU每2秒定时发送一次,在网络发送故障或拓扑结构发生变化时也会发送新的BPDU,以维护生成树树状结构。
5.在选择根网桥时,如果优先级值相同,那么就根据MAC地址的值决定根网桥,MAC地址的值最小的为根网桥。
;㈣ 以太网系统的组成和特点是什么
以太网系统组成:共享媒体和电缆、转发器或集线器、网桥、交换机和以太网协议。
局域网采用的最通用的通信协议标准。以太网具有如下的一般特征:
1)共享媒体:所有网络设备使用同一通信媒体。
2)广播域:需要传输的帧被发送到所有节点,但只有寻址到的节点才会接收到帧。
3) CSMA/CD:以太网中利用载波监听多路访问/冲突检测方法(Carrier Sense Multiple Access/Collision Detection)以防止两个或更多节点同时发送。
4) MAC 地址:媒体访问控制层的所有 Ethernet 网络接口卡(NIC)都采用48位网络地址。这种地址全球唯一。
(4)网桥或交换机采用生成树算法扩展阅读
交换式以太网
以太网的发展很快,从单根长电缆的典型以太网结构开始演变。单根电缆存在的问题,比如找出断裂或者松动位置等连接相关的问题,驱使人们开发出一种不同类型的布线模式。
在这种模式中,每个站都有一条专用电线连接到一个中央集线器。集线器只是在电气上简单地连接所有连接线,就像把它们焊接在一起。集线器不能增加容量,因为它们逻辑上等同于单根电缆的经典以太网。随着越来越多的站加入,每个站获得的固定容量共享份额下降。最终,LAN将饱和。
还有另一条出路可以处理不断增长的负载:即交换式以太网。交换式以太网的核心是一个交换机,它包含一块连接所有端口的高速背板。从外面看交换机很像集线器,它们都是一个盒子,通常拥有4-48个端口,每个端口都有一个标准的RJ-45连接器用来连接双绞电缆。
交换机只把帧输出到该帧想去的端口。通过简单的插入或者拔出电缆就能完成或者删除一台机器,而且由于片状电缆或者端口通常只影响到一台机器,因此大多数错误都很容易被发现。
这种配置模式仍然存在一个共享组件出现故障的问题,即交换机本身的故障:如果所有站都失去了网络连接,则IT人员知道该怎么解决这个问题:更换整个交换机。
㈤ 写出生成树协议的基本作用和根网桥选举的过程
生成树协议的主要功能有两个:一是在利用生成树算法、在以太网络中,创建一个以某台交换机的某个端口为根的生成树,避免环路。二是在以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的。
根网桥的选择流程:
1、第一次启动交换机时,自己假定是根网桥,发出BPDU报文宣告。
2、每个交换机分析报文,根据网桥ID选择根网桥,网桥ID小的将成为根网桥(先比较网桥优先级,如果相等,再比较MAC地址)。
3、经过一段时间,生成树收敛,所有交换机都同意某网桥是根网桥。
4、若有网桥ID值更小的交换机加入,它首先通告自己为根网桥。其它交换机比较后,将它当作新的根网桥而记录下来。
㈥ 生成树协议IEEE802.1D的工作原理
STP协议的基本思想十分简单。大家知道,自然界中生长的树是不会出现环路的,如果网络也能够像一棵树一样生长就不会出现环路。于是,STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销(Path Cost)等概念,目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法STA(Spanning Tree Algorithm)。要实现这些功能,网桥之间必须要进行一些信息的交流,这些信息交流单元就称为配置消息BPDU(Bridge Protocol Data Unit,网桥协议数据单元)。STP BPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。
了解生成树协议的工作过程也不难,首先进行根桥的选举。选举的依据是网桥优先级和网桥MAC地址组合成的桥ID(Bridge ID),桥ID最小的网桥将成为网络中的根桥。在图6-15所示的网络中,网桥都以默认配置启动,在网桥优先级都一样(默认优先级是32768)的情况下,MAC地址最小的网桥成为根桥(如图中的交换机1),它的所有端口的角色都成为指定端口(Designated port),进入转发状态。接下来,其他网桥将各自选择一条“最粗壮”的树枝作为到根桥的路径,相应端口的角色就成为根端口。假设图6-15中交换机2和交换机1、交换机3之间的链路都是千兆GE链路,交换机1和交换机3之间的链路是百兆FE链路,交换机3从端口1到根桥的路径开销的默认值是19,而从端口2经过交换机2到根桥的路径开销是4+4=8(千兆位链路的默认开销为4,百兆位链路的默认开销为19),因为后者的开销要远小于前者,所以端口2就成为根端口(Root Port),进入转发状态。根据同样的计算道理可以得出,交换机2的端口2成为根端口,端口1成为指定端口,进入转发状态。
根桥和根端口都确定之后一棵树就生成了,如图6-15中的网桥就是从交换机1→交换机2的2号端口→交换机3的2号端口。下面的任务是裁剪冗余的环路。这个工作是通过阻塞非根桥上相应端口来实现的,例如交换机3的端口1的角色成为禁用端口,进入阻塞状态(图中用“×”表示)。生成树经过一段时间(默认值是30秒左右)稳定之后,所有端口要么进入转发状态,要么进入阻塞状态。STP BPDU仍然会定时从各个网桥的指定端口发出,以维护链路的状态。如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。
STP协议给透明网桥带来了新生。但是,随着应用的深入和网络技术的发展,它的缺点在应用中也被暴露出来。STP协议的缺陷主要表现在收敛速度上。当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为Forward Delay(转发延时),协议默认值是15秒。在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC地址,但不参与转发的中间状态,两次状态切换的时间长度都是Forward Delay,这样就可以保证在拓扑变化的时候不会产生临时环路。但是,这个看似良好的解决方案实际上带来的却是至少两倍Forward Delay的收敛时间!
㈦ 生成树协议模式的区别
生成树协议模式没有区别,在工作时一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源。
生成树协议工作原理:任意一交换机中如果到达根网桥有两条或者两条以上的链路.生成树协议都根据算法把其中一条切断,仅保留一条.从而保证任意两个交换机之间只有一条单一的活动链路.因为这种生成的这种拓扑结构.很像是以根交换机为树干的树形结构.故为生成树协议。
(7)网桥或交换机采用生成树算法扩展阅读:
1、生成树协议提供一种控制环路的方法。采用这种方法,在连接发生问题的时候,你控制的以太网能够绕过出现故障的连接。
2、生成树中的根桥是一个逻辑的中心,并且监视整个网络的通信。最好不要依靠设备的自动选择去挑选哪一个网桥会成为根桥。
3、生成树协议重新计算是繁冗的。恰当地设置主机连接端口(这样就不会引起重新计算),推荐使用快速生成树协议。
4、生成树协议可以有效的抑制广播风暴。开启生成树协议后抑制广播风暴,网络将会更加稳定,可靠性、安全性会大大增强。
STP的工作过程如下:首先进行根网桥的选举,其依据是网桥优先级(bridge priority)和MAC地址组合生成的桥ID,桥ID最小的网桥将成为网络中的根桥(bridge root)。
在此基础上,计算每个节点到根桥的距离,并由这些路径得到各冗余链路的代价,选择最小的成为通信路径(相应的端口状态变为forwarding),其就成为备份路径(相应的端口状态变为blocking)。
STP生成过程中的通信任务由BPDU完成,这种数据包又分为包含配置信息的配置BPDU(其大小不超过35B)和包含拓扑变化信息的通知BPDU(其长度不超过4B)。
㈧ 交换机生成树的工作原理
生成树的工作原理:
生成树协议的国际标准是IEEE802.1b。运行生成树算法的网桥/交换机在规定的间隔(CISCO 默认2秒)内通过网桥协议数据单元(BPDU)的组播帧与其他交换机交换配置信息 ,其工作的过程如下:
·通过比较网桥优先级选取根网桥(给定广播域内只有一个根网桥)。
·其余的非根网桥只有一个通向根交换机的端口称为根端口。
·每个网段只有一个转发端口。
·根交换机所有的连接端口均为转发端口。
注意:生成树协议在交换机上一般是默认开启的,不经人工干预即可正常工作。但这种自动生成的方案可能导致数据传输的路径并非最优化。因此,可以通过人工设 置网桥优先级的方法影响生成树的生成结果。
㈨ 生成树协议IEEE802.1D的简介
网络环路的发生有多种原因,最常见的一种是有意生成的冗余 - 万一一个链路或交换机失败,会有另一个链路或交换机替代。
STP 允许网桥之间相互通信以发现网络物理环路。该协议定义了一种算法,网桥能够使用它创建无环路(loop-free)的逻辑拓朴结构。换句话说,STP 创建了一个由无环路树叶和树枝构成的树结构,其跨越了整个第二层网络。
生成树协议操作对终端站透明,也就是说,终端站并不知道它们自己是否连接在单个局域网段或多网段中。当有两个网桥同时连接相同的计算机网段时,生成树协议可以允许两网桥之间相互交换信息,这样只需要其中一个网桥处理两台计算机之间发送的信息。
网桥之间通过桥接协议数据单元(Bridge Protocol Data Unit - BPDU)交换各自状态信息。生成树协议通过发送 BPDU 信息选出网络中根交换机和根节点端口,并为每个网段(switched segment)选出根节点端口和指定端口。
网桥中的程序能够决定如何使用生成树协议,这称为生成树算法,该算法能够避免网桥环路,并确保在多路径情形下网桥能够选择一条最有效的路径。如果最佳路径失败,可以使用该算法重新计算网络路径并找出下一条最佳路径。 利用生成树算法可以决定网络(哪台计算机主机在哪个区段),并通过 BPDU 信息交换以上数据。该过程主要分为以下两个步骤:
步骤1:通过评估它所接收到的所有配置信息和选择最优选项,来决定一个网桥可发送的最佳信息。
步骤2:一旦选定某网桥发送的信息,网桥将该信息与来自无根(non-root)连接的可能配置信息相比较。如果步骤1中选择的最佳选项并不优于可能配置信息,便删除该端口。
㈩ cisco交换机生成树协议具体怎么配置
具体的配置方法如下:
1、首先先在VLAN上面启用生成树,具体的命令如下:spanning-tree vlan 2。
2、然后就需要建立根网桥,具体的方法如下:
(1)直接建立根网桥,具体的命令如下:spanning-tree vlan 2 root primary。
(2)通过修改优先级建立根网桥(根网桥在配置BPDU中设定TCN位,提示其他网桥快速清理MAC地址表。),具体的命令如下:spanning-treevlan 2 priority 24768(4096的倍数,值愈来愈小,优先级就愈来愈高.默认值是为32768的)。
3、确定路径,选定根端口,具体的方法如下:
(1)大家能够通过修改一下端口成本,具体的命令如下:(注意这是在配置模式下面进行的)spanning-tree vlan 2 cost ***(100m是为19,10m是为100,值愈来愈小,路径就愈来愈优先)。
(2)当然啦大家也可以修改一下端口优先级,具体的命令如下:(注意这是在接口模式下面进行的)spanning-tree vlan 2 port-priority ***(0-255,默认值是为128)。
4、可修改计时器(这是一个可选的操作)
(1)修改一下HELLO时间,具体的命令如下:spanning-tree vlan 2 hello-time **(1-10s,默认值是为两秒)。
(2)修改一下转发延迟的时间,具体的命令如下:spanning-tree vlan 2 forward-time ***(4-30s,默认值是为15s)。
(3)修改一下最大老化的时间,具体的命令如下:spanning-tree vlan 2 max-age ****(6-40,默认值是为20秒)。
5、快速端口的配置,具体的命令如下:spanning-tree portfas。
6、上行端口的配置,具体的命令如下:spanning-tree uplinkfast。