• ベストアンサー

異なるIPセグメントで通信させる方法

端末AとBがあったとして(とりあえずWindowsのPC) AとBのIPアドレスのセグメントは異なるとします。 Bにはポート番号10000番のサーバーソフトが起動していたとします。 その場合AからBへUDPでポート番号10000に対してブロードキャストした場合、Bのサーバーソフトはそのパケットを正常に受信できるでしょうか?(フィルタドライバなどは使わずに一般的なソケットプログラムによる実装で) よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.4

環境に依存します。 1. 同一イーサネットセグメント(同じハブなど)上の場合:  →理屈の上では受信できます。 2. ルータを介した、イーサネット的にも別のセグメントの場合:  →ルータの設定と、ブロードキャストする際のアドレスに依存します。   ブロードキャストする際に、「ネットワークブロードキャスト(たとえば、192.168.1.0/24のネットワークにブロードキャストする際に、宛先IPを192.168.1.255としてブロードキャストする方法)」を行えば、受信できる可能性があります。ただし、ネットワークブロードキャストはルータで転送を禁止されることがしばしばありますので、必ずしもできるとは限りません。   ブロードキャストアドレスがフルブロードキャスト=宛先IPが255.255.255.255の場合は受信できません。

その他の回答 (3)

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.3

ブロードキャストはおなじセグメント内しか伝播しません。マルチキャストならスイッチによっては伝播する場合もあります。

参考URL:
http://aol.okwave.jp/kotaeru.php3?q=1570245
  • mii-japan
  • ベストアンサー率30% (874/2820)
回答No.2

両サブネットは、ルータで相互接続されていますか ? 相互接続されていなければ、両サブネット間の通信はできません また、ルータで両サブネットが接続されていても、ブロードキャストはサブネット内に限定されますから、サブネットをまたいでブロードキャストが伝達されることはありません

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ネットワークアドレスが違ったら、ルーターを噛ませないとだめじゃないですか 勘違いだったらすみません

関連するQ&A

  • socket通信でのフィルタリング

    linux環境にてC言語でUDPソケットのプログラムを作成しています。 Aの端末からUDPで受信してパケットヘッダの表示及び、宛先アドレスや宛先ポート番号 を書き換えてBの端末にUDPで送信します。 そこで下記の関数を使用して受信しているのですが、パケットキャプチャのように なんでも受信してしまいます。 socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)) これを特定のポート番号だけ受信(フィルタ)するにはどのようにすれば良いのでしょうか?

  • TCP/IPにおける端末間の通信について(NAPT)

    TCP/IPにおける端末間の通信について(NAPT) お世話になります。 TCP/IPについて質問です。 NAPT機能の付いたルータを介し、インターネット越しに通信を行う場合を想定します。 1.端末A(送信側)から端末B(受信側)にTCPあるいはUDPを用いてデータを送信する場合、端末Bでは必ず待ち受けるポートにbind(listen)し、また端末Aでは指定されたポート宛てにデータを送信する必要があると聞きました。 ここまでは理解できますが、ここにNAPT機能の付いたルータが介入する場合、"例外なく"端末B側のルータでポートマッピングを行う必要があるのでしょうか? 2.上記の認識がもし正しい場合、2台の端末で通信を行う場合は少なくとも片方でポートマッピングが必要ということになります。 だとするならば、SkypeやMSNメッセンジャーなどのクライアント側でポートマッピングが必要のないアプリケーションは、必ずサーバを介した通信を行っているということでしょうか? Skypeなどの仕組みを説明しているサイトを見ると、接続の手順を踏んだのちに端末間で通信を行うとの記述があるのですが、いくら接続先のIPがわかっていても、アプリケーション間で接続を確立するには、片方でポートマッピングが必要になると思うのですが、これはどういうことなのでしょうか? 3.上記の認識が正しい場合、UDPで受信する為には必ずポートマッピングが必要ということになります。 だとするならば、クライアント側でポートマッピングが必要のないアプリケーションは、少なくとも受信にはUDPを用いていないということでしょうか? 以上の3点についてお答え頂けると幸いです。 回答お待ちしています。

  • TCP及びUDP通信について

    TCP及びUDP通信について 現在WinSockAPIを用いた通信を行うプログラムを組んでいます。 しかしながらネットワークに関しては初心者で、わからない点がいくつか出てきたので質問させて頂きます。 -------------------------------------------------- 1.TCPで双方向通信を行う場合、サーバ側は指定したポートにbind→listenし、接続を待ち受けます。 クライアント側はサーバのIPを指定し、接続確立後にポートはOSが自動で割り振ると聞きました。 つまり、クライアント側がポートを開放せずに通信が出来るのは、OSなどが自動でポートを割り当て、割り当てたポートに到着したデータを該当アプリケーションに渡すからでしょうか? ポート関連は全てルータが管理しているものだと思っていたのですが、OSがポートを割り当てるという動作がよく理解できません。 -------------------------------------------------- 2.UDPで双方向通信を行う場合、端末A・端末Bともに指定したポートにbindする必要があると聞きました。 つまり、UDPで双方向通信を行う場合、端末A・端末Bの双方でポートを開放する必要があるということでしょうか? -------------------------------------------------- 是非ともご教授ください。

  • 別々のGWを持つ、2つのセグメント間の通信

    2つのネットワークセグメントがあります。この2つのセグメントの通信を実現させたいです。 知識と経験不足なので教えて頂けるとたすかります。 ■環境■ 添付図の通りですが、 ・192.168.10.0/24  →  A社 ・192.168.20.0/24  →  B社 ※それぞれのサーバー/PCは全てWindows系。 ※それぞれが別々のゲートウェイを持ち、インターネットに接続可能。 ※ただしサーバーの保守の為だけの接続で、クライアントはインターネット接続されていない。 ※A,Bお互いのクライアントが通信出来てはいけない。 ※お互いのネットワークアドレスの変更は不可。 ※クライアントPCの設定変更も不可。 ※物理的に同じ部屋にあるので、配線の取り回しの心配はない。 ■質問■ 同一セグメントにそろえて、L2_VLANだと可能なのでしょうが、ネットワークアドレスを変更できないので ルーターかL3なのではと考えております。 ※AのクライアントはAのサーバ/クライアントとBのサーバーのみを見たい。 ※Bのクライアントも同様にBのサーバ/クライアントとAのサーバーのみを見たい。 この環境で上記内容を実現させようと思ったら、どのような機材でどのような設定にすればいいのでしょうか?

  • UDP通信について

    はじめまして。 UDPの通信について教えて下さい。 送信元ポートと宛先ポートについてです。 機器A-機器Bで通信をする場合です。 両方の機器で同じアプリ(ポート番号10000)が起動しているとします。 機器Aから機器Bのアプリに対してフレームを送信した時、 送信元ポートはランダムな値(仮:5000)で宛先ポートは10000になると思います。 機器Bでフレームを受信した後、応答フレームを送信する時には 送信元ポート10000、宛先ポート5000になると思います。 機器Aで起動しているアプリのポート番号は10000ですので機器Bからの応答フレームの宛先ポート5000とは一致しません。 この場合、どのようにソフトは判断しているのでしょうか? 組み込みで評価ボードに同じアプリを実装してお互いに通信させるのが 目的です。

  • WinsockによるUDP通信にて

    WinsockでUDP通信を行うプログラムを作っているのですが、 原因不明の問題が発生していて困っています。 通信手順は以下のとおりです。 (1) クライアントからサーバへ要求パケット送信 (2) 要求パケットを受け取ったサーバは、クライアントへACKを送信 (3) サーバが要求に対する応答パケットをクライアントへ送信 (4) 応答パケットを受け取ったクライアントは、サーバへACKを送信 クライアント-サーバ間でやりとりするデータは最大で992バイト、 それ以上になる場合は、分割して送信します。 パケットの分割が発生しない場合は、(1)~(3)がパケットの損失もなく通信できるのですが、 パケットの分割が発生する場合には、2回目以降の(4)のパケットがクライアントに届きません。再現率は今のところ100%です。 クライアント側のselect関数でもソケットを検出しません。 たしかにUDPは信頼性が低いですが、パケット分割が発生しないパターンでは100%届くので、UDPの仕様とは関係ないような気がします。 原因がさっぱりわからないので、アドバイスをお願いいたします。 ちなみに、クライアント、サーバともに同一端末内にあります(双方がループバックアドレスに対してパケットを送信)が、 これはテスト段階だからであって、本来はそれぞれ別々の端末で動作します。

  • 異なるセグメント間の双方向通信のための設定方法

    以下の要件を満たすために設定を見直したり、試行錯誤していますが、原因がわからずうまくいっていない状況です。 お手数をおかけしますがご教示くださいますようお願いいたします。 【要件】 端末Aから端末Bに対してPingによる疎通確認を行いたい。 【状況】 端末Bからインターネット接続可でサイト閲覧が行える。 端末BからPR-200NE及び端末Aに対してPingによる疎通は問題なし。 端末AからRTX1000のLAN2に対してPing疎通は問題なし。 端末AからRTX1000のLAN1に対してPing疎通不可。 端末Aから端末Bに対してPing疎通不可。 ----------------------------------------------------------------------------------- 【構成】 The Internet <--> PR-200NE <--> (X1) TZ100(X0) <--> (LAN2) RTX1000 (LAN1) <--> 端末B ※ 端末AはTZ100のX1とPR-200NEの間のセグメントにいます。 【環境】 1.NTT PR-200NE(192.168.1.1/24) ファームウェア:18.34 【静的ルーティング】 宛先:192.168.2.0/24 ゲートウェイ:192.168.1.50 宛先:172.16.200.0/24 ゲートウェイ:192.168.1.50 ※ 端末Bのセグメントは192.168.0.0/16ですが、ロンゲストマッチによりゲートウェイに対して送信されないので192.168.2.0/24にしています。 2.SonicWALL TZ100(X0(LAN):172.16.200.40/24,X1(WAN):192.168.1.50/24) ファームウェア:SonicOS Enhanced 5.8.1.12-65o.01.jpn 【静的ルーティング】 送信元:すべて 送信先:192.168.2.0/24 サービス:すべて ゲートウェイ:172.16.200.30 インターフェイス:X0 メトリック:20 ※ 端末Bのセグメントは192.168.0.0/16ですが、ロンゲストマッチによりゲートウェイに対して送信されないので192.168.2.0/24にしています。 3.YAMAHA RTX100(LAN1:192.168.2.20/16,LAN2:172.16.200.30/24) ファームウェア:Rev.8.01.29 【コンフィグ】 ip route default gateway 172.16.200.40 ip route 192.168.1.0/24 gateway 172.16.200.40 ip lan1 address 192.168.2.20/16 ip lan1 proxyarp on ip lan2 address 172.16.200.30/24 ip lan2 nat descriptor 1 nat descriptor type 1 masquerade nat descriptor address outer 1 172.16.200.30 nat descriptor address inner 1 auto 4.端末A(Windows7 Home Edition(x64) 192.168.1.3/24 ゲートウェイ:192.168.1.1) Windowsファイアウォール、ウイルス対策ソフト無効 5.端末B(Windows7 Professional(x64) 192.168.2.10/16 ゲートウェイ:192.168.2.20) Windowsファイアウォール、ウイルス対策ソフト無効 -------------------------------------------------------------------

  • ブロードキャスト転送できるかはルータによりますか?

    WHR-HP-G300N ブロードキャスト転送できるかはルータによりますか? 【ポート変換】 プロトコル:UDP ポート:2304 LAN側IPアドレス:192.168.1.255 を指定すると ※LAN側ブロードキャストアドレスは使用できません となり、WAN側に届いたパケットをブロードキャストすることができません。 このようなルーターで、すべての端末へブロードキャストを行わないといけない 状況のパケット転送設定をすることは機器的に無理なのでしょうか? 方法としてあきらめるしかないですかね?

  • ■FWのフィルター設定で、特定のIPセグメントのPCのみ、通過できるような設定にしたいのですが、、、

    【設定】 FWのフィルター設定で、特定のIPセグメントのPCのみ、通過できるような設定を行いたいと思っています。 【質問】 例えば、10.10.10.0/24セグメント上のPCの通信からのみ通過させたい場合、以下A,B,Cの設定のどれでしょうか? A:送信元IP=10.10.10.0-10.10.10.255 の通信を通過。 後はすべて破棄。 B:送信元IP=10.10.10.1-10.10.10.254 の通信を通過。 後はすべて破棄。 C:どちらでもOK。 【聞きたいポイント】 10.10.10.0はネットワークアドレス,10.10.10.255はブロードキャストアドレスなので、 それが発信元にならないかと思うので、Bで問題ないでしょうか? それとも、普通はAにするのでしょうか?

  • X11というプロトコルのパケットをフィルタする方法

    現在、Wiresharkでサーバソフトが受信しているクライアント端末からのパケットを観測しています。 Wiresharkでは tcp.dstport == 5000 このようにTCP5000番ポート宛にパケットを、上記の条件式でフィルタして表示しています。 しかし、いくつかのクライアント端末からはTCPではなく、X11というプロトコルで来ているものがあります。宛先ポートも5000番です。 この場合、宛先5000番ポートに送信されているX11プロトコルのパケットをフィルタするための条件式はどのように書けばよいでしょうか? どうぞ、ご教示の程よろしくお願い致します。