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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

猜猜心里数字(个人学习笔记黑马学习)

1.定义一个变量,数字类型,内容随意 2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否和心里数字一致 num5if int(input("请输入第一次猜想的数字:"))5:print("猜对了&#xff0…

JavaEE:多线程(3):案例代码

目录 案例一:单例模式 饿汉模式 懒汉模式 思考:懒汉模式是否线程安全? 案例二:阻塞队列 可以实现生产者消费者模型 削峰填谷 接下来我们自己实现一个阻塞队列 1.先实现一个循环队列 2. 引入锁,实现线程安全 …

mysql修改字段的长度锁表问题

mysql修改字段的长度锁表问题 背景 MySQL(这里指5.6及其后续版本)修改字段的长度锁表会锁表吗?答案是可能会但不一定会 具体原理 MySQL 5.6 及以后版本扩大字段长度 支持 online ddl in-place 模式,而这将不会锁表。varchar 表示…

SpringBoot神来一言管理系统

介绍 神来一言管理系统是一款汇总和记录生活中自己无意间说出的一句有意思的话或他人说出的一句有意思的话。 使用技术 SpringBootMyBatisPlusThymeleafMySQL 项目结构 功能介绍 登录 首页 一言管理 详情 分类管理 源码下载 链接: https://pan.baidu.com/s/14FkhiJJlXM4N…

江苏专转本复习几轮比较好?

大一、大二 江苏专转本备考复习 到现在你复习了几轮? 复习几轮最靠谱呢? 据调查统计:专转本17%的考生复习三轮及以上,23%的考生复习了两轮。这两类的考生录取率高至85%。 可见复习轮数多,专转本上岸的概率也大。综…

人工智能水印技术入门:工具与技巧

近几个月来,我们看到了多起关于“深度伪造 (deepfakes)”或人工智能生成内容的新闻报道:从 泰勒斯威夫特的图片、汤姆汉克斯的视频 到 美国总统乔拜登的录音。这些深度伪造内容被用于各种目的,如销售产品、未经授权操纵人物形象、钓鱼获取私人…

SpringCloud微服务-Nacos配置管理

Nacos配置管理 文章目录 Nacos配置管理1、统一配置管理具体步骤 2、配置自动刷新(热更新)3、多环境配置共享3.1、添加一个环境共享配置3.2、在user-service中读取共享配置3.3、编写接口测试3.4、运行两个User Application ,使用不同的profile…

FPGA-学会使用vivado中的存储器资源RAM(IP核)

问题 信号源(例如ADC)以1us一个的速率产生12位的数据现要求获得连续1ms内的数据,通过串口以115200的波特率发到电脑。 分析 数据量是1000个 数据速率不匹配 数据内容未知 数据总数据量有限 数据的使用速度低于数据的产生速度 数据生产和消耗的位宽 数据量相对较…

一个实时波形图的封装demo(QT)(qcustomplot)

前言: 封装的一个实时波形图的类,可以直接提升使用。 提供了接口,可以更改颜色,样式,等等 参考: Qt Plotting Widget QCustomPlot - Introduction 另外参考了一个大神的作品,链接没找到。 项目…

JS画摆线

最近看到一个很漂亮的曲线&#xff0c;研究了一下。 从圆心画一条线匀速转动&#xff0c;终点再画一条线转动&#xff0c;2条线转速不同&#xff0c;会画出很漂亮的花纹。 一个周期 完整周期 <html> <style> body { background:black; } p { text-align:center; c…

python脚本实现全景站点欧拉角转矩阵

效果 脚本 import numpy as np import math import csv import os from settings import *def euler_to_rotation_matrix(roll, pitch, yaw):# 计算旋转矩阵# Z-Y-X转换顺序Rz

v-rep--websocket接口

websocket是什么 V-REP 中的 Web Socket 是一种用于在 V-REP 和外部应用程序之间进行通信的协议和技术。Web Socket 基于 TCP 连接&#xff0c;可以提供双向、实时的数据传输&#xff0c;适用于互动性或实时交互性应用。 (比如v-rep在云服务器上运行&#xff0c;通过websocke…

Groovy(第五节) Groovy 之集合

Groovy 可以直接在语言内使用集合。在 Groovy 中,不需要导入专门的类,也不需要初始化对象。集合是语言本身的本地成员。Groovy 也使集合(或者列表)的操作变得非常容易,为增加和删除项提供了直观的帮助。 可以将范围当作集合 在前一节学习了如何用 Groovy 的范围将循环变得…

vue - - - - - vue3使用draggable拖拽组件

vue3使用draggable拖拽组件 一、组件安装二、插件使用三、遇到的问题1. missing required prop&#xff1a; “itemKey” 一、组件安装 yarn add vuedraggablenext // or npm i -S vuedraggablenext二、插件使用 <template><draggableitem-key"id"class&q…

【HDFS】Decommision(退役) EC数据节点剩最后几个块卡住的问题

一、背景 近期操作退役EC集群的节点。在退役的过程中,遇到了一些问题。特此总结一下。 本文描述的问题现象是: 每一批次退役10个节点,完全退役成功后开始操作下一批。 但是,中间有一批次有2台节点的Under Replicated Blocks一直是1,不往下降。 处于Decommissioning状态卡…

三款热门超声波清洗机对比测评:希亦、固特、大宇多维度实测!

如果你非常在意物品的健康卫生&#xff0c;并且希望能够摆脱手动清洗一些物品而彻底解放双手&#xff01;在家备一款超声波清洗机还是非常有必要的&#xff01;无论是珠宝、眼镜还是日常小物&#xff0c;都希望能够保持如新的光泽和卫生状态。那么超声波清洗机是最合适不过的&a…

【Leetcode每日一题】二分查找 - 有效的完全平方数(难度⭐)(19)

1. 题目解析 Leetcode链接&#xff1a;367. 有效的完全平方数 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 核心在于判断给定的整数是否可以开方成两个整数相乘&#xff0c;可以就返回false&#xff0c;反之返回true。 2. 算法…

es安装中文分词器 IK

1.下载 https://github.com/medcl/elasticsearch-analysis-ik 这个是官方的下载地址&#xff0c;下载跟自己es版本对应的即可 那么需要下载 7.12.0版本的分词器 2.安装 1.在es的 plugins 的文件夹下先创建一个ik目录 bash cd /home/apps/elasticsearch/plugins/ mkdir ik …

Spring Web 过滤器使用常见错误(上)

我们都知道&#xff0c;过滤器是 Servlet 的重要标准之一&#xff0c;其在请求和响应的统一处理、访问日志记录、请求权限审核等方面都有着不可替代的作用。在 Spring 编程中&#xff0c;我们主要就是配合使用ServletComponentScan 和 WebFilter 这两个注解来构建过滤器。 说起…

java 反射机制 (一)

java反射机制&#xff1a; 即通过外部文件配置&#xff0c;不修改文件源码的情况下&#xff0c;来控制程序&#xff0c;也符合设计模式的OCP原则&#xff08;开闭原则&#xff1a;不修改源码&#xff0c;扩容原则&#xff09; Java Reflection 1.反射机制允许程序在执行期间…