Cc433df9ed32fa451db4991eda187744 在中高階主機板上,同時內建2個乙太網路埠已經不稀奇了。一定有人曾經想過:如果可以把2個網路埠插滿,是否可以享有加倍的網路頻寬呢?答案是肯定的,這種作法稱為「Link Aggregation」,在網路傳輸需求吃重的環境十分常見。只是,Link Aggregation 在作法及應用上都有但書,並不是插了2條網路線就能跑,在頻寬的運用上也常會造成誤解。

一加一不一定等於二

Link Aggregation的概念很簡單,就是把2條網路線以上的頻寬合併起來(binding),成為大水管,除了可以衝高網路流量外,某條網路線失效時還能有備援效果。說來容易,實作卻有一定難度,一般玩家要架設Link Aggregation,除了要有2個以上的網路埠口外(最好屬於同張網路卡或網路晶片),還要有台支援802.3ad的分享器才行。

由於該應用多屬企業範躊,所以支援802.3ad的分享器不便宜,不透過分享器轉接的話,直接用2台電腦對接並不可行。就算架起來了、在網路卡組態裡真的看到總頻寬為2Gbps,再怎麼測試還是會發現跑不到該數字的一半,用正常網路線要傳10分鐘的檔案,頻寬加倍後仍得花上同樣的時間。

原來,802.3ad不如大家想像中甜蜜。IEEE官方說明裡便已指出,Link Aggregation並不能用來增加單一連線的頻寬。什麼叫「單一連線」?說明白點,從同一個IP發送出的封包,只會自動選擇最合適的其中一條實體網路線來輸傳,而不是把資料平均分散到2條網路線上,也就是說,即使頻寬合併了,實際在傳輸資料時,仍然只會有1條網路線在運作,即使它滿載了,另外的網路還是閒置。

分流傳輸多通道

所以了,除非我們可以在電腦上指定要將資料透過2個不同的IP, 也就是NIC Address(實體網路埠位址)來傳送,不然即使有再多個網路孔、合併了再大的頻寬,資料還是只會從一條網路線出去。看到這裡一定有人要敲桌了,如果是這樣,那麼頻寬合併還有啥意義?

其實,頻寬合併的最大受益者是接受端,而不是發送端。雖然我們無法藉由頻寬合併來讓1個IP在同樣時間內傳送更多資料,卻可以讓目的端IP接收更多,假如要把10台電腦裡的資料同時傳輸到同1台電腦上,便能看出其效益。

那麼,到底有沒有辦法讓同台電腦送出的資料分流,以不同的IP傳輸呢?山不轉路轉,基本上藉由修改路由表,是不困難的。驗證的方法很簡單:在頻寬未合併前,假設本地端及目的端電腦都各有2個IP,分別是A、B與C、D,我們只要把目的地為C的封包指定給A,D給B,然後開兩個FTP或網芳視窗來傳檔到C跟D,從整體來看,便能有效地使用到2條網路線的頻寬。

▲Link Aggregation最大的效果在Switch到接收端的線路頻寬匯整。發送端到Switch一樣能做,但意義不大。

高速線材最可靠

只是,這是在把檔案分成2個群組來傳輸的情況。如果只是要丟個大檔案,或是特定軟體要到對方電腦讀取資料時,就很難從軟體面來設置了,比如最需要這種應用的影片剪輯軟體,並沒有辦法在傳輸前就分割遠端電腦裡的大影片檔來分流處理,除非在兩邊電腦都裝上常駐程式,然而這種應用目前並不存在。

答案揩曉:最後的結果可能有點殘酷,真的要在2個端點間增加資料的傳輸頻寬,除了升級更高速的介面外(比如10G、Thunderbolt),其它的偏方看來都是很辛苦的。 

要透過路由表讓資料分流,前提是兩個IP分別得屬不同匣道,所以反而適合對接的電腦使用。

本文同步刊載於電腦王雜誌
 

歡迎加入電腦王雜誌粉絲團

使用 Facebook 留言

4cda01644ba86c8c36dceefb30f4adb8?size=48&default=wavatar
1.  Thomas (發表於 2012年7月13日 16:39)
我一直都是雙GE的方式

不過是一條Inranet, 一條Internet

其實還可以手動方式調整頻寬, 當然麻煩點, 但是省錢

就是調整Static Route, 手動去下command

看你經常使用的IP Range有那些, 直接分配給兩塊網卡

不過者比較適合static IP的用戶DHCP or PPPoE就更麻煩點
Fbc3b19b9869ca18629b8b3701147fa2?size=48&default=wavatar
4.  Lexus (發表於 2012年7月13日 23:29)
看了內文

感覺這簡直是在描述Load Balancing!?

發表回應

謹慎發言,尊重彼此。按此展開留言規則