当前位置: 首页 > news >正文

以太网交换基础(涵盖二层转发原理和MAC表的学习)

在当今的网络世界中,以太网交换技术是局域网(LAN)的核心组成部分。无论是企业网络、学校网络还是家庭网络,以太网交换机都扮演着至关重要的角色。本文将详细介绍以太网交换的基础知识,包括以太网协议、帧格式、MAC地址,以及二层交换机的工作原理。

一、以太网协议简介

(一)以太网协议

以太网是当今局域网中最广泛使用的通信协议标准。它定义了局域网中使用的电缆类型和信号处理方法。以太网基于CSMA/CD(载波监听多路访问/冲突检测)机制运行,是一种广播型网络。

在早期的以太网中,所有设备共享同一介质,这导致了冲突域的概念——即所有设备竞争同一带宽。然而,随着交换机的出现,每个接口都成为一个独立的冲突域,从而大大减少了冲突的发生。

(二)冲突域与广播域

  • 冲突域:冲突域是指所有连接在同一共享介质上的设备集合。在传统以太网中,所有设备共享同一介质,冲突概率较高。而交换机的出现使得每个接口成为一个独立的冲突域,有效隔离了冲突。

  • 广播域:广播域是指广播报文能够到达的范围。在交换机组网中,广播报文会被转发到所有接口,因此交换机的所有接口属于同一个广播域。

二、以太网帧格式

以太网帧是数据在网络中传输的基本单元。以太网帧有两种格式:Ethernet IIIEEE 802.3。以下是两种格式的详细对比:

(一)Ethernet II格式

  • 目的MAC地址(6字节):标识帧的接收设备。

  • 源MAC地址(6字节):标识帧的发送设备。

  • 类型字段(2字节):标识上层协议(如IP协议)。

  • 用户数据(46-1500字节):实际传输的数据。

  • 帧校验序列(4字节):用于检测传输错误。

(二)IEEE 802.3格式

  • 目的MAC地址(6字节)

  • 源MAC地址(6字节)

  • 长度字段(2字节):标识数据部分的长度。

  • LLC/SNAP字段(8字节):用于兼容旧的以太网协议。

  • 用户数据(38-1492字节)

  • 帧校验序列(4字节)

在实际应用中,Ethernet II格式更为常见,因为它更简洁且易于实现。

三、MAC地址:网络中的“身份证”

(一)什么是MAC地址?

MAC地址是网络中唯一标识一个网卡的地址。每个网卡在出厂时都会被分配一个全球唯一的MAC地址。MAC地址由48位组成,以十六进制形式表示。

(二)MAC地址的分类

  • 单播地址:用于标识单个设备,其第一个字节的最低位为0。

  • 组播地址:用于标识一组设备,其第一个字节的最低位为1。

  • 广播地址FF-FF-FF-FF-FF-FF,用于向整个广播域发送数据。

四、以太网交换机的工作原理

(一)二层交换机

二层交换机是基于MAC地址进行数据转发的设备。它通过检查以太网帧的MAC地址来决定如何转发数据。交换机的主要功能包括:

  • MAC地址学习:交换机会学习进入端口的帧的源MAC地址,并将其与端口关联。

  • 数据转发:根据目的MAC地址,交换机会将数据帧转发到正确的端口。

  • 冲突域隔离:每个端口都是一个独立的冲突域,减少了冲突的发生。

(二)MAC地址表

交换机内部维护一个MAC地址表,用于记录MAC地址与端口的映射关系。例如:

复制

MAC地址        端口
00-1E-10-DD-DD-01   GE0/0/1
00-1E-10-DD-DD-02   GE0/0/2

(三)交换机的数据帧处理行为

交换机对数据帧的处理行为可以分为三种:

  1. 转发(Forwarding):如果MAC地址表中有目的MAC地址的表项,交换机会将帧转发到对应的端口。

  2. 泛洪(Flooding):如果MAC地址表中没有目的MAC地址的表项,交换机会将帧发送到所有端口(除了接收端口)。

  3. 丢弃(Discarding):如果帧的目的MAC地址与接收端口的MAC地址相同,交换机会丢弃该帧。

(四)MAC地址学习过程

交换机的MAC地址学习过程如下:

  1. 初始时,MAC地址表为空。

  2. 当交换机接收到一个数据帧时,它会记录帧的源MAC地址,并将其与接收端口关联。

  3. 如果目的MAC地址在MAC地址表中不存在,交换机会对该帧执行泛洪操作。

  4. 如果目的MAC地址存在,交换机会将帧转发到对应的端口。

五、单播、广播与组播帧

(一)单播帧

单播帧是指目的MAC地址为单播地址的帧。交换机会根据MAC地址表进行精确转发。

(二)广播帧

广播帧的目的MAC地址为FF-FF-FF-FF-FF-FF。交换机会将广播帧发送到所有端口,确保所有设备都能接收到。

(三)组播帧

组播帧的目的MAC地址为组播地址。交换机会将组播帧发送到所有订阅该组播地址的端口。

六、总结

以太网交换技术是现代局域网的核心。通过交换机,网络中的冲突域被有效隔离,数据传输效率大大提高。MAC地址作为网络中的“身份证”,为设备之间的通信提供了基础。交换机通过MAC地址表和数据帧处理机制,实现了高效的数据转发和网络管理。

相关文章:

以太网交换基础(涵盖二层转发原理和MAC表的学习)

在当今的网络世界中,以太网交换技术是局域网(LAN)的核心组成部分。无论是企业网络、学校网络还是家庭网络,以太网交换机都扮演着至关重要的角色。本文将详细介绍以太网交换的基础知识,包括以太网协议、帧格式、MAC地址…...

Vue 实现通过URL浏览器本地下载 PDF 和 图片

1、代码实现如下: 根据自己场景判断 PDF 和 图片,下载功能可按下面代码逻辑执行 const downloadFile async (item: any) > {try {let blobUrl: any;// PDF本地下载if (item.format pdf) {const response await fetch(item.url); // URL传递进入i…...

【2025最新计算机毕业设计】基于SpringBoot+Vue非遗传承与保护研究系统【提供源码+答辩PPT+文档+项目部署】

作者简介:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容:🌟Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…...

组合总和力扣--39

目录 题目 思路 剪枝优化 代码 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的…...

echarts tooltip高亮某个值,某一项选中高亮状态

需求: 当有多组数据的时候,常常需要对比同一x轴的不同线上的点的数据,并且当数据组过多的时候,也就是线过多的时候,需要明确知道我们当前选中的线是哪条。 解决方案: 通过设置显示x轴的tooltip可以显示同…...

Vue 3:基于按钮切换动态图片展示(附Demo)

目录 前言1. Demo2. 升级Demo3. 终极Demo 前言 原先写过类似的知识点: 详细分析el-breadcrumb 面包屑的基本知识(附Demo)详细分析el-card中的基本知识(附Demo) 本篇博客将介绍如何通过点击按钮切换不同的图片&#…...

【Java】泛型与集合篇 —— 泛型

目录 泛型泛型的核心作用泛型类型(类)定义与使用类型参数命名约定泛型方法定义与调用与泛型类的区别通配符上界通配符下界通配符有界类型参数类型擦除类型擦除过程影响好处泛型 泛型的核心作用 泛型是 Java 实现代码复用和类型安全的重要机制。它允许在类、接口和方法中定义…...

【JAVA:list中再定义一个list对象,循环赋值不同的list数据,出现追加重复数据问题】

问题描述: list中再定义一个list对象,循环赋值不同的list数据,结果全部都累加到每条数据中了,每条数据中都出现重复数据。 问题解决: 1.创建树结构方法信息 2.创建一个新的 List 对象,避免引用问题 3.使…...

为什么外贸办公需要跨境专线网络?

你好,今天我们来聊聊SD-WAN技术在出海企业办公中的应用以及其带来的诸多优势。当今出海企业在与海外分支机构或合作伙伴开展高效的网络通讯和数据传输时,面临着许多挑战。此时,SD-WAN作为一种新兴的网络优化技术,正在改变这些企业…...

帆软报表FineReport入门:简单报表制作[扩展|左父格|上父格]

FineReport帮助文档 - 全面的报表使用教程和学习资料 数据库连接 点击号>>JDBC 选择要连接的数据库>>填写信息>>点击测试连接 数据库SQLite是帆软的内置数据库, 里面有练习数据 选择此数据库后,点击测试连接即可 数据库查询 方法一: 在左下角的模板数据集…...

Nginx 在Linux中安装、使用

Nginx 在Linux中安装、使用 一、官网下载Nginx 官网地址:http://nginx.org/en/download.html 二、上传到服务器解压 1、上传到指定的服务器地址 上传的地址自己决定,我上传到 /data/home/prod/nginx/ 2、解压 使用命令: tar -zxvf “你的N…...

在Vue项目中使用three.js在前端页面展示PLY文件或STL文件

前言:这是一个3d打印局域网管理系统的需求 一、安装three.js three.js官网:https://threejs.org/docs/#manual/en/introduction/Installation 我用的是yarn,官网用的是npm 二、使用three.js 1.在script部分导入three.js import * as THREE from thr…...

DeepSeek笔记(二):DeepSeek局域网访问

如果有多台电脑,可以通过远程访问,实现在局域网环境下多台电脑共享使用DeepSeek模型。在本笔记中,首先介绍设置局域网多台电脑访问DeepSeek-R1模型。 一、启动Ollama局域网访问 1.配置环境变量 此处本人的操作系统是Windows11,…...

【LeetCode Hot100 矩阵】矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵II

矩阵 1. 矩阵置零(Set Matrix Zeroes)解题思路步骤: 代码实现 2. 螺旋矩阵(Spiral Matrix)解题思路具体步骤: 代码实现 3. 旋转矩阵 90 度解决思路代码实现 5. 搜索二维矩阵中的目标值解决思路代码实现 1. …...

【设计模式】【创建型模式】建造者模式(Builder)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…...

如何利用国内镜像从huggingface上下载项目

1、利用镜像快速下载项目 在huggingface上下载模型时速度太慢,可以用下面的方法 pip install -U huggingface_hub pip install huggingface-cliexport HF_ENDPOINThttps://hf-mirror.comhuggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chine…...

pandas常用操作

pandas是Python中用于数据操作和分析的强大库。以下是一些常用的操作: ### 1. 读取数据 - **从CSV文件读取**: python import pandas as pd df pd.read_csv(path/to/file.csv) - **从Excel文件读取**: python df pd.read_exc…...

linux使用

文章目录 前言操作系统的作用组成二、安装linux系统安装VMware Workstation安装ubuntu图形化,命令行finalshell快照目录理解命令执行命令格式常用命令lscdmkdir 前言 本文讲解认识与使用linux操作系统 操作系统的作用 操作系统是用户和计算机的桥梁。比如我们输入…...

基于豆瓣2025电影数据可视化分析系统的设计与实现

✔️本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示,构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据,我们提供了一个全面的电影信息平台,为用户提供深入了解电影产业趋势、影片评价与演员表现的工…...

基于Python的深度学习音乐推荐系统(有配套论文)

音乐推荐系统 提供实时音乐推荐功能,根据用户行为和偏好动态调整推荐内容 Python、Django、深度学习、卷积神经网络 、算法 数据库:MySQL 系统包含角色:管理员、用户 管理员功能:用户管理、系统设置、音乐管理、音乐推荐管理、系…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...