以下のネットワークで、PC1からpingを実行したところ、図の結果となった。この結果から判断できることを、下の選択肢から1つ選びなさい。
a.PC1からはインターネットに接続できるが、PC2からは接続できない。
b.PC2からはインターネットに接続できるが、PC1からは接続できない。
c.PC1とPC2の間の通信ができない。
d.PC1はWebサーバのドメイン名の名前解決を行うことができない。
「ping って、あのコマンドの真っ黒画面の…。」
「そうだね。」
「うわぁ~あの黒い画面、訳解らなくて苦手ー。」
「そう思っている人は多いよ。実際にコマンド打ってみたことってある?」
「えっ、僕がやっても大丈夫なの?」
「うん、別に問題はないよ。」
「えええええ、それって初耳~。」
「コマンドを打つ場合、【スタートボタン】→【すべてのプログラム】→【アクセサリ】→【コマンド】であの黒い画面が起動するよ。」
「……(実際にやってみて)あっ、ほんとだ。」
「そのカーソルがチカチカしているところに、コマンドを入力するんだよ。」
「なるほど。」
「この ping というコマンドは効率的にトラブル箇所を調べる時に利用するんだよ。」
「どうやって調べるの?」
「たとえば、コムたろう君が僕に電話を掛けるでしょ?」
「それで、僕が電話に出て『もしもし?』って言ったら、これってどういう状況かな?」「ドット先生が電話に出た?」
「まぁそれでもいいけど、コムたろう君が掛けて僕が出た(応答した)ってことはね・・・」
「コムたろう君の電話機から始まって、途中の電話回線、そして僕の電話機までの通り道に故障が無かったという判断ができるんだよ。」「応答する=繋がっている、という判断なんだね!」
「そう、インターネットでも時々HPが見られない状況ってあるよね?」
「うん、自分のPCか操作のしかたが悪いのか、どれかが原因なんだろうけど・・・」
「全部、自分の原因って考えるの?」
「え、違うの?」
「そういう風に思っちゃう人もいるみたいけどね。ほかに原因は考えられるんだよ。」
「見たいHPを管理しているサーバが故障している可能性もあるし、コムたろう君が契約しているISPが管理している設備の故障も考えられるし、アクセス回線が故障している可能性だってあるんだ。」「へえ、いろいろ原因ってあるんだね。」
「そうなんだよ、沢山あるから問題解決の為には何処が原因かを調べて、それぞれの原因に合わせた対処が必要になるんだ。」
「なるほど~。」
「で、この ping だ。」
「あっ、そうか。効率的にトラブル箇所を調べる時に使うってことは、『HPが見られない』といったトラブルの時も使えるんだね。」
「そう。何処に原因があるかを調べるために ping は目的の場所に向かってリクエストパケットを送るコマンドなんだ。」
「リクエストパケット?」
「……パケットはわかるかな?」
「え~っと、データの小さな塊、だったっけ?」
「おっ、覚えていたね。リクエストパケットは平たく言うと、『応答をください』というリクエストをするデータのことだよ。」
「あぁ~、なるほど~。」
「で、さっきの電話のたとえ話に戻るけど、コムたろう君は僕が電話に出て欲しいから電話した訳だね。」
「 ping に置き換えると、コムたろう君が電話する=リクエストパケットを送る、僕が電話に出る=それに応えて応答する、という図式になるんだよ。」「なるほど~。」
「つまりリクエストパケットを送った相手が応答した=相手までの通り道は問題なし、になるんだ。」
「そうか、道が途中で切れてたら、応答は返ってこないもんね。」
「その通り。だから、『HPが見られない』って時も ping を使ってみるといいんだ。」
「でも、どうやって使うの?」
「これはコマンドの入力の仕方になるんだけど、カーソルがチカチカしている部分に『ping』と入力し、スペースを1つ開けて相手のホスト名やIPアドレスを入力するんだ。そして、最後にエンターね。」
「この設問では 【pingの結果】の下の囲み部分の、C:\>ping ~の部分が ping のコマンドを入力した部分で、その下の行が応答結果だよ。」「IPアドレスってあれですよね、インターネット上の住所のことですよね?」
「うん、この設問ではIPアドレスとホスト名、両方に対して ping を実行しているんだ。」
「この『http://www.example.co.jp/』っていうのは、ホスト名だね。」
「FQDNとも言うよ。まぁホスト名とFQDNは厳密に言うと違うものなんだけど、ここではその説明は省略するね。」
「IPアドレスは郵便番号、FQDNは石川県金沢市増泉みたいな感じかな?」「なるほど~、よく解る~。」
「HPは普通このホスト名で表されるよね、その方がユーザーには解りやすいから。」
「そうだね、IPアドレスだけ見せられても、そこが何処のHPか解らないもんね。」
「なので、 ping を使う時はホスト名でもOKになっているんだ。」
「なるほど~。」
「この場合、同一のWebサーバに対して、IPアドレスとホスト名で ping を使っているよね。C:\>ping ~が2つあるだろ?」
「IPアドレスとホスト名で形は違うけれど、同じ相手に対して使っているはずなのに結果が違ってるのはなんで?」
「そこもこの問題のポイントなんだ。」
「えっ、そうなの?」
「まず、問題のWebサーバに向かってIPアドレスに向かってpingを使った結果を見てみよう。」
「……なんか宇宙語みたい。やっぱりコマンドはよく解らないや。」
「食わず嫌いしないで。結果の見かたを解説するからね。」
「まずはIPアドレスのパターンだけど、『~ からの応答:』の文字の後がこのWebサーバからの応答結果なんだ。」「なんとなくわかる、かな。」
「『バイト数』はこのWebサーバから受信したデータの大きさ、『時間』は結果が返ってくるまでの時間、『TTL』は特定の初期値から経由したルータの数を引いた値だよ。」
「データの大きさや、時間はまぁ解るけど、TTLって……」
「一つ一つの意味が解らなくても、この応答結果が見えるということは、目的のIPアドレス(Webサーバ)から応答は返ってきている、つまり、ここまでの道に故障はないという判断になるんだよ」
「なぁんだ、そういうざっくりとした判断で良いんだー。」
「うん、実はそれで大丈夫。」
「じゃあ、この『ping』の後にホスト名が入っている場合の応答結果は…」
「これがこの設問のポイントだね。」
「上の図を見ると、『http://www.example.co.jp/』と『211.129.13.200』は同じWebサーバを表しているでしょ?」「うんうん。」
「だけど、ホスト名で ping を実行すると『要求がタイムアウトしました』という応答結果になっている。」
「このタイムアウトって、『時間切れ』のこと?」
「そう。 ping は応答を永久に待つのではなくて、一定の制限が有るんだよ。」
「このタイムアウトというのは、 ping を送信してTTLの初期値(OSによって異なる)からルーターを1個経由するごとに1引いて0になるまでに応答がなかったということなるんだ。」
「じゃないと、何十年も前に送ったパケットが永久にインターネットの中をさまようことになるからね。」「幽霊船みたい。それに、ずっとさまよってたら回線が混雑してじゃまだね。」
「良く気付いたね。みんなが便利に使うためにはこういう配慮が必要なんだ。」
「じゃあさ、制限時間内に応答が得られなかったら、どんな判断になるの?」
「応答が返ってこない理由はさまざまな状態が考えられるね。」
「たとえば、サーバが故障してダウンしているとか、途中にあるルータが故障しているとか。」「じゃあ、この『www.example.co.jp/』のサーバは故障しているの?」
「いやいや、そう結論を急がないで。」
「『http://www.example.co.jp/』と『211.129.13.200』は同じサーバだよね?」「うん。」
「『211.129.13.200』に ping を送ると、応答は得られた。つまり、通り道に故障はないし、『211.129.13.200』も故障していないんだよ。」
「でも、『http://www.example.co.jp/』は応答を返してくれないよ?」
「ここで思い出してほしいのは、URLとIPアドレスの関係だ。」
「名前解決って覚えてるかな?」「あ~、あれだ。DNS!」
「そうそう。ホスト名(URL)からIPアドレスを教えてくれるのがDNSサーバーだね。」
「で、『www.example.co.jp』に ping を送って、応答が返ってこなかったということは、『http://www.example.co.jp/』からIPアドレスを導き出せなかったという事なんだ。」「DNSサーバになんらかのトラブルが発生していて、名前解決ができないってこと?」
「そのとおり。とすると、解答は……」
「あぁ『d』になるね!」
「うん。そもそもpingはPC1からWebサーバに対して送信されているから、PC1⇔PC2とかPC2⇔インターネットというのは問題外だね。」
「PC1⇔インターネットというのはどうなの?」
「それも100%不可って訳じゃないよ。IPアドレスを指定してHPを見ることはできるからね」
「面倒だけどね・・・」
「だから、解答は『d』になるんだ」
【 第19回 第2部 第17問 解答&解説 】
[解答]d
[解説]
a.誤り。この結果だけから、PC2 からインターネットに接続できないとはいえない。
b.誤り。この結果だけから、PC2 からインターネットに接続できるとはいえない。
c.誤り。この結果だけから、PC1 とPC2 の間の通信ができないとはいえない。
d.正しい。PC1 でホスト名(FQDN)で指定したping が失敗していることから名前解決ができないことが想定できる。