IP経路とUDP到達性

このQ&Aのポイント
  • ルータ群で構成されたL3ネットワークのルーティング設定において、PC-Aのデフォルトゲートウェイ設定がないため、ICMP応答ができずpingが通らない状況が発生しました。
  • UDPはICMP上に位置するレイヤのプロトコルであるため、ICMP到達性がない場合、UDPの到達もできない可能性があります。
  • 質問の考え方は正しいと言えます。ICMPがNGであれば、UDPがOKという状況はありえないと考えられます。
回答を見る
  • ベストアンサー

IP経路とUDP到達性

ルータ群で構成されたL3ネットワークのルーティング設定をしていました。 その際、ある末端に接続したPC-Aにデフォルトゲートウェイ設定がない状態にしていました。 PC-Aから一番遠い側のルータからPC-Aの属するネットワークの経路は確認できるのですが、 PC-Aはゲートウェイ設定が無いため ICMP 応答はできず ping は通りません。 ここで質問です。 「UDPなら片方向の通信到達性は確認できるのでは?」 とう質問をされたのですが、 「UDPはICMP(または他の同レイヤのプロトコル)上の上に位置するレイヤのプロトコルなのでICMP到達性がない時点でUDPの到達もできない」 と考えています。(UDPの到達自体確認できないかもしれないですが。) この考えは正しいでしょうか? (言い方を換えるなら、ICMPがNGかつ、UDPがOKということはありえないという認識でよいでしょうか?) 質問自体、間違っている、などありましたらご指摘お願いいたします。

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

  • ベストアンサー
  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.5

> 「UDPはICMP(または他の同レイヤのプロトコル)上の上に位置するレイヤのプロトコルなので > ICMP到達性がない時点でUDPの到達もできない」 そもそも、この認識が間違っています。 UDPはICMPの上に位置するレイヤのプロトコルではありません。 UDPはIPプロトコルの上に位置するプロトコルです。 ICMPもIPプロトコルの上に位置するプロトコルです。 つまり、両者は並列でIPプロトコルの上に位置しています。 通信が到達するか否かは、IPプロトコルのルーティングだけで決まります。 その通信の到達性を確認するための要求パケット/応答パケットの 標準フォーマットを決めたのがICMP echoです。 ICMPが通信の到達性を制御しているわけではありません。 同様にUDPも通信の到達性を制御しているわけではありません。 ICMP echoがNGでも、UDPがOKのケースは普通によくあります。 例えば、Windowsファイアーウォールは、デフォルトではICMP echoパケットを 通さないように設定されています。この場合、pingで疎通確認をしてもエラーになりますが、 そのPCにTCP/IPコネクションを生成したり、UDPパケットを届けたりすることは可能です。 普通によくある話です。

meruru17
質問者

お礼

ご回答ありがとうございました。あくまで通信はIPで制御されており、ICMP要求、UDPそれぞれ届くかどうかはIP設定次第であり、ping応答がないのはICMP応答の通信がIPで制御できているかどうかによる、ということですね。

その他の回答 (5)

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.6

>「UDPなら片方向の通信到達性は確認できるのでは?」 何が言いたいのか不明です 単純に、PC-Aから一番遠い側のルータ → PC-A が到達したか、否かであれば PC-Aのルーティングが無くても確認する事は可能です。 また、このような場合にはpingでは無く、tracerouteを利用するべきです。 なぜ?かは、tracerouteの動作を確認すれば一目瞭然でしょう。 ただし、この場合にはFireWallやルーターのパケットフィルタでDenyしていない事が前提となります。 pingやtracerouteの詳細をもう少し調べてみるべきでは? icmp udpどちらかを利用するか など

meruru17
質問者

お礼

ご回答ありがとうございました。ICMP,UDPともIP設定により可/不可が決まる。ping では、ある1対象まで、traceroute ではどの区間でそれらが可/不可かがわかる、ということで理解しました。

  • annys2000
  • ベストアンサー率48% (255/523)
回答No.4

No.1です ICMPが帰ってこない=IP疎通性がない ではありません。 ICMPが帰ってこないのは ・そもそもルーティングされていない(この場合はアンリーチャブルになる) ・途中のルータで破棄されている(設定による timeoutになる) ・届いてはいるがデフォルトゲートウェイの設定ミスなどにより帰ってこない(timeout) ・端末側で帰さない設定にしている(timeout) ・ルータ段数が多すぎる よってICMPが帰って来なくてもパケットは届いている可能性はあります。 この場合UDPも届いる可能性があります。 ただ、このような場合、届いているかは受け側でしか判りません。No.2さんの様に受け側でパケットキャプチャするか、UDPなら動画をストリーミングして再生できるかとか。

meruru17
質問者

お礼

ご回答ありがとうございます。よくわかりました。

  • maesen
  • ベストアンサー率81% (646/790)
回答No.3

>PC-Aから一番遠い側のルータからPC-Aの属するネットワークの経路は確認できるのですが、 >PC-Aはゲートウェイ設定が無いため ICMP 応答はできず ping は通りません。 ファイアウォール等の通信を阻害するものが無いという前提です。 この場合、PingはICMPのEcho ReplyがPC-Aがら来るルートが判断出来ないため、来ないということになりPingは通らないということになりますが、 一番遠い側のルータからPC-AへのICMPのEcho Requestは到達しているはずです。 つまり、IP通信は一方向で完結する通信でですので、 一番遠い側のルータ → PC-AのIPレベルの通信は通り、 PC-A → 一番遠い側のルータのIPレベルの通信は通らない、 ということだと思います。 >「UDPなら片方向の通信到達性は確認できるのでは?」 UDPはIPの上位レベル(レイヤ4)の通信ですが、一方向の通信であるのでこの質問はある意味正しい(確認できる)と思います。 ある意味というのは、 一番遠い側のルータ → PC-A は通信出来るけどそれを確認するためにはPC-A上で到達したことを確認するしかないということです。 例えばUDPを待ち受けるソフトウェア(又はパケットキャプチャツールなど)を実行して、UDPの通信が来ることを確認すれば、「片方向の通信到達性」を確認したと言えるでしょう。 ただ、こんなことをする意味があるかは別でしょうが。 >「UDPはICMP(または他の同レイヤのプロトコル)上の上に位置するレイヤのプロトコルなのでICMP到達性がない時点でUDPの到達もできない」 これは言い方がちょっと違うのではないかと思います。 到達できないのではなく、 PC-Aのデフォルトゲートウェイが無く、「PC-A → 一番遠い側のルータ」への通信が出来ないため、「一番遠い側のルータ → PC-A」の通信か到達したかどうかを確認する術がない。 ということではないかと思います。 今回の環境では実際には「一番遠い側のルータ → PC-A」はICMP(Ping場合はEcho Request)も、UDP通信も到達すると思います。 ただあまり、このような状態で使用することはないと思います。 (PC-Aだけ同一サブネットだけしか通信させたくない場合にこんな設定にする場合もあるかな)

meruru17
質問者

お礼

ご回答ありがとうございました。詳しいご説明でよくわかりました。

  • yidong
  • ベストアンサー率37% (25/67)
回答No.2

一方通行なのであまり使えるシーンは少ないと思いますが。 問題ないくパケットは届くと思います。 (届いた事を確認する術は有りませんが) WIRESHARK(パケットキャプチャ) ipsendwin(パケットジェネレータ) などで試してみてはいかがでしょうか?

meruru17
質問者

お礼

ご回答ありがとうございました。ツール類参考にさせていただきます。

  • annys2000
  • ベストアンサー率48% (255/523)
回答No.1

UDPは再送保証のないプロトコルです。送ったら送りっぱなし。確認はありません。 >(言い方を換えるなら、ICMPがNGかつ、UDPがOKということはありえないという認識でよいでしょうか?) UDPは送った側からOKかどうか知る術が無いはずです。

meruru17
質問者

補足

ご回答ありがとうございます。 UDPがOKか知る術がないため確認はできないということですね。 ただ、IP疎通性がない場合でもUDPの通信自体が成立することはありえるのでしょうか? 送りっぱなしということは、質問文中のように片方向だけ経路が確認できる状態だと成立するのかどうかが気になっております。

関連するQ&A

  • UDPポートの開き方

    WindowsXPを使用。 XLink Kaiをやろうと思うのですが、できず。 その際、ネット上でUDPポートを確認したところ、Kai起動状態で閉じているまたはパケットが到達していなくて破棄状態と出ました。 PC側で、ネットワークの詳細設定から「UPnP(UDP)」と新たに作ったKaiの項目にチェックを入れましたが、結局繋がりません。 新たに作ったKaiの設定が間違っているのか(IPアドレスの設定等)または、Planexのルータの設定から行うべきなのか(←こちらについては調べましたが設定のしかたがいまいちわかりません) ファイアウォールは解除しています。 どうかお助け下さい。

  • ネットワーク経路について

    教えてください。 以下のネットワークのようにRoute2の先に同じIPネットワークアドレス&サブネットのネットワークAとネットワークB現在がある様です。通常ありえないと思っています。 → Router2―(A)―(端末2) (端末1)→Router1 → Router3―(B)―(端末3) Router1にはRouter2とRouter3のどちらかのルーティング(ゲートウェイ)しか書けないと思います。 そこでRouter1に以下のようなルーティングを書くことはできますでしょうか? 端末3への経路ですが、Router1に、端末3のホストIPを指定したルーティングを書く。 (GWをRouter3にする) 端末2への経路については、端末2のネットワークアドレスを指定したルーティングを書くということはできるのでしょうか? (GWをRouter2にする) よろしくお願い致します。

  • ルータBLW-04GZでスタティックルーティング

    古いルータBLW-04GZを引っ張り出して来て、デフォルトルートの他に スタティックルーティングを設定してみようかと思いましたが、 うまく行きません。 PC1のゲートウェイはBLW-04GZです。 192.168.3.0ネットワークにのみ、別ルータ192.168.1.253をホップしアクセスしたいと 思っていました。 192.168.3.0ネットワークにpingを打ってもデフォルトルート側に飛んで行ってしまうため、 スタティックルーティングが正常に設定されていないか正常に動作していない状態と 思われます。 ちなみにPC1のデフォルトゲートウェイを別ルータ192.168.1.253にすると、 192.168.3.0ネットワークにもデフォルトルートにもアクセスできます。 BLW-04GZの設定を貼り付けますので、 アドバイスをお願いします。

  • CTUのルーティング設定

    CTUのルーティング設定 現在ネットワーク構成が ONU---CTU---VPNルータ       |    |       ------ハブ--------LAN内のPC郡 ネットワーク:192.168.1.0/24 CTU:192.168.1.1/24 VPNルータ:192.168.1.101/24 PC郡はデフォルトゲートウェイは192.168.1.1/24になっています。 PC起動時に、route add 192.168.2.0 mask 255.255.255.0 192.168.1.101 というバッチを当てています。 それにより、VPNで192.168.2.0/24のネットワークに接続できています。 このバッチを当てずにCTUにルーティングさせる事はできないんでしょうか? 192.168.2.0/24に来た宛先は192.168.1.101/24のVPNのルータにルーティングするという設定が出来れば、それぞれのPCでバッチを当てなくてよいと思います。 『スタティックルーティングテーブル設定』がありますが、このあたりの設定でできないんでしょうか? そもそもONUの直下にVPNルータがなくてよいのでしょうか? 自分がネットワークを構成していないので、何故このような構成になっているか理解できていません。 以上です。よろしくお願いします。

  • ICMPの通らない環境で接続の確認(PING?)

    私が加入しているプロバイダはどうもゲートウェイ付近でICMPプロトコルの通過を制限しているようで、プロバイダ内からはPINGコマンドが機能しますが、外から自分のIPアドレス宛にPINGしてもらうと到達できません。 最初は自分のルーターかファイヤーウォールの設定だと思っていましたが、同じプロバイダに加入する他の人に、外部の別の人からPINGしてもらったところ私と同じになったとのこと。 その方も私も、調べた限り、ルーターやファイヤーウォールでICMPを禁止はしておらず、私から同じプロバイダの人宛だとPINGは通るので、やはり出入りに問題があるようです。 プロバイダに改善を求めていますがとりあえず、TCPやUDPを使ってPINGの変わりはできないでしょうか。 TCPなら通信できているかが分かりそうだし、UDPなら大体の応答速度が分かるのではないかと思いまして。 他の人から、そういうフリーソフトがあったと聞いたのですが、現在は行方不明でどう言ったソフトだったのか。 ICMPが通らない環境で相手との接続ができるか、できるなら応答時間を大体調べることができる方法、ソフトなどはないでしょうか。 情報お持ちの方がいらっしゃいましたら教えていただけますと幸いです。 WindowsVista

  • 異なるセグメントでのパケットの到達経路について

    現在、社内でCTIのシステムを運用しているため、IP電話機をPCからコントロール (オフフックやオンフック)していますが、コントロールできなくなることがあり、原因を調べています。 ネットワーク構成はこんな感じです。 L3SW -- L2SW (PoE) -- IP電話機 -- PC IP電話機は、172.16.xx.xx体系で、PCは192.168.xx.xx体系です。 L2SWは単純なPoESWのためVLAN設定はされていません。 L3SWでL2SWが接続されるポートについては、VLANで172体系と192体系が接続できるように設定してあります。 このような状態で、たとえばPCからオフフックの操作をし、電話機に対してオフフックの信号を 送出した場合に、実際のパケットはPC→電話機で到達するのか、IPアドレスのセグメントが 異なるので、上位のL2またはL3SWまで行ってから戻ってくるのか、どちらなのでしょうか? 当然のことながらPC→電話機はpingはOKで、PCから電話機のIPアドレスにtracertすると 電話機のIPだけが表示されますので、L3SWは経由していないと考えています。 このパケットがTCPのパケットであっても、UDPのパケットであっても、直接 PC→電話機に 到達するものと思うのですが、違いますでしょうか? どうぞよろしくお願いします。

  • 同一ネットワーク内に複数のルータが存在する場合の…

    【同一ネットワーク内に複数のルータが存在する場合のルーティングについて】 (1)以下のネットワークが存在するとします。 ネットワーク名:ネットワークA ネットワークアドレス:192.168.100.0 サブネットマスク:255.255.255.0 (2)また、上記ネットワーク内に以下の2ルータが存在しそれぞれが異なるネットワークとVPN接続されているとします。 ルータ1:192.168.100.1 →ネットワークBとVPN接続 ルータ2:192.168.100.2 →ネットワークCとVPN接続 ネットワークB:192.168.150.0/24 ネットワークC:192.168.200.0/24 (3)ネットワークA内にサーバXが存在しIPとデフォルトゲートウェイは以下の通りです。 サーバ名:サーバX IPアドレス:192.168.100.101 サブネットマスク:25.255.255.0 デフォルトゲートウェイ:192.168.100.1(ルータ1) <質問> このような環境下で、サーバXがネットワークCと通信したい場合、サーバ自体またはサーバXのデフォルトゲートウェイ上にルーティングは必要でしょうか? 具体的にはWindowsのコマンドで言えば以下のようなルーティング必要かどうか、ということです。 add 192.168.200.0 mask 255.255.255.0 192.168.100.2 私自身はルーティングをしなければいけない、と思っているのですが、ネットワークCへの接続の窓口となっているルータ2がサーバXと同じネットワーク内にあるから必要ないという意見もあり、どちらが正しいのかを知りたいです。仮に後者が正解の場合は、なぜそのような通信が可能なのかを知りたいと思っています。 分かりにくい説明となってしまっているかもしれませんが、どなたかお知恵をいただけると大変助かります。

  • RT-200NE のLAN側にルーターを挟むと

    RT-200NE のLAN側にルーターを挟むとRT-200NEの設定画面、ひかり電話の内線登録が できません。 ネットワーク構成は以下のようになっているのですが、 RT-200NEのLAN側IPアドレスと同じネットワークからは普通に設定画面も IP電話の内線登録もできますが、ルーターAを挟んだ側(PC(2))からは 設定画面も内線登録も出来ません。 (PC(2)からPC(1)にはpingは通ります) RT-200NE  | 192.168.X.1  |  ├ PC (1) 192.168.X.2  |  | 192.168.X.3 ルーターA  | 192.168.Y.1  |  ├ PC (2) 192.168.Y.2 ちなみにRT-200NEで設定したことは ・静的ルーティング: 192.168.Y.0/24 の Gateway を192.168.X.3 に ・パケットフィルタ: LAN側インターフェースに対し、以下の2つを通過に設定   ー192.168.X.0 → 192.168.Y.0、すべてのプロトコル、両方向   ー192.168.Y.0 → 192.168.X.0、すべてのプロトコル、両方向 ・高度な設定: セキュリティ保護機能を無効に PC(1)のデフォルトゲートウェイはRT-200NEに設定されており、 PC(1)からPC(2)に通信できるし、PC(2)からPC(1)に通信できるので ルーターAの設定は間違っていないし、RT-200NEの静的ルーティングの 設定も間違っていないとは思っています。 どうすればPC(2)からRT-200NEと通信できるようになるでしょうか・・・ 非常に困っていますので、どうぞよろしくお願いします。

  • ICMP Echo Message はtcp,udpのポート7?

    ICMP Echo Message-Type0 (いわゆるping) は tcp(udp)ポート番号の"7"と 同じものなのでしょうか? (ウイルスバスターのパーソナルファイアウォールでは7/tcpのフィルタで  ping応答が止まりました) そうならば、他のICMP (TimestampやDestination...なんか)は tcp,udpの何番ポートで制御できるのでしょうか? 「質問自体間違っているよ!」って場合もご指摘ください。 よろしくお願いいたします。

  • WBC V110Mでのマルチセッションの設定について教えてください。

    NTT光でルーターWBC V110Mを使用して接続しています。 2つのプロバイダーの同時接続をしたいのですが、ルーターの設定がわかりません。 メーカーサイトでは、このルーターはマルチセッションに対応していると書かれています。 ですがフレッツスクエアの設定方法しか載っておらず、検索してもスクエアのものしか引っかかりません。 このルーターの「ルーティングテーブル設定」にはルーティング条件1と2があり、それぞれ記入する種類が違っています。 条件1は、 スタティックルーティング設定 ・宛先ネットワークアドレス/マスク長 ・ゲートウェイIPアドレス 条件2は、 ・追加ドメイン名 ・追加宛先ネットワークアドレス/マスク長 です。 やりたいのは、ルーターに接続している複数PCの1台をプロバイダーBに接続設定し、あとのPCはAのまま、ということです。 このルーターでの設定を教えてもらえないでしょうか? わかりにくいところがありましたら補足します。