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

目录

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

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

一、以太网协议

  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.mzph.cn/news/711792.shtml

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

相关文章

android移动应用开发基础答案,安卓工程师面试题

一线企业的app都是多线程和多进程的,而Android进程间通信机制就是Binder,原生的线程间通信则是Handler,Binder和Handler是了解安卓运行机制必须要掌握的一个知识点,更是一线企业面试必问的知识点! 以下几道就是大厂关于…

【QT+QGIS跨平台编译】之五十五:【QGIS_CORE跨平台编译】—【qgsmeshcalcparser.cpp生成】

文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…

Unity中URP实现水体(整理优化)

文章目录 前言一、优化水的深度1、我们把 水流动的方向 和 水深浅过渡值,整合到一个四维变量中2、修改 水体流动方向3、在片元着色器中,修改使用过渡变量 二、优化泡沫三、优化水下的扭曲1、修复原本扰动UV的计算 四、优化水面高光1、把高光强度、光滑度…

红队基础设施建设

文章目录 一、ATT&CK二、T1583 获取基础架构2.1 匿名网络2.2 专用设备2.3 渗透测试虚拟机 三、T1588.002 C23.1 开源/商用 C23.1.1 C2 调研SliverSliver 对比 CS 3.1.2 CS Beacon流量分析流量规避免杀上线 3.1.3 C2 魔改3.1.4 C2 隐匿3.1.5 C2 准入应用场景安装配置说明工具…

深度学习 精选笔记(2)自动求导与概率

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

Linux系统——LAMP架构

目录 一、LAMP架构组成 1.LAMP定义 2.各组件的主要作用 3.CGI和FastCGI 3.1CGI 3.3CGI和FastCGI比较 4.PHP 4.1PHP简介 4.2PHP的Opcode语言 4.3PHP设置 二、LAMP架构实现 1.编译安装Apache httpd服务 2.编译安装Mysql 3.编译安装PHP 4.安装论坛 5.搭建博客 W…

Linux编程 2.4 文件和目录-Linux文件系统结构

1、文件操作基本元素 文件操作相关的最基本元素是:目录结构、索引节点和文件的数据本身。 目录结构(目录项)索引节点(i节点)文件的数据 2、文件系统的三个区域 属性: 超级块:存放文件系统本身…

【学习心得】Python调用JS的三种常用方法

在做JS逆向的时候,一种情况是直接用Python代码复现JS代码的功能,达成目的。但很多时候这种方法有明显的缺点,那就是一旦JS代码逻辑发生了更改,你就得重写Python的代码逻辑非常不便。于是第二种情况就出现了,我直接得到…

python自动化管理和zabbix监控网络设备(防火墙和python自动化配置部分)

目录 前言 一、ssh配置 1.FW1 2.core-sw1 3.core-sw2 二、python自动化配置防火墙 三、验证DNAT 四、验证DNAT 前言 视频演示请访问b站主页 白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 一、ssh配置 给需要自动化管理的设备配置ssh服务端用户名和密码 1.FW1 …

纯css实现-让字符串在文字少时显示为居中对齐,而在文字多时显示为左对齐

纯css实现-让字符串在文字少时显示为居中对齐,而在文字多时显示为左对齐 使用flex实现 思路 容器样式(.container): Flex容器的BFC性质使得其内部的子元素(.text-box)在水平方向上能够居中,通过justify-c…

生态环境数据分析新篇章:Meta分析、R语言、Matlab、贝叶斯、结构方程模型等的前沿实践

目录 ①Meta分析在生态环境领域里的应用 ②R语言在生态环境领域中的应用 ③MATLAB在生态环境数据处理与分析中的应用 ④基于R语言piecewiseSEM结构方程模型在生态环境应用 ⑤R语言贝叶斯方法在生态环境领域中的高阶技术应用 更多应用 为了Meta分析问题的设计、基础理论、…

【菜鸟入门!】Matlab零基础快速入门教程

数学建模竞赛中,编程软件是必不可缺少的,比如大家都熟知的MATLAB多数同学们都会经常用到,今天给大家介绍一些MATLAB的基本元素,希望帮助大家更好的掌握编写基本的函数! 变量和数组 MATLAB 程序的基本数据单元是数组。一…

Vue.js的双向绑定原理

Vue的双向绑定 vue双向绑定是其最重要的核心亮点,其原理也很简单,这里做个简单总结 vue2的双向绑定是利用的Object.definePropertyvue3的双向绑定是利用的 ES6Porxy中的defineProperty(target, propKey, propDesc 其作用类似于Object.defineProperty …

您想要拥有 Apple Vision Pro 的原因

自从2024年2月2日Apple Vision Pro发布以来,网上已经有很多关于如何使用这款苹果最新设备的示例。该平台引入的空间计算新世界能够完成许多在其他设备上无法完成的事情。Reddit 上的这个人能够以 51202160 的分辨率从他的 PC 上串流游戏!在本文中&#x…

SpringMVC01、回顾MVC

1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。…

Docker部署前后端服务示例

使用Docker部署js前端 1.创建Dockerfile 在项目跟目录下创建Dockerfile文件: # 使用nginx作为基础镜像 FROM nginx:1.19.1# 指定工作空间 WORKDIR /data/web# 将 yarn build 打包后的build文件夹添加到工作空间 ADD build build# 将项目必要文件添加到工作空间&a…

数据结构—>带你深入了解单链表(基础篇)

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 前面我们学习了顺序表,今天我们来学习与顺序表类似的单链表 1.&#x1f3…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:透明度设置)

设置组件的透明度。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 opacity opacity(value: number | Resource) 设置组件的不透明度。 卡片能力: 从API version 9开始,该接口…

香橙派AIpro快速上手指南

1 前言 作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀,其8/20TOPS澎湃算力是目前开发板市场中所具备的最大算力,能覆盖生态开发板者的主流应用场景,让用户实践各种创…

Web自动化测试平台开发---Automated_platform

一、项目简介 历时一个假期,Automated_platform 第一版完工,是一款基于po模式的自动化测试平台,采用后端技术为DjangoceleryRabbitMQmysql 配置mysql数据库,进行数据迁移后,运行项目后,即可成功访问http://127.0.0.1:8…