關於幀間距 IFG技術的討論

2021-04-22 04:58:50 字數 1582 閱讀 2963

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

技術討論 關於低耦合開發的討論

技術討論 關於低耦合開發的討論 丁丁 15 15 50 求知誰體會過低耦合帶來的好處我怎麼覺得現在接觸到的專案都是遷一發 動全身呢 青潤 15 17 03 你是全新專案,還是歷史專案改造?丁丁 15 17 19 新的繼承抽象和介面的方式完全體現不出多麼易於修改 丁丁 15 18 38 只要有變更涉及...

「I幀」和「幀間距」等的理解

2 30 idr intervals idr幀間距 3 0 b frame number between 2 p frame 0,1,2 4 0 min qp 最小量化步長 5 51 max qp 最大量化步長 6 200000 bps位元速率 7 30 framerate rc only 幀率 先...

技術討論關於零管道CMD後門

冷風草草細說下零管道 關注.2 清風 這個不光過卡巴了,基本上所有主動防禦都過 包口s 微點,夕草hot patching 2 清風 對啊.冷風用socket直接替換輸入輸出的handle,可以實現零管道 sulwan 顛覆核心程式設計啊 2 清風 反正我是用零管道的.幻影si.hstdinput ...