【問題】2個乙太網路連線之流量負載平衡

顯示結果從第 1 筆 到 5 筆,共計 5 筆
  1. #1
    會員
    註冊日期
    2006-03-31
    所在地區
    ADSL
    討論區文章
    4

    【問題】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. #2
    會員
    註冊日期
    2003-08-25
    討論區文章
    1,120

    回覆: 【問題】2個乙太網路連線之流量負載平衡

    兩片網卡接在同一個subnet時只會走routing table上第一個path,除非跑policy routing(有點複雜,依鵝看來不見得比trunk/bounding佔便宜 ),如果只是怕100base跑不動的話何不直接換成GbE的NIC來的省事啊 ....BTW,鵝看過的VOD大部份不是NIC跑不動,而是storage跑不動,而且要怎麼讓storage經得起on demand的摧殘是個大學問就是了 ....

  3. #3
    會員
    註冊日期
    2006-03-31
    所在地區
    ADSL
    討論區文章
    4

    回覆: 【問題】2個乙太網路連線之流量負載平衡

    謝謝您的回應與意見

    首先,我已經用超過1張GbE NIC
    第二,Trunk及Route 的方式我都試過,結論是
    Hardware Trunk > Route > Software Trunk
    第三,Storage存取演算法是我們自己開發。效能很好。

  4. #4
    會員
    註冊日期
    2003-08-25
    討論區文章
    1,120

    回覆: 【問題】2個乙太網路連線之流量負載平衡

    引用 作者:DuckChang 瀏覽文章
    首先,我已經用超過1張GbE NIC
    假設一個session要吃5Mbps,那1port GbE保守估計能service 150個user好了,應該蠻好玩的 ....

    引用 作者:DuckChang
    第二,Trunk及Route 的方式我都試過,結論是
    Hardware Trunk > Route > Software Trunk
    那可不可以請問一下server上看到的routing table長成怎樣,client是如何分別連上兩個GbE的(i.e. DNS上一台機器有兩個A record或在client上直接指定IP )....以鵝個人看法,問題應該不是出在client端而是在server端,在不動policy routing為前提下(i.e.您提過的Hardware Trunk > Route > Software Trunk,其中的"Route"應該是指policy routing吧 ),server到同一個subnet就只會走第一個path----假設server有A/B兩個interface/IP好了,當client->A時當然天下太平,可是當client->B時因為server端routing table的關係會從A->client(i.e. client看到封包的source IP/MAC address可能會變成A,或是IP維持B但MAC address變成A),此時client可能直接把封包drop掉(client直接連到IP B的場合)或重新連線到IP A(一台機器有兩個A record的場合),而要是IP維持B但MAC address變成A的場合就會造成原來應該走interface B的traffic塞在interface A了,要讓server有效應用那兩port GbE勢必得動policy routing或跑trunk(不過這麼一來會吃CPU,再說GbE本身也會吃CPU----您確定此時server的CPU和I/O bus沒問題嗎 ),依鵝看來還是換成10GbE比較省事(2port 10GbE NIC只要US$1xx,而且10GbE NIC通常支援TOE可以分攤CPU的loading,不過有10GbE port的switch還是蠻貴的就是了 )....

    引用 作者:DuckChang
    第三,Storage存取演算法是我們自己開發。效能很好。
    傳統的機械式storage在應付數以百計的concurrent session方面恐怕不會太好看,不過鵝差點忘了現在有SSD可玩了,但同樣是鵝的個人看法,SSD用在這類場合的TCO不見得很划算就是了(不論是每GB的單位成本或是server以concurrent session計算的TCO )....
    此文章於 2008-07-26 05:28 AM 被 wangcm 編輯。

  5. #5
    會員
    註冊日期
    2003-08-25
    討論區文章
    1,120

    回覆: 【問題】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 ),但host->B部份還是走interface B(而且host上看到的arp的確是interface B的MAC address ),so ....



類似的主題

  1. 【問題】vigor2910 NAT與負載平衡 BUG
    作者:herdint 所在討論版:-- 網 路 硬 體 版
    回覆: 35
    最後發表: 2008-06-09, 04:21 AM
  2. 【問題】負載平衡器 dual wan一問
    作者:joexx12 所在討論版:-- 網 路 硬 體 版
    回覆: 1
    最後發表: 2007-11-13, 02:07 PM
  3. 【問題】3Wan負載平衡器
    作者:adin 所在討論版:---- ADSL 軟 硬 體 技 術
    回覆: 4
    最後發表: 2007-08-13, 08:01 PM
  4. 【求助】Windows 2003 網路負載平衡的一個問題
    作者:brad00888 所在討論版:☉ -- 架 站 DIY 討 論 版
    回覆: 0
    最後發表: 2005-04-11, 05:19 PM
  5. 【求助】請問含有4個乙太網路介面的卡大概價值多少錢呢?
    作者:gwx914 所在討論版:-- 網 路 硬 體 版
    回覆: 24
    最後發表: 2004-10-05, 08:40 PM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •