Intel PRO 1000MT:

INTEL 叫 LINK AGGREGATION
CISCO 叫 FAST ETHERCHANNEL
3COM 叫 PORT TRUNKING
現在國際標準叫 IEEE802.3ad
白話一點叫併頻寬或頻寬聚集
一般用在解決伺服器網路瓶頸或交換器與交換器連接

從硬體的角度來看

INTEL 伺服器等級的網路卡可以設定以下3個模式

1.AFT(Adapter Fault Tolerance)(希望沒有拼錯好像怪怪的)
假設有兩張網卡時一張是PRIMARY另一張是STANDBY
這時候流量只在PRIMARY上跑
當PRIMARY掛掉時STANDBY會自動啟用接手變成PRIMARY
如果原來PRIMARY恢復時會自動變成STANDBY
(因為大家ALB和ALA都包含AFT,所以基本上沒人會單獨設AFT運作)

2.ALB(Adapter Load Balance)
假設將兩張網路卡設成ALB時
進來流量為100M出去流量為200M
這時候無論接往何種交換器或集線器都可支援
同時間ALB包含容錯功能如果一張網卡故障另一張依然運作
現在INTEL可以做到8張網卡併頻寬

3.ALA(Adapter Link Aggregation)
假設將兩張網路卡設成ALA時
進來流量為200M出去流量為200M
這時候需接往支援LINK AGGREGATION的交換器
同時間ALA包含容錯功能如果一張網卡故障另一張依然運作
現在INTEL可以做到8張網卡併頻寬

Intel 的 teaming 叫做 ians Intel(R) Advanced Network Services

intel 分成

1、Adapter Fault Tolerance (AFT)
2、Switch Fault Tolerance (SFT)
3、Adaptive Load Balancing (ALB)
4、Intel Link Aggregation, Cisco*'s Fast EtherChannel* Technology or static 802.3ad (FEC or FEC/LA/802.3ad: static)

intel pro 若只使用 windows 系統提供的驅動程式的話 , 其 teaming mode 只能支援到 RLB , 若要完全使用其他 teaming mode (LA , Cisco FEC ..)的功能 , 除了需要有支援 802.3ad 規格的 switch 配合外 , 還需要安裝 Intel ANS !!

在使用2張 INTEL SERVER ADAPTER 以上時
正常來說會選 ALB 或 ALA
不管選 ALB 或 ALA 這時 AFT 是一定有作用

當你的交換器是一般或早期的請選 ALB
這時主網卡跑雙工其他子網卡跑單工
系統以主網卡為主
假設四張的話就是進去 100 出來 400

當你的交換器支援 FAST ETHERCHANNEL 或 LINK AGGREGATION 或 802.3ad
這時可以啟用 ALA
所有網卡都跑全雙工
系統以代表所有實體網卡的虛擬網卡為主
假設有四張時就是進去 400 出來 400
---------------------------------------

以上參考資料來自酷學園

至於 9K Jumbo Frame,理論上來說, 這個對於提升穩定性效能稍有助益,可有可無,不過有支援當然會比沒支援好.
但是同時還有其他條件
例如 Buffer,MAC,交換頻寬
差異都很微小.... 但價格就....

Jumbo frame:

因為 Gigabit Ethernet 的 MAC 層將過去的 512 位元 SlotTime 加長至 512 位元組,所以在傳輸小框包的時候效率會比較差。以傳輸 64 位元組的資料為例,為了滿足 512 位元組 SlotTime,必須另外加上 438 位元組的載波延伸,然後又必須加上 12 位元組的InterFrameGap。所以,實際上的傳輸率僅有64/(512 + 12)=12%,也就是 122 Mbps,這只比 100 Mbps好一點點。

而 802.3z 規格定義了「Burst Mode」,允許連續傳輸多個小框包至 8192 位元組以提升傳輸效能。不過,很可惜的,Burst Mode是針對半雙工、CSMA/CD環境而制定的,在交換式、全雙工環境並無用武之地。為此,目前有部分廠商提供 Jumbo Frame 功能,將既有的最大框包長度從 1518 加長至 9000 位元組之譜,這樣就可以大幅降低傳輸中的額外負擔。不過,Jumbo Frame並沒有一個業界共通的規範,不同廠商所實作的 Jumbo Frame不見得完全相同,交換器產品更不見得彼此相容。這是網路建置上所必須注意的地方。

舉例:
假如要跑出 10GB 級的效能,除了 Switch 的挑選之外,網路卡以及 Windows 內的 TCP 設定方式,則是另一個麻煩的地方。除了要設法讓TCP Window Size 逼近到512K,網路卡的功能更要盡其所能的開啟。以Max Byte Count(定義網路卡所接收的最大byte單位)為例,只要調整到 4096 byte,相較於網路卡BIOS中的預設值,效能會出現突飛猛進的成長。 Latency Timer則是另一個例子,將其調整到最小值,傳輸效率就瞬間下降50%。
(可以透過 TCPOptimizer 此軟體來協助修改)

值得一提的是,過去在GbE時代視為效能毒藥的流量控制功能,在10GbE環境就變得相當重要,非開不可。

以 Neterion Xframe 的 jumbo frame 為例,最大值是 9600 byte,
因多數 10GbE switch 根本不吃超過 9000byte 的 jumbo frame,
所以在設定非 intel GBE網路卡的時候可能要稍微注意到這點。
說到這個,Intel 的 10GbE 網路卡可以支援16K byte 的 jumbo frame... = ="

而湯姆大叔以前的文章曾粗略的提到一點點相關 jumbo frame 的測試比較圖表

http://www.thg.com.tw/article_000109608.html

同時要注意一點, 一般來說 jumbo frame 適合跑在 Lan 的環境下

上 internet 時,會因為您的 wan 的 mtu 設定值切成設定值的封包。
在 lan時,會因為網卡設定 JUMBO FRAME , switch也設定支持 JUMBO FRAME,接收端也支持J UMBO FRAME 才產生效果。

換言之
pc1 發出在同網段中發出 jumbo frame , switch 支持,轉送 pc2
pc1 發出不同網段的 jumbo frame . 經由 wan 設定的 mtu 切割封包,發送出去.
pc1 發出不同網段的 jumbo frame wan 判斷是走 vpn . 還是切割封包發送出去

鳥哥的教學 裡面也有提到這個部份的一些講解.

而 switch 的部份, BUFFALO 的產品比較容易找到有支援的,或是 Corega (都是日系的)
不過廠牌歸廠牌,主要還是要看使用的晶片....

產品參考:Corega , SMC

以上的部份,僅供參考!!! 有錯歡迎不吝指正.

忘記補充一點
Win2003 可能用的到這個東西 Microsoft Windows Server 2003 Scalable Networking Pack

測試軟體可以試試看 NTttcp
但是 NTttcp 是一個 single thread 的應用程式,不會因為處理器核心的增加而提升效能。
不過同時執行多條NTttcp session是一回事,如何分配不同的session到不同的處理器核心,那又是另一個問題。

範例方式如下:

發送端:(192.168.1.1/192.168.1.3/192.168.1.5/192.168.1.7)

1. ntttcps.exe -m 1,0,192.168.1.2 -p 5000 -l 537600 -n 200000
2. ntttcps.exe -m 1,1,192.168.1.4 -p 6000 -l 537600 -n 200000
3. ntttcps.exe -m 1,2,192.168.1.6 -p 7000 -l 537600 -n 200000
4. ntttcps.exe -m 1,3,192.168.1.8 -p 8000 -l 537600 -n 200000

接收端:(192.168.1.2/192.168.1.4/192.168.1.6/192.168.1.8)

1. ntttcpr.exe -m 1,0,192.168.1.2 -p 5000 -l 537600 -rb 5376000 -n 200000
2. ntttcpr.exe -m 1,1,192.168.1.4 -p 6000 -l 537600 -rb 5376000 -n 200000
3. ntttcpr.exe -m 1,2,192.168.1.6 -p 7000 -l 537600 -rb 5376000 -n 200000
4. ntttcpr.exe -m 1,3,192.168.1.8 -p 8000 -l 537600 -rb 5376000 -n 200000

簡而言之,就是讓所有 CPU 的核心通通派上用場,各自分配一條session。

創作者介紹
創作者 shine 的頭像
shine

無盡的隨筆

shine 發表在 痞客邦 留言(0) 人氣()