會員 ![]() | 【問題】2個乙太網路連線之流量負載平衡 各位先進您們好,我最近遇到一個在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 |
回覆 |
會員 ![]() | 回覆: 【問題】2個乙太網路連線之流量負載平衡 兩片網卡接在同一個subnet時只會走routing table上第一個path,除非跑policy routing(有點複雜,依鵝看來不見得比trunk/bounding佔便宜 ![]() ![]() ![]() ![]() |
回覆 |
會員 ![]() | 回覆: 【問題】2個乙太網路連線之流量負載平衡 謝謝您的回應與意見 首先,我已經用超過1張GbE NIC 第二,Trunk及Route 的方式我都試過,結論是 Hardware Trunk > Route > Software Trunk 第三,Storage存取演算法是我們自己開發。效能很好。 |
回覆 |
會員 ![]() | 回覆: 【問題】2個乙太網路連線之流量負載平衡 假設一個session要吃5Mbps,那1port GbE保守估計能service 150個user好了,應該蠻好玩的 ![]() 引用:
![]() ![]() ![]() ![]() 引用:
![]() ![]() 此篇文章於 2008-07-26 05:28 AM 被 wangcm 編輯。. | ||
回覆 |
會員 ![]() | 回覆: 【問題】2個乙太網路連線之流量負載平衡 剛在Virtualbox中試了一下(host跑Win XP,guest是linux kernel v2.6.25),guest用兩個virtual NIC連上host,分別在host端ping guest的兩個IP,用wireshark看到的是host ping A時guest->host的IP/MAC address都是A,而host ping B時guest->host的IP是B,但MAC address是A(同時是走interface A->host的,而不是走interface B->host ![]() ![]() ![]() ![]() |
回覆 |
|
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。