1753846 メンバー
7810 オンライン
108807 解決策
新規ポスト

プロセス間通信について

 
hiro_760329
アドバイザー

プロセス間通信について

lan0に物理アドレス(netconfにて設定)および論理アドレス(MC/SGにて設定)を定義している環境において、論理アドレスを使用してのプロセス間通信を行った場合の挙動ついてご教授いただきたく。

�soket()システムコール

�bind()システムコール

以下省略

■質問内容

bind()システムコール実行時にソケット(通信パケット)に対してIPヘッダを付与すると認識しております。この時に付与されるIPアドレスは物理アドレス/論理アドレスのどちらになるのでしょうか?

3件の返信3
masaakio65
レギュラーアドバイザー

プロセス間通信について

マニュアルをどうぞ。

http://docs.hp.com/ja/B3936-90074/apcs03.html

M_T
アドバイザー

プロセス間通信について

わたしも昔プログラムしてたときは、同じように

bindするときにIPの設定が必須と思っていたのですが

必須ではないみたいですよ。

マルチプレクシングいわゆるlan0:1とかいう環境(論理IP)

で、INETD経由のtelnet,ftpなど論理IPでも物理IPでも問題なく動作します。

ソケット通信するフリーのプログラムがあったので、

(物理IPでも論理IPでも問題なく通信できるものです)

BINDするときのホストIPをデバッグしてみたらNULLでした。

そのフリーのプログラムで明示的に物理IPでbindしてみたら、やはり物理IPに対する接続しか受け付けませんでした。

また論理IPでBINDしたら、やはり論理IPでした受け付けませんでした。

参考になるでしょうか?
hiro_760329
アドバイザー

プロセス間通信について

ご回答いただきありがとうございました。現在、本サーバより別ネットワークに対してアクセスする場合、ルータ側定義をどうするか不明確でした。要は論理IP/物理IPどちらの宛のパケットをルータ側でアクセス許可するかという点です。両IPともアクセスを許可する方向で検討したいと思います。