Windows XP で動作する実験的な TCP/IP スタックがあります。このスタックは、LSP と NDIS IM を使用して Windows TCP/IP スタックをバイパスします。実験的なスタックを使用したい他のプラットフォームをサポートするために、プロキシ サービスを提供する必要があります。プロキシはクライアントに対して透過的でなければなりません (クライアント構成なし)。このプロキシ サービスをユーザー モードで実行したいと考えています。このモードでは、通常の Windows TCP/IP を使用してクライアントに TCP 接続し、実験スタックを介して TCP 接続を使用します。この方法で接続すると、プロキシは 2 つの間で読み取り/書き込みを行うだけです。私が取り組んでいる問題は、元の宛先アドレス/ポートの知識を維持しながら、あるアドレス/ポート宛てのクライアントから着信パケットを取得し、それをプロキシにリダイレクトする方法です。そのため、プロキシはパケットを適切な宛先に転送できます。これに関するアイデアをいただければ幸いです。ありがとう...
1 に答える
目的地の配列を送信し、時系列の逆順で読み取ります [この単語がこのコンテキストで機能することを願っています]。メッセージがノードから読み取られるたびに、そのノードはゼロの要素を削除し、他のすべての要素を前方にシフトします。. . . これはかなり単純な質問だったと思います。. .
詳細: 私は最初の仕事で同様のシステムに取り組みました。送信側のマシンは宛先のみを認識し、宛先ポートと IP とともに送信されます。次に、「郵便配達員」サーバーと呼び、どのサーバーが利用可能かをチェックします。疑似コード: 私は Python でコーディングするのが大好きなので、変数を宣言するのは嫌いです [申し訳ありません] 理解していただければ幸いです
nodes = postman.checkAvailableNodes()\\this will return a matrix with each element containing an ipaddress and available port on whichever available node on the network
\\loop through all available destinations and map a route to the destination server
for n in nodes:
nodeArray2 = n[0].checkavailablenodes()
if length(nodeArray2) > 0:
for x in nodeArray2:
. . . .
いずれかの方法。. 宛先ノードとポートを取得したら、IP とポート番号を宛先と呼ばれる配列に追加します。これにより、サーバーを通過するたびに 1 つの要素が減少し、最終的にサーバーに到達します。