web-dev-qa-db-fra.com

Deux ports Ethernet sur la carte mère. Comment puis-je obtenir le double de la bande passante?

Question directe: Ma carte mère classée evga possède deux ports Ethernet. Je souhaite les utiliser simultanément pour améliorer la vitesse d'une connexion à distance. (Oui pour la programmation à distance). Comment puis-je faire cela? Actuellement/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

Que devrais-je changer? Dois-je installer un paquet pour relier les deux canaux?.

Background: Je fais beaucoup d'informatique à distance, de la maison au bureau, et du bureau à la maison. Mais (pour éliminer mon fournisseur d’accès à Internet), décrivons la question comme si j’étais vraiment intéressé à maximiser le taux de transfert de fichiers entre deux ordinateurs sur le même réseau (local). Les deux boîtiers ont deux cartes mères Ethernet. Utilisation d'un simple Linksys WRT54GS en tant que commutateur à 5 ports (ignorez les réseaux sans fil et ISP) - comment puis-je optimiser les taux de transfert entre les ordinateurs?

Veuillez noter: Je ne m'intéresse pas à l'équilibrage de charge - Corrigez-moi si je me trompe, mais je veux lier les deux canaux ensemble pour que la boîte s'affiche comme s'il disposait d'une connexion deux fois plus rapide.

16
M. Tibbits

Il est important de noter que pour utiliser NIC fonctionnalité de regroupement, le commutateur auquel vous êtes connecté doit prendre en charge le regroupement, également appelé LACP. Vous pouvez trouver un commutateur de ce type grâce à une recherche sur NewEgg.com, etc.

Une fois que vous avez cela, voici un simple guide du wiki: https://help.ubuntu.com/community/UbuntuBonding

Bonne chance!

3
NetNinja

Il est très improbable que la liaison de vos interfaces entraîne une augmentation de la vitesse. En règle générale, même si vous associez correctement les interfaces ET configurez le commutateur pour qu'il prenne en charge le protocole etherchannel), vous constaterez toujours qu'une seule interface de la liaison est utilisée pour chaque paire de sessions TCP/UDP source/destination.

Donc, si vous copiez un fichier 10Gb d’un serveur, puis lancez une autre copie de 10Gb sur ce serveur, en supposant que vous disposiez également d’une liaison basée sur la session. Vous verrez les deux cartes au maximum. Mais surtout, la première copie ne consomme que UNE carte réseau, pas les deux.

C'est certainement le cas avec le etherchannel de Cisco. En fait, l'Etherchannel de Cisco n'est même pas basé sur la session, mais sur la source/la destination. Par conséquent, dans l'exemple ci-dessus, vous n'obtiendrez même pas une augmentation de la vitesse. cartes utilisées. Peut-être avez-vous un meilleur commutateur permettant au canal de port d'utiliser les deux cartes simultanément dans une session TCP/UDP, mais cela nécessiterait une manipulation assez funky arp/MAC et je n'ai aucune idée si le module de liaison sous Linux le prend en charge.

En ce qui vous concerne, vous utilisez un routeur domestique standard, donc le support côté commutateur est hors de question, ce qui signifie que vos options sont encore plus limitées (voir le premier article ci-dessous, où vous remarquerez que vous ne peut pas utiliser le meilleur mode pour l'agrégation de liens, mode 4).

Si vous êtes déterminé à aller de l'avant avec ceci, j'ai trouvé cet article vieux de cinq ans qui semble toujours pertinent. De plus, cet article vieux de trois ans couvre le même terrain.

J'espère que ça aide.

13
Scaine

Je ne pense pas que vous ayez dit si vous utilisiez ou non une carte réseau Gigabit, je suppose que vous l’êtes depuis que vous avez 2 cartes réseau et donc probablement une carte mère de jeu.

Puisque c'est le cas, si vous essayez d'obtenir une base 2x100, il est préférable d'acheter un commutateur Gigabit 4-8 ports bon marché et de le brancher sur votre routeur Internet. Ensuite, vous pouvez brancher tous les ordinateurs Ethernet sur ce commutateur et continuer à utiliser le wifi et Internet sur tous vos ordinateurs.

Je le fais maintenant parce que j’ai acheté un Netgear WNDR3400 et que j’y ai mis le DD-WRT afin d’avoir quelques options intéressantes, y compris un serveur NAStrès récent mis à jour.

Le seul problème était que le routeur était 100 base sur les ports Ethernet. Donc, pour 40 $, j'ai acheté un commutateur Gigabit à 5 ports, branché sur mon routeur, puis tous mes ordinateurs sur le commutateur Gigabit, puis mes consoles de jeu au routeur.

Tout fonctionne très bien et je peux transférer des fichiers entre les ordinateurs à une vitesse fulgurante.

Eh bien, bonne chance!

2
William

Je pense que passer par un commutateur limiterait les avantages que l’utilisation de deux câbles Ethernet en parallèle vous apporterait. À moins que le commutateur ne soit plus rapide que vos deux cartes réseau combinées, vous pourriez alors voir une augmentation de la vitesse.

Le programme d’équilibrage de charge est ce que vous recherchez. Vous n’avez pas à "équilibrer la charge" si vous ne le souhaitez pas, mais c’est le meilleure façon de fusionner les connexions que je connais. L'idée n'est pas trop compliquée

Virtual NIC -> Programme d'équilibrage de charge -> NIC 1 + 2

Je crois que cette réponse correspond à ce que vous recherchez: équilibrage de la charge réseau avec Network Manager

Je ne suis pas sûr sur les détails mais je suis sûr que c'est l'idée générale.

À moins que les cartes NIC soient nettement moins puissantes que votre routeur/commutateur, le seul avantage que vous obtiendrez probablement est une connexion directe entre les deux ordinateurs, ou une connexion parallèle tout au long. Mais la théorie et la pratique ne fonctionnent pas toujours.

Le seul moyen auquel je puisse penser pour vérifier si le NIC est le goulot d'étranglement de votre système consiste à effectuer un test de vitesse entre chaque ordinateur utilisant les quatre cartes d'interface réseau. Je peux vous donner une idée générale sur la façon de procéder mais les éléments spécifiques à Ubuntu avec lesquels je vais avoir besoin d’un coup de main.

  1. Définissez chaque NIC pour avoir sa propre adresse IP, telle que 192.168.0.1 + 192.168.0.2 pour l’ordinateur 1 et * .3 + * .4 pour l’ordinateur 2.
  2. Le seul test de vitesse pour les réseaux locaux que j'ai vu est simplement le temps de transfert sur un fichier bit. Je ne sais pas s'il existe une meilleure méthode, je n'en ai jamais vue.

    3 Définissez les itinéraires manuellement afin que * .1 constitue l'interface permettant d'accéder à * .3 et * .2 à * .4.
    PC1 192.168.0.1 <-> 192.168.0.3 PC2 192.168.0.2 <-> 192.168.0.4

Je n'ai jamais utilisé de tables ip, voici donc quelque chose que j'ai trouvé à titre d'exemple.

[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. une autre option consiste à trouver un moyen pour le client ssh (ou terminal) de se connecter via certaines interfaces. Je ne sais pas comment c'est fait pour le côté client.

Si les tables IP sont correctement configurées, vous devriez pouvoir envoyer 2 fichiers du PC 1 aux deux interfaces du PC 2 et chaque fichier suivra un chemin différent. Si le transfert avec les deux connexions est plus rapide qu'une seule .. (deux fois plus vite, espérons-le), vous pourriez avoir quelque chose.

2
WalterJ89

L'utilisation de la politique de liaison de port et de tournoi à la ronde sur les deux périphériques connectés via un commutateur non géré doublera en fait votre taux de transfert. La politique Round-Robin utilise par défaut l'équilibrage de charge sur plusieurs périphériques et revient au port unique en cas de défaillance d'un périphérique.

Cependant, je pense que votre WRT54GS est un routeur et est donc géré de manière à ne pas tirer pleinement parti du collage.

En supposant que vous utilisiez un commutateur véritable à 8 ports bon marché prenant en charge la stratégie RR, puis que vous le connectiez au routeur, vous obtiendrez des vitesses de transfert accrues entre les deux périphériques grâce à la liaison via le commutateur et des vitesses de transfert normales vers Internet et le reste de la connexion. réseau.

Vous devriez également augmenter vos mémoires tampon de lecture/écriture, txqeueuelen et votre mémoire netcore et tcp.

1
Stuart K. Smith

Il existe une bibliothèque appelée firehose qui peut transférer des données simultanément sur plusieurs périphériques réseau. Cependant, il ne vous donne pas un seul périphérique réseau virtuel et ne prend pas en charge le protocole TCP. Il est conçu pour le streaming vidéo à large bande passante pour les éditeurs vidéo. Pourrait être intéressant pour vous si:

http://heroinewarrior.com/firehose.php

1
Alistair Buxton

J'ai été confronté à une situation similaire et a constaté ceci:

http://ubuntulinuxhelp.com/how-to-use-the-second-network-port-on-your-computer/

Mais c'est un peu vieux, j'espère que ça aide.

1
Rahul Prasad