2.10.2 ANYバインド方式とIPバインド方式の待ち受け処理の違い
JP1/Baseの通信方式が,ANYバインド方式だった場合とIPバインド方式だった場合で通信の待ち受け処理がどう変わるのか図を使って説明します。
(1) JP1/BaseがANYバインド方式で起動した場合の待ち受け処理
JP1/Baseの通信方式が,ANYバインド方式だった場合の通信の待ち受け処理を次の図に示します。
|
hostAのNICにはIPアドレス10.0.0.10と10.0.0.11が割り当てられています。なお,hostA自体は自分のホスト名から10.0.0.10でしかIPアドレスの解決ができないと仮定します(実際にOSによっては,一つのホスト名から一つのIPアドレスしか解決できないものがあります)。また,hostXではhostAはIPアドレス10.0.0.10で解決され,hostYではhostAはIPアドレス10.0.0.11で解決されるとします。
hostAでJP1/BaseがANYバインド方式で起動した場合,hostXからもhostYからもデータを受け取れます。ANYバインド方式の場合,IPアドレスを意識しないでポート番号だけを利用して通信をするため,10.0.0.10あてにきたデータも10.0.0.11あてにきたデータも受け取れます。
(2) JP1/BaseがIPバインド方式で起動した場合の待ち受け処理
JP1/Baseの通信方式が,IPバインド方式だった場合の待ち受け処理を次の図に示します。
|
hostAでJP1/BaseがIPバインド方式で起動した場合,10.0.0.10あてにきたデータだけをJP1/Baseは受け取り,10.0.0.11あてにきたデータを認識できません。これはhostAが,ポート番号が同じでもIPアドレスのあて先が自分と異なるものは受け付けないよう動作するためです。