Dua port ethernet pada motherboard. Bagaimana saya bisa mendapatkan dua kali lipat bandwidth?

16

Pertanyaan Langsung : Motherboard evga saya yang diklasifikasikan memiliki dua port ethernet. Saya ingin menggunakannya secara bersamaan untuk meningkatkan kecepatan koneksi jarak jauh. (Yay untuk pemrograman jarak jauh). Bagaimana saya melakukan ini? Saat ini / etc / network / interfaces:

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

Apa yang harus saya ubah? Apakah ada paket yang harus saya instal untuk menghubungkan kedua saluran.

Latar Belakang: Saya melakukan banyak komputasi jarak jauh baik dari rumah ke kantor maupun dari kantor ke rumah. Tapi (untuk mengeluarkan ISP saya dari persamaan), mari kita bingkai pertanyaan seolah-olah saya benar-benar hanya tertarik untuk memaksimalkan kecepatan transfer file antara dua komputer di jaringan (lokal) yang sama. Kedua kotak memiliki motherboard ethernet ganda. Menggunakan Linksys WRT54GS sederhana sebagai saklar 5 port (abaikan nirkabel dan ISP) - bagaimana cara memaksimalkan kecepatan transfer antar komputer?

Harap Catatan: Saya tidak tertarik pada penyeimbangan beban - Perbaiki saya jika saya salah, tetapi saya ingin menyatukan kedua saluran sehingga kotak tersebut muncul seolah-olah memiliki satu koneksi yang dua kali lebih cepat.

M. Tibbits
sumber
2
Saya akan berpikir melalui saklar akan membatasi manfaat yang Anda dapatkan dari menggunakan 2 kabel Ethernet secara paralel. Mungkin jika Anda menggunakan dua sakelar mungkin masuk akal. Saya pikir satu-satunya manfaat yang mungkin Anda dapatkan adalah dengan koneksi langsung.
WalterJ89
1
Biasanya dalam koneksi rumah - kantor, hambatannya adalah ISP, jadi melakukan agregasi tautan di kedua ujung tautan tidak banyak meningkat.
bitwelder

Jawaban:

3

Penting untuk dicatat bahwa untuk memanfaatkan fungsionalitas NIC teaming, saklar yang Anda hubungkan harus mendukung teaming alias LACP. Anda dapat menemukan sakelar seperti itu melalui pencarian di NewEgg.com dll.

Setelah Anda memilikinya di sini adalah panduan sederhana dari wiki: https://help.ubuntu.com/community/UbuntuBonding

Semoga berhasil!

NetNinja
sumber
Yap, semoga berhasil, karena sementara ini akan berhasil, itu tidak akan menghasilkan peningkatan kecepatan.
Scaine
13

Sangat tidak mungkin bahwa ikatan antarmuka Anda akan menghasilkan peningkatan kecepatan. Biasanya, meskipun Anda berhasil menghubungkan antarmuka dan mengonfigurasi sakelar untuk mendukung etherchannel), maka Anda masih akan menemukan bahwa hanya satu antarmuka dalam ikatan yang digunakan untuk setiap pasangan sumber / tujuan sesi TCP / UDP.

Jadi, jika Anda menyalin file 10Gb dari satu server, kemudian memulai salinan 10Gb lain ke server itu, dengan asumsi bahwa Anda juga memiliki ikatan berdasarkan sesi, Anda akan melihat kedua kartu dimaksimalkan. Namun yang terpenting, salinan pertama hanya akan menggunakan SATU kartu jaringan, bukan keduanya.

Ini tentu halnya dengan etherchannel Cisco. Bahkan, etherchannel Cisco bahkan bukan berbasis sesi, ini berbasis sumber / tujuan, jadi dalam contoh saya di atas, Anda bahkan tidak akan mendapatkan peningkatan kecepatan - salinan kedua Anda harus ke server yang sama sekali berbeda sebelum Anda melihat keduanya kartu yang digunakan. Mungkin Anda memiliki saklar yang lebih baik yang memungkinkan saluran port untuk menggunakan kedua kartu secara bersamaan dalam satu sesi TCP / UDP tetapi akan membutuhkan beberapa manipulasi arp / MAC yang cukup funky dan saya tidak tahu apakah modul bonding di linux mendukungnya.

Sedangkan untuk Anda, Anda menggunakan router rumah standar rawa, jadi dukungan sisi-beralih keluar dari pertanyaan di sini, yang berarti bahwa opsi Anda semakin terbatas (lihat artikel pertama yang diuraikan di bawah, di mana Anda akan mencatat bahwa Anda sekarang tidak dapat menggunakan mode terbaik untuk agregasi tautan, mode 4).

Jika Anda bertekad untuk terus maju dengan ini, saya menemukan artikel berusia lima tahun ini yang tampaknya masih relevan. Selain itu, artikel berusia tiga tahun ini membahas landasan yang sama.

Semoga ini bisa membantu.

Scaine
sumber
2

Saya akan berpikir melalui saklar akan membatasi manfaat yang Anda dapatkan dari menggunakan 2 kabel Ethernet secara paralel. Kecuali jika sakelar lebih cepat dari gabungan dua NIC Anda, dalam hal ini maka Anda mungkin akan melihat peningkatan kecepatan.

Program Load Balancing adalah apa yang Anda cari. Anda tidak harus "memuat keseimbangan" jika tidak mau, tetapi ini adalah cara termudah untuk menggabungkan koneksi yang saya tahu. Idenya tidak terlalu rumit

Virtual NIC -> Load Balancing Program -> NIC 1 + 2

Jawaban ini sesuai dengan apa yang Anda cari, saya yakin: Penyeimbangan beban jaringan dengan Network Manager

Saya tidak yakin secara spesifik tapi saya yakin itu adalah ide umum.

Kecuali jika kartu NIC secara substansial kurang kuat dari router / switch Anda, satu-satunya keuntungan yang mungkin Anda dapatkan adalah dengan koneksi langsung antara kedua komputer, Atau koneksi paralel secara keseluruhan. Tetapi teori dan praktik tidak selalu berhasil.

Satu-satunya cara saya bisa memikirkan untuk menguji apakah NIC adalah hambatan dalam sistem Anda adalah dengan melakukan tes kecepatan antara setiap komputer menggunakan semua 4 NIC. Saya dapat memberi Anda Ide umum tentang cara melakukan ini tetapi hal-hal spesifik Ubuntu yang saya perlukan.

  1. Atur setiap NIC untuk memiliki alamat IP sendiri seperti 192.168.0.1 + 192.168.0.2 untuk komputer 1 dan * .3 + * .4 untuk komputer 2
  2. Satu-satunya tes kecepatan untuk jaringan lokal yang saya lihat hanyalah waktu transfer pada file bit. Saya tidak yakin apakah ada metode yang lebih baik, saya belum pernah melihatnya.

    3 Tetapkan rute secara manual sehingga * .1 adalah antarmuka untuk menuju * .3 dan * .2 ke * .4.
    PC1 192.168.0.1 <--> 192.168.0.3 PC2 192.168.0.2 <--> 192.168.0.4

Saya tidak pernah menggunakan tabel ip jadi di sini ada sesuatu yang saya temukan sebagai contoh.

[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. Pilihan lain adalah menemukan cara agar ssh (atau terminal) klien dapat terhubung melalui antarmuka tertentu. Saya tidak yakin bagaimana itu dilakukan untuk sisi klien.

Jika tabel IP diatur dengan benar, Anda harus dapat mengirim 2 file dari PC 1 ke kedua antarmuka di PC 2 dan setiap file akan mengambil rute yang berbeda. Jika transfer dengan dua koneksi lebih cepat dari hanya satu .. (mudah-mudahan dua kali lebih cepat) maka Anda mungkin memiliki sesuatu.

WalterJ89
sumber
2

Saya tidak berpikir Anda mengatakan apakah Anda menggunakan Gigabit NIC atau tidak, saya kira Anda karena Anda memiliki 2 NIC dan karena itu mungkin motherboard gaming.

Karena itu masalahnya, jika Anda mencoba untuk mendapatkan basis 2x100 maka Anda lebih baik membeli switch Gigabit port 4-8 murah dan menghubungkannya ke router Internet Anda. Kemudian Anda dapat mencolokkan semua komputer yang menjalankan Ethernet ke sakelar itu dan masih memiliki wifi dan Internet yang berfungsi di semua komputer Anda.

Saya melakukannya sekarang karena saya membeli Netgear WNDR3400 dan meletakkan DD-WRT di atasnya sehingga saya dapat memiliki beberapa opsi yang bagus termasuk server NAS yang sangat mutakhir.

Satu-satunya masalah adalah bahwa router 100 pangkalan pada port Ethernet. Jadi seharga $ 40, saya membeli switch Gigabit 5 port yang dicolokkan ke router saya, lalu menghubungkan semua komputer saya ke switch Gigabit dan menghubungkan konsol game saya ke router.

Semuanya berfungsi dengan baik dan saya dapat mentransfer file antar komputer dengan kecepatan kilat.

Semoga beruntung!

William
sumber
1

Ada perpustakaan bernama firehose yang dapat mentransfer data melalui beberapa perangkat jaringan secara bersamaan. Itu tidak memberi Anda satu perangkat jaringan virtual sekalipun, dan itu tidak mendukung TCP. Ini dirancang untuk streaming video bandwidth tinggi untuk editor video. Akan menarik bagi Anda:

http://heroinewarrior.com/firehose.php

Alistair Buxton
sumber
1

Menggunakan kebijakan Port Bonding dan Round-Robin pada kedua perangkat yang terhubung melalui sakelar yang tidak dikelola sebenarnya akan hampir dua kali lipat kecepatan transfer Anda. Kebijakan Round-Robin default untuk memuat penyeimbangan pada beberapa perangkat dan jatuh kembali ke port tunggal jika satu perangkat gagal.

Namun, saya percaya WRT54GS Anda adalah router dan karenanya dikelola sehingga Anda tidak akan mendapatkan manfaat penuh dari ikatan tersebut.

Dengan asumsi Anda menggunakan switch 8-port murah yang mendukung kebijakan RR dan kemudian menghubungkannya ke router, Anda akan mendapatkan peningkatan kecepatan transfer antara dua perangkat menggunakan ikatan melalui switch dan kecepatan transfer normal ke internet dan sisanya dari jaringan.

Anda juga harus meningkatkan buffer baca / tulis, txqeueuelen dan memori netcore dan tcp Anda.

Stuart K. Smith
sumber