プロが教える店舗&オフィスのセキュリティ対策術

PCにネットワークカードを2枚挿しています。
一方はある機器に一方はネットと繋がっています。
機器とPCでTCP/IP通信をするアプリケーションを作成しています。設定画面を作って相手機器のIP、ポート番号等を設定するようにしています。
TCP/IPの場合はPCのIP等を設定画面に入れなくても
どちらのネットワークカードを経由するかというのは
決めてくれるんでしょうか?
PCのIPアドレスは指定する必要ないですか?

UDP/IPの場合はどうなんでしょうか?
PCと機器の両方のIP、ポート番号を指定しなければいけないのでしょうか?

A 回答 (2件)

状況としてはこんな感じかな?



インターネット
 |192.168.1.254
 |
 |192.168.1.1(NIC-α)
パソコンA
 |192.168.2.1(NIC-β)
 |
 |192.168.2.2
ある機器

これで、パソコンAとある機器がTCP通信するんよね。これなら大丈夫よ。パソコンAから「192.168.2.2にパケットを投げる」とすれば、ちゃんとNIC-βにパケットを配送してくれる。パソコンAの設定が次のようになっていれば良い。Windowsの場合
NIC-α=192.168.1.1/255.255.255.0 デフォゲ 192.168.1.254
NIC-β=192.168.2.1/255.255.255.0 デフォゲ 空っぽ
こんな感じ。これで、192.168.2.xにパケットを投げる時はNIC-βに、192.168.1.xにパケットを投げる時はNIC-αに、それ以外の場合もNIC-αにパケットを配送してくれる。IPレイヤで行われる制御なので、TCPとUDPどちらも同じ。
    • good
    • 0

設定画面というのはPC上で良いですか。



機器につなぐNICとインターネットにつなぐNICのネットワークアドレスが同じなど異常な設定にしていなければ、機器のIPアドレスからどのネットワークにあるか分かるのでPC側でどのNICを使うかの指定は不要ですよ。
そもそも普通のソケット・プログラミングで使うNICを指定するのは大変だと思うけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!