
ISP をダウンロードのみに使用し、携帯電話の 4G 接続をアップロードのみに使用したいと思います。これは、ISP のアップロード速度は遅いものの、ダウンロードは問題なく、4G アップロードは高速かつ無料 (ダウンロードのみ料金を支払っている) であるためです。
つまり、1 台の PC に 2 つの接続 (ダウンロード用に ISP、アップロード用に 4G) があります。これを実行すると、現在と同じ料金を支払うことになりますが、アップロード速度が 0.1 Mbit/s から約 60 Mbit/s に増加します。
答え1
接続間でアップロードとダウンロードを分離することは事実上不可能ですが (他の回答で詳しく説明されているように)、手動で回避することは可能です。
デフォルトの接続を操作して、開始したいタスクに応じて切り替えることができます。Windowsのデフォルトの接続は最初に接続されたインターフェースであり、その順序は次のように計算されます。メトリック(無線をケーブルより優先する傾向があります)。
ネットワーク接続の詳細設定で、メトリックを手動で簡単に上書きできます。Windows でデフォルトの接続を変更する方法(XP から 8.1 まで、わずかな違いはありますが、同じように動作するはずです)
最近のプログラムのほとんどは、システムが提供するデフォルトの接続を使用します。接続が確立されると、その接続が維持されます (維持されるはずです)。通常、これはプログラムが起動時にデフォルトだった接続を使用することを意味します。接続を開く前にデフォルトの接続を切り替えることで、タスクに応じて接続を切り替え、両方を同時に開いたままにすることができます。
一部のプログラム (ダウンロード/アップロード マネージャーなど) では、セッションごとではなくタスクごとに接続が開かれるため、結果は異なる場合があることに注意してください。
答え2
これは不可能です。確認応答は、伝送制御プロトコルの不可欠な部分です。受信データと送信データを 2 つのインターフェイス間で明確に分割すると、プロトコルの確認応答コンポーネントが本質的に無効になります。
TCP はコネクション指向のプロトコルです。つまり、両端のアプリケーション プログラムがメッセージ交換を完了するまで、コネクションが確立され、維持されます。TCP は、アプリケーション データをネットワークが配信できるパケットに分割する方法を決定し、ネットワーク層にパケットを送信し、ネットワーク層からパケットを受け取り、フロー制御を管理します。また、エラーのないデータ転送を提供することを目的としているため、ドロップされたパケットや文字化けしたパケットの再転送や、到着したすべてのパケットの確認応答も処理します。開放型システム間相互接続 (OSI) 通信モデルでは、TCP はレイヤー 4 (トランスポート層) の一部とレイヤー 5 (セッション層) の一部をカバーします。
ルーターは個別のインターフェース間でネットワーク負荷分散を実装できますが、通常はハッシュに基づいて動作します。つまり、ハッシュ アルゴリズムに基づいて特定のインターフェースで接続が確立され、そのインターフェースが終了するまで接続が維持されます。高価なルーターでも、各インターフェースは確立された接続を終了まで維持する必要があります。
追加: 可能かもしれませんが、実装の範囲を考えると現実的ではありません。また、すべてのトラフィックをモバイル テザリングにオフロードできたとしても、ISP が利用規約を更新するまでどのくらいかかると思いますか? おそらく、すでにどこかに公正使用ポリシーがあるはずです。要件は次のとおりです。
- モバイル テザリング経由で送信されるトラフィックの送信元 IP を偽装し、ISP 接続経由で送信されるトラフィックの送信元 IP と一致させて、ISP 接続経由で返されるようにします。これは、iptables を使用して実行できます。
- モバイル テザー経由でローカル トラフィックをルーティングします。たとえば、「route add 192.168.0.0/16 mask 255.255.0.0 [モバイル テザーの外部 IP]」などです。頻繁に更新しなくても済むように、DDNS を実行するとよいでしょう。
http://lartc.org/howto/lartc.rpdb.multiple-links.html
https://sandilands.info/sgordon/iptables によるアドレススプーフィング in Linux
ISP を大きくしたい場合は、BGP を使用した非対称ルーティングを検討してください。
答え3
両方のインターネット アクセスを使用してダウンロード/アップロードの負荷を分散することは可能ですが、常に接続ごとにのみ可能です。したがって、1 つの TCP (または UDP) 接続は 1 つのリンクのみを経由できます。これは他の回答でも言及されていますが、送信 TCP パケットの場合、確認応答パケットを受信する必要があり、これらは同じインターフェイスを経由する必要があります。
たとえば、YouTube に大量のアップロードを行う前にルーティング テーブルを手動で変更して、すべての YouTube トラフィックをアップロード速度の速いインターネット経由で転送し、その後元に戻すことができます。ただし、YouTube はさまざまな IP アドレスを使用するため、これは困難です (ルーティングはホスト名ではなく IP に基づいて機能します)。ただし、一部の会社の FTP サーバーでは実行できる可能性があります。
これは、ISP から IP アドレスが付与されるすべての家庭インターネット アクセスに当てはまります。したがって、最初の ISP では IP 1.2.3.4 などを取得しますが、携帯電話では電話ネットワーク オペレータの IP (例: 5.6.7.8) を取得します。接続全体 (送信データと受信データ) は、これらの IP アドレスの 1 つだけを使用する必要があります。
商用およびサーバー ホスティング インターネットの場合、ISP から独立した 1 つの IP アドレスを取得できるため、同時に複数のインターネット接続を使用できます。
答え4
技術的に言えば、この機能は IP 上に構築されたすべてのネットワークに本来組み込まれており (パブリックにルーティング可能な IP アドレスが必要です)、クライアント側のルーティング テーブルを変更するだけで有効になります。ほとんどの場合、ISP 独自のローカル ネットワーク向けのトラフィックは引き続きそのインターフェイスを介して送信され、その他のすべてのトラフィックはデフォルト ゲートウェイを介して送信されます。
確認応答やその他のすべての動作を実行するために一致する必要がある「送信元」IP アドレスは、データが送信されるソケットに基づいて選択され、インターフェイス制限ソケットの例外的なケースを除いて、データを運ぶために使用されるインターフェイスとはまったく関係がありません。(送信ネットワーク インターフェイスは送信元 IP によって選択されるというコメントとは反対に、実際にはルーティング テーブルのみが影響を与えます)。
しかし、ルーティングが宛先アドレスのみに依存するという事実は悪意のある目的に利用されてきた(パケットスプーフィングはリフレクション攻撃の重要な要素である)ため、ほとんどの通信事業者はルーターを次のように設定している。逆パスフィルタリング送信元 IP アドレスがパスと一致しないパケットは偽装されているとみなされ、破棄されます。
パブリック IP アドレスがない場合は、リバース パス フィルタリングに加えて、NAT/PAT レイヤーによってこれが機能しなくなります (コンピューターが使用する送信元 IP アドレスは他のネットワークでは意味をなさず、パケットが NAT/PAT ルーターを通過しない場合は正しく書き換えられません)。
実際、大規模なマルチホームネットワークでは、非対称ルーティングが発生します。重要なことは、リバースパスフィルタリングのほとんどの実装では、ルートパケットが到着したインターフェースに一致するルートが存在します。優先ルート(コスト メトリックが最も低いルート)である必要はありません。
したがって、あなたがしなければならないことは、インターネット プロバイダー (上流のプロバイダーを含む) に (a) リバース パス フィルタリングを無効にするか、(b) 非優先ルートを設定するように説得することだけです。これは実現しません。コア ルーターは、すべての固有のパブリック IP アドレスに 1 つのルートを設定するために 30 億のルートを処理することはできません。したがって、すべてのローカル サブネットにルートが存在する ISP 内部を除き、/20 より小さいブロックにルートが存在することは非常にまれです。