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://xiahunao.cn/news/2815651.html

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

相关文章

java多线程编程(学习笔记)入门

一、多线程创建的三种方式 (1)通过继承Thread本身 (2)通过实现runnable接口 (3)通过 Callable 和 Future 创建线程 其中,前两种不能获取到编程的结果,第三种能获取到结果 二、常见的成员方法 方法名称说明String getName()返回此线程的名称void setNam…

练习 2 Web [ACTF2020 新生赛]BackupFile 1

[ACTF2020 新生赛]BackupFile 1 Web常规题目 首先尝试查找常见的前端页面index.php之类的,没找到 题目有个“BackupFile”——备份文件 尝试用工具遍历查找相关的文件 御剑没扫出来,搜索搭建好dirsearch后,扫出来的index.php.bak 扫描工…

DolphinScheduler——介绍及架构设计

目录 一、DolphinScheduler介绍 1.1 概述 1.2 特性 1.2.1 简单易用 1.2.2 丰富的使用场景 1.2.3 High Reliability 1.2.4 High Scalability 1.3 名词解释 1.3.1 名词解释 1.3.2 模块介绍 二、DolphinScheduler架构原理 2.1 系统架构图 2.2 架构说明 2.2.1 Maste…

D3D渲染画面扭曲

今天在项目中渲染出来的画面始终不对,工具PIX显示图元类型输出是对的,但是就是渲染画面不对,顶点着色器的输出就奇形怪状,查了一条才发现是观察投影矩阵的问题。 如果你也是看的D3D龙书,那么在不跟着书上打完代码就直接…

云原生架构技术揭秘:探索容器技术的奥秘

云原生的概念和演进都是围绕云计算的核心价值展开的,比如弹性、自动化、韧性,所以云原生所涵盖的技术领域非常丰富。 随着云计算技术的不断发展,云原生架构已经成为了新一代软件开发的重要趋势。本文将为您介绍云原生架构的相关技术&#xf…

蓝桥杯第十二届电子类单片机组程序设计

目录 前言 蓝桥杯大赛历届真题_蓝桥杯 - 蓝桥云课(点击查看) 单片机资源数据包_2023(点击下载) 一、第十二届比赛原题 1.比赛题目 2.题目解读 蓝桥杯第十四届电子类单片机组程序设计_蓝桥杯单片机哪一届最难-CSDN博客 二、…

sylar高性能服务器-日志(P43-P48)内容记录

文章目录 P43:Hook01一、HOOK定义接口函数指针获取接口原始地址 二、测试 P44-P48:Hook02-06一、hook实现基础二、class FdCtx成员变量构造函数initsetTimeoutgetTimeout 三、class FdManager成员变量构造函数get(获取/创建文件句柄类&#x…

Python编程实验五:文件的读写操作

目录 一、实验目的与要求 二、实验内容 三、主要程序清单和程序运行结果 第1题 第2题 四、实验结果分析与体会 一、实验目的与要求 (1)通过本次实验,学生应掌握与文件打开、关闭相关的函数,以及与读写操作相关的常用方法的…

【亚马逊云科技】通过Amazon CloudFront(CDN)快速访问资源

文章目录 前言一、应用场景二、【亚马逊云科技】CloudFront(CDN)的优势三、入门使用总结 前言 前面有篇文章我们介绍了亚马逊云科技的云存储服务。云存储服务主要用于托管资源,而本篇文章要介绍的CDN则是一种对托管资源的快速访问服务&#…

Py2neo查询neo4j周杰伦数据库中的节点、关系和路径教程

文章目录 py2neo介绍连接Neo4j数据库py2neo查询图数据库neo4j数据概览使用NodeMatcher查询节点使用RelationshipMatcher查询关系 通过执行Cypher语句查询 py2neo介绍 Neo4j是一款开源图数据库,Py2neo提供了使用Python语言访问Neo4j的接口。本文介绍了使用Py2neo的N…

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

效果 脚本 import re import numpy as np import math import csv from settings import * # 以下是一个示例代码,可以输入3*3旋转矩阵,然后输出旋转角度:# ,输入3*3旋转矩阵# 计算x,y,z旋转角def rotation_matrix_to_euler_angles(R):

使用uniapp开发时自定义tabbar

预览图: 一、配置page.jsong中的tabbar(这一步是必须的,因为我们在使用uni.switchTab()时必须要用到) "tabBar": {"list": [{"pagePath": "pages/index/index","iconPath": &…

CI/CD笔记.Gitlab系列.`gitlab-ci.yml`中的头部关键字

CI/CD笔记.Gitlab系列 gitlab-ci.yml中的头部关键字 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/136342897HuaW…

Arduino ESP32下载太慢终极解决办法

打开百度网盘下载你需要的软件包到Arduino15\staging\packages目录下,重新在包管理器中安装即可。 链接:https://pan.baidu.com/s/1LKPKuLxkw9xgCrPxTF6alQ?pwdckms 提取码:ckms 失效请留言 附文件列表: xtensa-esp32-elf-gcc…

Lodop关联内容分页打印

文章目录 前言一、打印项关联二、table内嵌条形码总结 前言 Lodop打印插件使用系列,本文交流下比较常用的需求。在打印的页面里面有2个或多个table,它们的高度不固定。这种情况也要实现分页。大概2个方向的思路,思路1自行计算高度&#xff0…

强化学习Agent系列(二)——PyGame虚拟环境创建与Python 贪吃蛇Agent制作实战教学

文章目录 一、前言二、gymnasium 简单虚拟环境创建1、gymnasium介绍2、gymnasium 贪吃蛇简单示例 三、基于gymnasium创建的虚拟环境训练贪吃蛇Agent1、虚拟环境2、虚拟环境注册3、训练程序4、模型测试 三、卷积虚拟环境1、卷积神经网络虚拟环境2、训练代码 一、前言 大家好&am…

【MySQL】主从同步原理、分库分表

主从同步原理 1. 主从同步原理 MySQL 经常先把命令拷入硬盘的日志,再执行日志的命令,这样的好处: 日志的位置固定,拷入硬盘的开销不大;将命令先准备好,而不是边读边执行,性能更好,…

GIS之深度学习01:检测电脑是否包含英伟达GPU

GPU(Graphics processing unit),中文全称图形处理器,我们听说的更多的CPU全称是central processing unit,中央处理器。研究深度学习和神经网络大都离不开GPU,在GPU的加持下,我们可以更快的获得模…

Golang使用Swag搭建api文档

1. 简介 Gin是Golang目前最为常用的Web框架之一。 公司项目验收需要API接口设计说明书(Golang后端服务基于Gin框架编写),编写任务自然就落到了我们研发人员身上。 项目经理提供了文档模板,让我们参考模板来手动编写,要…

幻兽帕鲁(1.5.0)可视化管理工具(0.5.7 docker版)安装教程

文章目录 局域网帕鲁服务器部署教程帕鲁服务可视化工具安装配置服务器地址(可跳过)使用工具管理面板 1.5.0服务端RCON错误1.5.0服务端无法启动RCON端口 解决方法第一步:PalWorldSettings.ini配置第二步:修改PalServer.sh配置 局域…