文章目录

  • Ethernet 数据发送流程
    • (1)载波侦听过程
    • (2)冲突检测方法
    • 发现冲突、停止发送
    • 随机延迟重发
  • Ethernet帧结构
    • Ethernet V2.0标准 和 IEEE 802.3标准的Ethernet帧结构的区别
      • 前导码
      • 类型字段和长度字段
    • Ethernet帧结构分析
      • 目的地址和源地址字段
      • 帧校验字段
  • Ethernet接收流程分析
  • Ethernet网卡

“以太”来源于19世纪物理学家解释光在空间中传播的介质:“以太”

以太网采用的介质控制方法是:CSMA/CD(带有冲突检测的载波侦听多路访问)

Ethernet 数据发送流程

CMSA/CD的发送流程可以简单概况为4步:先听后发、边听边发、冲突停止、延迟重发

(1)载波侦听过程

  • 每个主机在发送数据帧之前,首先要侦听总线的【忙/闲】状态。

  • Ethernet网卡的收发器一直在接收总线上的信号,如果总线上有其他主机发送的信号,那么曼彻斯特解码器的解码时钟一直有输出;如果总线上没有信号发送,那么曼彻斯特(Manchester)解码器的时钟输出为0。

    Manchester解码器是网卡上的一个组件,解码时钟会根据线路上的信号以曼彻斯特编码解码。

    曼彻斯特编码:

    因此,Manchester解码器的时钟信号可以反映出总线的【忙/闲】状态。

(2)冲突检测方法

  • 载波侦听并不能完全消除冲突。

    电磁波在同轴电缆中传播速度约为 2×108 m/s,如果局域网中两个【相隔最远】主机A和B相距 1000m,那主机A向主机B发送一帧数据要经过
    t=10002×108=5×10−6s=5μst = \frac{1000}{2×10^8} = 5×10^{-6} s = 5 μs t=2×1081000​=5×10−6s=5μs
    主机A发送数据后,要经过t后,主机B才接收到这个数据帧。在这5μs的时间内,主机B不知道主机A已经发送数据,它就有可能也向主机A发送数据。出现这种情况,主机A和主机B的这次发送就发生【冲突】。

  • 比较极端的冲突是:主机A向主机B发送数据,当数据信号快要到达主机B时,主机B也发送了数据。等到冲突信号传送回主机A时,已经经过了两倍的传播延迟2τ(τ=D/V,D为总线传输介质的最大长度,V是电磁波在介质中的传播速度)。冲突冲突的数据帧可以传遍整个缆段,缆段上的主机都可以检测到冲突。缆段被称为【冲突域】,如果超过2τ的时间没有检测出冲突,则该主机已取得【总线访问权】,因此将 2τ定义为【冲突窗口】。

  • 冲突窗口是连接在一个缆段上所有主机能检测到冲突发生的最短时间。由于Ethernet物理层协议规定了总线最大长度,电磁波在介质中的传播速度是确定的,因此冲突窗口的大小也是确定的。

  • 最小帧长度与总线长度、发送速率之间的关系

    为了保证主机在发送一帧的过程可以检测到冲突,就要求发送一个最短帧的时间要超过冲突窗口的时间。

    因为帧发送并不是一瞬间全部发送完成,发送延迟 t = 帧长度/发送速率,发送速率一般不会改变,因此要在发送的过程中能检测到冲突需要规定一个最小帧长度

    最短帧长度为Lmin,主机发送速率为S,发送短帧所需的时间为Lmin/S,冲突窗口的值为2D/V
    LminS≥2DV\frac{L_{min}}{S} ≥ \frac{2D}{V} SLmin​​≥V2D​
    所以可以根据总线长度、发送速率和电磁波传播速度估计最小帧长度。

  • 冲突是指总线上同时出现两个或两个以上的发送信号,它们叠加后的信号波形不等于任何一个主机输出的信号波形。

  • 冲突检测有两种方法:比较法编码违例判决法

    比较法:主机在发送帧的同时,将其发送信号波形与总线上接收到的信号波形进行比较(信号在总线上是双向传播的,比如主机A、B、C,B发送信号A与C都能接收到)。如果两个信号波形不一致,说明冲突发生。

    编码违例判决法:检查从总线上接收的信号波形是否符合曼彻斯特编码规律,不符合则说明发生冲突。

  • 64B是Ethernet的最小帧长度:如果一个主机发送一个最小帧,或者一个帧的前64个字节没有检测到冲突,说明该主机已经取得总线发送权,冲突窗口期又称为争用期

发现冲突、停止发送

  • 如果主机在发送过程中检测到冲突,主机要进入停止发送,随机延迟后重发的流程。
  • 随机延迟重发的第一步是:发送冲突加强干扰序列,保证有足够的冲突持续时间,使局域网中的所有主机都能检测出冲突存在,并立即丢弃冲突帧,减少由于冲突浪费的时间,提高信道利用率。
  • 冲突加强干扰序列信号长度为32bit

随机延迟重发

  • Ethernet规定一个帧的最大重发次数为16。

  • 后退延迟算法是:截止二进制指数后退延迟

    算法可表示为:
    τ=2k⋅R⋅aτ = 2^k·R·a τ=2k⋅R⋅a
    τ:重新发送所需的后退延迟时间。

    a:冲突窗口的值。

    R:随机数,以主机地址为初始值生成随机数R。

    k:k=min(n,10),如果重发次数n小于10,则k=n,n≥10,则k=10.

    后退延迟时间τ到达后,节点将查询判断总线忙、闲状态,重新发送,如果再次遇到冲突,则重发次数+1,如果重发次数超过16时,表示发送失败,放弃发送该帧。

  • CSMA/CD方法被定义为一种随机争用型介质控制访问方法。

Ethernet帧结构

Ethernet V2.0标准 和 IEEE 802.3标准的Ethernet帧结构的区别

Ethernet V2.0是在DEC、Intel(英特尔)、Xeror公司合作研究的,所以也称Ethernet V2.0帧结构为DIX帧结构(公司首字母)

IEEE802.3标准对Ethernet帧结构也做出了规定,通常称之为 802.3帧

前导码
  • DIX帧的前8B是前导码,每个字节都是10101010。接收电路通过提取曼彻斯特编码的自含时钟,实现收发双方的比特同步。

    说人话就是:编码时故意搞个特别的码在前面,通过长度告知解码器后面有货送来,注意接收。
    通过前导码就可判断信号是有用信号还是干扰信号,否则忽略不解码。

  • 802.3帧的前导码,每个字节都是10101010。但是有一个10101011的帧前定界符。前56位(7B×8)前导码是为了保证在接收【目的地址】时,已经进入【稳定接收状态(识别出这个是有用信号)】在62位1010…1010比特序列后出现两个11,两个11后就是Ethernet帧的目的地址字段。

  • 前导码只是为了实现收发双方的比特同步与帧同步,在接收后不需要保留,也不计入帧头长度

类型字段和长度字段
  • DIX帧的类型字段表示网络层使用的协议类型。

    例如:类型字段=0x0800表示网络层使用IPv4协议、类型字段=0x86DD表示网络层使用IPv6协议。

  • Ethernet帧最小长度为64B,除去帧头(目的地址+源地址+源地址),数据字段最短为46B。数据字段最长为1500B,因此数据字段长度在46~1500B之间。

  • DIX帧没有长度字段,所以接收端等待物理线路上没有电平的跳变(帧发送结束),除去4B的校验字段,就能取出数据字段。

Ethernet帧结构分析

前导码、类型、数据字段分析过了,不再赘述。

目的地址和源地址字段
  • 目的地址和源地址表示帧的接收节点和发送节点的硬件地址。

  • 硬件地址也叫物理地址、MAC地址、Ethernet地址。

  • 源地址必须是6B的MAC地址。

  • 目的地址可以是单播地址(发送给单一主机)、多播地址(发送给一部分主机)、广播地址(发送给所有主机)。

帧校验字段
  • 帧校验字段FCS( Frame Check Sequence)采用32位的CRC校验。

  • CRC校验的范围是:目的地址、源地址、长度、LLC(Logical Link Control:逻辑链路控制)数据等字段。

Ethernet接收流程分析

  • 主机主要不发送数据帧就处于接收状态。

  • 帧目的地址检查:

    1. 目的地址是单一主机的物理地址,并且是本主机地址—>接收。
    2. 目的地址是组地址,并且本主机属于该组—>接收。
    3. 目的地址是广播地址—>接收。
    4. 如果以上3种目的地址都与本主机地址不匹配,丢弃该接收帧。
  • 帧接收:

    1. CRC校验正确。
    2. 帧长度正确。
    3. 如果1、2都正确,将帧中的数据发送到网络层,否则报告”接收失败“进入帧结束状态。
  • 帧校验:

    1. CRC校验正确,但是帧长度不对,则报告“帧长度错”。
    2. 如果校验出错,判断接收帧是不是8bit的整数倍(字段长度的单位是字节,1B=8bit,接收帧长度正常的话肯定是8bit的整数倍)
      • 如果不是8bit的整数倍,则报告“帧比特出错”。
      • 如果没有发现比特丢失或者比特位对位错,则报告“帧校验错”。
    3. 进入结束状态。
  • 帧间最小间隔

    • 为了保证网卡能正确、连续的处理接收帧,要规定一个帧间最小间隔(网卡处理接收帧要时间、虽然很短)。
    • 规定Ethernet帧的最小间隔为9.6μs

Ethernet网卡

  • 网卡由三部分组成:网卡与传输介质的接口(RJ45)、Ethernet数据链路控制器、网卡与主机的接口(主板的I/O扩展槽)。

  • Ethernet数据链路控制器的功能:实现发送数据编码、接收数据解码、CRC产生与校验、曼彻斯特编码与解码、CSMA/CD介质访问控制。

  • 网卡的物理地址写入网卡的只读存储器中,不会与世界上任何一台其他的计算机重复。

把Ethernet(以太网)基本工作原理说清楚相关推荐

  1. 第16章 以太网交换机工作原理(H3CNE)

    在局域网中,交换机是非常重要的网络设备,负责在主机之间快速转发数据帧.交换机与集线器的不同之处在于,交换机工作在数据链路层,能够根据数据帧中的MAC地址进行转发.本文重点讲述了交换机进行MAC地址学习 ...

  2. 以太网接口的半双工和全双工及工作原理

    半双工:半双工传输模式实现以太网载波监听多路访问冲突检测.传统的共享LAN是在半双工下工作的,在同一时间只能传输单一方向的数据.当两个方向的数据同时传输时,就会产生冲突,这会降低以太网的效率. 全双工 ...

  3. 什么是以太网交换机?以太网交换机的工作原理详解!

    以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网.以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式.交换机能同时连通许多对端口,使每一对相互通 ...

  4. 以太网网卡的结构和工作原理

    以太网网卡的结构和工作原理   论文摘要:以太网(Ethernet)是一种由美国Xerox公司,DEC公司和Intel公司共同开发的基带局域数据通信网,目的是建立分布式处理和办公室自动化应用方面的工业 ...

  5. 以太网及网络工作原理二

    以太网及网络工作原理二 2.以太网工作原理 2.2.以太网数据帧 2.3.数据帧传输 2.4.交换机的工作原理 2.5.网线的分类 2.6.千兆以太网 2.6.1.千兆位以太网标准主要四种类型的传输介 ...

  6. 交换机的工作原理,以太网及华为交换机的命令指令

    交换机的工作原理及华为交换机的命令 ****一.数据链路层的功能**** 1.1什么是数据链路层: 1.2数据链路层的功能 ****二.以太网的介绍以太网的Mac地址**** 2.1以太网的概念 2. ...

  7. [计算机网络]四、交换机的工作原理与配置(数据链路层、以太网交换机、交换机的基本配置)

    目录 1.数据链路层 1.1.数据链路层的功能 1.2.以太网工作在数据链路层 1.2.1.以太网的发展 1.2.2.以太网MAC地 1.2.3.网卡.路由器和交换机厂商有哪些 1.2.4.以太网帧的 ...

  8. 网络交换技术,以太网工作方式,交换机工作原理以及STP,RSTP

    感谢你能阅读这篇博客,交换技术是随着电话通信的发展和使用而出现的通信技术,本文将介绍传统以太网的工作方式和冲突域的概念,交换机的工作原理,交换机的基本概念,各种工作模式以及一些配置,如速率与双工模式, ...

  9. 以太网及网络工作原理一

    以太网及网络工作原理一 1.WAN.LAN和以太网简介 1.1.以太网和局域网的区别 1.2.冲突域和广播域 1.3.CSMA/CD载波侦听多路访问/冲突检测 1.4.IEEE 802.3标准 1.4 ...

  10. 工业以太网交换机的作用和工作原理详解

    工业以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网.工业以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式.交换机能同时连通许多对端口,使每一 ...

最新文章

  1. python 元组和列表区别_Python 基础(六):列表与元组
  2. 985博士:导师是院士,直到毕业,我们都没单独说过一句话
  3. 内蒙古公安原创扫黑除恶主题MV《以警之名》全国首发
  4. win10计算机拒绝访问,教你win10系统c盘拒绝访问怎么办
  5. iOS pods更新失败
  6. WebAssembly 系列(五)为什么 WebAssembly 更快? 1
  7. 【JAVA基础篇】反射
  8. vue组件化学习第一天
  9. html调整图片之间的距离,html中如何调整图片之间的间距
  10. volatile工作原理学习总结
  11. linux cat -A 隐藏符号显示
  12. 一文详解 TCP/IP 协议
  13. MySQL修改用户密码及配置远程访问
  14. 名片管理系统java_java毕业设计_springboot框架的名片管理系统
  15. NLP(二十五)实现ALBERT+Bi-LSTM+CRF模型
  16. 51Nod1367 完美森林 贪心
  17. python自动化第三天-python3
  18. python之HTMLParser解析HTML文档
  19. 使用pdfBox实现pdf转图片出现中文方块乱码 简单修改源码解决
  20. 导出数据到excel文件

热门文章

  1. 加权平均数的例子_加权平均数公式(加权平均数公式例子)
  2. 向大众推荐的字处理器,TEXMACS
  3. 负载均衡(Load Balance)
  4. pandas-task08-文本数据.md
  5. 基础测绘数据分类标准
  6. 数据分析 回归问题:北京PM2.5浓度回归分析训练赛
  7. 通过common-emai类库发送普通邮件和带有附件的邮件的完整示例
  8. 做阿里巴巴国际站比较容易踩雷的地方
  9. 几何分布的期望和方差公式推导_常用概率分布总结(1)
  10. 人民币转换美金的c语言代码大全,人民币和美元大写格式在线工具,美元美金数字金额转换大写,外币大写金额...