网络协议二 : 使用Cisco Packet Traceer工具模拟网络环境,集线器,网桥,交换机,路由器,MAC,IP,同一网段,子网掩码,子网划分

news2024/11/15 12:47:22

1. 安装 Cisco Packet Tracer

baidu 网盘地址,感谢大神分享

安装,破解,中文化,都有说明,建议使用7.x的那个版本,感觉比8.x的翻译要完整一点

https://pan.baidu.com/s/18iWBOfhJJRhqgQqdNQcfMQ?pwd=dcch#list/path=%2F&parentPath=%2Fsharelink787890006-233616719750824

2. 两个pc直连

2.1 打开 packet tracer 软件,弄两个pc上去,

2.2 然后使用 线 将 两台PC链接起来,链接的时候,会使用线,如果你不知道用什么线,可以使用自动连接线

2.3 配置IP

那么怎么验证这两个PC已经连接成功了呢?

我们第一个能想到的就是使用 ping 来完成,使用 ping 就需要知道pc的ip,双击pc 就能设定这台pc的IP了

2.4 使用ping 命令检查两个PC能否 ping 通

弄一个说明,记住IP(非必要)

执行 ping 另外一台pc的ip就可以了

2.5 另外一种方法测试是否两台PC联通

点击 simulation(模拟的意思),然后点击 add simple PDU(PDU 是数据包的意思),

simulation 模式下,发送 simple 的原理实际上就是 ping 

删除刚才添加的 simple PDU,

2.6 simulation 模式下添加 complex PDU,当我们点击的时候,就会让选择 那种 协议模式

2.7 simulation 模式下,所有的执行的东西都是一步一步的,我们再将刚才使用ip ping 那个步骤弄一下,会发现,只有点击 simulation 模式下的 一步一步的图标才能往下走

3. 两个PC 是如何知道 MAC 地址的呢?

这里先要重新理清一个概念。

两个PC 要访问,实际上是要知道IP 和 MAC 地址的,所谓的MAC 地址,实际上就是网卡的物理地址,那么刚开始的时候,我们只有这两台电脑的IP,并没有MAC地址,那么怎么知道这个MAC地址的呢?

为了弄清楚这个问题,我们需要将环境回复一下,然后在 simulation 环境下,一步一步的看这个MAC地址是怎么来的?

我们先将之前的两台IP改成 192.168.1.60 和 192.168.1.61

当我们将一个 simple PDU 从 PCsource 这台机器 发送给  PCdest 这台机器

这里为了方便看,给两台机器重新名字,一个叫做 PCsource,一个叫做 PCdest

当我们第一次 将一个 simple PDU 试图发送到 对方时候,会有两个协议使用到,

第一个是ICMP,这是 ping 使用的协议,

第二个是ARP协议,这个是请求知道对方 mac地址的,更加准确的说:ARP是广播,会给和自己相连的所有的设备发送广播,带的信息为 自己的IP,自己的MAC地址,目地IP,想要的信息为目地PC的MAC。ARP广播发送的目标为 同一网段的 所有电脑。

我们在第一个ICMP协议上双击,可以看到详细的说明

我们在第二个是ARP协议上双击,可以看到详细的说明

目的pc 的mac 地址,这块是FFFF FFFF FFFF ,并不是一个确定的MAC 地址,意思是广播,在实际中,是广播给所有和源PC 链接上的设备,询问的内容是:我在寻找IP 为 192.168.1.61的MAC 地址。

当设备1接受到后,会检查自己的IP,如果不是192.168.1.61,会扔掉这个广播。如果刚好自己的IP就是 192.168.1.61,则会将自己的MAC 地址返回

我们再次点击 simulation 的下一步,

就会看到还是通过 ARP返回了MAC地址

然后选择最后一个ARP可以看到

然后再一步一步 ping 

4. 多个电脑连接 --同轴电缆(已经淘汰),知道有这个方式就行,不用花时间。

淘汰的原因如下:

1.半双工通讯,所谓的半双工,意思就是 如果我们从PC1 给PC2发数据,则同时PC2不能给PC1发数据

2。容易冲突

3.不安全

4.容易瘫痪

5. 多个电脑连接 -- 集线器

可以理解为,只是转发数据的一个 机器,

比同轴电缆的 好处是 :当计算机 1 和 集线器中的线路出现问题的时候,其他的不受影响。

只能转发,意味着没有 ARP缓存,只是一个中转站

我们来看一个通过 集线器 链接三台电脑的例子:来看一下这个集线器是如何工作的。

还是从 pc0 发送数据给pc1

按下 simulation 的下一步,下一步,下一步:

当pc0先会发数据给集线器;
集线器就是个中转站,
把数据会发给PC1 和 PC2;
pc2收到后会丢弃数据;
pc1收到后会返回ARP包给集线器;
集线器收到后,会把数据包发送给PC0和 PC2;
pc2再次丢弃数据包
pc0会受到数据包,这时候ARP就结束了。

这时候PC0中已经有了PC1的mac地址和ip 了,那么再次发送ICMP的时候

PC0将数据发送给集线器,集线器还是会把数据发送给 PC1 和 PC2,这是因为 集线器就是个 中转站,并没有记忆功能,因此他还是会发送包给所有和它连接的设备。

同理,当PC1再次回传数据给 PC0的时候,会先将数据回传给 集线器,集线器会发送给PC0 和 PC2,PC2收到后会 丢弃该数据,PC0收到正确的包

集线器的问题:

智商太低。

无论是第一次连接时候发送的ARP,还是在已经知道对应MAC情况下,集线器都是会发送给所有连接上的设备,这会导致大量的占用带宽,是很不理想的状态。

6. 查看当前PC 的arp 的缓存,删除arp 缓存

arp -a  查看当前设备的 缓存的arp 有哪些
arp -d  删除当前设备的 缓存的arp
 

7. 网桥 network bridge

为了解决集线器的缺点,就有了网桥。

网桥是在两个集线器 间假设的桥梁,因此有两个端口,一个叫做 L端口(左端口),一个叫做R 端口(右端口)。

网桥能 自 学习 每个接口那侧的MAC 地址。

能起到隔绝冲突域的作用

举例说明,如下图:计算机6 要发送数据给计算机2

那么第一次的时候,肯定是要发一个ARP, 集线器1在收到 ARP后,会发送给计算机7,计算机8,网桥0。

网桥0 中有一个 mac地址表,会记录计算机6的MAC地址。类似

L端,计算机6 mac 地址为 aabbccdd

然后网桥0 会把数据发送给集线器0,

集线器0会把数据发送给计算机1,计算机2,计算机3,当然计算机1和3都会放弃该数据包,计算机2会回送 数据给集线器0.

集线器0会将数据回传给 网桥0,这时候网桥0就会记录 计算机2的MAC地址

R端,计算机2的mac 地址为 eeff0011

然后把数据再次回传给 集线器1,集线器1发送数据给 计算机6,7,8,当然计算器7,计算机8会丢弃该数据。

这时候计算机6中就有了 计算机2的ip 和mac。

当下次 计算机6 发送 ICMP的时候,还是会发给 集线器1,集线器1发给 计算机7,8,网桥0.

网桥0这时候 会看 检查 mac 表,发现 计算机2的mac 地址在自己的mac 表的R端,因此会发送给集线器0.

这跟之前没有网桥时没有啥不一样。

但是如果我们的目的就是  从 计算机6 发送给 计算机7.

那么当计算机7的mac 地址回传给 集线器1的时候,集线器1 也会发送给 网桥0,因此网桥0的 mac 表会记录 L端 有计算机7的 mac 地址。

在当 计算机6 发送 ICMP 的时候,到发送数据到网桥0的时候,网桥0查询自己的 mac 地址表,会发现 计算机7 的mac 地址在L端,因此数据不会通过网桥0 发送给集线器0.因此实现了隔绝冲突域。

8 交换机

交换机是没有mac 地址的,只是一个聪明的转发者。

比集线器安全,可以看成有很多接口的网桥。

可以实现 全双工 通讯

从上面的 集线器和 网桥的链接,我们发现还是有问题。

例如从 计算机6 发送数据给计算机 2,每次数据还是要 发送给 所有的设备。

因此就 有了 交换机。

交换机可以理解为 有很多接口的网桥,且能实现全双工 通讯。

交换机的每个接口 都会记录 和它相连的mac 地址, 这就意味着,在第一次 两个IP链接后,交换机的mac 表中就会记录 地址,当后面两个IP在连接的时候,就会很精准的找到路径,从而避免 集线器 和 网桥的一些弊端。

那么是否我们把全球的设备都使用交换机连接呢?

是不行的,首先,交换机 和 集线器,网桥一样,需要在 同一网段 ,首先的问题就是同一网段没有那么多的IP。

其次,在两个从来没有连接过个的IP 第一次连接的时候,都需要发送 ARP 广播。如果交换机能连接的设备有成千上万台,还是会有 网络带宽的 占用问题。

9.路由器

我们先来总结一下前面学过的知识:

前面学习过的 网线直连,同轴电缆,集线器,网桥,交换机

上述这些设备数据的交互 必须在同一网段,链接的设备处在同一广播域。

上述这些设备都没有mac 地址。

网桥和交换机 能子学习并记录和它连接的设备的 ip 和 mac 。

由于 交换机 只能对于同一网段 的网络进行访问,而我们又不能将全球的网络放在同一个网段。

因此就有了路由器这个方案。

路由器的功能是 可以将不在同一 网段的 IP 链接在一起。

为什么路由器拥有 将不在同一网段的IP 链接在一起的 这个能力呢?

这是因为 路由器是有多个 mac 地址 和多个IP地址的。

每个mac 地址 对应 一个 IP

由于路由器有多个 IP 和 多个mac 地址,为了方便看 路由器的某一个接口 和 那个具体的链接在一起,需要打开下面的 选项。

我们画一个,如下图,一个路由器 链接了上个 不同网段,网段A 和 网段B

我们现在的需求是从PC1发送数据到PC2,由于路由器 是有多个mac 和多个IP的,因此我们需要将Fa0/0 的 ip 设置为 和 网段A 在同一网段。那么就是 192.168.1.x了。

由于我们是要通过 路由器0 的 Fa0/0 去 访问  Fa1/0,进而使用 Fa1/0去访问 PC2 。

这个路由器的两头  :FA0/0和 Fa1/0 就类似一个 网络管理者一样,更像一道门一样,在计算机中,人们给FA0/0和 Fa1/0 起名为  网关

网关实际上路由器一边的IP,且约定俗称 为  XXX.XXX.XXX.1 

那么很明显了,我们还需要配置 路由器两边的 网关

配置路由器两边的网关

设置了路由器的 IP ,得到如下的图

那么我们再来看:PC1发送数据到PC2

1. 为什么ARP 请求要找 路由器的 mac 地址呢

因为PC1开始发数据的时候,发现目标地址是 192.168.2.1 ,和自己不再同一网段。(这里需要说明一下:并不能简单的认为 192.168.1.x 和 192.168.2.x 就不在同一网段,这里是刚好192.168.1.x 和 192.168.2.x 不在同一网段。同一网段的概念后面要重新的说明。),

发现不在同一网段,意味着一定要通过路由器来传递数据。

那么第一步就是去找 和自己相连端的 路由器的mac 地址,因此就发送一个ARP,找谁呢?找和自己链接的路由器的mac地址。因此有了如下的ARP,

2.当第一个APR 发送完成后,PC1就可以得到 和自己链接的 路由器的 mac 地址了。

这时候可以回头再看一下 路由器的和 PC1 这边链接的地址 ,以验证我们的想法

3. next一步,就可以看到:

PC1开始发送数据,注意这时候 IP。要求的源IP是 192.168.2.22,是不在同一网段的。

但是mac 地址还是寻找的 和 PC1 链接的

4. 当路由器收到数据后,发现目标地址是 192.168.2.22是和自己不在同一网段的。

于是就会把数据 通过 路由器 内部 计算后,转到 路由器 192.168.2.1 的网关。 

那么这个 192.168.2.1 的网关,就会再次发一个 ARP请求,因为 192.168.2.1 还不知道 192.168.2.22的 mac 地址,因此又会看到一次 ARP请求。

该ARP的返回结果为 

理论上这时候应该 接着从 路由器 回复 ICMP 信息到PC1,但是实际上不是。看起来当PC2 回复了自己的mac 地址给交换机后,交换机将数据发送给了 路由器3 后就没有后续了。

那么 是否说明:当第一次找一个IP地址的时候,都是会发两回数据呢? 这个目前只是一个猜测,不是结论。todo:测试该猜想

当第二次发送数据 从个PC1 到 PC2的时候:我们可以,就都是ICMP,没有arp 了,

总结:

路由器是用来隔离两个不同网段的。

如果源IP 和目的 IP 在同一网段,则不会经过路由器到达 路由器的另一端

如果源IP 和目的 IP 不在同一网段,则会经过路由器到达 路由器的另一端

额外的问题:说明,路由是真的隔绝两个两个不同的 网段

10. MAC

理论上是全球唯一的,占6字节。

使用 ipconfig -all  可以看到mac 地址

设置静态的 IP 和mac 地址的对应信息

arp -s 192.168.1.11 00-11-22-33-44-55

静态的 mac 地址,可以保存的比较久。

冬天的mac 地址,好像只能保存2分钟

11 IP地址,子网掩码,同一网段

注意如下的4部分是按照 4个字节分的。

按照功能可以分为两部分

同一网段:也就是网络ID相同。

计算公式为: 子网掩码 & IP地址

例如: IP 为192.168.1.11

子网掩码是 255.255.255.0

那么该网段 就是  192.168.1.0

子网掩码:

A 类IP 地址默认为的:

255.0.0.0

B 类IP 地址默认为的:

255.255.0.0

C 类IP 地址默认为的:

255.255.255.0

D类 E类没有 子网掩码

12 子网划分

为什么要进行子网划分?

需要是我们要将500个电脑 划分在同一网段内,C类网段肯定是不够的。

那么一种方法是 弄两个C类网段 ,然后使用路由器连接起来

如果我们就是想这500个在一起,就应该弄一个B类网段,但是我们知道B类网段可以划分的主机是 65534个,我们只用500个,浪费很大,那么应该怎么实现500个都在同一网段,但是又不浪费呢?就要使用到 子网划分 技术了。

等长子网划分的意思就是:假设B类网段,有65534个,我们可以分成N份(我们这里就假设是16份),那么我们每一个子网 可以分配的主机就有 65534/16 = 4,095.875个主机,也就是4095个主机

变长子网划分,意思就是划分出来的 子网长度是不一样的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【考研数学】概率论中集合间的运算图示

今天要给大家分享的笔记是:《概率论中的4种“集”:交集、并集、差集、补集》:

修复msvcp120.dll丢失的问题的几种简单方法,msvcp120.dll是什么

在使用电脑时,你可能会遭遇一个提示称“msvcp120.dll丢失”的错误信息。这个问题比较普遍,主要是因为你的系统中缺失了某个特定的动态链接库(DLL)文件。msvcp120.dll是由 Microsoft Visual C 可再发行包提供的关键文件&#xff0c…

【C++】C++11新增语法(右值引用、完美转法)

文章目录 1.C11新增常用语法1.1 统一的列表初始化1.2 initializer_list初始化1.3 声明相关1.4 继承与多态相关 2. 右值引用与移动语义2.1 左值引用与右值引用2.2 右值引用与移动语义的使用场景2.3 右值引用引用左值(move) 3. 完美转发4. 新的类功能4.1 新增两个默认成员函数4.2…

测试开发面试题,助你拿高薪offer

进入金九银十,很多小伙伴有被动跳槽的打算,所以更新一些测试开发 面试题,希望能帮到大家。 一 请说一下HTTP 状态码 HTTP状态码大致分为5类: 常见的http状态码如下: 二 python中“” 和“ is ”的区别 is 和 都可以进行对象比…

bash: llamafactory-cli: command not found解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

探索翻译新世界:2024年超越期待的翻译应用推荐

现在社会因为交通、互联网的便利,不同国家之间的交流变得简单起来。无论是商务合作、学术研究还是日常沟通,准确、快速地跨越语言障碍都显得尤为重要。今天我来介绍一些和百度翻译类似的多用途的翻译工具。 1.福昕在线翻译 链接一下>>https://fa…

《LeetCode热题100》---<4.子串篇三道>

本篇博客讲解LeetCode热题100道子串篇中的三道题 第一道:和为 K 的子数组 第二道:滑动窗口最大值 第三道:最小覆盖子串 第一道:和为 K 的子数组(中等) 法一:暴力枚举 class Solution {public in…

C语言进阶 13. 文件

C语言进阶 13. 文件 文章目录 C语言进阶 13. 文件13.1. 格式化输入输出13.2. 文件输入输出13.3. 二进制文件13.4. 按位运算13.5. 移位运算13.6. 位运算例子13.7. 位段 13.1. 格式化输入输出 格式化输入输出: printf %[flags][width][.prec][hlL]type scanf %[flags]type %[fl…

yolo格式数据集之空中及地面拍摄道路病害检测7种数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用

yolo格式数据集之空中及地面拍摄道路病害检测7种数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用 本数据为空中及地面拍摄道路病害检测检测数据集,数据集数量如下: 总共有:33585张 训练集:6798张 验证集:3284张 测试集&a…

视频监控国标GB28181平台EasyGBS如何更换默认的SQLite数据库?

视频流媒体安防监控国标GB28181平台EasyGBS视频能力丰富,部署灵活,既能作为业务平台使用,也能作为安防监控视频能力层被业务管理平台调用。国标GB28181视频EasyGBS平台可提供流媒体接入、处理、转发等服务,支持内网、公网的安防视…

数据集相关类代码回顾理解 | np.mean\transforms.Normalize\transforms.Compose\xxx.transform

数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter 目录 np.mean transforms.Normalize transforms.Compose xxx.transform np.mean meanRGB[np.mean(x.numpy(),axis(1,2)) for x,_ in train_ds] 计算每个样本的(RGB&#xff0…

鸿蒙应用框架开发【JS注入与执行】 Web

JS注入与执行 介绍 本示例基于H5游戏,通过arkui的button实现对游戏实现基本控制,展示webview的JS注入与执行能力,及native应用与H5的通信能力。 效果预览 使用说明 1.设备连接热点,可访问互联网。 2.打开应用,通过…

【Java】如何避免超预期的高并发压力压垮系统?

一、问题解析 在互联网高可用架构设计中,限流是一种经典的高可用架构模式。因为某些原因,大量用户突然访问我们的系统时,或者有黑客恶意用DoS(Denial of Service,拒绝服务)方式攻击我们的系统时&#xff0…

oracle表、表空间使用空间

文章目录 一、Oracle查询表空间占用情况二、Oracle查询表占用的空间三、Oracle查询表空间使用情况四、Oracle查询每张表占用空间五、表空间大小 TOC 一、Oracle查询表空间占用情况 oracle日常工作中查看表占用空间大小是数据库管理中的基本操作: SELECT a.tablesp…

大龄程序员转型攻略:拥抱人工智能,开启新征程

前言 随着科技的飞速发展,人工智能浪潮席卷全球,相关岗位炙手可热。在这个背景下,许多大龄程序员开始思考如何转型,以适应时代的变化。结合自身编程基础,大龄程序员可以学习机器学习、深度学习算法,投身于…

MySQL 高性能索引使用策略

文章目录 前置知识表准备一. 不在索引列上使用任何操作二. 联合索引字段列全值匹配三. 最佳左前缀法则四. 范围条件放最后五. 覆盖索引使用六. 不等于导致索引失效七. is null/not null 影响八. like 查询的使用九. 字符类型加引号十. OR关键字前后索引问题十一. 利用索引来做排…

昇思25天学习打卡营第XX天|Pix2Pix实现图像转换

Pix2Pix是一种基于条件生成对抗网络(cGAN)的图像转换模型,由Isola等人在2017年提出。它能够实现多种图像到图像的转换任务,如从草图到彩色图像、从白天到夜晚的场景变换等。与传统专用机器学习方法不同,Pix2Pix提供了一…

【Dart 教程系列第 49 篇】什么是策略设计模式?如何在 Dart 中使用策略设计模式

这是【Dart 教程系列第 49 篇】,如果觉得有用的话,欢迎关注专栏。 博文当前所用 Flutter SDK:3.22.1、Dart SDK:3.4.1 文章目录 一:什么是策略设计模式?二:为什么要使用策略设计模式&#xff1…

pytest框架的作用--面试

在做接口自动化的时候我们经常会用到pytest这个框架,这个框架有哪些优点 1. 帮我们找到用例 模块名必须以test_开头;类名必须以Test开头,并且不能有init方法;用例方法必须以test开头 2.执行用例 有很多参数设置执行 3. 断言-可以…

大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…