如何計算乙個通訊系統的理論頻寬

2021-04-29 14:23:37 字數 3295 閱讀 6193

背板:backplane或switch fabric;線速:line speed;萬兆乙太網:10g ethernet;千兆乙太網:1gethernet

一、計算公式說明

交換機的背板頻寬,是交換機介面處理器或介面卡和資料匯流排間所能吞吐的最大資料量。背板頻寬標誌了交換機總的資料交換能力,單位為gbps,也叫交換頻寬,一般的交換機的背板頻寬從幾gbps到上百gbps不等。一台交換機的背板頻寬越高,所能處理資料的能力就越強,但同時設計成本也會越高。

一般來講,計算方法如下:

(1)線速的背板頻寬

考察交換機上所有埠能提供的總頻寬。計算公式為埠數×相應埠速率×2(全雙工模式)如果總頻寬≤標稱背板頻寬,那麼在背板頻寬上是線速的。

(2)第二層包**線速

第二層包**率=千兆埠數量× 1.488mpps+百兆埠數量× 0.1488mpps+其餘型別埠數×相應計算方法,如果這個速率能≤標稱二層包**速率,那麼交換機在做第二層交換的時候可以做到線速。

(3)第三層包**線速

第三層包**率=千兆埠數量×1.488mpps+百兆埠數量× 0.1488mpps+其餘型別埠數×相應計算方法,如果這個速率能≤標稱三層包**速率,那麼交換機在做第三層交換的時候可以做到線速。

100m的乙太網,全雙工就是200m,其單位就是bit/s,100m換算成byte則是100/8=12.5m byte/s,換算出來就是12500000bytes。那麼在乙太網的資料報中,最小的資料報的大小是64byte/s,加上8個byte的前導位元組以及12個byte幀間間隙,合計就是84byte。那麼用12500000/84=148809,得到在100m吞吐量單向環境下的每秒最大的包**個數148809,換算成k即為148.8k pps。同上,則在雙向200m吞吐量的乙太網中,每秒**個數297618,換算成k則包**率為297.6k pps。

這是在二層交換上面所能達到的包**率,但是如果乙個路由器在三層路由上面,甚至在開啟nat的情況下,其包**率會有很大降低,而這個值才是真正使用者值得關心的,所以我們在看到很多商家在一直強調包**個數148810個包,其實這是二層交換的理論極限值,而不是真正的路由器在三層工作時候的值。

【談論包**率pps的時刻,通常我們只討論單工,例如layer-2層面上的1ge的1.488mpps。】

【談論包**率pps的時刻,通常路由器產品說的是layer3的**速率。】

所以說,如果能滿足上面三個條件,那麼我們就說這款交換機真正做到了線性無阻塞

背板頻寬資源的利用率與交換機的內部結構息息相關。目前交換機的內部結構主要有以下幾種:一是共享記憶體結構,這種結構依賴中心交換引擎來提供全埠的高效能連線,由核心引擎檢查每個輸入包以決定路由。這種方法需要很大的記憶體頻寬、很高的管理費用,尤其是隨著交換機埠的增加,**記憶體的**會很高,因而交換機核心成為效能實現的瓶頸;二是交叉匯流排結構,它可在埠間建立直接的點對點連線,這對於單點傳輸效能很好,但不適合多點傳輸;三是混合交叉匯流排結構,這是一種混合交叉匯流排實現方式,它的設計思路是,將一體的交叉匯流排矩陣劃分成小的交叉矩陣,中間通過一條高效能的匯流排連線。其優點是減少了交叉匯流排數,降低了成本,減少了匯流排爭用;但連線交叉矩陣的匯流排成為新的效能瓶頸。

二、埠速率計算

乙太網傳輸最小包長就是64位元組、pos口是40位元組。包**線速的衡量標準是以單位時間內傳送64byte的資料報(最小包)的個數作為計算基準的。對於千兆乙太網來說,計算方法如下:1,000,000,000bps/8bit/(64+8+12)byte=1,488,095pps 說明:當乙太網幀為64byte時,需考慮8byte的幀頭和12byte的幀間隙的固定開銷。故乙個線速的千兆乙太網埠在**64byte包時的包**率為1.488mpps。快速乙太網的線速埠包**率正好為千兆乙太網的十分之一,為148.8kpps。

假設交換機有a、b、c三種介面各乙個,它們的包**率分別是x、y、z

64+8+12的意思為:基於64位元組分組測試(乙太網傳輸最小包長就是64位元組);8乙太網中,每個幀頭都要加上了8個位元組的前導符;幀間隙最小為12位元組。再乘8是轉換為bit為單位。

**頻寬=包**速率*8*(64+8+12)=1344*包**速率

所以:

交換機**頻寬=x*8*(64+8+12)+y*8*(64+8+12)+z*8*(64+8+12)

=(x+y+z)*1344;

=交換機包**率*1344

萬兆乙太網 14.88mpps 2千兆乙太網 1.488mpps 百兆乙太網 0.1488mpps

oc-3 pos 0.29mpps oc-12 pos 1.17mpps oc-48 pos 468mpps

三、埠總速率

在乙太網中,每個幀頭都要加上了8個位元組的前導符,前導符的作用在於告訴監聽裝置資料將要到來。然後,乙太網中的每個幀之間都要有幀間隙,即每發完乙個幀之後要等待一段時間再發另外乙個幀,在乙太網標準中規定最小是12個位元組,然而幀間隙在實際應用中有可能會比12個位元組要大,在這裡我用了最小值。每個幀都要有20個位元組的固定開銷,現在我們再來算一下交換機單個埠的實際吞吐量:148,809×(64+8+12)×8≈100mbps,通過這個公式不難看出,真正的資料交換量佔到64/84=76%,交換機埠鏈路的」線速」資料吞吐量實際上只有76mbps,另外一部分被用來處理了額外的開銷,這兩者加起來才是標準的百兆或者千兆。

交換機背板頻寬計算方法

背板頻寬,是交換機介面處理器或介面卡和資料匯流排間所能吞吐的最大資料量。一台交換機的背板頻寬越高,所能處理資料的能力就越強,但同時設計成本也會上去。

但是,我們如何去考察乙個交換機的背板頻寬是否夠用呢?顯然,通過估算的方法是沒有用的,我認為應該從兩個方面來考慮:

1、)所有埠容量x埠數量之和的2倍應該小於背板頻寬,可實現全雙工無阻塞交換,證明交換機具有發揮最大資料交換效能的條件。

2、)滿配置吞吐量(mpps)=滿配置ge埠數×1.488mpps其中1個千兆埠在包長為64位元組時的理論吞吐量為1.488mpps。例如,一台最多可以提供64個千兆埠的交換機,其滿配置吞吐量應達到 64×1.488mpps = 95.2mpps,才能夠確保在所有埠**速工作時,提供無阻塞的包交換。如果一台交換機最多能夠提供176個千兆埠,而宣稱的吞吐量為不到261.8mpps(176 x 1.488mpps = 261.8),那麼使用者有理由認為該交換機採用的是有阻塞的結構設計。

一般是兩者都滿足的交換機才是合格的交換機。

背板相對大,吞吐量相對小的交換機,除了保留了公升級擴充套件的能力外就是軟體效? ?專用晶元電路設計有問題;背板相對小。吞吐量相對大的交換機,整體效能比較高。不過背板頻寬是可以相信廠家的宣傳的,可吞吐量是無法相信廠家的宣傳的,因為後者是個設計值,測試很困難的並且意義不是很大。

交換機的背版速率一般是:mbps,指的是第二層,

對於三層以上的交換才採用mpps

如何重構乙個系統

發現乙個很有意思的情況,做系統寫 多年了,遇到的需求基本上是在已有的系統上實現,從頭來實現的系統基本上沒有。無論是從頭是實現乙個系統,還是維護乙個系統,當時實現的技術可能是最先進的 規劃的產品邏輯是合理的,隨著時間的發展 開發人員的變更 系統的 質量會逐漸腐化,加個feature太麻煩,改個bug涉...

如何熟悉乙個系統

作者 唐志龍 鯤龍 阿里巴巴高階開發工程師 開發人員經常會面臨下面一些場景 這樣的場景多了,就需要去梳理常見問題以及應對方法,方便後續遇到類似場景可以快速應對。業務學習就是從業務角度去學習系統,我們需要了解系統的客戶是誰 使用人是誰 帶來了什麼價值,系統提供了哪些功能等。不清楚業務,就等於不知道系統...

MINA框架編寫乙個通訊系統

完成的目標 伺服器接受到客戶端的資訊後作出乙個反應 傳送一條資訊 客戶端獲得這條資訊 同乙個客戶端可以不停的傳送資料請求 上午的目標竟然在下午才能夠完成 先來看看我們的伺服器端 server 其實很簡單,但是我們一定要弄懂原理 越簡單的 我們要越小心 public class minatimeser...