【计算机网络-Cisco实验】
STP 生成树协议—功能验证实验
文章目录
前言
在此之前应该对OSI模型应该有过学习和了解,STP协议主要工作在第二层–数据链路层。
首先,数据链路层就像是一条“数据通道”,负责将数据从一个节点传输到另一个节点。在这个过程中,数据链路层会对数据进行封装、分帧、物理寻址、媒体访问控制、传输和接收以及差错检测与纠正等一系列处理,以确保数据的可靠传输。
数据链路层功能
- 封装成帧:链路层传输的数据单位是帧,是在物理层数据的基础上,添加一些额外的信息(如源地址MAC、目的MAC地址,帧类型,校验位等),形成一个帧。同时,数据链路层还会负责将较长的数据包分割成适当大小的帧,以便在物理层进行传输。
就像我们在寄送包裹时,会用一个纸箱将物品封装起来,并在纸箱上写上寄件人和收件人的地址。这个纸箱就相当于数据链路层中的帧,而里面的物品则相当于网络层的数据包。
-
物理寻址(根据mac地址):数据链路层通过在帧中添加源和目的物理地址,实现数据在网络中的定位和传输。每个网络节点都有唯一的物理地址,这个地址就像是我们每个人的身份证号码一样,用于标识和区分不同的节点。
就像我们在寄送包裹时,会在纸箱上写上寄件人和收件人的地址。这样,快递员才能根据地址找到正确的收件人,并将包裹送达。
-
**流量控制:**在广播网络中,多个主机共享同一物理链路。为了避免多个主机同时发送数据导致冲突和碰撞,数据链路层会实施媒体访问控制方法(如CSMA/CD),用于协调多个主机对共享媒体的访问。
就像我们在一个会议室里开会,为了避免大家同时发言导致混乱,我们会采用一些规则(如举手发言、轮流发言等)来协调大家的发言顺序。这就是媒体访问控制的一种形式。
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
载波侦听(Carrier Sense):在发送数据之前,设备会先侦听信道(即传输介质)是否空闲。这就像你在一个房间里想跟其他人说话,但首先你会检查是否有人正在说话,以免打扰他们。
多路访问(Multiple Access):多个设备可以连接到同一信道,并尝试发送数据。这类似于一个开放的会议室,任何人都可以进入并发表意见。
冲突检测(Collision Detection):如果两个或更多的设备同时发送数据,它们会检测到冲突,并停止发送。这就像两个人同时说话,导致声音重叠,双方都无法听清对方说什么。
- 数据帧的传输和接收:数据链路层负责将数据帧从一个节点传输到另一个节点,并在接收端进行解封装,提取出原始数据,并将其发送给上层的网络层。
就像我们寄送包裹一样,数据链路层负责将封装好的包裹从一个地方运送到另一个地方,并在目的地将包裹打开,取出里面的物品交给收件人。
- 差错检测与纠正:数据链路层会对接收到的数据帧进行差错检测,以确保数据的完整性和准确性。常用的差错检测方法包括循环冗余校验(CRC)等。
就像我们在收到包裹后,会检查包裹是否完好无损,里面的物品是否齐全一样。如果发现包裹有破损或物品缺失,我们就会要求快递公司进行赔偿或重新发货。这就是差错检测与纠正的一种形式。
一、生成树协议
生成树协议(STP)是一种网络通信协议,它主要工作在OSI网络模型的数据链路层。简单来说,它的作用就是在一个由交换机组成的网络中,防止因为冗余链路而产生的环路问题。当一个网络中存在多条路径可以到达同一个目的地时,就可能出现环路,这会导致网络拥塞和数据包丢失等问题。STP协议通过选择一条最佳路径作为主路径,并阻塞其他路径,从而确保数据包在网络中能够稳定、可靠地传输。
1.1 为什么使用生成树协议
首先想想这么一个场景, 一个星型结构(串联),中间交换机点发生损坏,整个线路还能正常工作吗?
所以很多情况下需要安装一个备用中间交换机,但是,当与备用交换机链接时,就会出现物理上和逻辑上的回路。数据转发不知道往哪条线路上走哦,随之而来的有网络拥塞、广播风暴、数据包丢失等问题。
1.2 生成树协议的重要性(能解决啥问题)
- 避免环路:在交换机网络中,由于可能存在多条路径到达同一目的地,因此很容易形成环路。STP协议通过选择一条最佳路径并阻塞其他路径,从而避免了环路的出现,保证了网络的稳定性和可靠性。
2**. 防止广播风暴**:环路会导致广播风暴,即大量的广播数据包在网络中循环传输,占用大量带宽并导致网络性能下降。STP协议通过消除环路,有效地防止了广播风暴的发生。 - 提高网络可靠性:虽然STP协议会阻塞一些路径,但它同时也保留了这些路径作为备用路径。当主路径出现故障时,STP协议可以迅速地将数据流切换到备用路径上,从而保证了网络的连续性和可靠性。
- 简化网络管理:STP协议能够自动发现网络中的环路并采取相应的措施进行消除,无需管理员手动干预。这大大简化了网络管理的复杂性,降低了管理成本。
二、实验
【第一步】设计网络拓扑
== 注意总会有一个端口是不通的,这样的话,虽然物理环路存在,但是逻辑环路不存在。==
添加三台主机,并配置IP地址。
【第二步】连接测试
可以发现Switch1有一个端口不通路,那与Switch1相连的PC2可以发送或者接收数据包吗?使用ping命令测试一下。
所以看似此路不通,但是依旧可以通信,在逻辑上,整个线路是可通状态。如下图:
【第三步】模拟线路上损坏点,看一下冗余线路是否可以发挥作用。
首先,选择一个交换机,选择一个端口,将其设置为关闭状态,以此模拟线路循坏状态。由此来看switch2 应该是罢工状态, 与之相连的PC1 还能收发信息吗?
使用 ping命令验证一下。
可以发现,现在是不可以通信的,但是,关掉窗口信进行刷新以后,可以发现,之前switch1那个橙色的点变为绿色,即从罢工状态转为的工作状态。
此时再去验证PC1的通信状态可知,现在是正常的。
那再将关闭Switch2的交换机端口打开,看一下Switch1还会断开吗?
可以发现,又回到不通路的状态了。
小结
交换机上的生成树协议,在启动后是默认自动运行的。
【第四步】关闭生成树协议,进行对比实验。
同理,将其他的都关闭!路都通了,此时存在逻辑环路。此时发送广播帧就会出现广播风暴!
然后捕获,自己看看效果。不出意外情况下是出现广播风暴。
总结
通过这个实验可以体验到生成树协议的功能。
1. 防止环路产生:
STP的基本应用是防止交换机冗余链路产生的环路。在网络中,如果交换机之间存在多条路径(冗余链路),可能会形成环路,导致数据包在网络中无休止地循环传输,即所谓的广播风暴。STP通过特定的算法,确保任意两个交换机之间只有一条单一的活动链路,从而避免了环路的形成。
2. 确保无环路的逻辑拓扑结构:
STP通过阻塞冗余链路中的某些端口,构建了一个无环路的逻辑转发拓扑结构。这种结构提高了网络的稳定性和可靠性,减少了网络故障的发生率。
3. 避免广播风暴:
广播风暴会大量占用交换机的资源,导致网络性能下降。STP通过消除环路,有效地避免了广播风暴的发生,使网络更加稳定。
4. 提供物理线路的冗余连接:
虽然STP阻塞了部分链路,但它仍然保留了足够的冗余连接,以应对可能的网络故障。当网络中的某条链路出现故障时,STP可以快速地将流量重新路由到其他链路,确保网络的持续运行。