以太网帧长中的前导码和帧间隙

1 、概述

目前出现三个bug都涉及到L1和L2限速不准确的问题:在计算网络带宽时,报文设置的越小,差距就越大。
这个问题几乎所有新手都会遇到,在此梳理一下,以此与该问题做个了断。

2、以太网帧格式

首先弄清楚以太网帧格式,其包含:Preamble、SFD、帧长和IFG,帧格式如图1 所示,图2是以太网帧长部分包含字段。


平常所说的帧长是图2包含的内容,而不包含Preamble、SFD 和IFG这三个字段,那这三个字段是什么意思呢?下面分别说明。

  1. Preamble ,前导码
    

Preamle包含7个字节,由10循环组成,每个字节内容为:10101010。七个字节的前导码内容如图3所示。

Preamle的作用是在发送方和接收方之间进行时钟同步。当发送方发送数据时,加上这7个字节的前导码作为报文首部,发送给接收方;当接收方收到10101010时,会按照协议规定,调整自己的字节时钟,准备接收发送方来的数据。
2. SFD(start of frame delimiter)
SFD翻译为:帧开始定界符,长度为1B,内容为10101011.这段代码的意思是通知接收方,当收到11后边的内容时,不是同步信号了,是真正的数据了。
通常说的前导码包含了Preamle和SFD,一共8字节,但实际上是7+1,知道每个字节的作用即可。
3. IFG(inter Frame Gap)
IFG中文翻译为“帧间隙”,它表示两个Frame之间相隔大小。发送端发送完一个Frame之后,不会立即发送下一个,而是等待IFG时间之后才继续发送。
最小的帧间隙是12Byte,即等待12字节时间之后再发送下一帧,这与CSMACD特性有关,避免冲突。

3、以太网带宽计算

图4是经典的FPS和带宽的关系图。

计算上面图的帧(Frame)数量时,首先明确如下转换:
4. 1. 10M=10^7bps,
5. 2. 64Byte+20(12+8帧间隙)=84Byte=848=672b,即一个64B的帧,加上帧间隙后为672b。
6. 3. 同理,128B+20=148
8=1184b,一个128B的帧,加上帧间隙后为1184b。
从上图中可以看出,10M速率64B的帧对应的帧数量为:10^7/672=14880,100M对应的帧数量为148809,从testcenter测试仪中可看出。

3.1 完整帧长度

带宽指的是1s内处理的bit数量,公式为:带宽=速率帧长度。
以64B的帧长度为672,10M的速率的帧数量为:14881,根据公式:带宽=14881
672=10 000 032=10M;同理148809*672=99 999 648 = 100M

3.2 普通帧长度

假设我们不加上前导码和帧间隙,64B=648=512b;
10M对应的实际带宽为:带宽=512
14881=7 619 072=7.6M。
这种方式计算出的值有一个专有名词,以太网有效负载带宽,它表示传输传输10M数据,有效内容只有7.6M,其他的都是以太网的消耗。

4. TestCenter上L1和L2速率

L1指的是物理层速率,即加上帧间隙的速率;
L2(Total Tx(Rx) Rate)实际指的是L2速率(去掉帧间隙和前导码),即数据链路层的速率。

5. 总结

  1. 完整的帧长度包含8字节前导码和12字节空闲帧;
  2. 前导码用于同步接收方和发送方bit流,表示有效帧内容的考试;
  3. 计算带宽时,使用完整帧长计算出的带宽和有效帧长计算出的带宽不同。
  4. L1对应的是包含前导码和帧间隙的速率,如图6;L2对应的TotalTxRate(bps),不包含前导码和帧间隙的速率,如图7.

计算机网络_以太网帧中的前导码和帧间隙相关推荐

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

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

  2. 以太网帧中的前导码和帧间隙

    目录 一.什么是帧间距(IFG) 1.1.前导码(Preamble) 1.2.帧开始界定符(SFD) 1.3.IFG(Interframe Gap帧间距) 二.为什麽什么是帧间距 三.IFG的大小为多 ...

  3. 以太网的帧间隙、前导码、帧开始定界符

    每个以太帧之间都要有帧间隙(Interframe Gap),即每发完一个帧后要等待一段时间才能再发 另外一个帧,以便让帧接收者对接收的帧作必要的处理(如调整缓存的指针.更新计数.通知对 报文进行处理等 ...

  4. 24考研深入浅出计算机网络笔记【更新中】

    24考研深入浅出计算机网络笔记 文章目录 24考研深入浅出计算机网络笔记 前言 第一章 概述 1.1 因特网概述 1.2 电路交换.分组交换和报文交换 1.3 计算机网络的定义和分类 1.3.1 计算 ...

  5. 计算机网络核心知识(中)

    前言 转载请声明转载并标明本博客链接. (1) 毒性逆转 (2) 乒乓环路 (3) TOS (4) 网络前缀聚合 (5) 滑动窗口协议 上面的是还未搞明白的知识点. 文章目录 前言 5 网络层(上) ...

  6. 计算机网络_选择题(一)

    前提 该轮是第二轮复习-- 旨在题型理解考什么,怎么考,同时巩固第一轮复习的重点. 以下题型来自往年复习卷! 选择题 A题 2006-2007 1.两个实体之间的通信不需要先建立好连接的通信方式为 B ...

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

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

  8. 2_计算机网络_数据链路层-交换机-以太网-vlan-trunk

    文章目录 1.数据链路层 1.1 功能和协议 1.2 Ethernet 以太网 mac地址 mac地址表 帧格式 2.交换机 3.ARP协议 工作原理 ARP缓存表 广播风暴 局域网扫描脚本 4.虚拟 ...

  9. wireshark分析以太网帧结构_以太网帧结构分析

    实 验 报 告 实验名称 以太网帧分层结构分析 队 别 姓 名 学 号 实验日期 2015.3.15 实验报告要求: 1. 实验目的 2. 实验要求 3. 实验环境 4. 实验作业 5. 问题及解决 ...

最新文章

  1. java 事件分发线程_Java事件调度线程说明
  2. python给两个列表排序方法_Python连接两个字符串列表并对其元素排序的最佳方法...
  3. 电脑计算器的快捷键_牛!这份金蝶财务软件使用手册+超全快捷键汇总送你,财务收好...
  4. 黑客借“甲型流感”传毒 挂马疾病预防控制中心网站
  5. 绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象)
  6. android-- dp px sp长度单位的区别
  7. 分享:一篇webpack配置基础绝好文章
  8. [ACM_几何] F. 3D Triangles (三维三角行相交)
  9. 未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“***Form.resources”正确嵌入或链接到程序集“***”。。。
  10. 并发相关随笔(持续更新)
  11. 老罗android开发视频教程全集百度网盘下载
  12. 交流异步电机矢量控制(一)——电机模型及其坐标变换
  13. java在线学习系统、基于javaweb的线上智能教育、ssm实现web版本学生在线学习考试、题库管理系统
  14. 画出清明上河图的代码_【高清】清明上河图(代码)
  15. SpaceSniffer 内存管理 空间嗅探器内存清理神器
  16. 一个优质软件测试工程师简历,疯狂面试5家公司......
  17. 黑色渐变遮罩html,巧用CSS遮罩
  18. 图像处理------Mean Shift滤波(边缘保留的低通滤波)
  19. Android项目实战系列—基于博学谷(四)我的模块(上)
  20. android10.0(Q) AOSP 增加应用锁功能

热门文章

  1. 百度地图自定义覆盖物,随地图缩放、拖曳偏移解决办法
  2. 良心安利建筑cc0高清摄影图片素材网站
  3. python游戏飞船与外星人代码
  4. vue集成Variant Form表单设计器
  5. 几种不需要戴眼镜的立体成像方式
  6. 服务器文件存储设置大小,云服务器存储文件大小
  7. 《黑客与画家》——设计与研究
  8. 用这个模型,学会系统性成长
  9. java maven 打包jar_maven项目如何打jar包?eclipse将maven项目打包成jar包方法
  10. Postman-简单接口测试-百度ip查询