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

news2024/12/23 20:49:00

文章目录

    • 共享式以太网
      • CSMA/CD 协议
        • CSMA/CD 协议 的基本原理
      • 共享式以太网的争用期
      • 共享式以太网的最小帧长
      • 共享式以太网的最大帧长
      • 共享式以太网的退避算法
        • 截断二进制指数退避算法
      • 共享二进制以太网的信道利用率
      • 使用集线器的共享式以太网
        • 10BASE-T

共享式以太网

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

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

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

CSMA/CD 协议

CSMA/CD 协议(Carrier Sense Multiple Access/Collision Detection,载波监听多址接入/碰撞检测)是一种重要的媒体访问控制方法,特别是在以太网等局域网中广泛应用。

  • 在以太网的发展初期,人们普遍认为“无源的电缆线比有源器件可靠”,因此将多个站点连接在一条总线上来构建共享总线以太网。

  • 共享总线以太网具有天然的广播特性,即使总线上某个站点给另一个站点发送单播帧,表示帧的信号也会沿着总线传播到总线上的其他各站点

  • 当某个站点在总线上发送帧时,总线资源会被该站点独占。此时,如果总线上的其他站点也要在总线上发送帧,就会产生信号碰撞

  • 当两个或多个站点同时使用总线发送帧时,就会产生信号碰撞。

  • 为了解决各站点争用总线的问题,共享总线以太网使用了一种专用协议 CSMA/CD,它是载波监听多址接入/碰撞检测(Carrier Sense Multiple Access Collision Detection)的英文缩写词。

CSMA/CD 协议 的基本原理
  • CS 载波监听:每个站点在发送帧之前,先要检测一下总线上是否有其他站点在发送帧(“先听后说”)

    • 若检测到总线空闲 96 比特时间(发送96比特所耗费的时间,也称为帧间隔)则发送这个帧。

    • 若检测到总线忙,则继续检测并等待总线转为空闲 96 比特时间,然后发送这个帧。

  • MA 多址接入:多个站点连接在一条总线上竞争使用总线。

  • CD 碰撞检测:每个正在发送帧的站点边发送边检测碰撞(“边说边听”):

    • 一旦发现总线上出现碰撞立即停止发送,退避一段随机时间后再次从载波监听开始进行发送(一旦冲突,立即停说,等待时机,重新再说”)

共享式以太网的争用期

![[ 1.png]]

![[争用期2.png]]

  • 站点从发送帧开始,最多经过时长 2 τ 2\tau 2τ (即 δ \delta δ → 0)就可检测出所发送的帧是否遭遇了碰撞。

  • 共享总线以太网的端到端往返时间 2 τ 2\tau 2τ 被称为争用期(Contention Period)或碰撞窗口(ColisionWindow),它是一个非常重要的参数。

    • 站点从发送帧开始,经过争用期 2 τ 2\tau 2τ 这段时间还没有检测到碰撞,就可以肯定这次发送不会产生碰撞
  • 从争用期的概念可以看出,共享总线以太网上的每一个站点从发送帧开始,到之后的一小段时间内,都有可能遭遇碰撞,而这一小段时间的长短是不确定的,它取决于另一个发送帧的站点与本站点的距离,但不会超过总线的端到端往返传播时延,即一个争用期 2 τ 2\tau 2τ

    • 总线的长度越长(单程端到端传播时延越大),网络中站点数量越多,发生碰撞的概率就越大。

    • 共享以太网的总线长度不能太长,接入的站点数量也不能太多

10Mb/s共享总线以太网(传统以太网)规定:争用期 2 τ 2\tau 2τ 的值为 512 比特的发送时间,即 51.2 μ s 51.2\mu{s} 51.2μs

除考虑了信号传播时延外,还考虑到网络中可能存在转发器所带来的时延以及产生碰撞时继续发送 32比特 或 48比特 人为干扰信号所持续的时间等。

争用期 2 τ = 512 b 10 M b / s = 512 b 10 × 1 0 6 b / s = 51.2 μ s 争用期 2\tau = \frac{512b}{10 Mb/s} = \frac{512b}{10 \times{10^6 b/s}} = 51.2\mu s 争用期2τ=10Mb/s512b=10×106b/s512b=51.2μs

单程端到端传播时延 τ = 51.2 μ s 2 = 25.6 μ s 单程端到端传播时延 \tau = \frac{51.2\mu s}{2} = 25.6\mu s 单程端到端传播时延τ=251.2μs=25.6μs

假设信号的传播速率为 2 × 1 0 8 m / s ,则总线长度为 2 × 1 0 8 m / s × 25.6 μ s = 5120 m 假设信号的传播速率为 2\times10^8m/s,则总线长度为 2\times10^8m/s\times25.6\mu s = 5120m 假设信号的传播速率为2×108m/s,则总线长度为2×108m/s×25.6μs=5120m

共享总线以太网规定:总线长度不能超过2500m

共享式以太网的最小帧长

为了确保共享总线以太网上的每一个站点在发送完一个完整的帧之前,能够检测出是否产生了碰撞,帧的发送时延就不能少于共享总线以太网端到端的往返时间,即一个争用期 2 τ 2\tau 2τ

对于 10Mb/s 的共享总线以太网,其争用期 2 τ 2\tau 2τ 的值规定为 51.2 μ s 51.2\mu s 51.2μs,因此其最小帧长为 512b,即64B

10 M b / s × 51.2 μ s = 512 b = 64 B 10 Mb/s \times 51.2\mu s = 512b = 64B 10Mb/s×51.2μs=512b=64B

![[最小帧长.png]]

当某个站点在发送帧时,如果帧的前64B没有遭遇碰撞,那么帧的后续部分也就不会遭遇碰撞。也就是说,如果遭遇碰撞,就一定是在帧的前64B之内

由于发送帧的站点边发送帧边检测碰撞,一旦检测到碰撞就立即中止帧的发送,此时已发送的数据量一定小于64B。因此,接收站点收到长度小于64B的帧,就可判定这是一个遭遇了碰撞而异常中止的无效帧,将其丢弃即可。

共享式以太网的最大帧长

一般来说,帧的数据载荷的长度应远大于帧首部和尾部的总长度,这样可以提高帧的传输效率。然而,如果不限制数据载荷的长度上限,就可能使得帧的长度太长,这会带来一些问题。

![[最大帧长1.png]]

因此在以太网V2的MAC帧中,最大帧长度为 1518B

![[最大帧长2.png]]

共享式以太网的退避算法

共享式以太网的退避算法,特别是在使用 CSMA/CD(载波监听多址接入/碰撞检测)协议的共享总线以太网中,是为了解决多个站点同时发送数据时产生的碰撞问题而设计的,采用 截断二进制指数退避算法

  • 当站点在发送数据时检测到碰撞,它会立即停止发送,并等待一段随机时间后再重新尝试发送。
截断二进制指数退避算法
  1. 确定退避时间

    • 使用公式:退避时间 = 基本退避时间(争用期 2 τ ) × 随机数 r 基本退避时间(争用期 2\tau) × 随机数 r 基本退避时间(争用期2τ×随机数r
      • r 是从 [ 0 , 1 , . . . , ( 2 k − 1 ) ] [0, 1, ..., (2^k - 1)] [0,1,...,(2k1)] 中随机选取的一个数。
      • 其中,k = m i n [ 重传次数(从 0 开始计数) , 10 ] min[重传次数(从0开始计数), 10] min[重传次数(从0开始计数),10]
      • 基本退避时间通常是固定的,根据网络配置和标准而定。
  2. 重传次数限制:当重传达16次仍不能成功时,就表明同时打算发送帧的站点太多,以至于连续产生碰撞,此时应放弃重传并向高层报告。

  3. 退避时间的动态调整:随着重传次数的增加(k 值增大),退避时间的范围(竞争窗口)会按2的指数增大,从而减少再次碰撞的概率。

  • 如果连续多次发生碰撞,就表明可能有较多的站点参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间,随重传次数而增大(即动态退避),因而减小产生碰撞的概率。

![[截断二进制指数退避算法.png]]

共享二进制以太网的信道利用率

理性情况下,不考虑信道可能发生(多次)碰撞进行(多次)退避的时间,考虑以下情况:

  • 总线一旦空闲就有某个站点立即发送帧

  • 各站点发送帧都不会产生碰撞

  • 发送一帧占用总线的时间为 T 0 + τ T_0+\tau T0+τ,而帧本身的发送时间是 T 0 T_0 T0

极限信道利用率 S m a x = T 0 T 0 + τ = 1 1 + τ T 0 = 1 1 + a (设 τ T 0 为 a ) 极限信道利用率 S_{max} = \frac{T_0}{T_0+\tau}=\frac{1}{1+\frac{\tau}{T_0}}=\frac{1}{1+a}(设 \frac{\tau}{T_0} 为 a) 极限信道利用率Smax=T0+τT0=1+T0τ1=1+a1(设T0τa

因此,参数a的值应尽量小,以提高信道利用率,共享总线以太网端到端的距离不应太长,帧的长度应尽量大

使用集线器的共享式以太网

在使用细同轴电缆的共享总线以太网之后,以太网发展出来了一种使用大规模集成电路来替代总线、并且可靠性非常高的设备,叫作集线器(Hub)。站点连接到集线器的传输媒体也转而使用更便宜、更灵活的双绞线电缆

![[使用集线器的共享式以太网.png]]

集线器的一些主要特点如下:

  • 使用集线器的以太网虽然物理拓扑是星型的,但在逻辑上仍然是一个总线网。总线上的各站点共享总线资源,使用的还是CSMA/CD协议

  • 集线器只工作在物理层,它的每个接口仅简单地转发比特,并不进行碰撞检测。碰撞检测的任务由各站点中的网卡负责。

  • 集线器一般都有少量的容错能力和网络管理功能,例如,若网络中某个站点的网卡出现了故障而不停地发送帧,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网能正常工作

  • 使用细同轴电缆的共享总线型以太网和使用集线器和双绞线的星型拓扑的共享式以太网,物理拓扑不相同,但工作逻辑相同,网络中的各站点都使用 CSMA/CD 协议来共享(争用)网络资源。

10BASE-T
  • IEEE于1990年制定了 10BASE-T 星型以太网的标准802.3i,这种以太网是局域网发展史上的一座非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。

  • 10BASE-T以太网的通信距离较短每个站点到集线器的距离不能超过100m

  • IEEE 802.3以太网还可使用光纤作为传输媒体,相应的标准为10BASE-F,“F”表示光纤。光纤主要用作集线器之间的远程连接。

  • 10BASE-T10 代表传输速率为 10Mb/s, BASE 代表采用基带信号进行传输, T 代表采用双绞线作为传输媒体。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微分几何-曲线论(曲线)

文章目录 曲线定义常见曲线直线圆圆柱螺线维维安尼曲线 连续曲线/光滑曲线正则曲线切向量切线方程法平面(法面) 弧长定理1:弧长公式弧长参数化定理2:任何一条正则曲线都可以使用弧长作参数.(也称弧长参数为**自然参数*…

[Linux] 逐层深入理解文件系统 (1)—— 进程操作文件

标题:[Linux] 文件系统 (1)—— 进程操作文件 个人主页水墨不写bug (图片来源于网络) 目录 一、进程与打开的文件 二、文件的系统调用与库函数的关系 1.系统调用open() 三、内存中的文件描述符表 四、缓冲区…

【Java SE 】类和对象详解

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1, 面向对象认识 1.1 什么时面向对象 1.2 面向对象和面向过程 1.2.1 一个例子理解对象和过程 1. 对于电脑来说 2. 对于我们人来说 2. 类的定…

还在为调用大模型API接口返回数据的处理问题烦恼???来看看这篇文章,解决你的烦恼!!!

大家好!我是学徒小z,今天给大家分享一下我做项目过程中遇到的一个问题。 文章目录 问题大模型接口解决方案流式返回和回调函数另一个问题1. 使用web组件2. 使用第三方库 问题 不知道大家有没有遇到这样一个问题。在调用大模型接口的时,返回…

Lnmp(mysql分离)(nginx 1.13.6+mysql5.5+php5.3)环境一键搭建

Lnmp(mysql分离)(nginx 1.13.6mysql5.5php5.3)环境一键搭建 如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实…

深度学习之残差网络ResNet

文章目录 1. 残差网络定义2. 数学基础函数类3. 残差块4.ResNet模型5.训练模型6.小结 1. 残差网络定义 随着我们设计的网络越来越深,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力。在这种网络中,添加层会使得网…

单例模式:为何继承无法保证子类的单例特性

这里写目录标题 一、引言二、背景描述三、单例模式的规范边界全局访问点与静态工厂方法代码示例与注意事项 四、单例实现继承遇到的问题五、结论与替代方案结论替代方案特殊的想法🌸🌸源码阶段验证编译阶段验证运行阶段验证总结 一、引言 在软件设计中&a…

实时语音转文字(基于NAudio+Whisper+VOSP+Websocket)

今天花了大半天时间研究一个实时语音转文字的程序,目的还包括能够唤醒服务,并把命令提供给第三方。 由于这方面的材料已经很多,我就只把过程中遇到的和解决方案简单说下。源代码开源在AudioWhisper: 实时语音转文字(基于NAudioWhisperVOSPWe…

基于SSM的个性化商铺系统【附源码】

基于SSM的个性化商铺系统 效果如下: 用户登录界面 app首页界面 商品信息界面 店铺信息界面 用户功能界面 我的订单界面 后台登录界面 管理员功能界面 用户管理界面 商家管理界面 店铺信息管理界面 商家功能界面 个人中心界面 研究背景 研究背景 科学技术日新月异…

Leetcode 每日温度

class Solution {public int[] dailyTemperatures(int[] temperatures) {int n temperatures.length;Stack<Integer> stack new Stack<>();//默认将数组中的所有元素初始化为 0int[] results new int[n];for(int i 0; i < n; i) {while(!stack.isEmpty() &a…

leaflet前端JS实现高德地图POI兴趣点批量分类下载(附源码下载)

前言 leaflet 入门开发系列环境知识点了解&#xff1a; leaflet api文档介绍&#xff0c;详细介绍 leaflet 每个类的函数以及属性等等leaflet 在线例子leaflet 插件&#xff0c;leaflet 的插件库&#xff0c;非常有用 内容概览 leaflet前端JS实现高德地图POI兴趣点批量分类下载…

小猿口算炸鱼脚本

目录 写在前面&#xff1a; 一、关于小猿口算&#xff1a; 二、代码逻辑 1.数字识别 2.答题部分 三、代码分享&#xff1a; 补充&#xff1a;软件包下载 写在前面&#xff1a; 最近小猿口算已经被不少大学生攻占&#xff0c;小学生直呼有挂。原本是以为大学生都打着本…

【Python爬虫】看电影还在用VIP?一个python代码让你实现电影自由!附源码

今日主题 如何用Python解析vip电影。 什么是vip电影&#xff1f; 这些vip电影啊&#xff0c;想要观看的话&#xff0c;必须充值会员&#xff0c;否则没法看。 比如这个&#xff1a; 这些vip电影解析后呢&#xff1f; 不需要会员&#xff0c;不需要登录&#xff0c;可以直接…

Java-类与对象

一、面向对象 在了解类与对象前&#xff0c;我们需要先知道"面向对象"这个词的概念&#xff1a; 在Java语言中&#xff0c;我们的主要思想就是"面向对象"&#xff0c;而在之前我们所学习的C语言中大部分时候的思想是"面向过程"。 那么什么是&…

MySQL-10.DML-添加数据insert

一.DML(INSERT) -- DDL&#xff1a;数据操作语言 -- DML&#xff1a;插入数据 - insert -- 1.为tb_emp表的username&#xff0c;name&#xff0c;gender字段插入值 insert into tb_emp (username,name,gender) values (wuji,无忌,1); -- 这样会报错&#xff0c;因为create_ti…

DS堆的实际应用(10)

文章目录 前言一、堆排序建堆排序 二、TopK问题原理实战创建一个有一万个数的文件读取文件并将前k个数据创建小堆用剩余的N-K个元素依次与堆顶元素来比较将前k个数据打印出来并关闭文件 测试 三、堆的相关习题总结 前言 学完了堆这个数据结构的概念和特性后&#xff0c;我们来看…

限时设计ui

ctrl-------放大缩小 空格-----画面移动 alt------复制 页面<画板<图层 添加交互事件 原型 点击蓝色的圆&#xff0c;从1跳转到2 点击绿色的圆&#xff0c;从2跳转到1

基于SSM+Vue+MySQL的健身房管理系统

系统展示 系统背景 随着人们生活水平的提高和健康意识的增强&#xff0c;越来越多的人选择去健身房锻炼。传统的健身房管理方式往往依赖于纸质记录和人工操作&#xff0c;这种方式不仅效率低下&#xff0c;而且容易出错。为了提高健身房的管理效率和服务质量&#xff0c;开发一…

python项目实战——下载美女图片

python项目实战——下载美女图片 文章目录 python项目实战——下载美女图片完整代码思路整理实现过程使用xpath语法找图片的链接检查链接是否正确下载图片创建文件夹获取一组图片的链接获取页数 获取目录页的链接 完善代码注意事项 完整代码 import requests import re import…

图文检索综述(2):Deep Multimodal Data Fusion

Deep Multimodal Data Fusion 摘要1 引言2 基于编码器-解码器融合2.1 数据级别融合2.2 分层特征融合2.3 决策级别融合 3 基于注意力融合3.1 模态内的自注意力3.2 模态间的交叉注意力3.3 基于transformer的方法 4 基于图神经网络融合4.1 单个模态的表示学习4.2 融合数据的表示学…