La réponse courte est: dans 95% des cas, cela ne peut pas être fait, et le vôtre se situe dans ces 95%.
Tout d'abord, permettez-moi de dire qu'il est peu logique de parler de routage séparément du téléchargement et du téléchargement, car même des tâches de téléchargement intenses nécessitent que certains paquets remontent vers la source, c'est-à - dire que tout téléchargement nécessite un certain flux de téléchargement (cela est moins vrai pour UDP que pour TCP, mais tant pis).
Si nous devions canaliser le téléchargement d'une connexion principalement téléchargée via une carte réseau différente de celle utilisée pour la partie téléchargement, la source du téléchargement verrait les réponses à ses paquets provenir d'une adresse IP différente de celle à laquelle il est envoi de paquets; il s'agit d'une fonction de sécurité de base pour ignorer les paquets censés être liés à une connexion donnée, mais provenant d'une adresse tierce. Par conséquent, la partie de téléchargement de la conversation serait abandonnée et la connexion s'arrêterait. Cela a peu à voir avec les FAI et leurs services: cela se produit même entre deux ordinateurs sur le même LAN, si l'un des deux essaie de se connecter à une adresse IP en utilisant dans la même connexion deux NICS différents (donc deux IP différentes) .
C'est la raison pour laquelle nous parlons de connexions, pas de téléchargement / téléchargement.Mais alors on pourrait reformuler votre question comme suit: puis-je avoir un PC, qui a deux NIC connectés au réseau, utilisez les deux NIC pour deux distincts les connexions, par exemple la connexion lente pour un travail lent et fastidieux comme le courrier électronique, et la connexion rapide pour un processus rapide comme le téléchargement de pages Web?
La réponse courte à cette question bien posée est: sous Windows, * Nix (y compris MacOS) et Android non; sous Linux oui, vous le pouvez.
La raison pour laquelle vous ne pouvez pas le faire dans Windows (n'importe quelle version), * Nix et Android est que toute table de routage ne peut avoir qu'une seule passerelle par défaut (* c'est-à-dire * l'adresse à laquelle vous envoyez tous les paquets non destinés à votre LAN), et ceux-ci Les OS ne peuvent gérer qu'une seule table de routage: d'où une seule passerelle.
Au lieu de cela, afin d'attribuer différentes applications à différentes interfaces, vous avez besoin de deux fonctionnalités distinctes: l'une, la capacité deux d'exécuter deux tables de routage simultanément, et deux, la possibilité de lier des applications à l'une ou l'autre table de routage. Seul le noyau Linux (à des années-lumière de la concurrence) possède ces capacités, à ce jour. Le noyau * Nix compense partiellement cela par une utilisation judicieuse de son pare-feu, pfsense, sans toutefois obtenir le résultat complet.
La possibilité d'exécuter deux tables de routage en même temps (appelée routage de stratégie ou routage basé sur la source ) signifie que les paquets sont routés différemment selon leur adresse IP. C'est une fonctionnalité extrêmement utile si vous construisez un routeur.
Cependant, afin d'utiliser différentes cartes réseau (et donc IPS) selon l'application, vous avez besoin d' espaces de noms réseau , une fonctionnalité du noyau Linux qui vous permet de créer un shell séparé avec sa propre pile réseau. Désormais, les processus exécutés à l'intérieur de ce shell séparé seront tous routés conformément à la table de routage de l'espace de noms du réseau, et non à celle du PC principal.
Il s'agit bien sûr d'une forme de virtualisation, bien que d'une forme plus faible que, disons, un conteneur Linux, sans parler d'une machine virtuelle. Mais c'est la vraie façon, avec un seul PC, d'acheminer différents processus à travers différentes interfaces.
Pour résumer, sous Linux (et uniquement sous Linux), vous pouvez exécuter un espace de noms de réseau distinct, qui est, par exemple, connecté via un VPN à votre lieu de travail, afin que vous accédiez à vos ressources de travail et, si vous exécutez Firefox, vous semblez être basé sur votre lieu de travail, tout en exécutant Google Chrome en dehors de l'espace de noms du réseau, et donc apparaître (sur Chrome) comme étant basé à la maison.