• 以太网帧间隙IFG详解(Interframe Gap帧间距)


    目录

    一、什么是帧间距(IFG)

    1.1、前导码(Preamble)

    1.2、帧开始界定符(SFD)

    1.3、IFG(Interframe Gap帧间距)

    二、为什麽什么是帧间距

    三、IFG的大小为多少

    四、如何使用IFG

    五、IFG实际使用总结

    正文内容基本来源于以下两链接的参考,感谢分享:https://blog.csdn.net/a827415225/article/details/79423264

    https://blog.csdn.net/weixin_43916755/article/details/122697478

    一、什么是帧间距(IFG)

    首先总概括一下互联网帧间隙共20字节,包括:

    1. 以太网最小帧间隙 12Byte
    2. 数据链路层帧 7Byte (前导码,用于时钟同步
    3. 帧开始标识 1Byte (标识帧的开始

    前导码(Preamble)7Byte

    帧开始界定符(SFD) 1Bye

    帧长

    帧间隙(IFG) 12Byte

    1.1、前导码(Preamble):

            包含7个字节,由10循环组成,每个字节内容都是:10101010;

    前导码的作用是在发送方和接收方之间进行时钟同步,当发送方发送数据时,加上这七个字节的前导码作为报文头部,发送给接收方,当接收方收到10101010时,会按照协议规定,调整自己的字节时钟,准备接收发送方来的数据

    1.2、帧开始界定符(SFD):

            长度为1字节,内容为 10101011,这段代码的意思是通知接收方,当收到11后边的内容时,不是同步信号了,是真正的数据了

    通常所说的前导码包含了(Preamle和 SFD)一共8字节,但是实际是7+1,知道每个字节的作用即可。

    1.3、IFG(Interframe Gap帧间距)

           表示以太网相邻两帧之间的时间段,以太网发送方式是一个帧一个帧的发送,帧与帧之间需要间隙,即帧间距。

    IFG的长度是96bit(12Byte)字节,也称为以太网最小帧间隙(IEEE802.3),即等待12字节时间之后在发送下一帧,这与CSMACD特性有关,避免冲突。

    IFG也可以称为IPG(interpacket Gap)。IFP指的时一段时间,不是距离,单位通常是微秒(us)或者纳秒(ns)

    二、为什麽什么是帧间距

    网络设备和组件在接收一个帧之后,需要一段短暂的时间来恢复并为接收下一帧做准备

    三、IFG的大小为多少

    IFG的最小值是96 bittime,即在媒介中发送96位原始数据所需的时间,在不同媒介中IFG的最小值是不一样的,不管10M/100M/1000M的以太网,两帧之间最少要有96bit,IFGmin=96bit/s

    四、如何使用IFG

    IFG在以太网的流控制机制中解决速度匹配问题

    1. 设备1以自身的工作时钟 (OSC1)向设备2发送到待发数据;
    2. 数据包进入设备2:

    ①经过时钟数据恢复器CDR的处理,从数据中提取时钟,并给予提取的时钟CLK2,将数据包存入接收缓存,此时,CLK2和OSC1是同步的;

    ②数据从接收缓存,经过上层协议的处理,存入发送缓存。

    1. 发送缓存以设备2的工作时钟OSC2发送数据,由于以太网是异步工作的,故OSC1与OSC2作为不同设备的本地时钟,并不能做到完全同频(以太网设备的工作时钟允许有正负50ppm的频差),上图假设OSC1大于OSC2,那么设备2的接收速度将大于发送的速度,如果接收缓存满了,将造成丢包。

    如何解决上述问题? 在设备2的发送侧通过减少IFG帧间距来加快其发送有效数据包的速度,从而使得发送速度能跟上接收速度。

    五、IFG实际使用总结

    • IFG增大,设备的有效速度减少,可以解决因速度过快丢包的问题
    • IFG减小(但必须大于96bittime),设备的有效速度增大,可以解决因速度过慢导致的测试超时的问题
  • 相关阅读:
    CEX暴雷怎么办 一文读懂加密钱包产业现状
    【Redis学习笔记】redis-trib.rb命令详解
    优思学院|精益六西格玛的成本效益怎么样?
    基于JavaSwing开发远程控制系统 课程设计 大作业源码 毕业设计
    Spring Boot的新篇章:探索2.0版的创新功能
    Web3 来了,让我们展开双手拥抱它吧!
    mysql8.0英文OCP考试第21-30题
    【 java 常用类】日期相关 API 操作
    SRS 功能介绍及Log分析
    .NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法
  • 原文地址:https://blog.csdn.net/qq_33162707/article/details/126202352