【Cisco Packet Tracer】交换机的自学习算法

简介: 【Cisco Packet Tracer】交换机的自学习算法



⛳️1. Cisco Packet Tracer简介

Cisco Packet Tracer是一款由思科(Cisco)公司开发的网络仿真工具,旨在帮助网络工程师和学生学习和实践网络配置、协议和拓扑设计。它是一种基于图形界面的网络模拟器,使用户能够构建、调试和测试网络,而无需实际的硬件设备。Cisco Packet Tracer的主要特点:

  1. 网络仿真和建模: Packet Tracer允许用户创建虚拟网络环境,包括路由器、交换机、终端设备等,以模拟真实网络环境。这对于学习网络原理、协议和配置非常有帮助。
  2. 设备模拟: 用户可以在Packet Tracer中模拟多种网络设备,包括思科的路由器、交换机、服务器等。这些设备的模拟行为类似于它们在真实网络中的行为。
  3. 协议支持: Packet Tracer支持多种网络协议,包括TCP/IP、UDP、HTTP、FTP等,使用户能够学习和实践网络通信的各个方面。
  4. 实验和实践: 学生和网络专业人士可以使用Packet Tracer进行各种实验,测试不同网络配置和方案,以加深对网络技术的理解。
  5. 教育用途: Packet Tracer通常用于网络工程和计算机网络课程中,帮助学生通过实践加深对课程内容的理解。它是一种理想的教学工具,可在教室或远程学习环境中使用。
  6. 跨平台支持: Packet Tracer可在多个操作系统上运行,包括Windows和Linux,使用户能够在不同的计算机系统上使用它。
  7. 社区支持: Packet Tracer有一个活跃的用户社区,用户可以在社区中分享经验、提出问题并获得解答,促进学习和知识交流。

⛳️2. 交换机的自学习算法

2.1 实验目的

  1. 理解自学习算法: 通过本实验,旨在深入理解Cisco Packet Tracer交换机的自学习算法,掌握其工作原理和过程。
  2. 熟悉交换机网络环境: 通过搭建实验网络,学会配置交换机以及模拟不同设备间的数据交换,加深对交换机在网络中的作用和功能的理解。
  3. 掌握故障排除技能: 通过实验过程中可能遇到的问题,培养解决问题的能力,提高在实际网络环境中的故障排除技能。

2.2 实验环境

  • 基于Cisco Packet Tracer 模拟器

2.3 实验内容

  1. 验证集线器和交换机的区别

(1)step1  构建四个以太网:在逻辑工作空间选择12台终端设备(此处拖动的为主机)、12条连接线(此处拖动的为自动选择连接线类型)以及两台交换机和两台集线器,构造网络拓扑:

(2)step2  设置网络设备(设置主机的IP地址):鼠标左击PC-PT计算机0,选择桌面点击IP地址设置为192.168.0.1,系统会默认填充子网掩码,并对剩余主机分别设置IP地址,主机01的IP地址为192.168.0.2以此类推,设置主机0的IP地址:

(3)step3  各主机间发送数据包:为了防止ARP广播请求对本次实验效果产生影响,实验切换到实时模式下让各主机间发送数据包,查看端口状态汇总表:

删除实时模式的数据包和各PUD,并切换到仿真模式:

隐藏其他协议:

打开编辑筛选器保留ICMP协议:

(4)step4  主机通过集线器进行数据传输:通过主机0与主机2间发送数据包实现,在左上角工具栏鼠标点击信封(添加简单的PDU),集线器的数据传输;

首先,数据包由主机0发送到集线器,接着,集线器将其广播发送给主机1和主机2,最后,主机1收到报文后检查报文的目的MAC地址,与主机1网卡不同因此拒绝接收,同理主机2收到检查发现与报文MAC地址匹配故接收成功,并且主机2给发送方返回发送响应:

同理主机0能接收到主机2发送的响应,而主机1拒绝接收。

(5)step5  主机通过交换机进行数据传输:通过主机6与主机8间发送数据包实现,在左上角工具栏鼠标点击信封(添加简单的PDU),交换机的数据传输:

首先,数据包由主机6发送到交换机,接着,交换机不通过广播发送给主机6和主机7,而是直接发送给主机8,最后,主机7收到报文后检查报文的目的MAC地址,与主机1网卡不同因此拒绝接收,同理主机2收到检查发现与报文MAC地址匹配故接收成功,并且主机2给发送方返回发送响应:

同理主机0能接收到主机2发送的响应,而主机1拒绝接收。说明交换机对帧具有过滤功能,即可以明确转发帧或者不转发帧,而集线器收到帧会进行广播

(6)step6 互联局域网:通过选择自动连线互联两个通过集线器互联的局域网,在扩大通信范围同时扩大碰撞率,同理连接两个交换机互联的局域网,遇到互联线不显示绿色可通过多次切换实时模式和仿真模式进行解决,最终效果:

集线器组成的局域网由主机0给主机2发送数据包.

集线器数据包传递:

交换机组成的局域网由主机0给主机2发送数据包

交换机数据包传递:

我们发现一个在集线器组成的局域网中数据包的传输会经过每一个主机,而交换机组成的局域网中数据包传输类似定向传输。

(7)step7数据碰撞1:通过主机0、主机4分别向主机2、主机5传输数据包,在集线器(上)组成的局域网,主机0的ARP高速缓存表:

(8)step8数据碰撞2:通过在集线器局域网添加交换机形成新的局域网,验证碰撞率是否增大。主机0的ARP高速缓存表:

同样由主机0往主机2发送数据包,第一次当数据包传递到交换机时交换机会将其转发给集线器:

当下一次交换机遇到此类情况便会截止发送:

  1. 交换机的自学习算法

(1)step1  构造网络拓扑:在逻辑工作空间选择三台终端设备(此处拖动的为主机)、网络设备(此处拖动的为交换机)及连接线(此处拖动的为自动选择连接线类型),并且设置IP地址:

(2)step2  仿真模式下传输数据包:切换到仿真模式,由主机1向主机2传输数据包,并且设置协议仅显示ARP和ICMP协议,且在参数选项勾选显示各接口信息。因主机1不含主机2的MAC地址,所以先发送ARP广播询问主机2的MAC地址,主机1得知后再发送数据包。由于前文已做解释此处重点在于主机传输数据包在交换机的接口以及MAC地址的登记:

显示发现此时交换机MAC和端口信息都关于主机1,此时交换机将ARP广播给主机0和主机2,由于主机0的ARP不匹配因此不接收,而主机2接收成功,并且返回响应,在交换机留下相应的MAC地址和端口信息,交换机的信息更新:

此时根据交换机的MAC表在其收到主机2的数据包时,将其定向传输给主机1,然后主机1将ICMP数据包传输给交换机此时交换机通过先前的学习将其直接传输给主机2.

(3)step3  在新的局域网下验证交换机的自学习算法:构建新的网络拓扑并由主机4向主机5传输数据包,通过实验发现此时交换机在第一次记录了主机4的MAC地址和端口信息,在主机5收到后返回响应也会传输到交换机并留下主机5的MAC地址和端口信息。

切换模式:

(4)step4  操作交换机的命令行界面:通过打开交换机的命令行界面回车输入enable进入课程模式,输入show mac-a查看交换机登记的MAC地址,同时可以使用clear mac-a清除记录。

设置交换机的命令行界面:

由于清除了交换机的所有MAC记录,所以再次由主机4向书记5传输数据包交换机会将其进行转发,设置交换机的命令行界面:


2.4 实验体会

  1. 深入了解自学习算法: 通过观察实验中交换机的学习过程,对自学习算法有了更深刻的理解。了解交换机如何学习MAC地址,建立MAC地址表,以及如何利用这些信息实现数据帧的快速转发。
  2. 实际操作提升技能: 通过配置交换机、模拟数据传输等实际操作,更好地理解网络设备的配置和工作原理。这使得理论知识更加具体化,为将来实际网络环境的应用打下基础。
  3. 故障排除经验积累: 在实验中,可能会遇到一些配置错误或网络问题,通过解决这些问题,提升了故障排除的经验,培养了对网络异常情况的敏感性和应对能力。

📝总结

Cisco网络技术犹如一道激流,引领你勇敢踏入计算机网络的未知领域。学习之路并非平凡旅程,从初级概念、实验环境设置开始,逐步揭示更深层次的网络协议、编程魔法和系统设计的奥秘。


目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 搜索推荐
Paper Digest | 突破个性化推荐数据稀疏性:长尾增强的图对比学习算法研究
本文提出了一种新的长尾增强的图对比学习方法(LAGCL),该方法促使模型同时兼顾头部节点与尾部节点之间的知识,并通过长尾增强技术来使模型产出更均匀更准确的节点表征,从而改进基于 GNN 的推荐任务。
|
2月前
|
网络协议 Linux 网络架构
【Cisco Packet Tracer】集线器和交换机区别
【Cisco Packet Tracer】集线器和交换机区别
103 1
|
10天前
|
机器学习/深度学习 算法 前端开发
Scikit-learn进阶:探索集成学习算法
【4月更文挑战第17天】本文介绍了Scikit-learn中的集成学习算法,包括Bagging(如RandomForest)、Boosting(AdaBoost、GradientBoosting)和Stacking。通过结合多个学习器,集成学习能提高模型性能,减少偏差和方差。文中展示了如何使用Scikit-learn实现这些算法,并提供示例代码,帮助读者理解和应用集成学习提升模型预测准确性。
|
10天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
19 0
|
17天前
|
算法
【算法学习--字符串】(不含KMP算法)
【算法学习--字符串】(不含KMP算法)
|
1月前
|
Rust Dart 算法
55.3k star!开源算法教程,附带动画图解,学习算法不再苦恼!
55.3k star!开源算法教程,附带动画图解,学习算法不再苦恼!
|
1月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
|
1月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Canny边缘检测算法
Opencv(C++)学习系列---Canny边缘检测算法
|
1月前
|
算法 Java 索引
【数据结构与算法】4、双向链表(学习 jdk 的 LinkedList 部分源码)
【数据结构与算法】4、双向链表(学习 jdk 的 LinkedList 部分源码)
31 0
|
1月前
|
存储 算法 Java
【数据结构与算法】1、学习动态数组数据结构(基本模拟实现 Java 的 ArrayList 实现增删改查)
【数据结构与算法】1、学习动态数组数据结构(基本模拟实现 Java 的 ArrayList 实现增删改查)
45 0