2011-01-31 10 views
1

私のコンピュータには、2つのネットワークアダプタがあり、異なるサブネットに接続しています。以下のように:プロセスのカスタムルートはどのようになっていますか?

アダプタA:10.20.30.201 アダプターB:10.20.31.201

IがIである、アダプタAを介して特殊処理(例えば工程A)のすべての送信データを作成しますプロセスのデフォルトルートとしてアダプターAを作成したい

私は知っている、私はいくつかの特別な目的地のルートテーブルを変更することができますが、私はここでやりたいことは非常に異なっています。 プロセスAは、多くの異なるIPと通信する可能性があり、事前にわかりません。

Winsock2は、TCP/IPスタックにdllを置く方法としてLSPを提供しています。私はLSPに精通しておらず、LSPが私がしたいことをやり遂げることができるかどうか分からない。

誰でも私に何か提案をくれますか、ありがとう。

+1

プロセスAとBを変更できる場合は、[Windowsのソケットに特定のネットワークインターフェイスを使用する]を参照してください(http://stackoverflow.com/questions/2065495/using-a-specific-network-interface-for- a-socket-in-windows)である。 – ephemient

+0

あなたの情報をありがとう。私の状況は少し異なります。私はLSPが助けることができるかどうかを知りたい。私は、LSPが接続をリダイレクトできることは知っていますが、NICを選択できるかどうかはわかりません。 – xjdrew

答えて

1

LSP上の迅速な背景:

Winsock2のAPIを使用するアプリケーション、WSA-プレフィックス機能の組み合わせを呼び出し、例えばWSAConnect、やWSASocket、のWSASend、WSARecvなど

まだアプリケーションの場合古いWinsock関数を使用すると、これらの関数はシーンの後ろのWinsock2にマップされます。

WSAプレフィックス関数は、LSPが提供する対応するWSPプレフィックス関数を内部的に呼び出します。つまり、WSASend()はWSPSend()を呼び出し、WSASocket()はWSPSocket()などを呼び出します。要するに、WSAWhateverFunction()はWSPWhateverFunction()を呼び出します。それらのパラメータ/リターンも同じです(かなりではありませんが、まあまあです)。

LSPは、これらのWSPプレフィックス機能が実装されたdllです。アウトバウンド/インバウンドトラフィック、フィルタリングなどを変更します。しかし、LSPは依然としてユーザスペースDLLです。これは他のユーザー空間プログラムと同様に制限されており、ホストアプリケーション(インターネットブラウザなど)より高い特権はありません。他のプログラムが利用できる同じシステム機能セットにアクセスできます。 Winsockなど。

結論あなたのプログラムが特定のNICに出て行くトラフィックを指示できる場合、LSPも​​それを行うことができます。それができない場合、どちらもLSPできません。したがって、LSPはあなたの問題とは無関係です。

関連する問題