关于帧间距 IFG技术的讨论
2008-11-21 10:10
274 查看
1.什么是 IFG?(What)
IFG(Interframe
Gap),帧间距,以太网相邻两帧之间的时间断;以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙,即帧间距IFG也可称其为IPG (Interpacket Gap)。IFG指的是一段时间,不是距离,单位通常用微秒(μs)或纳秒(ns)。如下图所示:
图 1 帧间距
2.为什么需要IFG?(Why)
网络设备和组件在接收一个帧之后,需要一段短暂的时间来恢复并为接收下一帧做准备。
3.IFG的大小为多少?(Importance)
IFG的最小值是 96 bit time,即在媒介中发送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 bit time),设备的有效速度增大,可以解决因速度过慢导致测试超时的问题。
参考资料:
[1] 以太网流控机制及其基于VSC7323的实现. http://tech.c114.net/169/a266942.html
[2] Interframe gap Wikipedia. http://en.wikipedia.org/wiki/Interframe_gap
[3] thernet .http://www.cisco.com/en/US/docs/internetworking/technology/handbook/Ethernet.pdf
IFG(Interframe
Gap),帧间距,以太网相邻两帧之间的时间断;以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙,即帧间距IFG也可称其为IPG (Interpacket Gap)。IFG指的是一段时间,不是距离,单位通常用微秒(μs)或纳秒(ns)。如下图所示:
图 1 帧间距
2.为什么需要IFG?(Why)
网络设备和组件在接收一个帧之后,需要一段短暂的时间来恢复并为接收下一帧做准备。
3.IFG的大小为多少?(Importance)
IFG的最小值是 96 bit time,即在媒介中发送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 bit time),设备的有效速度增大,可以解决因速度过慢导致测试超时的问题。
参考资料:
[1] 以太网流控机制及其基于VSC7323的实现. http://tech.c114.net/169/a266942.html
[2] Interframe gap Wikipedia. http://en.wikipedia.org/wiki/Interframe_gap
[3] thernet .http://www.cisco.com/en/US/docs/internetworking/technology/handbook/Ethernet.pdf
相关文章推荐
- 关于提高自己JAVA水平的十大技术讨论
- 关于在网页中使用IP的一次技术讨论
- 关于回复我不再像以前那样在论坛在QQ群讨论技术的回复
- 关于封装Dll为Web Service技术方案的讨论
- 关于程序员的技术发展讨论
- 关于.NET技术前途问题的讨论
- 关于UI开发(总结一些技术和一些论坛牛人讨论)
- 关于提高自己JAVA水平的十大技术讨论
- [技术讨论]关于交换编程实践的交换周期问题
- [技术讨论]iTSP组04年关于知识库构建的对话
- 关于提高JAVA水平的十大技术讨论
- 关于Android 动画技术学习讨论
- 关于如何对待技术框架和业务框架的讨论
- 关于一个大型web系统架构设计和技术选型的讨论摘录
- 关于一个大型web系统架构设计和技术选型的讨论摘录
- 关于Flex技术的讨论
- [技术讨论]关于前几天公布的京东bug上的问题分析
- 关于.NET技术前途问题的讨论
- 关于http301与302的技术讨论