Jawaban singkatnya adalah: dalam 95% kasus itu tidak dapat dilakukan, dan Anda berada dalam 95% itu.
Pertama, izinkan saya mengatakan bahwa tidak masuk akal untuk berbicara tentang perutean yang secara terpisah mengunggah dan mengunduh, karena bahkan tugas pengunduhan yang intens mengharuskan beberapa paket mengalir mundur ke sumbernya, yaitu setiap pengunduhan memerlukan beberapa aliran pengunggahan (Ini kurang benar untuk UDP daripada untuk TCP, tapi tidak apa-apa).
Jika kami menyalurkan unggahan sebagian besar koneksi unduhan melalui NIC yang berbeda dari yang digunakan untuk bagian unduhan, sumber unduhan akan melihat balasan paket-paketnya berasal dari alamat IP yang berbeda dari yang ada saat itu. mengirim paket; itu adalah fitur keamanan dasar untuk mengabaikan paket yang mengaku terkait dengan koneksi yang diberikan, tetapi berasal dari alamat pihak ketiga. Karenanya bagian unggahan dari percakapan akan terputus, dan koneksi akan terhenti. Ini tidak ada hubungannya dengan ISP dan layanan mereka: ini terjadi bahkan antara dua pcs pada LAN yang sama, jika salah satu dari keduanya mencoba untuk terhubung ke alamat IP dengan menggunakan dalam koneksi yang sama dua NICS yang berbeda (maka dua IP berbeda) .
Ini adalah alasan mengapa kita berbicara tentang koneksi, bukan mengunggah / mengunduh. Tetapi kemudian seseorang dapat merumuskan kembali pertanyaan Anda sebagai berikut: dapatkah saya memiliki pc, yang memiliki dua NIC yang terhubung ke jaringan, menggunakan dua NIC untuk dua yang berbeda koneksi, katakan koneksi lambat untuk pekerjaan yang lambat dan membosankan seperti email, dan koneksi cepat untuk proses cepat seperti pengunduhan halaman Web?
Jawaban singkat untuk pertanyaan yang diajukan ini adalah: di Windows, * Nix (termasuk MacOS) dan Android no.Di Linux, Anda bisa.
Alasan mengapa Anda tidak dapat melakukan ini di Windows (versi apa pun), * Nix dan Android adalah bahwa setiap tabel routing hanya memiliki satu gateway default (* yaitu * alamat tujuan pengiriman semua paket yang tidak ditujukan ke LAN Anda), dan ini OS hanya dapat menangani satu tabel routing: karenanya satu gateway.
Sebaliknya, untuk memilih aplikasi yang berbeda untuk antarmuka yang berbeda, Anda memerlukan dua fungsi yang berbeda: satu, kemampuan dua menjalankan dua tabel perutean secara bersamaan, dan dua, kemampuan untuk mengikat aplikasi ke salah satu tabel perutean. Hanya kernel Linux (tahun cahaya di depan kompetisi) yang memiliki kemampuan ini, sampai tulisan ini dibuat. Kernel * Nix mengkompensasi sebagian melalui penggunaan firewall yang bijaksana, pfsense, namun tanpa mencapai hasil penuh.
Kemampuan untuk menjalankan dua tabel perutean pada saat yang sama (disebut perutean kebijakan atau perutean berbasis sumber ) berarti bahwa paket-paket dirutekan secara berbeda tergantung pada alamat IP mereka. Ini adalah fitur yang sangat berguna jika Anda membangun router.
Namun, untuk menggunakan NIC yang berbeda (dan dengan demikian IPS) tergantung pada aplikasinya, Anda memerlukan ruang nama jaringan , fitur kernel Linux yang memungkinkan Anda membuat shell terpisah dengan tumpukan jaringannya sendiri. Sekarang proses yang berjalan di dalam shell terpisah ini semua akan diarahkan sesuai dengan tabel routing dari namespace jaringan, bukan dari pc utama.
Ini tentu saja merupakan bentuk virtualisasi, meskipun bentuk yang lebih lemah daripada, katakanlah, wadah Linux, belum lagi mesin virtual. Tetapi ini adalah cara nyata, dengan satu pc, untuk merutekan proses yang berbeda melalui antarmuka yang berbeda.
Singkatnya, di Linux (dan hanya di Linux) Anda dapat menjalankan namespace jaringan yang terpisah, yang, misalnya, terhubung melalui VPN ke tempat kerja Anda, sehingga Anda mengakses sumber daya kerja Anda, dan, jika Anda menjalankan Firefox, Anda tampaknya berbasis di tempat kerja Anda, sementara pada saat yang sama menjalankan Google Chrome di luar namespace jaringan, dan dengan demikian muncul (di Chrome) berbasis di rumah.