各位先進您們好,我最近遇到一個在Linux上網路的問題請教各位先進。
我在Linux上開發一個即時多媒體服務,為了提昇多媒體伺服器服務的效能,
我們希望用超過1條乙太網路連線來輸出多媒體資料。所以我們的伺服器程式
會Bind 2個Ethernet IP,讓伺服器和Client指定IP收送資料。
例如:第一個使用者用192.168.0.1當做伺服器
第二個使用者用192.168.0.2當做伺服器
理論上,多媒體資料會分別從2個乙太網路連線收送資料,理論上頻寬會加倍。
我的不使用 Trunk的方式,是因為Trunk 比較需要消耗CPU,而且效能提昇
約30%而已。我們也不考慮硬體Trunk,因為需要Switch支援。
但是出現一個神奇的事。
首先頻寬沒有加倍,且一樣只有一條乙太網路連線的效能。
再來,觀察Client的訊息,Client確實分別連到2個IP上。
這讓我感到非常的納悶。
經過一段時間的觀察,我發現可能是ARP的問題。
因為我用ARP指令觀察 ARP Cache發現,所有Client的IP都MAP到Eth0,
而不是分別MAP到eth0及eth1。
可能是因為這樣,所以所有的資料都從eth0這條線出去。
實際觀察網路卡的燈號,狀況的確如此。
請教各位,我能否關閉ARP Cache自動學習的功能,
並且指定Client IP所MAP到的乙太網路連線。
謝謝!!
Duck Chang
書籤