计算机网络:数据链路层 —— 扩展共享式以太网
文章目录
- 共享式以太网
- 共享式以太网存在的问题
- 在物理层扩展以太网
- 扩展站点与集线器之间的距离
- 扩展共享式以太网的覆盖范围和站点数量
- 在链路层扩展以太网
- 网桥的主要结构
- 网桥的基本工作原理
- 透明网桥
- 自学习和转发帧
- 生成树协议STP
共享式以太网
共享式以太网是当今局域网中广泛采用的一种通信协议标准,它定义了局域网(LAN)中电缆的类型和信号处理方法。
共享式以太网中的所有节点都共享一段传输信道,并通过该信道传输信息。采用带冲突检测的载波侦听多路访问(CSMA/CD)机制。当以太网中的一台主机要传输数据时,会先侦听信道上是否有其他设备正在传输,如果信道空闲,则开始传输数据;如果侦听到冲突,则等待一段时间后再次尝试传输。
![![[共享式以太网.png]]](https://i-blog.csdnimg.cn/direct/a9bc28a6b51f4829bb81378706a80fce.png)
关于共享式以太网的相关介绍:数据链路层 —— 共享式以太网
共享式以太网存在的问题
-
带宽共享问题:在共享式以太网中,所有用户共享同一带宽。随着网络用户数的增加,每个用户的实际可用带宽会逐渐减少。这是因为当信息繁忙时,多个用户可能同时“争用”一个信道,而一个信道在某一时刻只允许一个用户占用。因此,大量的用户经常处于监测等待状态,导致信号传输时产生抖动、停滞或失真,从而严重影响了网络的性能。
-
冲突域问题:共享式以太网中的所有设备都处于同一个冲突域中。如果两个设备同时发送信号,就会产生冲突。这种冲突会导致数据包的丢失和重传,进一步降低网络的效率。
-
半双工操作:在共享式以太网中,设备只能实现半双工操作。即在同一时间,只能传输单一方向的数据。当两个方向的数据同时传输时,就会产生冲突,这会降低以太网的效率。
-
设备互联限制:在共享式以太网中,不同速率的设备无法实现互联。所有接入的设备都必须和传输介质的和互联设备接口速率一致,这限制了网络的灵活性和可扩展性。
因此,我们需要将现有的以太网网络扩展至更大的规模或更远的距离,同时保持网络的高效运行。
在物理层扩展以太网
扩展站点与集线器之间的距离
-
共享总线以太网中两站点之间的距离不能太远,否则它们之间所传输的信号就会衰减到使
CSMA/CD协议无法正常工作。 -
在早期广泛使用粗同轴电缆或细同轴电缆共享总线以太网时,为了提高网络的地理覆盖范围,常用的是工作在物理层的转发器。
-
IEEE 802.3标准规定,两个网段可用一个转发器连接起来,任意两个站点之间最多可以经过三个网段。
![![[扩展站点与集线器.png]]](https://i-blog.csdnimg.cn/direct/54b17bba1ddc4934a3a487d4fc11e604.png)
随着使用双绞线和集线器的 10BASE-T 星型以太网成为以太网的主流类型,扩展网络覆盖范围就很少使用转发器了。10BASE-T星型以太网中每个站点到集线器的距离不能超过100m,因此两站点间的通信距离最大不能超过 200m。
-
在 10BASE-T 星型以太网中,可使用光纤和一对光纤调制解调器来扩展站点与集线器之间的距离。这种扩展方法比较简单,所需付出的代价是:为站点和集线器各增加一个用于电信号和光信号转换的光纤调制解调器,以及它们之间的一对通信光纤。
-
信号在光纤中的衰减和失真很小,因此使用这种方法可以很简单地将站点与集线器之间的距离扩展到1000m以上。
![![[扩展站点与集线器之间的距离.png]]](https://i-blog.csdnimg.cn/direct/0718bed281424b4699ef990c8b6befff.png)
扩展共享式以太网的覆盖范围和站点数量
以太网集线器一般具有8~32个接口,如果要连接的站点数量超过了单个集线器能够提供的接口数量,就需要使用多个集线器,这样就可以连接成覆盖更大范围、连接更多站点的多级星型以太网。
采用多个集线器连接而成的多级星型以太网,在扩展了网络覆盖范围和站点数量的同时,也带来了一些负面因素。
在物理层扩展的共享式以太网仍然是一个碰撞域,不能连接太多的站点,否则可能会出现大量的碰撞,导致平均吞吐量太低。
![![[物理层扩展的共享式以太网.png]]](https://i-blog.csdnimg.cn/direct/394701c61f8042df9d53fbeea22635f0.png)
使用集线器扩展共享式以太网,即扩大了广播域,也扩大了碰撞域
在链路层扩展以太网
网桥(bridge)工作在数据链路层(包含其下的物理层),因此网桥具备属于数据链路层范畴的相关能力,网桥可以识别帧的结构,可以根据帧首部中的目的 MAC 地址和网桥自身的帧转发表来转发或丢弃所收到的帧。
相关阅读:计算机网络:数据链路层 —— 网络适配器与 MAC 地址
通过网桥扩展以太网:

网桥的主要结构
![![[网桥的主要结构.png]]](https://i-blog.csdnimg.cn/direct/bdb01b800ea542cbb87c667d16699d07.png)
图中的两个集线器将分别一些计算机连接在一个物理网络中,而网桥则连接了这两个物理网络。网桥有两个接口,分别连接到两个碰撞域,实现了不同碰撞域之间的数据通信。通过这种方式,网桥可以将两个原本独立的网络合并成一个更大的网络,增加了站点的数量和覆盖范围。
网桥的基本工作原理
网桥的接口在向其连接的网段转发帧时会执行相应的媒体接入控制协议,对于共享式以太网就是CSMA/CD协议。
![![[网桥的基本工作原理.png]]](https://i-blog.csdnimg.cn/direct/646e0633a5c944a4982a0ab8ff40f31a.png)
- 当数据包到达网桥的一个接口时,网桥首先查看其目的地址,然后查询转发表以确定应将数据包转发到哪个接口。
例如,在图中,如果数据包的目标地址是 D,则根据转发表可知 D 位于接口1,所以数据包会被转发到接口1。同理,如果目标地址是 E 或 F,则数据包会被转发到接口2。通过这种方式,网桥可以将数据包准确地转发到目的地,减少了冲突并提高了网络性能。
网桥转发帧的情况:
![![[网桥转发帧.png]]](https://i-blog.csdnimg.cn/direct/3c0b8e8f7eda4c9bb75a6de44304c616.png)
-
转发表:网桥有一个转发表,其中列出了各个设备的地址及其对应接口的信息。例如,设备 A、B 和 C 都在接口1,而设备 D、E 和 F 都在接口2。
-
帧转发:当一个帧从 接口1 进入网桥时,网桥会检查帧的目的地址。假设帧的目的地址是 D,那么网桥会在转发表中查找 D 的位置。
-
决策过程:根据转发表,网桥得知设备 D 位于 接口2,因此它会将帧转发到 接口2。
-
接受和丢弃:在 接口2 侧,只有设备 D 会接受这个帧,其他设备(E 和 F)会丢弃它,因为帧不是发给他们的。
网桥转发广播帧的情况:
![![[网桥转发广播帧.png]]](https://i-blog.csdnimg.cn/direct/57e434da85ef4617a5f4dd1a5183c74f.png)
透明网桥
网桥中的转发表对于帧的转发起着决定性的作用。而透明网桥(Transparent Bridge)通过自学习算法建立转发表。
-
透明网桥中的“透明”,是指以太网中的各站点并不知道自己所发送的帧将会经过哪些网桥的转发,最终到达目的站点。也就是说,以太网中的各网桥对于各站点而言是看不见的。
-
透明网桥的标准是IEEE 802.1D,它通过一种自学习算法基于以太网中各站点间的相互通信逐步建立起自己的转发表。
自学习和转发帧
![![[透明网桥自学习.png]]](https://i-blog.csdnimg.cn/direct/ebde135907c5460090c0ec00e1df49a5.png)
-
网桥收到帧后进行登记(即自学习),登记的内容为帧的源MAC地址和进入网桥的接口号
-
网桥根据帧的目的MAC地址和网桥的转发表对帧进行转发,包含以下三种情况:
-
明确转发:网桥知道应当从哪个接口转发帧。
-
盲目转发:网桥不知道应当从哪个接口转发帧,只能将其通过除进入网桥的接口外的其他所有接口转发。
-
丢弃:网桥知道不应该转发该帧,将其丢弃,
-
注意:
-
如果网桥收到有误码的帧则直接丢弃
-
如果网桥收到一个无误码的广播帧,则不用进行查表,而是直接从除接收该广播帧的接口的其他接口转发该广播帧。
-
广播帧首部中目的 MAC 地址字段的值为广播地址,即 48比特全为1,十六进制形式为全F,
FF-FF-FF-FF-FF-FF -
转发表中的每条记录都有其有效时间,到期自动删除。这是因为各站点的 MAC 地址与网桥接口的对应关系并不是永久性的,例如某个站点更换了网卡,其 MAC 地址就会改变。
生成树协议STP
为了提高以太网的可靠性,有时需要在两个以太网之间使用多个透明网桥来提供冗余链路。
![![[透明网桥冗余链路.png]]](https://i-blog.csdnimg.cn/direct/e90b6d3e942e46a8b635a43a63aede97.png)
这种情况下,广播帧在环路中永久兜圈,造成广播帧充斥整个网络,网络资源被白白浪费,而网络中的主机之间无法正常通信!
若网桥 B1 和 B2 的转发表中都没有待转发单播帧目的 MAC 地址的相关记录,则该单播帧也会引起类似的情况。(为了简单起见,未考虑信号在总线上碰撞的情况)
在增加冗余链路提高以太网可靠性的同时,却给网络引入了环路。为了避免广播帧在环路中永久兜圈,透明网桥使用生成树协议(SpanningTree Protocol,STP),可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题,不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(Bridge Protocol Data Unit,BPDU)找出原网络拓扑的一个连通子集(即生成树),在这个子集里整个连通的网络中不存在环路。
当首次连接网桥或网络拓扑发生变化时(人为改变或出现故障),网桥都会重新构造生成树,以确保网络的连通。
![![[透明网桥STP.png]]](https://i-blog.csdnimg.cn/direct/2607ef525ef0471e90121cdb9af49e73.png)
相关文章:
计算机网络:数据链路层 —— 扩展共享式以太网
文章目录 共享式以太网共享式以太网存在的问题在物理层扩展以太网扩展站点与集线器之间的距离扩展共享式以太网的覆盖范围和站点数量 在链路层扩展以太网网桥的主要结构网桥的基本工作原理透明网桥自学习和转发帧生成树协议STP 共享式以太网 共享式以太网是当今局域网中广泛采…...
平安养老险深圳分公司:创新养老服务,深入践行金融为民
党的二十届三中全会《决定》提出:“积极发展科技金融、绿色金融、普惠金融、养老金融、数字金融,加强对重大战略、重点领域、薄弱环节的优质金融服务。” 为经济社会发展提供高质量服务,更好满足人民日益增长的美好生活需要,金融…...
静态站点生成器哪家强?
有一种方法,让你写好文档后,快速地让同事、用户和合作伙伴看到,这就是静态站点生成器。 静态站点生成器是一种软件,用于创建不需要服务器端脚本的网站。这些网站由纯HTML文件组成,可能还包括CSS和JavaScript来增强功…...
从0开始部署优化虚拟机
一,vm workstation 安装 CentOS-7 忽略 二、查看虚拟机IP ip address 得到 192.168.196.128/24 宿主机进行Ping测试 C:\Users\Administrator>ping 192.168.196.128正在 Ping 192.168.196.128 具有 32 字节的数据: 来自 192.168.196.128 的回复: 字节32 时间…...
录屏有道, 四款必备录屏工具推荐!
制作教程视频、游戏直播或是远程会议记录等都需要录屏,那么到底应该怎么录屏呢?接下来就给大家介绍几个好用的录屏工具 Foxit REC 直达链接:www.foxitsoftware.cn/REC/ 操作教程:立即获取 Foxit REC以其强大的功能、简洁的界面…...
5G NR:UE初始接入信令流程浅介
UE初始接入信令流程 流程说明 用户设备(UE)向gNB-DU发送RRCSetupRequest消息。gNB-DU 包含 RRC 消息,如果 UE 被接纳,则在 INITIAL UL RRC MESSAGE TRANSFER 消息中包括为 UE 分配的低层配置,并将其传输到 gNB-CU。IN…...
探索 Spring AI:Java 开发者的 AI 应用开发新利器
在当今这个由人工智能驱动的时代,AI 技术正在以前所未有的速度改变着我们的工作和生活方式。对于 Java 开发者来说,将 AI 能力集成到他们的应用程序中,已经成为了一个迫切的需求。阿里云开源的 Spring AI Alibaba 框架,正是为了满…...
Linux历史
Linux 于 1991 年由芬兰学生 Linus Torvalds 作为个人项目开始,旨在创建一个新的免费操作系统内核。在其历史发展中,Linux 内核经历了持续的增长。自 1991 年首次发布源代码以来,Linux 内核从少量的 C 语言文件,且受限于禁止商业发…...
C++ 方法积累
std::numeric_limits<UInt32>::max()placement new 用于控制分配空间 PostingListInMemory * posting_list arena.alloc<PostingListInMemory>();new (posting_list) PostingListInMemory();/// placement new;PostingListInMemory & operator(const Posting…...
区块链-智能合约Solidity编程
文章目录 一、ubuntu安装二、FISCO BCOS安装五、 WeBASE安装5.1 WeBASE简介5.2 节点前置服务搭建5.3 调用HelloWorld合约 七、Solidity极简入门7.1. 值类型7.2. 变量数据存储和作用域7.3. 函数7.4 控制流7.5 数组&映射7.6 结构体7.7 修饰符7.8 事件7.9 面向对象7.10 抽象合…...
VS Code创建VUE项目(一)工具安装与项目创建
一.安装与配置npm 1.下载安装Node.js 安装Node.js 下载地址: Node.js — 在任何地方运行 JavaScript (nodejs.org)或下载 | Node.js 中文网 下载后一步步安装就好(安装过程基本一路直接“NEXT”就可以了,直到Finished)&#x…...
cudnn8编译caffe过程(保姆级图文全过程,涵盖各种报错及解决办法)
众所周知,caffe是个较老的框架,而且只支持到cudnn7,但是笔者在复现ds-slam过程中又必须编译caffe,我的cuda版本是11.4,最低只支持到8.2.4,故没办法,只能编译了 在此记录过程、报错及解决办法如下; 首先安装依赖: sudo apt-get install git sudo apt-get install lib…...
Docker安装Nginx
前提:Docker已安装好,本人使用的为自带docker的云服务器,docker常用命令已掌握,yjj为在根目录创建的一个文件夹,可自行修改对应的目录。 1、安装镜像,可去dockerhub上面找,一般都是组件名称。do…...
大数据治理:构建新时代数据生态的关键
摘要 随着信息技术的飞速发展和数字化浪潮的席卷,大数据已成为当今社会的核心资源。如何有效治理大数据,不仅关系到数据资源的利用效率,还对隐私保护、网络安全和社会秩序产生深远影响。本文深入探讨了大数据治理的概念、面临的挑战以及治理框架的构建,从技术、法律和伦理等…...
Leetcode 1223 LCA of Deepest TreeNode
题意,找到所有最深的叶子节点的LCA https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/description/ 第一个想法是模块的想法, LCA 找到所有最深的叶子节点两两组合 可行,但是算法复杂度很高而且你先要从顶到下,再从…...
C++从入门到起飞之——红黑树 全方位剖析!
🌈个人主页:秋风起,再归来~🔥系列专栏:C从入门到起飞 🔖克心守己,律己则安 目录 1. 红⿊树的概念 2. 红⿊树的实现 2.1 构建整体框架 2.2 红黑树的插入 2.3 红黑树的验证 2.4 红黑树…...
Java基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)
选题背景 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…...
[LeetCode] 733. 图像渲染
题目描述: 有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。你也被给予三个整数 sr , sc 和 color 。你应该从像素 image[sr][sc] 开始对图像进行上色 填充 。 为了完成 上色工作: 从初始像素…...
智能EDA小白从0开始 —— DAY23 PyAether深度解析与技术展望
引言:技术革新与行业需求的碰撞 在半导体行业快速发展的今天,芯片设计的复杂性和对效率的要求日益提升。传统的芯片设计工具和方法已经难以满足当前行业的需求,特别是在面对大规模、高性能芯片的设计时,设计师们面临着前所未有的…...
从深海探测到海洋强国:数字孪生助力海洋装备跨越式发展
海洋广袤无垠,蕴藏着丰富的资源。近现代以来,人类使用各种手段探索海洋探索,广袤无垠的海洋与人类的生活越来越紧密,至少10亿人口摄入的蛋白质来自海洋,全球超过90%的货物、数据信息交流在海洋中转;海洋中丰…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...
