指定したNICからパケットを送信するには?

解決


LAN初心者  2006-05-08 11:54:58  No: 61687  IP: 192.*.*.*

初めて投稿させてもらいます。
一台のPCに2つのNIC(ネットワークカード)がある環境で、
片方のNICだけにブロードキャストメッセージでパケットを送信
したいのですが可能でしょうか?
環境は、VC++6.00  XPです。
よろしくお願います。

編集 削除
㍉たん☆彡  2006-05-08 14:37:18  No: 61688  IP: 192.*.*.*

編集 削除
トーリスガーリ  2006-05-08 14:37:34  No: 61689  IP: 192.*.*.*

???

> 指定したNICからパケットを送信するには?
> 片方のNICだけにブロードキャストメッセージでパケットを送信

どっちをしたいの?
1)指定したNIC→ブロードキャスト
2)指定したNIC←ブロードキャスト(こいつにのみ)

2)はできないのでは。
というか、ブロードキャストの意味無いじゃんと思う。

というか、どの層で通信をしたいのかがいまいちわかりません

編集 削除
ボコノン教徒  2006-05-08 15:22:32  No: 61690  IP: 192.*.*.*

ブロードキャストって何?

マルチキャストであれば、
http://support.microsoft.com/default.aspx?scid=kb;ja;JP409410

編集 削除
てきと  2006-05-08 18:28:51  No: 61691  IP: 192.*.*.*

>片方のNICだけにブロードキャストメッセージでパケットを送信
              ‾
>2)指定したNIC←ブロードキャスト(こいつにのみ)
がしたいのでは?

特定のマックアドレスを指定するなどすればできるかもしれませんが、自分には分
からないです。その方法でできたとしても知っているPCにしか送信できないので意
味ないです。

編集 削除
てきと  2006-05-08 18:30:05  No: 61692  IP: 192.*.*.*

>片方のNICだけにブロードキャストメッセージでパケットを送信
                  ‾
大きさがそろわなかったようで。。

編集 削除
LAN初心者  2006-05-08 19:08:34  No: 61693  IP: 192.*.*.*

みなさま返信ありがとうございます。
色々説明不足ですみません。
環境としては、PCにNICが2つあって、片方TCP/IP通信で
もう片方がUDP通信です。
UDPの方のNICにだけブロードキャストメッセージ(255.255.255.255)
を流したいのですができますでしょうか?
ソケット生成のメソッドでCreateがありますが、そのパラメータに
送信元IPアドレスを指定できるみたいでやってみたのですが
両方のNICに流れてしまいダメでした。

編集 削除
LAN初心者  2006-05-08 19:11:50  No: 61694  IP: 192.*.*.*

補足させていただきます。

トーリスガーリさんの
1)指定したNIC→ブロードキャスト

です。

編集 削除
ボコノン教徒  2006-05-08 21:53:33  No: 61695  IP: 192.*.*.*

こんなやつ?
http://www003.upp.so-net.ne.jp/geek/programming/winsock/broadcast.html

Winsockでアダプターを指定するときは、bindの2番目の引数にその
アダプターのIPアドレスを指定するんじゃなかったっけ。
確かこれはUDPでも使えたはず。

編集 削除
LAN初心者  2006-05-10 11:17:39  No: 61696  IP: 192.*.*.*

色々ためしてみました。
Bindの第二引数にIPを指定して試してみましたが、
ブロードキャストメッセージの場合は、
両方のNICから出てしまいました。

IPの性質上避けられそうにありません。

また、マルチキャストの場合は、出力先のNICを選択できるみたいですが、
ターゲットが、マルチキャスト不可なのでこれも無理です。
結局、仕様を変更してユニキャストにすることになりました。

色々ありがとうございました。

編集 削除