以太网交换机工作原理学习笔记

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

1、以太网协议介绍

1.1以太网协议

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

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

1.2冲突域

冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。

在传统的以太网中,同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突。

同一介质上的节点越多,冲突发生的概率越大。

交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。

1.3广播域

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

在传统的以太网中,同一介质上的多个节点共享链路,一台设备发出的广播报文,所有设备均会收到。

交换机对广播报文会向所有的接口都转发,所以交换机的所有接口连接的节点属于一个广播域。

1.4以太网帧格式

以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。

以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。

2、以太网交换机原理简介

2.1园区网典型架构

2.2以太网二层交换机

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

2.3交换机的工作原理

2.4MAC地址表

每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。

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

交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:

2.5.1泛洪

2.5.2转发

2.5.3丢弃

2.6交换机的MAC地址学习

(1)初始情况,交换机的MAC 地址表是空的。

(2)主机1发送数据帧给主机2。交换机GE0/0/1口接收到数据帧后,在MAC地址表中查询该帧的目的MAC地址,发现没有对应表项,则收到的数据帧是“未知单播帧”。

(3)交换机在MAC地址表中没有查到对应表项,则交换机对该单播帧执行泛洪操作。同时,交换机学习该数据帧的源MAC地址,并创建对应的MAC地址表项,与接收口GE0/0/1关联。

(4)交换机其他端口连接的主机,也会收到该数据帧,但是会丢弃。 主机2收到并处理该数据帧,向主机 1回复,将数据帧发往交换机。

(5)交换机在MAC地址表中查到了对应表项,则交换机对该单播帧执行转发操作,将数据帧从GE0/0/1口转发出去。同时,交换机学习该数据帧的源MAC地址,并创建对应的MAC地址表项,与接收口GE0/0/2关联。

2.7交换机常见问题思考与关键知识

2.7.1常见问题

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

对应接口学习到的MAC地址会在MAC地址表现中消失;

如在SW2上对G0/0/1口进行shutdown;

Shutdown之前:

Shutdown之后:

(2)同一个Vlan中,PC 从交换机A端口迁移到B端口,交换机MAC地址表项如何变化?

在SW2的角度来看,原本是从G0/0/3接口学习到PC2的MAC,当PC接到SW2的G0/0/4号接口时,不会立刻发生改变,除非MAC地址表学习到PC2的MAC地址时间老化,PC2对外进行通信,那么SW2学习到PC2的MAC接口就会发生改变,变为G0/0/4。

(3)MAC地址表的老化时间是多少?为什么需要老化时间?

对于华为的设备默认是300秒。(查看命令display mac-address aging-time)

修改MAC地址老化时间命令:mac-address aging-time XXX

一般不建议进行修改。

为什么需要老化时间?

原因是使设备能够高效的进行工作运行。如果不老化,内存空间越来越小,设备性能就会降低。

(4)如何设置“黑洞”MAC?

通过命令mac-address blackhole 5489-98EA-0A02 vlan X进行设置。

PC1就无法进入到SW2去访问PC3

(5)交换机的一个接口可以学习多个MAC地址吗?

可以的,例如SW2的G0/0/3口,既可以学习到PC1的MAC,又可以学习到PC2的MAC。

(6)交换机的MAC地址表项可以无限增加吗?

不可以,设备的内存空间有限。

display mac-address summary 当前设备可以存放32768条。

(7)交换机和集线器有什么区别?

交换机:采用存储转发原理工作,具有自动过滤和学习功能。当交换机接收到数据包时,会先将其存储在内部缓存中,然后检查数据包的MAC地址,并根据地址表将数据包转发到正确的端口。这种机制可以有效减少网络冲突,提高数据传输效率。

集线器:则采用广播原理工作。当集线器接收到数据包时,会将其广播到所有连接的端口上,无论目标设备是否在该端口上。这种机制容易导致网络冲突和性能下降,特别是在设备数量较多的情况下。

(8)交换机有NAT功能吗?

大部分是没有的,传统的交换机不具备NAT功能,但多层交换机或集成服务路由器等复合型网络设备可以支持NAT功能。不能说完全没有。

(9)所有交换机的端口都可以切换成路由口吗?

不是所有交换机的端口都可以切换成路由口。不排除一些高级交换机可以切换成路由口。

2.7.2关键知识

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

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

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

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

(5)泛洪:① 未知单播泛洪  ② 广播泛洪

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

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

场景描述:

▫ 任务:主机1想要访问主机2

▫ 主机:初始化状态

▫ 交换机:刚上电,初始化状态

当主机1去访问主机2,在建立ICMP通信之前,首先从主机1发送ARP请求,去广播请求学习,192.168.1.2的MAC在哪,当它找到192.168.1.2的位置后,通过IP地址学习MAC,接着单播返回给192.168.1.1,解析192.168.1.2的MAC是0050-5600-0002,报文信息完善之后,ICMP就建立了。

在主机1的E0/0/1接口进行抓包:

同网段数据通信的全过程相对简单,主要发生在同一局域网(LAN)内,不涉及路由器的路由决策。以下是该过程的简要描述:

(1)源主机阶段

封装数据包:源主机(如PC1)将要发送的数据封装成IP数据包,数据包中包含源IP地址、目标IP地址以及具体的数据内容。由于是同网段通信,源主机和目标主机的IP地址将位于相同的子网内。

ARP请求:源主机检查其ARP缓存,以查看是否已知目标主机(如PC2)的MAC地址。如果不知道,源主机会向本地网络发送一个ARP(地址解析协议)请求广播,询问目标IP地址对应的MAC地址。

接收ARP响应:网络中的设备(包括目标主机)会监听ARP请求。如果目标主机接收到请求,并且IP地址匹配,它会向源主机发送一个ARP响应,其中包含其MAC地址。

封装数据帧:一旦源主机获得目标主机的MAC地址,它就将IP数据包封装成以太网数据帧。数据帧的源MAC地址是源主机的MAC地址,目标MAC地址是目标主机的MAC地址。

(2)交换机转发阶段

接收数据帧:交换机接收到源主机发送的数据帧后,会读取数据帧的目标MAC地址。

查找MAC地址表:交换机在其MAC地址表中查找与目标MAC地址相匹配的条目。由于这是同网段通信,交换机通常会在其MAC地址表中找到对应的条目,该条目指定了数据帧应该被转发到的端口。

转发数据帧:交换机将数据帧转发到与目标MAC地址相关联的端口。由于目标主机和源主机位于同一网段,因此数据帧通常会直接到达目标主机,而无需经过其他网络设备。

(3)目标主机接收阶段

接收数据帧:目标主机通过其网络接口接收到数据帧。

解封装:目标主机解封装数据帧,以提取IP数据包。

处理数据:目标主机根据IP数据包中的目标IP地址确认数据包是发给自己的,然后进一步处理数据包中的数据。

整个过程主要涉及到ARP协议用于解析MAC地址,以及交换机根据MAC地址表进行数据帧的转发。由于源主机和目标主机位于同一网段,因此不需要路由器的参与,数据帧可以直接在局域网内传输。

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

场景描述:

▫ 任务:主机1想要访问主机2

▫ 主机:初始化状态

▫ 交换机:刚上电,初始化状态

(1)源主机阶段

封装数据包:源主机(如PC1)将要发送的数据封装成数据包,数据包中包含源IP地址、目标IP地址以及具体的数据内容。

判断网段:源主机通过比较本地IP地址、子网掩码和目标IP地址,判断目标主机(如PC2)是否在同一网段内。如果不在同一网段,则需要进行跨网段通信。

发送数据:源主机将数据包封装成数据帧,其中目的MAC地址设置为网关(通常是路由器的一个接口)的MAC地址,然后通过物理介质(如以太网)发送给交换机。

(2)交换机转发阶段

接收与转发:交换机接收到数据帧后,根据目的MAC地址查找MAC地址表,确定数据帧的转发端口。由于目的MAC地址是网关的MAC地址,交换机将数据帧转发给网关(路由器)。

(3)路由器转发阶段

解封装与解析:路由器接收到数据帧后,首先解封装得到IP数据包。然后,路由器解析IP数据包中的目标IP地址,查找路由表以确定下一跳地址。

重新封装与转发:路由器根据路由表中的下一跳地址,通过ARP协议获取下一跳设备的MAC地址。然后,路由器将IP数据包重新封装成新的数据帧,其中源MAC地址是路由器自身的MAC地址,目标MAC地址是下一跳设备的MAC地址。之后,路由器将新封装的数据帧发送给下一跳设备。

(4)多次转发(可能)

如果目标主机与源主机之间相隔多个网段,数据包可能需要经过多个路由器的转发。在每个路由器上,都会重复上述的解封装、解析、重新封装和转发的过程,直到数据包到达目标网段的网关。

(5)目标网段网关转发阶段

解封装与识别:目标网段的网关(可能也是路由器)接收到数据包后,解封装得到IP数据包,并识别出目标IP地址属于本网段内的某台主机(如PC2)。

ARP请求(可选):如果网关没有目标主机(PC2)的MAC地址,可能会发送ARP请求到本网段内,以获取目标主机的MAC地址。

封装与发送:网关获取到目标主机的MAC地址后,将IP数据包封装成数据帧,其中目的MAC地址为目标主机的MAC地址,然后通过物理介质发送给目标主机。

(6)目标主机接收阶段

接收与处理:目标主机接收到数据帧后,解封装得到IP数据包。然后,目标主机根据IP数据包中的目标IP地址判断是否是自己的数据包。如果是,则进一步处理数据包中的数据;如果不是,则可能将数据包丢弃或转发给同一网段内的其他主机。

通过以上步骤,跨网段数据通信得以实现,使得不同网段内的设备能够相互通信。

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

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

相关文章

CTFHub技能树-Git泄漏-Stash

目录 一、前提知识 1.什么是git stash 2.git文件目录结构 3.git中对象指向 二、解题过程 方法一:使用GitHack 方法二:使用Git_Extract工具,这个是自动解析不用git stash等操作,直接得到flag 当前大量开发人员使用git进行版本…

SQL进阶技巧:截止当前批次前的批次量与订单量 | 移动窗口问题

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 表A有如下字段,user id(用户ID),batch id(批次ID),order id(订单ID),create time(创建时间),同一个用户ID下有多个批次,同一个批次下有多个订单ID,相同批次ID的创建时间是相同的,创建时间精确到了秒。 统计,截…

1-10 图像增强对比度 opencv树莓派4B 入门系列笔记

目录 一、提前准备 二、代码详解 enhanced_image cv2.convertScaleAbs(image, alpha1.5, beta0) 三、运行现象 四、完整工程贴出 一、提前准备 1、树莓派4B 及 64位系统 2、提前安装opencv库 以及 numpy库 3、保存一张图片 二、代码详解 import cv2 # 增强图像的对比度 …

【音视频】播放音视频时发生了什么? 视频的编解码 H264是什么? MP4是什么?

目录 ✨播放一个视频的流程✨为什么要编码(压缩)视频数据?✨如何编码(压缩)数据🎄简单的例子🎄音视频编码方式🎄视频编码格式H264编码是什么?发展历程?H.264基…

【Python游戏开发】拼图小游戏demo

使用mu编辑器 pgzero编写拼图小游戏 import randomSIZE 96 # 设置每张图块的大小 WIDTH SIZE * 3 # 根据土块大小设置窗口 HEIGHT SIZE * 3 pics [] # 存放图块 finished False # 游戏结束标识# 将前八张图块存放在pics列表中 for i in range…

009.Python爬虫系列_urllib模块案例

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数…

传统CV算法——基于Opencv的多目标追踪算法

基于 OpenCV 的跟踪算法有多种,每种算法都有其特定的应用场景和优缺点。以下是一些常见的基于 OpenCV 的目标跟踪算法: 1. BOOSTING 跟踪器 描述:基于 AdaBoost 算法的跟踪器。它是一种早期的跟踪算法,使用的是基于弱分类器的强…

php转职golang第二期

以下是一份简单的 Go 基本语法笔记: 变量与常量: • var 声明变量。• const 声明常量。数据类型: • 整型、浮点型、布尔型、字符串型等。流程控制: • if-else 语句。• for 循环。函数: • 定义和调用函数。数…

Linux-【组管理、权限管理、定时任务调度】

目录 前言 Linux组基本介绍 文件/目录 所有者 查看文件 所有者 修改文件所有者 文件/目录 所在组 修改文件/目录 所在组 其它组 改变用户所在组 权限的基本介绍 rwx权限 rwx作用到文件 rwx作用到目录 修改权限 第一种方式:、-、变更权限 第二种方式…

系统编程--线程

这里写目录标题 线程概念什么是线程简介图解 内核原理图解 线程共享资源与非共享资源共享资源非共享资源 线程优缺点 线程控制原语pthread_self、pthread_create简介代码总结 循环创建多个子线程错误代码 线程间全局变量共享pthread_exit简介代码 一级目录二级目录二级目录二级…

可持久化Trie详解,最大异或和,k大异或和

零、碎碎念 打比赛没遇上可持久化Trie,做个CMU 15-445的project0,上来就碰上了…… 关于Trie详见:[Trie树/字典树的原理及实现C/C]_trie字典树原理-CSDN博客 一、可持久化Trie 1.1 基本思想 可持久化Trie和可持久化线段树类似&#xff0c…

白小白为波司登新品创作歌曲《登峰之路》,穿越风雨守护前行者

随着天气渐凉,波司登品牌推出全新新品——轻薄羽绒叠变系列,作为波司登品牌的新品推荐官,歌手白小白为波司登创作并演唱《轻薄羽绒叠变》系列主题曲《登峰之路》。歌曲中,白小白以激昂澎湃,明快有力的旋律以及深情又充…

[数据集][目标检测]西红柿缺陷检测数据集VOC+YOLO格式17318张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):17318 标注数量(xml文件个数):17318 标注数量(txt文件个数):17318 标…

【第0006页 · 数组】寻找重复数

【前言】本文以及之后的一些题解都会陆续整理到目录中,若想了解全部题解整理,请看这里: 第0006页 寻找重复数 今天想讨论的一道题在 LeetCode 上评论也是颇为“不错”。有一说一,是道好题,不过我们还是得先理解了它才…

【Unity小技巧】URP管线遮挡高亮效果

前言 在URP渲染管线环境下实现物体遮挡高亮显示效果,效果如下:Unity URP遮挡高亮 实现步骤 创建层级,为需要显示高亮效果的物体添加层级,比如Player 创建一个材质球,也就是高亮效果显示的材质球找到Universal Render…

react项目搭建、基础知识

前言 教学内容来源于黑马 黑马程序员前端React18入门到实战视频教程,从reacthooks核心基础到企业级项目开发实战 项目搭建 创建项目 pnpm create vite选择框架 选择语言和构建 安装依赖并运行 pnpm install pnpm run dev运行成功 基础知识 文件 main…

极盾故事|某金融租赁机构应用数据保护新策略:“动态脱敏”“二次授权”

数据的流通使用是创新的动力,但安全和合规是不可逾越的底线。企业如何在这三者之间找到平衡点? 极盾科技,助力某金融租赁机构,基于极盾觅踪构建应用数据动态脱敏系统,实现10+核心应用系统的统一管理&#x…

磁电偶极子天线学习1 一种60GHz 宽带圆极化口径耦合磁电偶极子天线阵列

摘要: 一种新型的圆极化口径耦合天线被提出。这种圆极化磁电偶极子天线由刻蚀在短路基片集成波导的一部分的宽臂上,并且很容易被集成基片。在工作频段内实现了宽于28.8%的阻抗带宽和宽带3-dB的25.9%的轴比和的增益。此外,因为圆极化辐射由两个…

ModuleNotFoundError: No module named ‘mmcv.transforms‘

不得已的解决方法: mmcv升级到2.0.0即可解决 升级后自然又面临一系列不兼容问题! 官方文档查漏补缺

HNU-2023电路与电子学-实验3

写在前面: 本次实验是完成cpu设计的剩余部分,整体难度比上一次要小,细心完成就能顺利通过全部测评 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能…