05. 交换机的基本配置
文章目录
- 一. 初识交换机
- 1.1. 交换机的概述
- 1.2. Ethernet_ll格式
- 1.3. MAC分类
- 1.4. 冲突域
- 1.5. 广播域
- 1.6. 交换机的原理
- 1.7. 交换机的3种转发行为
- 二. 初识ARP
- 2.1. ARP概述
- 2.2. ARP报文格式
- 2.3. ARP的分类
- 2.4. 免费ARP的作用
- 三. 实验专题
- 3.1. 实验1:交换机的基本原理与配置
- 3.1.1. 实验目的
- 3.1.2. 实验拓扑图
- 3.1.3. 实验步骤
- (1)配置IP地址
- (2)实验调试
- ① 查看交换机信息
- ② 访问测试
- ③ 查看交换机信息
- 3.2. 实验2:动态ARP的原理与配置
- 3.2.1. 实验目的
- 3.2.2. 实验目的
- 3.2.3. 实验目的
- (1)配置PC机的IP地址
- (2)查看PC机的ARP缓存表
- ① 查看缓存表
- ② 测试发送
- ③ 抓包结果
- 3.3. 实验3:静态ARP的原理与配置
- 3.3.1. 实验目的
- 3.3.2. 实验拓扑图
- 3.3.3. 实验步骤
- (1)配置PC机的ip地址
- (2)界面静态ARP绑定配置
- 3.4. 实验4:代理ARP的原理与配置
- 3.4.1. 实验目的
- 3.4.2. 实验拓扑图
- 3.4.3. 实验步骤
- (1)配置PC机的IP地址
- (2)配置路由器的IP地址
- (3)代理ARP测试(无配置代理ARP)
- (4)配置代理ARP
- (5)代理ARP测试(配置代理ARP)
- (6)查看路由表接口信息
- 四. 交换机的基本原理命令汇总
一. 初识交换机
1.1. 交换机的概述
二层交换设备工作在OSI模型的第二层,即数据链路层,它对数据包的转发是建立在Mac(媒体访问控制)地址基础之上的。
二层交换设备不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互联的主机(或网络)之间不必再担心流量大对数据发送冲突的影响。
在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网中的传输标准。
- 了解以太网协议是充分理解数据链路层通信的基础;
- 以太网交换机是实现数据链路层通信的主要设备;
- 了解以太网交换机的工作原理也是十分必要的;
1.2. Ethernet_ll格式
格式名称 | 说明 |
---|---|
DMAC | 目的Mac地址,6B,该字段标识帧的接收者 |
SMAC | 源 Mac地址,6B,该字段标识帧的发送者 |
Type | 协议类型 |
Data | 数据字段,46~1500B。标识帧的负载 |
FCS | 帧校验序列,4B,是一种为接收者提供判断是否传输错误的方法,如果发现错误则丢弃此帧 |
1.3. MAC分类
名称 | 说明 |
---|---|
单播MAC地址 | 第8位为0,用于标识链路上的一个单一节点 |
组播MAC地址 | 第8位,为1,用来代表局域网上的一组终端 |
广播MAC地址 | 全1,用来表示局域网上的所有终端设备 |
1.4. 冲突域
冲突域是指连接在同一共享介质上的所有节点的集合
1.5. 广播域
广播域是指一个节点发送一个广播报文,其余节点都能够收到的节点的集合
1.6. 交换机的原理
- 基于源Mac地址学习
- 基于目的Mac地址转发
- 收到的是一个广播帧或者未知的广播帧,除源端口以外所有端口转发
1.7. 交换机的3种转发行为
行为方式 | 描述 |
---|---|
Flooding(泛洪) | 交换机把某一个接口接收的数据帧从除源端口以外所有的端口转发出去,是一种点到多点的转发行为。(包含3种情况:收到广播数据帧、收到组播数据帧、收到未知单播数据帧) |
Forwarding(转发) | 交换机从某一个接口收到的数据帧从另一个端口转发出去是一种点到点的行为 |
Discarding(丢弃) | 交换机把从某一端口进行的帧直接丢弃 |
二. 初识ARP
2.1. ARP概述
在局域网中,当主机或其他三层网络设备有数据要发送给另一台主机或三层网络设备时,它需要知道对方的网络层地址(即IP地址)
但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送。
因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要从一个IP地址到Mac地址的映射。
ARP可以实现将IP地址解析为Mac地址。
主机或三层网络设备上会维护一张ARP表,用于存储IP地址和Mac地址的关系。一般ARP表项包括动态ARP表项和静态ARP表项
2.2. ARP报文格式
报文名称 | 描述 |
---|---|
Hardware Type | 硬件地址类型,一般为以太网 |
Protocal Type | 三层协议地址类型,一般为IP |
Hardware Length & Protocol Length | Mac地址和IP地址的长度,单位为字节 |
Operation Code | 指定ARP报文的类型,包括ARP Request和ARP Reply |
Source Hardware | 接收者的Mac地址,在ARP报文中,该字段值为0 |
Destination Protocol Address | 接收者的IP地址 |
2.3. ARP的分类
种类 | 描述 |
---|---|
动态ARP | 表项有ARP协议,通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。动态ARP适用于拓扑结构复杂、通信实时性要求高的网络 |
静态态ARP | 是由网络管理员手工建立的IP地址和Mac地址之间固定的映射关系。静态ARP表象不会被老化,不会被动态ARP表象覆盖 |
免费ARP | 设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称为免费ARP |
2.4. 免费ARP的作用
用途 | 描述 |
---|---|
IP地址冲突检测 | 当设备接口协议状态变为up时,设备主动对外发送免费的ARP报文,正常情况下不会受到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。 |
通告新的Mac地址 | 如:发送方更换了网卡,Mac地址发生了改变。为了能够在动态ARP表象老化前通告网络中其他设备,发送方可以发送一个免费ARP |
代理ARP | 如果ARP请求是从一个网络的主机发送同一个网站,但不同于物理网络上的另一台主机,那么连接这两个网络的设备就可以回答该网ARP请求,这个过程称为代理ARP |
三. 实验专题
3.1. 实验1:交换机的基本原理与配置
3.1.1. 实验目的
掌握交换机的基本原理
3.1.2. 实验拓扑图
3.1.3. 实验步骤
(1)配置IP地址
1)PC1的配置
在【IPV4配置】栏中选中【静态】单选按钮,输入对应的【IP地址】【子网掩码】和【网关】,然后点击应用按钮。PC2、PC3、PC4的配置步骤如图所示:
2)PC2的配置
3)PC3的配置
4)PC4的配置
(2)实验调试
① 查看交换机信息
#查看交换机的Mac地址表
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]display mac-address #查看mac地址表
如图所示:
可以看到,交换机的Mac地址表为空,表示交换机设备没有开始转发数据时Mac地址默认是为空的
② 访问测试
#在PC1上访问PC4
PC>ping 192.168.1.4
如图所示:
③ 查看交换机信息
#查看交换机MAC地址表,命令如下:
[LSW1]display mac-address
如图所示:
以上输出结果显示了交换器的Mac的地址表
思考: PC访问PC4的数据转化过程是怎样的?
- PC1封装时没有PC4的Mac地址,要通过ARP知道PC4的Mac地址;
- PC1封装数据,把它从E0/0/1接口转发给交换机;
- 交换机收到数据后,查看数据帧,首先学习PC1的Mac地址,然后泛洪数据帧;
- PC2、PC3收到数据包以后不做处理,PC4是收到数据包后要回应PC1从G1/0/0/1接口转发出去,最后PC1收到数据包
3.2. 实验2:动态ARP的原理与配置
3.2.1. 实验目的
- 掌握ARP表项内容
- 掌握ARP动态获取MAC地址的过程
3.2.2. 实验目的
3.2.3. 实验目的
(1)配置PC机的IP地址
1)配置PC1的地址
在【IPV4配置】栏中选中【静态】单选按钮,输入对应的【IP地址】【子网掩码】和【网关】,然后点击应用按钮。PC1的配置步骤如图所示:
2)配置PC2的地址
如图所示:
(2)查看PC机的ARP缓存表
① 查看缓存表
#查看PC1的ARP缓存表,在PC1的命令行界面输入“arp -a”
PC>arp -a
#查看PC2的ARP缓存表,在PC1的命令行界面输入“arp -a”
PC>arp -a
如图所示:
ARP的参数信息
参数名 | 描述 |
---|---|
Internet Address | 代表IP地址 |
Physical Address | 代表MAC地址 |
Type | 代表ARP表项的形式方式 |
② 测试发送
#PC1访问PC2,并查看PC1的ARP缓存表
PC>ping 10.1.1.2
PC>arp -a
如图所示:
以上图可以看出PC1学习到了10.1.1.2,这个ip地址对应的mac地址为54-89-98-81-23-EE 。
③ 抓包结果
对刚刚圈出两个抓包数据,双击点击进去查看,如图所示:
技术要点:
PC1访问PC2时动态学习MAC地址的工作过程是怎样的?
- PC1访问PC2访问前,首先查看自己的ARP缓存表,若表项为空,则就无法封装数据帧的目的MAC地址字段;
- PC1以广播报文的形式发送ARP request报文请求PC2的MAC地址,ARP请求包中会还会携带PC1的ip地址以及MAC地址;
- PC2收到PC1发送
ARP request
报文后,会先把PC1的ip地址以及mac地址对应关系添加到自己的ARP缓存表中; - 交换机收到了单播报文后,将此报文转发给PC1;
- PC1收到报文后,将得知PC2的mac地址以及ip地址的对应关系并假如自己的缓存表中
3.3. 实验3:静态ARP的原理与配置
3.3.1. 实验目的
- 掌握静态ARP的配置方法
- 理解静态ARP的工作原理
3.3.2. 实验拓扑图
3.3.3. 实验步骤
(1)配置PC机的ip地址
1)PC1机的ip配置
2)PC2机的ip配置
(2)界面静态ARP绑定配置
1)PC1机静态ARP绑定配置
PC>arp -s 10.1.1.2 54-89-98-2E-6C-F1 #配置静态ARP绑定
PC>arp -a .
PC>arp -a
如图所示:
2)PC2机静态ARP绑定配置
PC>arp -s 10.1.1.1 54-89-98-F1-65-7C
PC>arp -a
如图所示:
3.4. 实验4:代理ARP的原理与配置
3.4.1. 实验目的
- 掌握代理ARP的配置方法
- 理解代理ARP的工作原理
3.4.2. 实验拓扑图
3.4.3. 实验步骤
(1)配置PC机的IP地址
1)PC1机的ip地址配置
2)PC2机的ip地址配置
(2)配置路由器的IP地址
<AR1>system-view
[AR1]undo info-center enable
[AR1]sysname AR1
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[AR1-GigabitEthernet0/0/0]interface g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 10.1.2.1 24
[AR1-GigabitEthernet0/0/1]
如图所示:
(3)代理ARP测试(无配置代理ARP)
#这是没有配置代理ARP测试的结果
PC>ping 10.1.2.2
如图所示:
以上说明,没有配置代理ARP前,PC1是无法访问PC2的尽管IP分别是10.1.1.2/16、10.1.2.2/16
,且属于10.1.0.0/16
网段,但是对于相同网段设备互访会使用二层通信。
此时PC会发送ARP请求报文(广播包),请求PC2的Mac地址,而路由设备会隔离广播,不会将这个ARP报文转发给PC2。
因此PC1学习不到PC2的Mac地址,无法封装数据帧,导致无法互访。
(4)配置代理ARP
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]arp-proxy enable #在g0/0/0接口开启代理ARP功能
[AR1-GigabitEthernet0/0/0]interface g0/0/1
[AR1-GigabitEthernet0/0/1]arp-proxy enable #在g0/0/1接口开启代理ARP功能
如图所示:
(5)代理ARP测试(配置代理ARP)
#PC1访问PC2
PC>ping 10.1.2.2
PC>arp -a
如图所示:
通过以上输出可以看到,PC1可以访问PC2,并且学习到了PCR的IP地址和Mac地址的对应关系。
接下来,了解一下代理ARP的工作过程
- PC1访问10.1.2.2,由于与本身配置的IP地址10.1.1.2属于相同网段,因此PC1会发送ARP请求报文到PC2的Mac地址;
- 由于路由器会隔离广播包,因此在没有配置代理ARP前,两台设备是无法互访的;
- 在路由器上配置了代理ARP后,路由器收到ARP请求报文后,路由器会查找路由表,由于PC2与路由直连,因此路由器存在PC2的直连路由表象,因此路由器使用自己的Mac的地址给PC1发送ARP应答报文;
- PC1收到了路由器的ARP应答报文,将路由器的。
G0/0/0/0
接口的Mac地址与PC2的IP地址进行ARP映射,下次使用路由器的Mac地址进行数据转发,此时路由器相当于PC2的代理
(6)查看路由表接口信息
[AR1]display interface g0/0/0
如图所示:
可以发现路由器的G0/0/0
接口的Mac地址为5489-9847-309b
与以PC1上学习到的10.1.2.2
的Mac地址一致验证了上面的说法。
可以将这种代理ARP
堪作一种欺骗,ARP路由器欺骗了PC1
,它传递的PC1
的信息是PC2
的Mac地址为路由器接口的Mac地址。
只不过这种欺骗是一种善意欺骗,可以让IP地址属于同一网站却不属于同一物理网络的主机间相互通信。
四. 交换机的基本原理命令汇总
命令 | 作用 |
---|---|
display mac-address | 查看交换机Mac的地址表 |
mac-address aging-time | 修改Mac地址表的老化时间 |
arp -a | 查看PC机的ARP缓存表 |
arp -s | 在PC机上绑定IP地址和Mac地址 |
arp proxy enable | 在路由器上开启ARP代理功能 |
相关文章:

05. 交换机的基本配置
文章目录 一. 初识交换机1.1. 交换机的概述1.2. Ethernet_ll格式1.3. MAC分类1.4. 冲突域1.5. 广播域1.6. 交换机的原理1.7. 交换机的3种转发行为 二. 初识ARP2.1. ARP概述2.2. ARP报文格式2.3. ARP的分类2.4. 免费ARP的作用 三. 实验专题3.1. 实验1:交换机的基本原…...
yolo将标签数据打到原图上形成目标框
第一章 目标:为了查看自己在标注标签时是否准确,写了这段代码来将标注的框打到原图上 第二章 步骤:进行反归一化得到坐标画出矩形框 第二行是目标图片对应的txt,第三行是目标图片 第三章 全部代码如下: import cv2 import …...
002-00-02【大红ai源码】dolphinscheduler3.2.0 源码环境搭建------by孤山村头王大爷家女儿大红
【ai阅读源码-dolphinscheduler】 DolphinScheduler 开发手册1、软件要求2、克隆代码库3、编译打包4、代码风格5、新建数据库,导入元数据。6, 启动后端6.1 启动api-server 6.2 启动master-server6.3 启动worker-server 7 启动前端 DolphinScheduler 开发…...
python-自动化篇-运维-监控-如何使⽤Python处理和解析⽇志⽂件?-实操记录
文章目录 1. 选择日志文件格式: 确定要处理的日志文件的格式。不同的日志文件可能具有不同的格式,如文本日志、CSV、JSON、XML等。了解日志文件的格式对解析⾮常重要。2. 打开日志文件: 使⽤Python的文件操作功能打开日志文件,以便…...

代码随想录算法训练营DAY6 | 哈希表(1)
DAY5休息一天,今天重启~ 哈希表理论基础:代码随想录 Java hash实现 :java 哈希表-CSDN博客 一、LeetCode 242 有效的字母异位词 题目链接:242.有效的字母异位词 思路:设置字典 class Solution {public boolean isAnag…...

【嵌入式学习】C++QT-Day3-C++基础
笔记 见我的博客:https://lingjun.life/wiki/EmbeddedNote/19Cpp 作业 设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函…...

表贴式PMSM的直接转矩控制(DTC)MATLAB仿真模型
微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 表贴式PMSM的直接转矩控制(DTC),直接使用滞环控制对转矩和磁链进行控制,相对于传统的FOC控制而言,其不需要进行解耦变换,在此次的有以下几点需要注意:…...

详解OpenHarmony各部分文件在XR806上的编译顺序
大家好,今天我们来谈一谈编程时一个很有趣的话题——编译顺序。我知道,一提到编译可能大家会感到有点儿头疼,但请放心,我不会让大家头疼的。我们要明白,在开始写代码之前,了解整个程序的编译路径是十分有必…...
【美团】无人机-大数据开发工程师
更新时间:2024/01/29 工作地点:北京市 事业群:到家事业群 工作经验:3年 部门介绍 为了更好地提升城市即时配送的效率与体验,美团于2017年启动了无人机配送服务的探索,通过科技创新推动履约工具变革&#x…...
微服务系统设计:横向扩展和纵向扩展的对比
微服务扩展性:水平扩展 vs 垂直扩展 特点水平扩展垂直扩展扩展单位增加微服务实例增加单个实例的资源 (CPU,内存)方向向外,增加节点向上,增加单个节点的资源复杂性随着实例数量的增加,管理难度更大管理更简单…...

Java基于SpringBoot+Vue的网上超市管理系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

HTTP中POST、GET、PUT、DELETE方式的区别
GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作&#x…...
77.Go中interface{}判nil的正确姿势
文章目录 一:interface{}简介二、interface{}判空三:注意点四:实际案例 一:interface{}简介 在go中的nil只能赋值给指针、channel、func、interface、map或slice类型的变量 interface 是否根据是否包含有 method,底层…...

ES实战回顾
1、你用的集群节点情况? 一个ES集群,18个节点,其中3个主节点,15个数据节点,500G左右的索引数据量,没有单独的协调节点,它的每个节点都可以充当协调功能; 2、你们常用的索引有哪些&a…...

Mysql 删除数据
从数据表中删除数据使用DELETE语句,DELETE语句允许WHERE子句指定删除条件。DELETE语句基本语法格式如下: DELETE FROM table_name [WHERE <condition>]; table_name指定要执行删除操作的表;“[WHERE <condition>]”为可选参数&a…...

CSS设置单行文字水平垂直居中的方法
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>单行文字水平垂直居中</title><style>div {/* 给div设置宽高 */width: 400px;height: 200px;margin: 100px auto;background-color: red;/…...
数论与图论
数论🎈 筛质数 最普通的筛法O(nlogn): void get_primes2(){for(int i2;i<n;i){if(!st[i]) primes[cnt]i;//把素数存起来for(int ji;j<n;ji){//不管是合数还是质数,都用来筛掉后面它的倍数st[j]true;}} } 诶氏筛法 O(nloglogn)&#…...

海外云手机三大优势
在全球化潮流下,企业因业务需求对海外手机卡等设备的需求不断攀升,推动了海外云手机业务的蓬勃发展。相较于自行置备手机设备,海外云手机不仅能够降低成本,还具备诸多优势,让我们深入探讨其中的三大黄金优势。 经济实惠…...
AndroidStudio安装教程基础篇
Android Studio是专为Android应用程序开发而设计的官方集成开发环境(IDE)。它提供了丰富的工具和功能,帮助开发者更高效地构建出色的应用程序。本文将为您提供Android Studio的安装文档基础指南,帮助您顺利安装并开始使用这款强大…...

RK3568 Android 13 系统裁剪
android 13 系统裁剪是个大工程,裁剪也是需要大量的测试,才能保证系统的稳定性,以下是RK官方给出的裁剪方案,有兴趣的可以去看一下,对裁剪不是要求过高的可以根据官方的建议,对系统进行裁剪: Rockchip And…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...