Anakart üzerinde iki ethernet bağlantı noktası. Bant genişliğinin iki katını nasıl alabilirim?


16

Doğrudan Soru : Evga sınıflandırılmış anakartımın iki ethernet portu var. Uzak bir bağlantının hızını artırmak için bunları aynı anda kullanmak istiyorum. (Uzaktan programlama için Yay). Bunu nasıl yaparım? Şu anda / etc / network / arayüzleri:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 192.168.1.202
netmask 255.255.255.0
gateway 192.168.1.2

ifrace eth1 inet static
address 192.168.1.201
netmask 255.255.255.0

Neyi değiştirmeliyim? İki kanalı birleştirmek için kurmam gereken bir paket var mı?

Arka plan: Hem evden ofise hem de ofisten eve birçok uzaktan hesaplama yapıyorum. Ancak (ISS'imi denklemden çıkarmak için) soruyu, sanki aynı (yerel) ağdaki iki bilgisayar arasındaki dosya aktarım hızını en üst düzeye çıkarmakla gerçekten ilgileniyormuş gibi çerçeveleyelim. Her iki kutunun da çift ethernet anakartı var. Basit bir Linksys WRT54GS'yi 5 bağlantı noktası anahtarı olarak kullanma (kablosuz ve ISP'yi yoksay) - bilgisayarlar arasındaki aktarım hızlarını nasıl en üst düzeye çıkarırım?

Lütfen Dikkat: Yük dengeleme ile ilgilenmiyorum - Yanlışsam beni düzeltin, ancak kutunun iki kat daha hızlı bir bağlantısı varmış gibi görünmesi için iki kanalı birbirine bağlamak istiyorum.


2
Bir anahtardan geçmenin 2 Ethernet kablosunu paralel olarak kullanmanın getireceği herhangi bir yararı sınırlayacağını düşünürdüm. Belki iki anahtar kullandıysanız, bir şekilde mantıklı olabilir. Bence elde edebileceğiniz tek fayda doğrudan bir bağlantıdır.
WalterJ89

1
Genellikle bir ev-ofis bağlantısında, darboğaz ISP'dir, bu nedenle bağlantının iki ucunda bağlantı toplama yapmak çok fazla gelişmez.
bitwelder

Yanıtlar:


3

NIC ekip oluşturma işlevini kullanabilmek için bağlandığınız anahtarın LACP olarak da adlandırılması gerektiğini unutmayın. Bunun gibi bir anahtarı NewEgg.com'da arama yaparak bulabilirsiniz.

Bunu yaptıktan sonra, wiki'den basit bir rehber var: https://help.ubuntu.com/community/UbuntuBonding

İyi şanslar!


Evet, iyi şanslar, çünkü bu işe yarayacak olsa da, hız artışı ile sonuçlanmaz.
Scaine

13

Arabirimlerinizi bağlamanın hız artışı ile sonuçlanması pek olası değildir. Genellikle, arabirimleri başarılı bir şekilde bağlasanız ve anahtarı eterchannel'i destekleyecek şekilde yapılandırsanız bile), bağdaki her bir kaynak / hedef TCP / UDP oturumu çifti için yalnızca bir arabirimin kullanıldığını göreceksiniz.

Bu nedenle, bir sunucudan 10 Gb'lik bir dosya kopyalarsanız, oturum tabanlı bir bağlantınız olduğunu varsayarak, bu sunucuya başka bir 10 Gb'lik bir kopya çıkarırsanız , her iki kartın da maksimumda olduğunu görürsünüz. Ancak en önemlisi, ilk kopya her ikisini birden değil, yalnızca BİR ağ kartını tüketecektir.

Bu kesinlikle Cisco'nun eterkanelinde geçerlidir. Aslında, Cisco'nun eterchannel oturumu temel almıyor, kaynak / hedef tabanlı, bu yüzden yukarıdaki örneğimde hız artışı bile elde edemezsiniz - ikisini de görmeden önce ikinci kopyanızın tamamen farklı bir sunucuda olması gerekir kullanılan kartlar. Belki de port kanalının her iki kartı aynı anda bir TCP / UDP oturumunda kullanmasına izin veren daha iyi bir anahtarınız vardır, ancak bazı oldukça korkak arp / MAC manipülasyonu gerektirecektir ve linux'daki bağ modülü bunu destekleyip desteklemediğini bilmiyorum.

Size gelince, bataklık standart bir ev yönlendiricisi kullanıyorsunuz, bu nedenle anahtar tarafı desteği burada söz konusu değil, yani seçeneklerinizin daha sınırlı olduğu anlamına geliyor (aşağıda sıraladığınız ilk makaleye bakın, şimdi bağlantı toplama için en iyi modu kullanamaz, mod 4).

Bununla devam etmeye kararlıysanız, hala alakalı görünen bu beş yaşındaki makaleyi buldum . Ayrıca, bu üç yıllık makale aynı zemini kapsıyor.

Umarım yardımcı olur.


2

Bir anahtardan geçmenin 2 Ethernet kablosunu paralel olarak kullanmanın getireceği herhangi bir yararı sınırlayacağını düşünürdüm. Anahtar iki NIC'inizden daha hızlı değilse, bu durumda bir hız artışı görebilirsiniz.

Yük Dengeleme programı aradığınız şeydir. Eğer istemiyorsanız "yük dengesi" yapmak zorunda değilsiniz, ama bildiğim bağlantıları birleştirmenin en kolay yolu bu. Fikir çok karmaşık değil

Sanal NIC -> Yük Dengeleme Programı -> NIC 1 + 2

Bu cevabı aradığınıza inanıyorum: Network Manager ile ağ yük dengeleme

Detaylardan emin değilim ama bunun genel bir fikir olduğuna eminim.

NIC kartları yönlendiricinizden / anahtarınızdan önemli ölçüde daha az güçlü olmadıkça, alacağınız tek fayda muhtemelen iki bilgisayar arasında doğrudan bir bağlantı veya tüm yol boyunca paralel bir bağlantıdır. Ancak teori ve pratik her zaman işe yaramaz.

NIC'in sisteminizdeki darboğaz olup olmadığını test etmeyi düşünebilmemin tek yolu, her 4 NIC'yi kullanarak her bilgisayar arasında bir hız testi yapmaktır. Bunu nasıl yapacağınıza dair genel bir fikir verebilirim ama bir ele ihtiyacım olacak Ubuntu'ya özgü şeyler.

  1. Her NIC'yi bilgisayar 1 için 192.168.0.1 + 192.168.0.2 ve bilgisayar 2 için * .3 + * .4 gibi kendi IP adresine sahip olacak şekilde ayarlayın.
  2. Gördüğüm yerel ağlar için tek hız testi sadece bir bit dosyasında aktarım süresidir. Daha iyi bir yöntem olup olmadığından emin değilim, hiç görmedim.

    3 Güzergahları manuel olarak ayarlayın, böylece * .1, * .3 ve * .2 için * .4'e ulaşmak için arayüzdür.
    PC1 192.168.0.1 <--> 192.168.0.3 PC2 192.168.0.2 <--> 192.168.0.4

Ben ip tabloları hiç kullanmadım bu yüzden burada örnek olarak buldum bir şey.

[root]# ip route add xx.xxx.239.120 via xx.xxx.239.120 dev eth0 table 4
[root]# ip route add table 4 default via xx.xxx.239.120 
[root]# iptables -t mangle -A PREROUTING -p tcp --dport 80 -s xx.xxx.239.120 -j MARK --set-mark 4 
[root]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source xx.xxx.239.120 [root]# ip rule add fwmark 4 table 4
  1. başka bir seçenek, ssh (veya terminal) istemcisinin belirli arabirimler üzerinden bağlanması için bir yol bulmaktır. Henüz müşteri tarafı için nasıl yapıldığından emin değilim.

IP tabloları doğru ayarlanmışsa, PC 1'den PC 2'deki her iki arabirime 2 dosya gönderebilmeniz gerekir ve her dosya farklı bir yol izleyecektir. İki bağlantıyla aktarım sadece bir bağlantıdan daha hızlıysa (umarım iki kat daha hızlıdır) bir şey olabilir.


2

Gigabit NIC kullanıp kullanmadığınızı söylemediğinizi düşünmüyorum, sanırım 2 NIC ve dolayısıyla muhtemelen bir oyun anakartına sahip olduğunuzdan beri olduğunuzu tahmin ediyorum.

Bu durumda, 2x100 baz almaya çalışıyorsanız, ucuz bir 4-8 portlu Gigabit anahtarı satın alıp İnternet yönlendiricinize takmanız daha iyi olur. Daha sonra Ethernet'i çalıştıran tüm bilgisayarları bu anahtara takıp yine de tüm bilgisayarlarınızda çalışan wifi ve Internet'e sahip olabilirsiniz.

Bunu şimdi bir Netgear WNDR3400 aldım ve üzerine DD-WRT koyduğum için yapıyorum, böylece yerleşik bir NAS sunucusu da dahil olmak üzere birkaç güzel seçeneğim olabilir.

Tek sorun, yönlendiricinin Ethernet bağlantı noktalarında 100 baz olmasıydı. 40 $ için yönlendiricime takılı bir 5 port Gigabit anahtarı aldım, sonra tüm bilgisayarlarımı Gigabit anahtarına ve oyun konsollarımı yönlendiriciye taktım.

Her şey harika çalışıyor ve bilgisayarları yıldırım hızında aktarabiliyorum.

İyi şanslar!


1

Aynı anda birden fazla ağ cihazı üzerinden veri aktarabilen, yangın hortumu adı verilen bir kütüphane var. Yine de size tek bir sanal ağ cihazı vermez ve TCP'yi desteklemez. Video editörleri için yüksek bant genişliğinde video akışı için tasarlanmıştır. Yine de sizin için ilginç olabilir:

http://heroinewarrior.com/firehose.php



1

Yönetilmeyen bir anahtarla bağlanan her iki cihazda da Port Bonding ve Round-Robin politikasını kullanmak aslında aktarım oranınızı neredeyse iki katına çıkarır. Round-Robin politikası varsayılan olarak birden fazla cihaz üzerinde dengelemeyi yükler ve bir cihaz arızalanırsa tek bağlantı noktasına geri döner.

Ancak, WRT54GS'nizin bir yönlendirici olduğuna ve bu nedenle yönetildiğine inanıyorum, bu nedenle bağdan tam olarak yararlanamayacaksınız.

RR politikasını destekleyen ve daha sonra yönlendiriciye bağlayan ucuz bir 8 portlu gerçek anahtar kullanacağınızı varsayarsak, anahtar üzerinden bağlamayı kullanarak iki cihaz arasında daha yüksek aktarım hızları ve internete ve diğerlerinin normal aktarım hızlarını elde edersiniz. ağ.

Ayrıca okuma / yazma arabelleklerinizi, txqeueuelen ve netcore ve tcp belleğinizi artırmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.