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

2024-02-29 10:20

本文主要是介绍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

这篇关于11.以太网交换机工作原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758444

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源