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

计算机网络:数据链路层 —— 扩展共享式以太网

文章目录

    • 共享式以太网
      • 共享式以太网存在的问题
      • 在物理层扩展以太网
        • 扩展站点与集线器之间的距离
        • 扩展共享式以太网的覆盖范围和站点数量
      • 在链路层扩展以太网
        • 网桥的主要结构
        • 网桥的基本工作原理
        • 透明网桥
          • 自学习和转发帧
          • 生成树协议STP

共享式以太网

共享式以太网是当今局域网中广泛采用的一种通信协议标准,它定义了局域网(LAN)中电缆的类型和信号处理方法

共享式以太网中的所有节点都共享一段传输信道,并通过该信道传输信息。采用带冲突检测的载波侦听多路访问CSMA/CD)机制。当以太网中的一台主机要传输数据时,会先侦听信道上是否有其他设备正在传输,如果信道空闲,则开始传输数据;如果侦听到冲突,则等待一段时间后再次尝试传输。

![[共享式以太网.png]]

关于共享式以太网的相关介绍:数据链路层 —— 共享式以太网

共享式以太网存在的问题

  1. 带宽共享问题:在共享式以太网中,所有用户共享同一带宽。随着网络用户数的增加,每个用户的实际可用带宽会逐渐减少。这是因为当信息繁忙时,多个用户可能同时“争用”一个信道,而一个信道在某一时刻只允许一个用户占用。因此,大量的用户经常处于监测等待状态,导致信号传输时产生抖动、停滞或失真,从而严重影响了网络的性能。

  2. 冲突域问题:共享式以太网中的所有设备都处于同一个冲突域中。如果两个设备同时发送信号,就会产生冲突。这种冲突会导致数据包的丢失重传,进一步降低网络的效率。

  3. 半双工操作:在共享式以太网中,设备只能实现半双工操作。即在同一时间,只能传输单一方向的数据。当两个方向的数据同时传输时,就会产生冲突,这会降低以太网的效率。

  4. 设备互联限制:在共享式以太网中,不同速率的设备无法实现互联。所有接入的设备都必须和传输介质的和互联设备接口速率一致,这限制了网络的灵活性和可扩展性。

因此,我们需要将现有的以太网网络扩展至更大的规模或更远的距离,同时保持网络的高效运行。

在物理层扩展以太网

扩展站点与集线器之间的距离
  • 共享总线以太网中两站点之间的距离不能太远,否则它们之间所传输的信号就会衰减到使 CSMA/CD 协议无法正常工作。

  • 在早期广泛使用粗同轴电缆或细同轴电缆共享总线以太网时,为了提高网络的地理覆盖范围,常用的是工作在物理层的转发器

  • IEEE 802.3标准规定,两个网段可用一个转发器连接起来,任意两个站点之间最多可以经过三个网段

![[扩展站点与集线器.png]]

随着使用双绞线和集线器的 10BASE-T 星型以太网成为以太网的主流类型,扩展网络覆盖范围就很少使用转发器了。10BASE-T星型以太网中每个站点到集线器的距离不能超过100m,因此两站点间的通信距离最大不能超过 200m

  • 10BASE-T 星型以太网中,可使用光纤一对光纤调制解调器扩展站点与集线器之间的距离。这种扩展方法比较简单,所需付出的代价是:为站点和集线器各增加一个用于电信号和光信号转换的光纤调制解调器,以及它们之间的一对通信光纤。

  • 信号在光纤中的衰减和失真很小,因此使用这种方法可以很简单地将站点与集线器之间的距离扩展到1000m以上

![[扩展站点与集线器之间的距离.png]]

扩展共享式以太网的覆盖范围和站点数量

以太网集线器一般具有8~32个接口,如果要连接的站点数量超过了单个集线器能够提供的接口数量,就需要使用多个集线器,这样就可以连接成覆盖更大范围、连接更多站点的多级星型以太网

采用多个集线器连接而成的多级星型以太网,在扩展了网络覆盖范围和站点数量的同时,也带来了一些负面因素。

在物理层扩展的共享式以太网仍然是一个碰撞域,不能连接太多的站点,否则可能会出现大量的碰撞,导致平均吞吐量太低。

![[物理层扩展的共享式以太网.png]]

使用集线器扩展共享式以太网,即扩大了广播域,也扩大了碰撞域

在链路层扩展以太网

网桥(bridge)工作在数据链路层(包含其下的物理层),因此网桥具备属于数据链路层范畴的相关能力,网桥可以识别帧的结构,可以根据帧首部中的目的 MAC 地址和网桥自身的帧转发表来转发或丢弃所收到的帧

相关阅读:计算机网络:数据链路层 —— 网络适配器与 MAC 地址

通过网桥扩展以太网:

在这里插入图片描述

网桥的主要结构

![[网桥的主要结构.png]]
图中的两个集线器将分别一些计算机连接在一个物理网络中,而网桥则连接了这两个物理网络。网桥有两个接口,分别连接到两个碰撞域,实现了不同碰撞域之间的数据通信。通过这种方式,网桥可以将两个原本独立的网络合并成一个更大的网络,增加了站点的数量和覆盖范围。

网桥的基本工作原理

网桥的接口在向其连接的网段转发帧时会执行相应的媒体接入控制协议,对于共享式以太网就是CSMA/CD协议

![[网桥的基本工作原理.png]]

  • 当数据包到达网桥的一个接口时,网桥首先查看其目的地址,然后查询转发表以确定应将数据包转发到哪个接口。

例如,在图中,如果数据包的目标地址是 D,则根据转发表可知 D 位于接口1,所以数据包会被转发到接口1。同理,如果目标地址是 E 或 F,则数据包会被转发到接口2。通过这种方式,网桥可以将数据包准确地转发到目的地,减少了冲突并提高了网络性能。

网桥转发帧的情况
![[网桥转发帧.png]]

  1. 转发表:网桥有一个转发表,其中列出了各个设备的地址及其对应接口的信息。例如,设备 A、B 和 C 都在接口1,而设备 D、E 和 F 都在接口2。

  2. 帧转发:当一个帧从 接口1 进入网桥时,网桥会检查帧的目的地址。假设帧的目的地址是 D,那么网桥会在转发表中查找 D 的位置。

  3. 决策过程:根据转发表,网桥得知设备 D 位于 接口2,因此它会将帧转发到 接口2。

  4. 接受和丢弃:在 接口2 侧,只有设备 D 会接受这个帧,其他设备(E 和 F)会丢弃它,因为帧不是发给他们的。

网桥转发广播帧的情况
![[网桥转发广播帧.png]]

透明网桥

网桥中的转发表对于帧的转发起着决定性的作用。而透明网桥(Transparent Bridge)通过自学习算法建立转发表

  • 透明网桥中的“透明”,是指以太网中的各站点并不知道自己所发送的帧将会经过哪些网桥的转发,最终到达目的站点。也就是说,以太网中的各网桥对于各站点而言是看不见的

  • 透明网桥的标准是IEEE 802.1D,它通过一种自学习算法基于以太网中各站点间的相互通信逐步建立起自己的转发表。

自学习和转发帧

![[透明网桥自学习.png]]

  1. 网桥收到帧后进行登记(即自学习),登记的内容为帧的源MAC地址进入网桥的接口号

  2. 网桥根据帧的目的MAC地址和网桥的转发表对帧进行转发,包含以下三种情况:

    • 明确转发:网桥知道应当从哪个接口转发帧。

    • 盲目转发:网桥不知道应当从哪个接口转发帧,只能将其通过除进入网桥的接口外的其他所有接口转发。

    • 丢弃:网桥知道不应该转发该帧,将其丢弃,

注意:

  • 如果网桥收到有误码的帧直接丢弃

  • 如果网桥收到一个无误码的广播帧,则不用进行查表,而是直接从除接收该广播帧的接口的其他接口转发该广播帧。

  • 广播帧首部中目的 MAC 地址字段的值为广播地址,即 48比特全为1,十六进制形式为全F,FF-FF-FF-FF-FF-FF

  • 转发表中的每条记录都有其有效时间到期自动删除。这是因为各站点的 MAC 地址与网桥接口的对应关系并不是永久性的,例如某个站点更换了网卡,其 MAC 地址就会改变。

生成树协议STP

为了提高以太网的可靠性,有时需要在两个以太网之间使用多个透明网桥来提供冗余链路。

![[透明网桥冗余链路.png]]

这种情况下,广播帧在环路中永久兜圈,造成广播帧充斥整个网络,网络资源被白白浪费,而网络中的主机之间无法正常通信!

若网桥 B1 和 B2 的转发表中都没有待转发单播帧目的 MAC 地址的相关记录,则该单播帧也会引起类似的情况。(为了简单起见,未考虑信号在总线上碰撞的情况)

在增加冗余链路提高以太网可靠性的同时,却给网络引入了环路。为了避免广播帧在环路中永久兜圈,透明网桥使用生成树协议(SpanningTree Protocol,STP),可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题,不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(Bridge Protocol Data Unit,BPDU)找出原网络拓扑的一个连通子集(即生成树),在这个子集里整个连通的网络中不存在环路

当首次连接网桥或网络拓扑发生变化时(人为改变或出现故障),网桥都会重新构造生成树,以确保网络的连通。

![[透明网桥STP.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 下载地址&#xff1a; Node.js — 在任何地方运行 JavaScript (nodejs.org)或下载 | Node.js 中文网 下载后一步步安装就好&#xff08;安装过程基本一路直接“NEXT”就可以了&#xff0c;直到Finished&#xff09;&#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

前提&#xff1a;Docker已安装好&#xff0c;本人使用的为自带docker的云服务器&#xff0c;docker常用命令已掌握&#xff0c;yjj为在根目录创建的一个文件夹&#xff0c;可自行修改对应的目录。 1、安装镜像&#xff0c;可去dockerhub上面找&#xff0c;一般都是组件名称。do…...

大数据治理:构建新时代数据生态的关键

摘要 随着信息技术的飞速发展和数字化浪潮的席卷,大数据已成为当今社会的核心资源。如何有效治理大数据,不仅关系到数据资源的利用效率,还对隐私保护、网络安全和社会秩序产生深远影响。本文深入探讨了大数据治理的概念、面临的挑战以及治理框架的构建,从技术、法律和伦理等…...

Leetcode 1223 LCA of Deepest TreeNode

题意&#xff0c;找到所有最深的叶子节点的LCA https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/description/ 第一个想法是模块的想法, LCA 找到所有最深的叶子节点两两组合 可行&#xff0c;但是算法复杂度很高而且你先要从顶到下&#xff0c;再从…...

C++从入门到起飞之——红黑树 全方位剖析!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a;C从入门到起飞 &#x1f516;克心守己&#xff0c;律己则安 目录 1. 红⿊树的概念 2. 红⿊树的实现 2.1 构建整体框架 2.2 红黑树的插入 2.3 红黑树的验证 2.4 红黑树…...

Java基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)

选题背景 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…...

[LeetCode] 733. 图像渲染

题目描述&#xff1a; 有一幅以 m x n 的二维整数数组表示的图画 image &#xff0c;其中 image[i][j] 表示该图画的像素值大小。你也被给予三个整数 sr , sc 和 color 。你应该从像素 image[sr][sc] 开始对图像进行上色 填充 。 为了完成 上色工作&#xff1a; 从初始像素…...

智能EDA小白从0开始 —— DAY23 PyAether深度解析与技术展望

引言&#xff1a;技术革新与行业需求的碰撞 在半导体行业快速发展的今天&#xff0c;芯片设计的复杂性和对效率的要求日益提升。传统的芯片设计工具和方法已经难以满足当前行业的需求&#xff0c;特别是在面对大规模、高性能芯片的设计时&#xff0c;设计师们面临着前所未有的…...

从深海探测到海洋强国:数字孪生助力海洋装备跨越式发展

海洋广袤无垠&#xff0c;蕴藏着丰富的资源。近现代以来&#xff0c;人类使用各种手段探索海洋探索&#xff0c;广袤无垠的海洋与人类的生活越来越紧密&#xff0c;至少10亿人口摄入的蛋白质来自海洋&#xff0c;全球超过90%的货物、数据信息交流在海洋中转&#xff1b;海洋中丰…...

架构师备考-背诵精华(系统质量属性)

系统质量属性 根据GB/T 16260.1 定义&#xff0c;从管理角度对软件系统质量进行度量&#xff0c;可将影响软件质量的主要因素划分为6种维度特性包括&#xff1a;功能性、可靠性、易用性、效率、维护性、可移植性 功能性 适合性、准确性、互操作性、依从性、安全性 可靠性 容错…...

Pycharm下载安装教程(详细步骤)+汉化设置教程

今天讲解的是Pycharm安装教程和配置汉化设置&#xff0c;希望能够帮助到大家。 创作不易&#xff0c;还请各位同学三连点赞&#xff01;&#xff01;收藏&#xff01;&#xff01;转发&#xff01;&#xff01;&#xff01; 对于刚入门学习Python还找不到方向的小伙伴可以试试…...

网络安全入门

网络安全入门是指学习和了解网络安全基础知识和技术的入门阶段。网络安全是指保护计算机系统、网络和数据免受未经授权的访问、使用、泄露、破坏以及其他威胁的技术和措施。 要入门网络安全&#xff0c;可以按照以下步骤进行&#xff1a; 了解网络安全基本概念&#xff1a;学习…...

你真的了解Canvas吗--解密十【ZRender篇】

目录 👊🏻入口 动画讲解二 Animator Element Transformable graphic 总结 书接上篇你真的了解Canvas吗--解密九【ZRender篇】由于一个bug的篇幅需要续写这个下篇,不过那块的bug内容对我们这篇要讲的动画也是息息相关的,因为Transformable这个类主要就是和变换相…...

mac安装brew时踩坑解决方案

安装包 mac上如果按照git等工具可能会使用brew&#xff0c;例如使用&#xff1a;$ brew install git命令&#xff0c;如果电脑没有按照brew&#xff0c;则会提示&#xff1a;zsh: command not found: brew 解决方案 需要我们打开brew的官网https://brew.sh/&#xff0c;复制…...

基于Handsontable.js + Excel.js实现表格预览和导出功能(公式渲染)

本文记录在html中基于Handsontable.js Excel.js实现表格预览、导出、带公式单元格渲染功能&#xff0c;在这里我们在html中实现&#xff0c;当然也可以在vue、react等框架中使用npm下载导入依赖文件。 Handsontable官方文档 一、开发前的准备引入相关依赖库 <!DOCTYPE ht…...

重学SpringBoot3-集成Redis(十三)之点排行榜实现

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成Redis&#xff08;十三&#xff09;之点排行榜实现 1. 为什么选择 Redis 来实现排行榜&#xff1f;2. 项目环境准备2.1. 添加依赖2.2. 配置 Redis 连…...

Java 中方法参数传递的陷阱

前言 在编程过程中&#xff0c;我们经常会遇到一些看似简单却容易出错的问题。本文将通过一个具体的例子&#xff0c;探讨 Java 中方法参数传递的陷阱&#xff0c;并提供详细的解决方法。希望这篇文章能帮助你在未来的开发中避免类似的错误。 问题背景 假设我们的任务是计算…...

哪家云电脑便宜又好用?ToDesk云电脑、顺网云、达龙云全方位评测

陈老老老板&#x1f934; &#x1f9d9;‍♂️本文专栏&#xff1a;生活&#xff08;主要讲一下自己生活相关的内容&#xff09;生活就像海洋,只有意志坚强的人,才能到达彼岸。 &#x1f9d9;‍♂️本文简述&#xff1a;讲一下市面上云电脑的对比。 &#x1f9d9;‍♂️上一篇文…...

【汇编语言】寄存器(内存访问)(三)—— 字的传送

文章目录 前言1. 字的传送2. 问题一3. 问题一的分析与解答4. 问题二5. 问题二的分析与解答结语 前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但仅仅从课程的角度出发就太片面了&#xff0c;其实学习汇编语言…...