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

文章目录

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

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

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

相关文章

【MySQL】表的约束、基本查询、内置函数

目录 1. 表的约束1.1 空属性1.2 默认值1.3 列描述1.4 zerofill1.5 主键1.6 自增长1.7 唯一键1.8 外键 2. 基本查询2.1 表的增删改查2.1.1 插入数据2.1.2 插入否则更新2.1.3 替换插入 2.2 Retrieve2.2.1 select ----- 查询2.2.2 where ----- 筛选2.2.3 order by ----- 结果排序2…

全方面熟悉Maven项目管理工具(一)认识Maven、Maven如何安装?

1. Maven 1.1 应用场景: 本地仓库: 我们使用的jar依赖于maven的本地仓库 自动部署: 本地仓库推送到远程仓库, 远程库通知 Jenkins工具,Jenkins 调用Maven构建war包,Jenkins 再调用准备好的脚本程序&…

linux jdk环境变量变量新配置方式

1.jdk17--> jdk8环境变量配置,source /etc/profile了也不生效 which java #假设上命令运行结果为/usr/bin/java rm -rf /usr/bin/javaln -s $JAVA_HOME/bin/java /usr/bin/java source /etc/profile# 断开本次远程连接,重连检查java -version 2.jdk环境变量变…

UDP和TCP的区别

UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是两种不同的传输层协议,它们在数据传输的方式和可靠性方面有显著区别: 连接方式: TCP:面向连接的协议&#xff0…

Unity DOTS中的Archetype与Chunk

Unity DOTS中的Archetype与Chunk 在Unity中,archetype(原型)用来表示一个world里具有相同component类型组合的entity。也就是说,相同component类型的entity在Unity内部会存储到一起,共享同一个archetype。 使用这样的设…

Linux系统:本机(物理主机)访问不了虚拟机中的apache服务问题的解决方案

学习目标: 提示:本文主要讲述-本机(物理主机)访问不了虚拟机中的apache服务情况下的解决方案 Linux系统:Ubuntu 23.04; 文中提到的“本机”:代表,宿主机,物理主机; 首先&#xff0c…

linux 中mysql my.cnf 配置模版

前置准备 sudo systemctl stop mysqld 注意: 原本配置重命名做备份 备份数据 删文件 直接新建 my.cnf 把配置 11要粘进去的内容 直接粘进去 注意:尽管log-bin 和 log_bin 都可以启用二进制日志,但为了保持与现代MySQL版本的兼容性和一…

物流行业创新:SpringBoot技术应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

24.安卓逆向-frida基础-objection工具3-实战

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…

全方面熟悉Maven项目管理工具(五)教你IDEA创建Maven基本项目、导入工程和模块,并为你讲解Maven的生命周期

1. IDEA 配置 Maven 本身 IDEA 就可以在一个项目中创建多个子模块。 1.1 创建父工程 如果要构建不同的 Maven 工程类型,可以勾选【从原型创建】在列表中选择工程类型 1.2 IDEA 配置 Maven 本地仓库 在设置中前往:构建、执行、部署 >> 构建工具…

鸿蒙网络编程系列28-服务端证书锁定防范中间人攻击示例

1. TLS通讯中间人攻击及防范简介 TLS安全通讯的基础是基于对操作系统或者浏览器根证书的信任,如果CA证书签发机构被入侵,或者设备内置证书被篡改,都会导致TLS握手环节面临中间人攻击的风险。其实,这种风险被善意利用的情况还是很…

Linux基础项目开发day06:量产工具——业务系统

文章目录 前言一、流程代码框架1、业务系统框架流程2、主页面流程图3、main.c实现流程 二、处理配置文件1、配置文件是啥?config.h 2、怎么处理配置文件?config.c 三、生成界面1、计算每个按钮的Region2、逐个生成按钮画面->生成页面 四、读取输入事件…

记录一次hiveserver2卡死(假死)问题

问题描述 给开发人员开通了个账号,连接hive进行查询,后来发现,hive服务有时候会卡死,查询不了,连不上(所有账号/客户端都连不上hive),但在chd里面看监控,服务器资源状态…

物联网之超声波测距模块、arduino、esp32

MENU 原理硬件电路设计软件程序设计 原理 超声波是一种频率高于20000Hz的声波,功率密度为p≥0.3W/cm,它的方向性好,反射能力强,易于获得较集中的声能。超声波用于许多不同的领域,比如检测物体和测量距离,清…

Unity 2d UI 实时跟随场景3d物体

2d UI 实时跟随场景3d物体位置&#xff0c;显示 3d 物体头顶信息&#xff0c;看起来像是场景中的3dUI&#xff0c;实质是2d UIusing System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; using UnityEngine.UI; /// <summary>…

【JS】无法阻止屏幕滚动

监听滚轮事件&#xff0c;阻止默认行为&#xff0c;但未生效&#xff0c;且控制台报错。 window.addEventListener(wheel, (e) > {e.preventDefault(); })这是因为现代浏览器使用 Passive 事件监听器&#xff0c;默认启用了 passive 模式以确保性能&#xff0c;不会调用 pr…

Cancer Cell|最新发表的单细胞成纤维细胞分析代码,速来学习!!!

简介 成纤维细胞在维持组织稳态、应对炎症和纤维化状况、帮助伤口愈合以及促进癌症进展的复杂舞蹈中起着关键作用。在癌症领域&#xff0c;成纤维细胞已成为肿瘤微环境&#xff08;TME&#xff09;中的核心人物&#xff0c;发挥着多方面的作用。这些作用包括细胞外基质&#xf…

【深度学习实战—12】:基于MediaPipe的手势识别

✨博客主页&#xff1a;王乐予&#x1f388; ✨年轻人要&#xff1a;Living for the moment&#xff08;活在当下&#xff09;&#xff01;&#x1f4aa; &#x1f3c6;推荐专栏&#xff1a;【图像处理】【千锤百炼Python】【深度学习】【排序算法】 目录 &#x1f63a;一、Med…

Java设计模式梳理:行为型模式(策略,观察者等)

行为型模式 行为型模式关注的是各个类之间的相互作用&#xff0c;将职责划分清楚&#xff0c;使得我们的代码更加地清晰。 策略模式 策略模式太常用了&#xff0c;所以把它放到最前面进行介绍。它比较简单&#xff0c;我就不废话&#xff0c;直接用代码说事吧。 下面设计的…

电能表预付费系统-标准传输规范(STS)(16)

6.3.9 MPL: MaximumPowerLimit&#xff08;最大功率限制&#xff09; The maximum power limit field is a 1 6-bit field that indicates the maximum power that the load may draw, in watts. Calculation of this field is identical to that of the TransferAmount field…