11.以太网交换机工作原理

news2025/2/25 2:24:23

目录

  • 一、以太网协议
  • 二、以太网交换机原理
  • 三、交换机常见问题思考
  • 四、同网段数据通信全过程
  • 五、跨网段数据通信全过程
  • 六、关键知识
  • 七、调试命令

前言:在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。

一、以太网协议

  1. 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。

  2. 以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。

     早期使用集线器(HUB)组网
     现在使用交换机组网。
    

在这里插入图片描述

  1. 冲突域

     冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。
     早期以太网(HUB组网):
     	① 在传统的以太网中,同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突。
     	② 同一介质上的节点越多,冲突发生的概率越大。
     	③ 解决机制:CSMA/CD(带有冲突检测的载波侦听多路存取):所有节点都共享网络传输信道,节点在发送数据之前,首先检测信道是否空闲,如果信道空闲则发送,否则就等待;在发送出信息后,再对冲突进行检测,当发现冲突时,则取消发送。
     交换机以太网(现在用的):
     	① 隔离冲突域,每个接口相当于1个独立的冲突域。
     	② 交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。
    

在这里插入图片描述

  1. 广播域

     广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。	
    

在这里插入图片描述

  1. 以太网帧格式

     以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。
     以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。
     	※ Ethernet_Ⅱ最常用
     	※ thernet_II和IEEE 802.3帧前面两个字段都是D.MAC与S.MAC,交换机只会拆到这,所以交换机不知道接收到的帧具体是哪个格式的。
    

在这里插入图片描述

二、以太网交换机原理

  1. 典型的园区网架构

     出口层(通常为路由器):连接公网
     核心层(通常是三层交换机):负责用户的数据交换
     汇聚层(通常是三层交换机):把用户的数据汇聚起来转发给核心层
     接入层(通常是二层交换机):用于把用户接进来(扩展接口的)
    

在这里插入图片描述

  1. 以太网二层交换机

     以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部 (以太网数据帧头) 中的MAC地址进行寻址并转发数据。
    
  2. 交换机的工作原理

     交换机在接收到任意类型的数据帧时,首先是学习并生成MAC表项(数据帧源MAC地址与入端口对应关系),如果该项已经存在,会更新其老化时间(华为大部分设备默认是300秒),然后将该数据帧从对应的端口转发出去;如果没有该项,则会将其泛洪(转发给所有端口);
    

在这里插入图片描述

  1. MAC地址表

     每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。
     华为大部分设备默认地址表项老化时间是300秒。
    

在这里插入图片描述

  1. 交换机的3种数据帧处理行为

    交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:泛洪、转发与丢弃。

在这里插入图片描述

  1. 泛洪

     如图所示
    

在这里插入图片描述

  1. 转发

     如图所示
    

在这里插入图片描述

  1. 丢弃

     交换机接收到数据帧,发现其目的MAC地址对应的接口,是其来方向的入接口时,会将其丢弃(找错交换机了)。
    

在这里插入图片描述

  1. 交换机MAC地址学习

     交换机只有在报文经过时才能学习并构建相应的mac表项。
     交换机接收到报文的第一步是学习mac地址,然后才是其他操作。
    

第一步:

在这里插入图片描述

第二步:

在这里插入图片描述

第三步:

在这里插入图片描述

第四步:

在这里插入图片描述

第五步:

在这里插入图片描述

三、交换机常见问题思考

  1. 交换机接口down后,相应MAC地址表项如何变化?

     对应接口的MAC地址表项会消失。
    
  2. 同一个Vlan中,PC 从交换机A端口迁移到B端口,交换机MAC地址表项如何变化 ?

     会进行变迁到新的接口下。
    
  3. MAC地址表的老化时间是多少?为什么需要老化时间?

     华为大部分设备默认是300秒,新报文经过会刷新老化时间重新计算;为了高效的利用设备的资源,不要太多的mac地址条目。
    
  4. 如何设置“黑洞”MAC?

     交换机系统模式下:mac-address blackhole 5489-98EA-0A02 vlan 1 黑洞mac
    
  5. 交换机的一个接口可以学习多个MAC地址吗?

     可以的(因为一个接口下可能连接了其他交换机,其他交换机下也有很多设备)
    
  6. 交换机的MAC地址表项可以无限增加吗?

     不可以,大交换机的较多,中小型交换机的较少。
    
  7. 交换机和集线器有和区别?

     集线器所有的接口都在一个冲突域下,交换机的每一个接口都是一个独立的冲突域;集线器对于任何报文都是群发,共享链路带宽。
     集线器:老设备、只会翻红、共享链路带宽。
    
  8. 交换机有NAT功能吗?

     大部分交换机都没有nat功能(三层交换机和路由器的功能不是完全一样)
    
  9. 所有交换机的端口都可以切换成路由口吗?

     不是,部分交换机的端口可以(高端交换机,比如华为-H系列)
    

四、同网段数据通信全过程

P25

过程如下:
	① 主机1不知道主机2的mac地址,arp广播
	② 交换机收到arp广播,学习主机1的mac地址,泛洪arp
	③ 主机2接收到arp广播,将主机1的mac与ip写入自己的arp缓存表
	④ 主机2发送单播给主机1,包含自己的mac与ip
	⑤ 主机1收到主机2的mac与ip,将其写入arp缓存表,随后封装icmp报文发送给主机2,开始正式访问
	⑥ 交换机收到icmp,不知道目的(主机2),将其泛洪
	⑦ 主机2收到icmp后,回包给主机1
	⑧ 交换机收到主机2的icmp回包时,将主机2的mac地址与其入端口一起写道mac地址表中,随后查找表,发现自己有主机1的mac地址后,将其从GE0/0/1转发。
	⑨ 主机1接收到主机2的回包,访问结束。

五、跨网段数据通信全过程

P27

过程如下:
		① 主机1访问主机2的ip地址,发现和自己不是一个网段,将其送给R1(网关路由器)
		② 但是主机1不知道R1的mac地址,arp
		③ 交换机收到主机1的arp广播,学习主机1mac地址,泛洪arp
		④ r1收到arp包,将主机1的mac与ip写入arp表,回给主机1单薄(携带r1的ip与mac)
		⑤ 交换机收到r1发送的单播,学习r1的mac,查找mac将其转发给主机1
		⑥ 主机1收到后r1回的单播报文,将r1的ip与mac写入arp表,随后封装icmp报文(目的主机2,mac是R1)
		⑦ 交换机收到icmp,查找mac地址表,发给R1
		⑧ R1收到icmp报文后,查看目的IP地址(是主机2),查找路由表,发出去
		⑨ 到达对端
		⑩ r1不知道主机2的mac地址,arp,
		⑪ 交换机收到arp,学习R1的mac地址生成表项,随后泛洪
		⑫ 主机2收到arp,将R1的ip与mac写到自己的arp表,随后发送单播(携带主机2的ip与mac)给R1
		 交换机收到主机2的单播,学习主机2的mac,发给R1
		⑭ R1收到单薄,把主机2的ip与mac写入arp表。随后发送icmp包。
		 交换机收到icmp,查找mac地址表,转发给主机2
		⑯ 主机2收到icmp,回报给主机1,因为跨网段,所以发给网关R1
				※ 注意:主机1和主机2的网关是R1路由器的两个不同的接口。
		⑰ 交换机收到icmp,查找mac表,发给R1
		⑱ R1收到icmp,查找路由表,发给主机1,
		⑲ 交换机收到icmp,查找mac表,发给主机1
		⑳ 主机1收到回包,访问结束。

六、关键知识

  1. 交换机基于目标mac 转发数据。

  2. 交换机的MAC地址表项需要报文触发才可以构建。

  3. 交换机的MAC地址表是交换机转发数据“地图”。

  4. 交换机MAC地址表中存放:mac地址和端口映射

  5. 泛洪:① 未知单播泛洪 ② 广播泛洪

  6. 交换机根据接收报文的源mac地址来构建自己的MAC地址表项。

七、调试命令

  • dis mac-address 查看mac地址表
  • dis mac-address summary 查看mac地址表概述
  • dis mac-address aging-time 查看mac地址表老化时间
  • mac-address aging-time 305 修改mac地址表的老化时间
  • mac-address blackhole 5489-98EA-0A02 vlan 1 黑洞mac
  • undo mac-address all 清空mac地址表
  • dis arp 查看arp
  • reset arp all 清空arp

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

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

相关文章

详细讲解:文物预防性保护解决方案的目标

一、文物预防性保护方案的系统目标 可移动文物预防性保护监测与调控系统,是博物馆开展科学、有效的预防性保护策略的关键工程,整套系统包括监测系统平台建设、调控设备部署、数据传输设备部署和环境数据监测设备安装工程。项目完成时将达到以下目标: 1)构建覆盖全…

如何在群晖NAS中开启FTP服务并实现公网环境访问内网服务

文章目录 1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP地址连接 本文主要介绍如何在群晖NAS中开启FTP服务并结合cpolar内网穿透工具,实现使用固定公网地址远程访问群晖FTP服务实现文件上传下载。 Cpolar内…

Flutter 数据持久化存储之Hive库

Flutter 数据持久化存储之Hive库 前言正文一、配置项目二、UI① 增加UI② 显示和删除UI 三、使用Hive① 初始化Hive② TypeAdapter自定义对象③ 注册TypeAdapter③ CURD 四、源码 前言 在Flutter中,有多种方式可以进行数据持久化存储。以下是一些常见的方式&#xf…

linux下查看某个命令在哪里个安装包程序下,以ifconfig命令举例子

yum list | grep net-tools (查看yum安装列表中有没有安装指定的软件工具)

Leetcoder Day29| 贪心算法part03

1005.K次取反后最大化的数组和 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后&a…

Fast admin改变对话框的文字,并且绑定参数,确认和取消都可以做修改

需求:点击确认和拒绝都要做出对应的操作 列表添加一个buttos按钮用来单击触发对话框 {field: operate, title: __(Operate), table: table, events: Table.api.events.operate, buttons: [{name: click,title: __(点击执行事件),classname: btn btn-xs btn-info bt…

逆变器专题(6)-正负序分离(二阶广义积分器DSOGI)

相应仿真原件请移步资源下载 DSOGI作为一种常用的正负序分离方法,其可以在电压三相不平衡的状态下实现较为精准的锁相环。 原理 构建基于二阶广义积分器的自适应滤波器来实现90相角偏移和谐波的滤除。 其中,,表示原信号进行滞后90&#xff…

成功解决IndexError: Target 20 is out of bounds.

【PyTorch】成功解决IndexError: Target 20 is out of bounds. 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您…

Redisson限流算法

引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.12.3</version> </dependency>建议版本使用3.15.5以上 使用 这边写了一个demo示例&#xff0c;定…

kswapd0挖矿病毒攻击记录

文章目录 一、起因与病毒分析1、起因2、阿里云告警2.1 恶意脚本代码执行12.2 恶意脚本代码执行22.3恶意脚本代码执行32.4 恶意脚本代码执行4 3、病毒简单分析3.1 病毒的初始化3.2 病毒本体执行 4、总结 二、ubuntu自救指南1、病毒清理2、如何防御 一、起因与病毒分析 1、起因 …

跳跃游戏Ⅱ

问题 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - …

【深蓝学院】移动机器人运动规划--第7章 集群机器人运动规划--笔记

文章目录 0. Contents1. Multi-Agent Path Finding (MAPF)1.1 HCA*1.2 Single-Agent A*1.3 ID1.4 M*1.5 Conflict-Based Search(CBS)1.6 ECBS1.6.1 heuristics1.6.2 Focal Search 2. Velocity Obstacle (VO&#xff0c;速度障碍物)2.1 VO2.2. RVO2.3 ORCA 3. Flocking model&am…

EAS web 界面加载后,隐藏按钮

效果&#xff1a;隐藏下列按钮&#xff1a; 实现方法&#xff1a; 1、创建数据装载事件&#xff1a; 2、隐藏按钮&#xff1a; afterOnloadHideEntryTBBBBBB:function(e){console.log("----------失败222&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&a…

Redis主从、哨兵、Redis Cluster集群架构

Redis主从、哨兵、Redis Cluster集群架构 Redis主从架构 Redis主从架构搭建 主从搭建的问题 如果同步数据失败&#xff0c;查看log日志报错无法连接&#xff0c;检查是否端口未开放出现”Error reply to PING from master:...“日志&#xff0c;修改参数protected-mode no …

WebDAV之π-Disk派盘 + DAVx⁵

DAVx⁵是一款通过标准 CardDAV 和 CalDAV 协议同步通讯录、日历的 Android 应用,支持 iCloud 等云服务,只需要在 Android 端安装,即可实现在 iPhone 与 Android 间双向同步通讯录、日历、提醒事项等数据。 资源自动检测,支持自签名证书,通过客户端证书进行身份验证;可以…

如何使用Windows系统电脑无公网ip远程桌面Ubuntu系统

文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安装VNC viewer连接工具4. 内网穿透4.1 安装cpolar【支持使用一键脚本命令安装】4.2 创建隧道映射4.3 测试公网远程访问 5. 配置固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址5.3 测试…

SpringBoot整合rabbitmq-直连交换机队列(二)

说明&#xff1a;本文章主要是Direct定向/直连类型交换机的使用&#xff0c;它的大致流程是将一个队列绑定到一个直连交换机上&#xff0c;并赋予一个路由键 routingkey&#xff0c;当一个消息携带着路由值为routingkey&#xff0c;这个消息通过生产者发送给交换机时&#xff0…

Unity UI适配规则和对热门游戏适配策略的拆解

前言 本文会介绍一些关于UI适配的基础概念&#xff0c;并且统计了市面上常见的设备的分辨率的情况。同时通过拆解目前市面上较为成功的两款休闲游戏Royal Match和Monopoly GO(两款均为近期游戏付费榜前几的游戏)&#xff0c;大致推断出他们的适配策略&#xff0c;以供学习和参…