在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?

以太网(IEEE 802.3)帧格式:

1、前导码:7字节0x55,一串1、0间隔,用于信号同步

2、帧起始定界符:1字节0xD5(10101011),表示一帧开始

3、DA(目的MAC):6字节

4、SA(源MAC):6字节

5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)

6、数据:46~1500字节

7、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。 以CSMA/CD作为MAC算法的一类LAN称为以太网。CSMA/CD冲突避免的方法:先听后发、边听边发、随机延迟后重发。一旦发生冲突,必须让每台主机都能检测到。关于最小发送间隙和最小帧长的规定也是为了避免冲突。

考虑如下的情况,主机发送的帧很小,而两台冲突主机相距很远。在主机A发送的帧传输到B的前一刻,B开始发送帧。这样,当A的帧到达B时,B检测到冲突,于是发送冲突信号。假如在B的冲突信号传输到A之前,A的帧已经发送完毕,那么A将检测不到冲突而误认为已发送成功。由于信号传播是有时延的,因此检测冲突也需要一定的时间。这也是为什么必须有个最小帧长的限制。

按照标准,10Mbps以太网采用中继器时,连接的最大长度是2500米,最多经过4个中继器,因此规定对10Mbps以太网一帧的最小发送时间为51.2微秒。这段时间所能传输的数据为512位,因此也称该时间为512位时。这个时间定义为以太网时隙,或冲突时槽。512位=64字节,这就是以太网帧最小64字节的原因。

512位时是主机捕获信道的时间。如果某主机发送一个帧的64字节仍无冲突,以后也就不会再发生冲突了,称此主机捕获了信道。

由于信道是所有主机共享的,如果数据帧太长就会出现有的主机长时间不能发送数据,而且有的发送数据可能超出接收端的缓冲区大小,造成缓冲溢出。为避免单一主机占用信道时间过长,规定了以太网帧的最大帧长为1500。

100Mbps以太网的时隙仍为512位时,以太网规定一帧的最小发送时间必须为5.12μs。 1000Mbps以太网的时隙增至512字节,即4096位时,4.096μs。

对于1000Mb/s的吉比特以太网,MAC层有两种选择,要么保留CSMA/CD,要么不用它。若保留CSMA/CD协议,必须面临碰撞检测问题,这就要再一次减小网络的最大有效传输距离到25米。当然您可以不缩短网络的距离,而是增加一个帧的程度,就如我们开始分析100Mb/s以太网那样,让一个帧持续足够长的时间。但因为上层来的数据没有这么多,所以就需要在MAC层进行一些无用数据的填充来满足这个要求。

最后,我们推导出以下比例关系:

最小帧长/传输速率 正比于 网络最大传输距离/光速

一个网络的最大传输距离也称为冲突域,传输一个最小帧所用的时间(最小帧长/传输速率)正比于1位信息穿越冲突域的时间。

以太网的最大帧长有1518,1522,1536。那么这几个值是怎么来的呢?

下面是最初802.3定义的以太网帧结构:

Preamble (7-bytes) --前导位

Start Frame Delimiter (1-byte) --定界符

Dest. MAC Address (6-bytes) --目的地址

Source MAC Address (6-bytes) --源地址

Length / Type (2-bytes) --长度或帧类型

MAC Client Data --数据,n最大为1500,即MTU

(0-n bytes) Pad --填充字段,p最大为46

(0-p bytes) Frame Check Sequence (4-bytes) --帧校验码

其实Ethernet V2为实际的标准了。所以我们最常见到的是,源地址后是类型而非长度。

在1998年提出的802.3ac里,加入了对vlan的支持。也就是在有vlan的情况下在源地址后多加入4个字节,所以就有了1522这个帧长度了。

Preamble (7-bytes) --前导位

Start Frame Delimiter (1-byte) --定界符

Dest. MAC Address (6-bytes) --目的地址

Source MAC Address (6-bytes) --源地址

Length/Type = 802.1Q Tag Type (2-byte) --表明是VLAN,这个为8100

Tag Control Information (2-bytes) --3-bits User Priority Field;1-bit Canonical Format Indicator (CFI);12-bits VLAN Identifier (VID)

Length / Type (2-bytes) --长度或帧类型

MAC Client Data --数据,n最大为1500,即MTU

(0-n bytes) Pad --填充字段,p最大为46

(0-p bytes) Frame Check Sequence (4-bytes) --帧校验码

最后要提的就是1536这个长度了。我们知道802.3中规定,如果Length / Type的值大于0×600则表示是类型,而这个值就是1536。

1998年提出的802.3z中的应用。802.3中提出了一个Extension字段放在了最末尾。它主要作用是在短封包(如64)传输时,由于1000M速度的加快,导致传输时间的减少,破坏了原有冲突检测的机制,缩短了有效传输矩离,所以要增加一些字节,使长度达到512。当然,这个只用在半双工时了。

第2 / 3页

其实在802.3中没有规定要扩展的值的大小的,所以最大可以扩展到1536。

还有一个就是802.1ad。也就是所谓的“Q-in-Q”,就是多重的vlan了,主要为网络运营商用来管理的,实现用户的vlan和运营商的vlan相隔离。这个也会加大现有封包的长度,会增加4个字节。 以太网最大帧长 最小帧长 - Sacrifice - BabyUnion

还有一个Jumbo frame。这东西不是802.3的标准,而一些厂商提出来的,为了提高1000M时的传输效率。由于是非标的,所以各家支持的大小也不尽相同。一般来说,现在一般可以支持到9k。 在802.3z中还提出一个Frame Bursting。这个东西可以提高短包的传输效率。在1000M以太网下,limit”。帧和帧之间以extension bits来填充gap,以表示线路处于占用状态。burst mode唯一特殊的是,第一个帧要加一个”extension field”。

新的改变可以参见802.3as-2006。

使用burst mode,一端可以连续发包,直到达到了65,536 bit times (8192 byte times)的”burst

转载于:https://www.cnblogs.com/sddai/p/6014237.html

在传统以太网中,为什么要有最小帧长度和最大帧长度的限制相关推荐

  1. 分析以太网帧结构_传统以太网中的——中继器及集线器

    1.1 Repeater 中继器 中继器工作在以太网的第一层即物理层, 两端口设备,主要功能是放大信号,从而延长信号在同一网络上传输的长度.中继器的存在主要是解决解决电信号长距离传播过程中的衰减问题, ...

  2. 汽车以太网代替传统以太网

    奥迪A8是第一款称为L3级自动驾驶的汽车,拥有多个第一,包括第一个使用激光雷达,第一个使用域控制器,第一个使用车载以太网做骨干网的运算架构.即便如此,奥迪A8仍然不能算严格意义上的L3级自动驾驶.毫无 ...

  3. 为什么以太网中需要 最小帧

    很多人了解了 CSMA/CD 叫做载波侦听多路访问冲突检测,又听说以太网的数据帧最小长度不能小于64字节,这是为什么呢? 由于CSMA/CD算法的限制,以太网帧必须不能小于某个最小长度.以太网中,最小 ...

  4. 以太网帧的最小长度_揭秘以太网帧长中隐藏的两个内容:前导码、帧间隙

    ​概述 我们在工作中,经常听到小伙伴说报文的长度是64.128.256字节等,我们都知道它们是什么意思,不过在计算网络带宽时,总是会比预想的要小,并且报文越小,差距越大. 这个问题几乎是所有网络新手都 ...

  5. 数据链路层---使用集线器的星型拓扑_传统以太网传输介质的改变_总线型--->双绞线为介质的以太网采用星型拓扑_集线器的特点_集线器之间的远程连接

    数据链路层-使用集线器的星型拓扑 1.传统以太网传输介质的改变 回顾同轴电缆和双绞线的对比: 2.总线型->双绞线为介质的以太网采用星型拓扑 星型拓扑的中心----集线器(Hub,多口的中继器) ...

  6. 以太网的分层架构_工业以太网中层次拓扑结构对网络性能的影响

    现在市场上工业现场总线产生了几十种方案,却没有形成统一标准,工业以太网(IndustrialEthemet)成为控制系统网络发展的主流方向,传统以太网具有传输速度高.造价低.易于安装和兼容性好等优势, ...

  7. 传统 以太网 时隙(slot time) 理解

    时隙在一般的数字通信原理中是这样定义的: 由各个消息构成的单一抽样的一组脉冲叫做一帧,一帧中相邻两个脉冲之间是时间间隔叫做时隙. 而以太网的时隙有它自己的特定意义. (1)在以太网CSMA/CD规则中 ...

  8. 关于传统以太网的总结

    传统以太网概述 传统的以太网是遵循IEEE802.3协议,采用CSMA/CD的方式来传输数据,也就是在一个局域网内只能同时有且仅有一个客户端发送数据,其他客户端若要发送数据,必须等待一段时间. 典型的 ...

  9. 假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb

    假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100.试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢? 以 ...

  10. 1996 年 3 月. IEEE 成立了 802.3z 工作组开始制定 1000Mb/s 标准。下列千兆以太网中不属于该标准的是(19)【答案】C

    1996 年 3 月. IEEE 成立了 802.3z 工作组开始制定 1000Mb/s 标准.下列千兆以太网中不属于该标准的是(19) (19)A.1000 Base-SX B.1000 Base- ...

最新文章

  1. bash的常见命令及文章查看命令
  2. 2. TypeScript笔记
  3. javascript(js)自动刷新页面的实现方法总结
  4. 关于《红泰昌 TC-2015B》严重漏电说明!
  5. 容器大小_C++ 顺序容器基础知识总结
  6. mui 与jquery 同时使用,$冲突解决办法。
  7. Python Json读写(json模块)(转载)
  8. 使用python破解zip、rar压缩包密码
  9. 谷歌地图坐标转换为百度地图坐标
  10. 移动硬盘插入提示需要格式化RAW_移动硬盘数据恢复
  11. DBeaver21.1.5如何迁移已有数据库连接
  12. android 斜线 绘制_Android 自定义 斜线进度框 ,雨点式背景
  13. HDOJ-1060-Leftmost Digit(求n^n的最高位)
  14. 文智背后的奥秘系列篇——情感分类
  15. chatgpt国内能用吗?详细解读gpt的使用方法
  16. 数据结构笔记 —— 二叉树(前序、中序、后序遍历和查找)
  17. 发改委:以稳汽车消费来托住商品消费“大头”
  18. B2C电子商务能否通吃线上线下?
  19. 信号完整性分析1——信号完整性分析概论
  20. 云计算大数据学习路线课程大纲资料:marpreduce快速入门

热门文章

  1. 有限域f9的特征是多少_第四章有限域1.ppt
  2. 区块链 Scilla是什么
  3. HyperLedger Composer 查看所有容器 | 进入指定容器
  4. nvcc fatal : '--ptxas-options=-v': expected a number
  5. 简单的java程序设计原则和模式
  6. mysql 导入 druid,Druid数据库连接池的使用(非常实用!!!)
  7. java中的装箱和拆箱
  8. Centos 8 安装和配置 VNC 服务,让 MAC 可以远程桌面管理Centos(linux)
  9. JavaScript String 对象、Math 对象使用详解
  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念分类注意事项...