最大长度限制

网卡上一个参数是MTU值。一般都是1500。表示以太网传输的最大帧长度。
为什么要有最大帧长度限制呢?
这是因为以太网采用的是CSMA/CD方法在介质上传输数据。CSMA/CD叫做带冲突检测的载波监听多路访问技术,在发送数据之前需要检测链路是否空闲,只有链路空闲时才发送数据,并且边发送边检测。发送的过程中一旦检测到冲突则立即停止。所以也就是说,数据发送的过程中,整个链路是被独占的。所以需要限制一次传输数据的最大长度,如果一个人占用时间过长,这对其他人而言是不可接受的。
而且限制最大长度还有以下好处:
1)帧传输的过程中,一旦出错,需要全部重传,长度太长反而效率不高。(可能现在的传输介质已经不存在这种问题了)
2)帧越长,需要的缓存越大,1979年在设计网卡时,缓存的价格非常昂贵,所以当时选用1500 bytes作为最大的长度。

需要注意的是,以长帧长度限制是1518字节。减去18字节的以太网帧长度,所以ip层的报文长度限制为1500。

最小长度限制

最大长度还是比较直观易于理解,那么为什么又有最小长度限制呢?
还是因为CSMA/CD。
AB之间通信。
当A检测到链路空闲,然后发送报文,巧的是B跟你一样,这不就冲突了嘛。
最坏的情况,AB俩隔得最远。当A发送的报文刚好要到达B时,B开始发送报文。
如果在B的报文到达A之前,A就已经发送完了,那么A就不知道冲突了。所以,需要限制发送的报文最小长度。
最小长度是多少呢?
显然,最小长度同时受两个节点最远距离和传输速度的影响。最远距离越长,传输速度越快,所需要的最小长度也就越大。

针对不同带宽的网络,标准组织定义了不同的slot time。

Speed Slot time Time Interval
10 Mbit/s 512 bit times 51.2 microseconds
100 Mbit/s 512 bit times 5.12 microseconds
1 Gbit/s 4096 bit times 4.096 microseconds
2.5 Gbit/s onward no half-duplex operation

所以,不同的网络,其实最小长度是不一定的,两个节点能相隔的最远距离也是不一样的。
10Mbit/s的网络,报文最小长度为64字节。两个节点最远距离不能超过:
51.210(-6)*(0.7*3*108)/2=5.376km
在1Gbit/s的网络中,报文最小长度为512字节。最远距离不超过约0.43km

不足的长度填充全0补齐。这些数据是不计算入ip层的。
使用tcpdump抓包时,经常看见length=0的报文。其实这个长度指的是TCP层数据报文的长度。

参考:
以太网最小,最大字节长度 https://blog.51cto.com/19880206/890070
https://en.wikipedia.org/wiki/Slot_time
https://stackoverflow.com/questions/33039394/why-is-the-minimum-ethernet-frame-64-bytes

以太网帧长度大小限制相关推荐

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

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

  2. 10Mbps以太网的帧长度

    1.以太网帧的最短长度为64字节,或者帧中的数据不得少于46个字节,其中以太网帧头有18字节(以太网2的值为:MAC+2类型+4CRC,注意,如果是802.3的规范,它支持SNAP和802.3以太,其 ...

  3. 为什么以太网帧的长度最短64字节,最长1518字节?

    1.碰撞槽时间 假设公共总线媒体长度为S,帧在媒体上的传播速度为0.7C(光速),网络的传输率为R(bps),帧长为L(bps),tPHY为某站的物理层时延:  则有:  碰撞槽时间=2S/0.7C+ ...

  4. 搞一下 车载以太网实战 | 01 车载以太网帧结构详解

    前言 搞SOA.搞 AP & CP AUTOSAR.搞异构SoC.搞车载以太网.搞车载OS等就找搞一下汽车电子. 全系内容可在<搞一下汽车电子>后台回复 "系列" ...

  5. 以太网帧,IP,TCP,UDP首部结构

    其它可参考http://www.cnblogs.com/BlueTzar/articles/811160.html 1.以太网帧的格式 以太网封装格式 2.IP报头格式 IP是TCP/IP协议簇中最为 ...

  6. 以太网帧、IP 帧、UDP/TCP帧、http 报文结构解析

    我们从 OSI/RM 参考模型入手,来看 OSI/RM 七层模型中的每一层数据帧结构. 一 OSI/RM 结构 OSI 是不同制造商的设备和应用软件在网络中进行通信的标准,此模型已经成为计算机间和网络 ...

  7. 抓包分析以太网帧和IP数据包,头部那么多东东用来干啥的,扫盲篇

    目录 抓包过程 以太网帧(也叫MAC帧)首部分析 IP数据包首部分析 抓包过程 使用了 Wireshark 进行抓包,用两个最常用的 curl 和 ping 命令来演示抓包情况,开启抓包. ## 先访 ...

  8. TCP/IP协议专栏——以太网帧中的前导码和帧间隙-带宽计算 详解——网络入门和工程维护必看

    以太网帧长中的前导码和帧间隙 1 .概述 目前出现三个bug都涉及到L1和L2限速不准确的问题:在计算网络带宽时,报文设置的越小,差距就越大. 这个问题几乎所有新手都会遇到,在此梳理一下,以此与该问题 ...

  9. 计算机网络_以太网帧中的前导码和帧间隙

    以太网帧长中的前导码和帧间隙 1 .概述 目前出现三个bug都涉及到L1和L2限速不准确的问题:在计算网络带宽时,报文设置的越小,差距就越大. 这个问题几乎所有新手都会遇到,在此梳理一下,以此与该问题 ...

最新文章

  1. cvCreateMat函数
  2. MVC系列——一个异常消息传递引发的思考
  3. api网关揭秘--spring cloud gateway源码解析
  4. “你的手机上未安装应用程序”的解决方案
  5. java urlencode 解码_java.net.URLEncode编码 与 URLDecode解码问题
  6. c语言数据交换的算法流程图,C语言冒泡排序算法浅析
  7. Python模块学习 - 用tinify模块压缩和优化图片
  8. 【报告分享】2020中国基民图鉴.pdf(附下载链接)
  9. [Selenium]怎样验证页面是否有无变化
  10. response Headers与request Headers字段详解(收藏)
  11. 缠中说禅形态挖掘之五笔形态
  12. ifconfig命令和ip命令配置网络
  13. Obsidian安卓端同步及使用(Remotely Save+阿里云同步S3)
  14. 资本为什么爱“吃面”?
  15. html.ex.day02
  16. 寻宝游戏 HDU - 6289 (DP)
  17. 使用奇东锐腾PXE网克工具进行批量装机和系统恢复
  18. 机顶盒抓包(无法连接WIFI的设备)
  19. 开源在线评测/考试系统 xzs
  20. 以太坊Geth 共识算法源码解析

热门文章

  1. 基于SpringBoot+vue的高仿链家租房平台
  2. javascript高级程序设计学习笔记
  3. AVX指令集加速矩阵乘法
  4. linux指令如何删除线程,linux基本命令学习02
  5. 易语言组件花源码花大法防误报免杀360QVM云引擎(洪雨原创)
  6. popWindow的使用方法
  7. ubuntu服务器显示屏无信号,求助 ubuntu 20.04 一天崩一两次显示器无信号,机器仍在运行...
  8. android——截屏共享的坑,mmp
  9. 【原创】CDMA手机产业链及厂商介绍
  10. java毕业生设计中学生视力系统计算机源码+系统+mysql+调试部署+lw