以太网帧间隙IFG

在上一篇博文中提到网络中数据包的传输,在数据包之前还有其它数据。它们是具体的数据包在传输过程中会在每个包的前面加上64个bit preamble (前导符),然后在每个包之间会有96个bit的IFG(帧间隙(最小值)),也就是原本传输一个64个字节的数据包,虽只有512个bit,但在传输过程中实际上会有512+64+96=672bit(最小值)。

下面我们看一下这个以太网帧间隙IFG

原文地址:https://www.2cto.com/net/201307/232177.html

 

1.什么是IFG?(What)

 

IFG(Interframe Gap),帧间距,以太网相邻两帧之间的时间断;以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙,即帧间距IFG也可称其为IPG (Interpacket Gap)。IFG指的是一段时间,不是距离,单位通常用微秒(μs)或纳秒(ns)。如下图所示:

图 1 帧间距

 

2.为什么需要IFG?(Why)

 

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

 

3.IFG的大小为多少?(Importance)

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

       1000Mmin:       96 ns

 

4.如何使用IFG?(How)

举个具体例子说明,IFG在以太网的流控机制中解决速度匹配问题;

这里涉及到以太网的流控机制,如下图:

图 2以太网传输示例

1)    设备1以其自身的工作时钟(OSC1) 向设备2发送到待发数据;
2)    数据包进入设备2:
      a)    经过时钟数据恢复器(CDR)的处理,从数据中提取时钟,并基于提取的时钟(CLK2),将数据包存入接收缓存,此时,CLK2和OSC1是同步的;
      b)    数据从接收缓存,经过上层协议的处理,存入发送缓存;
3)    发送缓存以设备2的工作时钟(OSC2)发送数据,由于以太网是异步工作的,故OSC1和OSC2作为不同设备的本地时钟,并不能做到完全同频(以太网设备的工作时钟允许有正负50ppm的频差),上图假设OSC1大于OSC2,那么设备2的接收的速度将大于发送的速度,如果接收缓冲满了,将造成丢包;

如何解决上述丢包问题?

在设备2的发送侧通过减小IFG(帧间距)来加快其发送有效数据包的速度,从而使得发送速度能跟上接收速度。

 

5.IFG在我们实际工作的应用?
这里主要提到Smartbit 6000C 在产测中的使用。
使用原理:
IFG增大,设备的有效速度减小,可以解决因速度过快丢包的问题;
IFG减小(但必须大于96 bittime),设备的有效速度增大,可以解决因速度过慢导致测试超时的问题。

补充:
      以太网的发送方式是按照一个帧一个帧来发送的,帧与帧之间需要间隙,叫做帧间隙(InterFrameGap,IFG)。IFG的长度是96bit(12 Byte),也称为以太网最小帧间隙。此外还可能有Idle时间。

     互联网帧间隙共20字节,其中包括:
     以太网最小帧间隙  12Byte(IEEE802.3)
     数据链路层帧        7 Byte前导字符(用于时钟同步)
     帧开始标识            1Byte(标识帧的开始) 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值