สองพอร์ตอีเธอร์เน็ตบนเมนบอร์ด ฉันจะรับแบนด์วิดธ์เป็นสองเท่าได้อย่างไร


16

คำถามตรง : มาเธอร์บอร์ดประเภท evga มีสองพอร์ตอีเธอร์เน็ต ฉันต้องการใช้พร้อมกันเพื่อปรับปรุงความเร็วของการเชื่อมต่อระยะไกล (Yay สำหรับการเขียนโปรแกรมจากระยะไกล) ฉันจะทำสิ่งนี้ได้อย่างไร ในปัจจุบัน / 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

ฉันควรเปลี่ยนอะไร มีแพ็คเกจที่ฉันต้องติดตั้งเพื่อเชื่อมสองช่องสัญญาณหรือไม่

ความเป็นมา:ฉันใช้คอมพิวเตอร์ระยะไกลมากมายทั้งที่บ้านและที่ทำงาน แต่ (เพื่อลบ ISP ของฉันออกไปจากสมการ) เรามาลองถามคำถามว่าฉันสนใจที่จะเพิ่มอัตราการถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์สองเครื่องบนเครือข่ายเดียวกัน กล่องทั้งสองมีเมนบอร์ดอีเธอร์เน็ตคู่ การใช้ Linksys WRT54GS แบบง่าย ๆ เป็นสวิตช์ 5 พอร์ต (ละเว้นระบบไร้สายและ isp) - ฉันจะเพิ่มอัตราการถ่ายโอนระหว่างคอมพิวเตอร์ให้เกิดประโยชน์สูงสุดได้อย่างไร

โปรดทราบ:ฉันไม่สนใจโหลดบาลานซ์ - แก้ไขให้ฉันถ้าฉันผิด แต่ฉันต้องการเชื่อมช่องสัญญาณทั้งสองเข้าด้วยกันเพื่อให้กล่องปรากฏขึ้นราวกับว่ามีการเชื่อมต่อหนึ่งที่รวดเร็วเป็นสองเท่า


2
ฉันคิดว่าการใช้สวิตช์จะเป็นการ จำกัด ผลประโยชน์ใด ๆ ที่คุณจะได้รับจากการใช้สายอีเธอร์เน็ต 2 สายพร้อมกัน บางทีถ้าคุณใช้สวิตช์สองสวิตช์มันอาจจะดูสมเหตุสมผล ฉันคิดว่าคุณจะได้รับประโยชน์อย่างเดียวจากการเชื่อมต่อโดยตรง
WalterJ89

1
โดยปกติแล้วในการเชื่อมต่อที่บ้าน - สำนักงานคอขวดคือ ISP ดังนั้นการรวมลิงก์ที่ปลายทั้งสองของลิงก์จึงไม่ได้ปรับปรุงมากนัก
bitwelder

คำตอบ:


3

มันสำคัญที่จะต้องทราบว่าในการใช้ฟังก์ชั่นการทำงานเป็นทีมของ NIC สวิตช์ที่คุณเชื่อมต่อผ่านจะต้องสนับสนุนการทำงานเป็นทีม LACP คุณสามารถค้นหาสวิตช์เช่นนั้นผ่านการค้นหาใน NewEgg.com เป็นต้น

เมื่อคุณมีที่นี่เป็นคำแนะนำง่ายๆจากวิกิ: https://help.ubuntu.com/community/UbuntuBonding

โชคดี!


โชคดีเพราะขณะนี้มันใช้งานได้มันจะไม่ส่งผลให้ความเร็วเพิ่มขึ้น
Scaine

13

ไม่น่าเป็นไปได้มากที่การเชื่อมต่อส่วนต่อประสานของคุณจะทำให้ความเร็วเพิ่มขึ้น โดยทั่วไปแม้ว่าคุณจะเชื่อมต่ออินเทอร์เฟซได้สำเร็จและกำหนดค่าสวิตช์ให้รองรับ etherchannel) จากนั้นคุณจะยังคงพบว่ามีเพียงหนึ่งอินเทอร์เฟซที่ใช้ในการเชื่อมต่อสำหรับแต่ละคู่เซสชัน / ปลายทาง TCP / UDP

ดังนั้นหากคุณคัดลอกไฟล์ 10Gb จากเซิร์ฟเวอร์หนึ่งจากนั้นเริ่มสำเนาอีก 10Gb ไปยังเซิร์ฟเวอร์นั้นโดยสมมติว่าคุณมีการเชื่อมต่อด้วยเซสชันคุณจะเห็นการ์ดทั้งสองใบเต็ม แต่การถ่ายสำเนาครั้งแรกจะใช้การ์ดเครือข่ายเพียงใบเดียวเท่านั้นไม่ใช่ทั้งสองอย่าง

นี่เป็นกรณีของ etherchannel ของซิสโก้ ในความเป็นจริง etherchannel ของ Cisco ไม่ได้อิงตามเซสชันเป็นต้นทาง / ปลายทางดังนั้นในตัวอย่างข้างต้นคุณจะไม่เพิ่มความเร็วเลย - สำเนาที่สองของคุณจะต้องไปที่เซิร์ฟเวอร์ที่แตกต่างกันโดยสิ้นเชิงก่อนที่คุณจะเห็นทั้งสองอย่าง บัตรที่ใช้ บางทีคุณอาจมีสวิตช์ที่ดีกว่าที่อนุญาตให้ช่องพอร์ตใช้การ์ดทั้งสองพร้อมกันในหนึ่งเซสชัน TCP / UDP แต่จะต้องมีการจัดการ arp / MAC ที่ขี้ขลาดและฉันไม่รู้ว่าโมดูลพันธะใน linux รองรับหรือไม่

สำหรับคุณคุณกำลังใช้เราเตอร์ในบ้านแบบ bog มาตรฐานดังนั้นการสนับสนุนด้านสวิตช์จึงไม่เป็นปัญหาที่นี่หมายความว่าตัวเลือกของคุณมี จำกัด มากขึ้น (ดูบทความแรกเรียงจากด้านล่างซึ่งคุณจะทราบว่าตอนนี้คุณ ไม่สามารถใช้โหมดที่ดีที่สุดสำหรับการรวมลิงค์โหมด 4)

หากคุณมุ่งมั่นที่จะทำสิ่งต่อไปนี้ฉันพบบทความห้าปีนี้ซึ่งดูเหมือนว่ายังมีความเกี่ยวข้อง นอกจากนี้บทความเก่าสามปีนี้ครอบคลุมเนื้อหาเดียวกัน

หวังว่ามันจะช่วย


2

ฉันคิดว่าการใช้สวิตช์จะเป็นการ จำกัด ผลประโยชน์ใด ๆ ที่คุณจะได้รับจากการใช้สายอีเธอร์เน็ต 2 สายพร้อมกัน เว้นแต่ว่าสวิตช์นั้นเร็วกว่า NIC สองตัวของคุณรวมอยู่ด้วยซึ่งในกรณีนี้คุณอาจเห็นการเพิ่มความเร็ว

โปรแกรม Load Balancing เป็นสิ่งที่คุณกำลังมองหา คุณไม่จำเป็นต้อง "โหลดบาลานซ์" หากคุณไม่ต้องการ แต่เป็นวิธีที่ง่ายที่สุดในการรวมการเชื่อมต่อที่ฉันรู้จัก แนวคิดไม่ซับซ้อนเกินไป

NIC เสมือน -> โปรแกรมโหลดบาลานซ์ -> NIC 1 + 2

คำตอบนี้มีสิ่งที่คุณกำลังมองหาที่ฉันเชื่อ: Network load-balancing กับ Network Manager

ฉันไม่แน่ใจในรายละเอียดเฉพาะ แต่ฉันแน่ใจว่าเป็นความคิดทั่วไป

เว้นแต่ว่าการ์ด NIC จะมีประสิทธิภาพน้อยกว่าเราเตอร์ / สวิตช์ของคุณประโยชน์อย่างเดียวที่คุณอาจได้รับคือการเชื่อมต่อโดยตรงระหว่างคอมพิวเตอร์สองเครื่องหรือการเชื่อมต่อแบบขนานตลอดเส้นทาง แต่ทฤษฎีและการปฏิบัติไม่ได้ผลเสมอไป

วิธีเดียวที่ฉันสามารถคิดได้ว่าจะทดสอบว่า NIC เป็นคอขวดในระบบของคุณหรือไม่คือทำการทดสอบความเร็วระหว่างคอมพิวเตอร์แต่ละเครื่องที่ใช้ NIC ทั้ง 4 เครื่อง ฉันสามารถให้แนวคิดทั่วไปเกี่ยวกับวิธีการทำสิ่งนี้ได้ แต่สิ่งเฉพาะของอูบุนตูที่ฉันต้องการด้วย

  1. ตั้งค่า NIC แต่ละรายการให้มีที่อยู่ IP ของตนเองเช่น 192.168.0.1 + 192.168.0.2 สำหรับคอมพิวเตอร์ 1 และ * .3 + * .4 สำหรับคอมพิวเตอร์ 2
  2. การทดสอบความเร็วอย่างเดียวสำหรับเครือข่ายท้องถิ่นที่ฉันเห็นคือการถ่ายโอนเวลาในไฟล์บิต ฉันไม่แน่ใจว่ามีวิธีที่ดีกว่านี้หรือไม่ฉันไม่เคยเห็นเลย

    3 ตั้งค่าเส้นทางด้วยตนเองดังนั้น * .1 เป็นอินเทอร์เฟซเพื่อไปที่ * .3 และ * .2 เพื่อไปที่ * .4
    PC1 192.168.0.1 <--> 192.168.0.3 PC2 192.168.0.2 <--> 192.168.0.4

ฉันไม่เคยใช้ตาราง ip ดังนั้นนี่คือสิ่งที่ฉันพบเป็นตัวอย่าง

[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. อีกตัวเลือกหนึ่งคือค้นหาวิธีที่ไคลเอ็นต์ ssh (หรือเทอร์มินัล) เชื่อมต่อผ่านอินเทอร์เฟซบางอย่าง ฉันไม่แน่ใจว่ามันทำยังไงสำหรับฝั่งไคลเอ็นต์

หากตั้งค่าตาราง IP อย่างถูกต้องคุณควรจะสามารถส่งไฟล์ 2 ไฟล์จากพีซี 1 ไปยังอินเตอร์เฟสทั้งสองบนพีซี 2 และแต่ละไฟล์จะใช้เส้นทางที่แตกต่างกัน หากการถ่ายโอนด้วยการเชื่อมต่อทั้งสองนั้นเร็วกว่าเพียงแค่หนึ่ง .. (หวังว่าจะเร็วเป็นสองเท่า) ถ้าอย่างนั้นคุณก็อาจมีบางอย่าง


2

ฉันไม่คิดว่าคุณจะพูดว่าคุณใช้ Gigabit NIC หรือไม่ฉันเดาว่าคุณเป็นเพราะคุณมี 2 NIC และอาจเป็นเมนบอร์ดสำหรับเล่นเกม

หากเป็นเช่นนั้นหากคุณพยายามรับฐาน 2x100 คุณควรซื้อกิกะบิตสวิตช์ 4-8 พอร์ตราคาถูกและเสียบเข้ากับเราเตอร์อินเทอร์เน็ตของคุณ จากนั้นคุณสามารถเชื่อมต่อคอมพิวเตอร์ทุกเครื่องที่ใช้อีเทอร์เน็ตเข้ากับสวิตช์นั้นและยังมี wifi และอินเทอร์เน็ตที่ใช้งานได้ในคอมพิวเตอร์ทุกเครื่องของคุณ

ฉันทำตอนนี้เพราะฉันซื้อ Netgear WNDR3400 และวาง DD-WRT ไว้เพื่อที่ฉันจะได้มีตัวเลือกที่ดีไม่กี่อย่างรวมถึงเซิร์ฟเวอร์ NAS ที่ทันสมัยในตัว

ปัญหาเดียวคือเราเตอร์คือ 100 ฐานบนพอร์ต Ethernet ดังนั้นสำหรับ $ 40 ฉันซื้อสวิตช์กิกะบิตพอร์ต 5 พอร์ตเสียบเข้ากับเราเตอร์ของฉันแล้วเสียบคอมพิวเตอร์ทั้งหมดของฉันเข้ากับสวิตช์กิกะบิตและเสียบคอนโซลเกมของฉันเข้ากับเราเตอร์

ทุกอย่างใช้งานได้ดีและฉันสามารถถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์ด้วยความเร็วสูง

ขอให้โชคดี!


1

มีห้องสมุดที่เรียกว่า firehose ซึ่งสามารถถ่ายโอนข้อมูลผ่านอุปกรณ์เครือข่ายหลาย ๆ เครื่องพร้อมกันได้ มันไม่ได้ให้อุปกรณ์เครือข่ายเสมือนเดียวกับคุณและมันไม่รองรับ TCP มันถูกออกแบบมาสำหรับการสตรีมวิดีโอแบนด์วิธสูงสำหรับโปรแกรมตัดต่อวิดีโอ อาจจะน่าสนใจสำหรับคุณแม้ว่า:

http://heroinewarrior.com/firehose.php



1

การใช้นโยบายการเชื่อมพอร์ตและ Round-Robin กับอุปกรณ์ทั้งสองที่เชื่อมต่อผ่านสวิตช์ที่ไม่ได้รับการจัดการจะทำให้อัตราการถ่ายโอนของคุณเพิ่มขึ้นเป็นสองเท่า นโยบาย Round-Robin มีค่าเริ่มต้นในการโหลดบาลานซ์บนอุปกรณ์หลายเครื่องและกลับไปที่พอร์ตเดียวหากอุปกรณ์หนึ่งล้มเหลว

อย่างไรก็ตามฉันเชื่อว่า WRT54GS ของคุณเป็นเราเตอร์ดังนั้นจึงมีการจัดการดังนั้นคุณจะไม่ได้รับประโยชน์เต็มที่จากการเชื่อม

สมมติว่าคุณต้องใช้สวิตช์ถูก 8 พอร์ตราคาถูกที่รองรับนโยบาย RR จากนั้นเชื่อมต่อกับเราเตอร์คุณจะได้รับความเร็วการถ่ายโอนที่เพิ่มขึ้นระหว่างอุปกรณ์ทั้งสองโดยใช้การเชื่อมผ่านสวิตช์และความเร็วในการถ่ายโอนปกติกับอินเทอร์เน็ตและส่วนที่เหลือ เครือข่าย

คุณควรเพิ่มบัฟเฟอร์การอ่าน / เขียน txqeueuelen และหน่วยความจำ netcore และ tcp ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.