【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法

本文主要是介绍【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🕺作者: 主页

我的专栏
C语言从0到1
探秘C++
数据结构从0到1
探秘Linux

😘欢迎关注:👍点赞🙌收藏✍️留言

🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢支持!!!

文章目录

  • 实验3:总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法
    • 一、实验目的
    • 二、实验环境
    • 三、实验内容
      • (一)总线型以太网的特性
      • (二)集线器和交换机的区别
      • (三)交换机的自学习算法
    • 四、实验体会

实验3:总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法

一、实验目的

  1. 加深对网络体系结构的理解。

  2. 理解总线型以太网的特性

  3. 理解集线器和交换机的区别

  4. 理解验证交换机自学习算法

二、实验环境

Cisco Packet Tracer 模拟器

三、实验内容

(一)总线型以太网的特性

1.拖动三台计算机到逻辑工作空间,使用集线器将它们互连,使用自动连线将每台计算机连接到集线器上。这个网络拓扑表面上看起来是星型的结构,实际上是总线型的结构。我们可以把三根连线看作是一条总线,这是集线器的特性所决定的。如图1所示:

图1:构建网络拓扑

2.给每台计算机配置一个IP地址。如图2、3、4所示


图2 配置PC0的IP

图3 配置PC1的IP

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
图4 配置PC2的IP

3.位于实时模式下,让计算机互相发送一个数据包,这样各计算机的ARP会高速缓存,这样会记录网络中其他主机的IP地址和相应的MAC地址,目的在于防止后面实验出现ARP广播请求,进而影响我们对实验现象的观察。然后将它删除。如图5、6所示

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 5 计算机相互之间发送数据包

图 6 删除刚才的场景

4.切换到仿真模式,让左边的计算机给下面的计算机发送一个ICMP的报文,经过集线器会发送一个广播,右边的计算机会收到,但是由于MAC地址不匹配,所以不会接收,下面的计算机收到后匹配,会返回一个响应,经过集线器会发送一个广播,左边和右边的计算机都会收到,但是经过MAC地址的识别,只有左边计算机会接收,这就是总线型以太网的广播特性。如图7、8、9、10所示


图 7 左边计算机向下面计算机发送报文

图 8 集线器收到后进行广播,然后下面计算机成功接收,右边计算机接收失败

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
图 9 下面计算机返回响应,经过集线器发出广播

图 10 集线器发送广播,左边计算机接收成功,右边计算机MAC地址不匹配接收失败

5.删除刚才的环境,让左边计算机给右边计算机发送数据包,同时让下面的计算机给右边的计算机发送数据包,我们会看到产生了碰撞,并且碰撞后的信号被传送到了总线的各个地方,每台主机都可以检测到碰撞的信号。
如图11、12、13所示


图 11 左边计算机和下面计算机同时向右边计算机发送数据包

图 12 产生碰撞

图 13 碰撞后的信号被传送到了总线的各个地方

(二)集线器和交换机的区别

  1.  提前构建4个以太网,上面两个以太网使用的设备为集线器,下面两个以太网使用的设备为交换机,为了防止后面实验出现ARP广播请求,进而影响我们对实验现象的观察,我们需要位于实时模式下,让计算机互相发送一个数据包。然后删除环境,并切换到仿真模式。如图14、15所示。
    


图 14 构建网络拓扑


图 15 删除环境

  1.  在仿真模式下,将所有协议隐藏,然后只选择ICMP协议。如图16、17所示。
    


图 16 隐藏所有协议


图 17 选择ICMP协议

  1.  先看左上角由集线器连接的总线型以太网,让左边计算机给下面计算机发送一个ICMP报文,下面计算机收到后会发送一个响应。如图所示。
    


图 18 发送 图19 发送到集线器、广播

图 20 广播后上面计算机无法接收,下面计算机接收后返回响应

图 21 返回响应后广播

图 22 左边计算机成功接收,上面计算机收到后由于MAC地址不同,无法接收

  1.  接下来使用左下角的以太网来重复上面操作,当数据包发送到交换机后,交换机会将它明确的转发出来,而不是广播出来,下面的计算机响应后也会直接返回给左边计算机,所以可以得出交换机具有过滤功能,它可以明确的转发帧或不转发,而集线器在收到数据帧以后,不管帧是广播的还是单播的都会广播出来,如图23、24、25、26、27所示。
    


图 23 发送数据包 图 24 交换机接收到数据包


图 25 下面的计算机返回响应 图26 响应返回到交换机

图 27 交换机直接将数据包发给左边计算机

  1.  将上面两个以太网的集线器连接,这样就合成了一个更大的以太局域网,并且在扩大了它的覆盖范围的同时也扩大了它的碰撞域。然后在上面的以太网的左边计算机给下面的计算机发送一个数据包。如图28、29、30、31、32、33、34所示。
    


图 28 将集线器互相连接,交换机互相连接

图 29 集线器构建的以太网 左边计算机发送数据包

图 30 发送到集线器

图 31 集线器将数据包进行广播


图 32 除了下面计算机,其他的计算机都无法接收数据包

图 33 下面计算机返回响应,通过集线器再次广播


图 34 左边计算机已经接收到响应,但是响应的广播并没有结束

  1.  然后将下面两个以太网的交换机连接起来进行同样的操作。
    


图 35 左边计算机给下面的计算机发送数据包

图 36 数据包到达交换机

图 37 数据包直接单播给了下面的计算机

图 38 下面计算机返回响应

图39 响应直接返回左边计算机

  1.  在集线器构建的以太网中,同时让左边的计算机给左下的计算机发送数据包和让右边的计算机给右下方的计算机发送数据包。如图40、41、42、43所示。
    


图 40 发送数据包


图 41 数据包被发送到集线器

图 42 数据包发生碰撞

图 43 碰撞的信号被发送到总线上的每个计算机
8. 在交换机构建的以太网中,同时让左边的计算机给左下的计算机发送数据包和让右边的计算机给右下方的计算机发送数据包。
如图44、45、46、47、48所示。


图 44 发送数据包

图 45 数据包被发送到交换机上

图 46 经过交换机的传送,数据包到达目标计算机

图 47 目标计算机收到数据包后发送响应


图 48 经过交换机的传送,响应各自返回原发送数据包的计算机
9. 尝试发送广播帧,由于对于上面由集线器构建的以太网,即使是单播帧都会以广播形式发送,所以这里直接用以交换机构建的以太网来测试。
如图49~55所示。

图 49 点击添加复杂的PDU

图 50 让左边的主机进行发送

图 51 配置源IP地址、目标IP地址、序号、时间,然后点击创建PDU


图 52 广播帧发送

图 53 传送广播帧

图 54 其他主机接收广播帧

图 55 返回响应
10. 交换机隔离碰撞域和冲突域的情况。将上面集线器之间的线取消,然后在他们之间放一个交换机,然后发送一个数据包,让它自学习一下,增大了覆盖范围,但是不会扩大冲突域。如图56~60所示。

图 56 让左边的计算机发送数据包给下面的计算机


图 57 集线器收到数据包


图 58 集线器将数据包进行广播,但是其他主机和交换机不会接收

图 59 返回响应到集线器

图 60 集线器将响应进行广播,目标主机接收,其他主机和交换机不会接收

(三)交换机的自学习算法

  1.  构建网络拓扑并配置IP地址,为了后续观察实验方便在主机旁边注释IP地址和MAC地址。
    


图 61 构建网络拓扑

图 62 配置IP地址

图 63 添加IP注释


图 64 查看MAC地址

图 65 添加MAC地址注释

  1.  切换到仿真模式,隐藏所有的协议,编辑只选择ARP协议和ICMP协议
    


图 66 选择协议

  1.  让左边主机给右边主机发送一个数据包,但是无法发送,之前的实验做过,是因为左边主机里面没有右边主机的IP地址和MAC地址的对应关系,所以左边这个主机在数据链路层封装的时候,它的目的MAC地址不知道怎么填,所以它无法发这个ICMP,它会发一个ARP的广播请求,目的就是询问右边这个主机的MAC地址是什么,得到MAC地址以后就可以发送ICMP了。
    

由于没有数据包的传送,MAC地址表一般都是空的。发送数据包后MAC地址 表会将发送数据包的MAC地址和端口号登记起来。这也就是它的自学习。


图 67 发送数据包

图 68 查看MAC地址表


图69 交换机接收数据包

图 70 再次查看MAC地址表

图 71 查看PDU信息,是广播帧
4. 交换机开始转发,除了发送数据包的端口,数据包会被发送到其他所有的端口,除了目标主机,其他主机都不会接收这个数据包,其他主机发现这是个广播包,先接收,再传递给高层,然后ARP进程一看这个数据包不是询问这台主机的,所以ARP进程就将这个数据包丢弃了,同样的道理,目标主机也是这样识别接收的,它会封装一个ARP的单播响应,它会将自己的IP地址和MAC地址写到这个数据包里面。在返回响应时,交换机会记录发送响应的主机的MAC地址登记表里,然后根据表里面的记录将响应发送给左边那个主机。
如图72~76所示。

图 72 数据包被广播到交换机连接的所有的主机

图 73 查看MAC地址表

图 74 目的主机返回单播响应

图 75 查看MAC地址

图 76 响应被发送给左边主机

  1.  再次发送ICMP,成功发送。
    
  2.  为了更好的观察实验效果,重新构建网络拓扑,添加一个集线器和两个主机,并且添加好IP和注释。然后重启设备。如图77、78所示。
    


图 77 重新构建拓扑

图 78 重启设备
7. 在实时模式下,让新加入的主机给另一台主机发送一个数据包,另一台主机会响应,这样的目的是让这两台主机互相知道IP地址,以免出现ARP广播影响实验,还有就是让交换机登记右边集线器部分的端口,也就是让交换机学习了一次,然后发送出来的响应会被交换机发送给右边,右边接收后再次响应让交换机再次学习,此时交换机内就存了右边新加入两台主机的MAC地址和端口。如图78~80所示。


图 78 查看MAC地址

图 79 发送数据包

图 80 查看MAC地址

  1.  切换到仿真模式,再次发送数据包。如图81~83所示。
    


图 81 发送数据包

图 82 数据包被发送到集线器,集线器会进行广播

图 83 目标主机接收,但是交换机会叉,不会转发给其他端口

  1.  使用交换机命令模式查看MAC地址表。打开交换机的命令模式,按下回车,输入enable回车,进入特权模式,输入命令 show mac-a 可以看到MAC地址表。删除的命令是 clear mac-a 回车,记录就被清空了。如图84、85所示。
    

图 84 使用命令模式查看MAC地址表

图 85 清空MAC地址表

  1. 再次发送数据包,此时数据包转发给交换机时,它也会转发给其他主机,因为它的MAC地址表中没有地址,所以无法识别。如图86所示


图86 交换机将数据包进行转发

四、实验体会

首先,在总线型以太网的实验中,我了解了总线型结构的特点,即多台主机通过共享同一根通信线进行通信。在这种结构下,若两台主机同时进行数据传输,数据包可能会相互干扰引起冲突
其次,在集线器和交换机的实验中,我了解到了两者之间的差异。集线器是一种被动的中继设备,它将收到的信息放大后广播到所有连接的端口上,而交换机则能通过自学习算法判断一个数据包应该从哪个端口转发。这样,交换机能够提高网络的传输效率和安全性。
最后,在交换机的自学习算法实验中,我深入了解了MAC地址和ARP协议的作用,以及交换机如何通过学习来建立MAC地址表并实现数据包的快速转发。这也让我意识到了在网络通信中地址分配和管理的重要性。

这篇关于【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/651485

相关文章

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程