InfraAcademy

InfraAcademy Blog

通信相手との接続性を確認するコマンドはどれか | 基本情報技術者試験過去問解説

| #基本情報技術者試験 #過去問解説
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、フルスタックエンジニアのryuです。

今回の記事は、基本情報技術者試験の過去問解説です。

テーマは、通信相手との接続性を確認するコマンドについてです。

ネットワークの問題では、pingarpipconfigなど似たようなコマンドが選択肢に並ぶことがあります。名前だけを暗記していると迷いやすいですよね。

今回は過去問を解くだけではなく、実際にpingコマンドを使いながら、ICMPや通信確認の仕組みまで分かりやすく解説します。

通信相手との接続性を確認するコマンドはどれか

今回の記事では、以下の問題の解説をします。問題文はこちら。

IPネットワークにおいて,ICMPのエコー要求,エコー応答,到達不能メッセージなどによって,通信相手との接続性を確認するコマンドはどれか。

ア:arp

イ:echo

ウ:ipconfig

エ:ping

答えは、エのpingです。

pingは、通信相手へパケットを送り、応答が返ってくるかを確認するために使うコマンドです。

問題文にはICMPのエコー要求、エコー応答という言葉が出てきます。この部分がpingを判断する大きなポイントです。

選択肢の違いを整理する

なぜpingが正解なのかを理解するために、ほかの選択肢も見てみましょう。

それぞれの役割を整理すると、次のようになります。

コマンド 主な役割 今回の答えか
arp IPアドレスとMACアドレスの対応情報を確認する ×
echo 文字列や変数の内容を表示する ×
ipconfig WindowsでIPアドレスなどの設定を確認する ×
ping 通信相手との接続性を確認する

arpもネットワークに関係するコマンドなので、少し迷うかもしれません。

ただし、arpはIPアドレスとMACアドレスの対応を確認するためのものです。相手から応答があるかを確認するコマンドではありません。

【関連記事】ARPの仕組みを詳しく知りたい方は、ARPとは?IPアドレスとMACアドレスを紐づける仕組みも参考にしてください。

通信相手との接続性を確認するpingコマンドとは?

pingコマンドとは、通信確認を行う際に使用するコマンドです。ネットワークに接続された機器に対して通信を行い、返答が返ってくるのかを確認します。

たとえば、PCからサーバーへ通信できるか確認したい場合に利用できます。

ネットワークにつながらないとき、いきなり複雑な設定を調べるのではなく、まずpingで相手まで到達できるか確認することがあります。

pingコマンドの使い方

pingコマンドはコマンドプロンプトやターミナルで使用可能です。以下のように入力します。

ping 192.168.1.1
ping [IPアドレス]

コマンドを入力すると、以下のように表示されます。送信したパケット数が4で受信したパケット数が4と通信ができていることが確認できます。

通信相手との接続性を確認するpingコマンド

pingコマンドの詳細な使い方についてはこちらの記事をご確認下さい。

【関連記事】pingコマンドの使い方とは?PC同士で通信確認してみよう!

Windowsでは通常、一定回数の通信を行うとpingが終了します。

Linuxでは停止するまで繰り返し送信する環境も多いため、回数を指定したい場合は次のように実行できます。

ping -c 4 192.168.1.1

-c 4は、4回送信したら終了するという意味です。

pingの結果はどう読めばいい?

pingを実行できても、表示された結果をどう見れば良いか分からない方もいると思います。

まず確認したいのは、応答が返ってきているかです。

たとえば、Linuxでは次のような結果が表示されます。

64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.521 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.487 ms

64 bytes from 192.168.1.1と表示されていれば、指定した相手から応答が返ってきています。

timeは、送信してから応答が返るまでにかかった時間です。

パケットロスも確認する

pingの最後には、送信したパケットと受信したパケットの数が表示されます。

4 packets transmitted, 4 received, 0% packet loss

この場合は4回送信して4回受信しているため、パケットロスは0%です。

一方、4回送信して3回しか返ってこなければ、一部の通信が途中で失われています。

ただし、pingが失敗したからといって、必ずネットワークが完全に切れているとは限りません。

サーバーやファイアウォール側でICMPを許可していない場合、Webサイトにはアクセスできてもpingだけ応答しないことがあります。

ここは実務でも重要なポイントです。

pingで使われるICMPとは?

次に問題文にあった、ICMPについて解説します。

ICMPは、IPネットワーク上で通信状態やエラーなどの情報をやり取りするために利用されるプロトコルです。

pingでは、ICMP Echo RequestとICMP Echo Replyが使われます。

流れはシンプルです。

まず自分のPCから通信相手へEcho Requestを送ります。

相手が受信し、応答できる状態であればEcho Replyを返します。

PC
  ↓ ICMP Echo Request
サーバー
  ↑ ICMP Echo Reply
PC

この応答が返ってくることで、相手との間でIP通信ができていることを確認できます。

ICMPは通信確認だけではない

ICMPはpingだけのために存在するプロトコルではありません。

たとえば、宛先へ到達できない場合に、その状態を通知するメッセージもあります。

基本情報技術者試験では、ICMP = IPネットワークの通信状態やエラーを通知するためのプロトコルというイメージを持っておくと理解しやすいです。

pingが通らないときはどう確認する?

実際のネットワークでは、pingが通らない場合に原因を切り分ける必要があります。

まずは、自分のPCにIPアドレスが設定されているか確認します。

Linuxでは次のように確認できます。

ip addr

Windowsでは次のコマンドがあります。

ipconfig

ここで先ほどの選択肢に出てきたipconfigが登場します。

ipconfigは接続性を確認するのではなく、自分のPCに設定されているIPアドレスなどを確認するコマンドです。

近い場所から順番にpingする

ネットワークトラブルを調べる場合は、いきなり遠いサーバーへpingするだけではなく、近い場所から順番に確認すると原因を探しやすくなります。

たとえば、次のような順番です。

自分自身
↓
同じネットワーク内のルーター
↓
外部ネットワーク
↓
目的のサーバー

Linuxであれば、まず自分自身へ次のように実行できます。

ping -c 4 127.0.0.1

次に、自分のデフォルトゲートウェイへpingします。

どこまで応答が返るのか確認することで、問題が自分のPCなのか、LANなのか、その先のネットワークなのかを切り分けやすくなります。

pingとtracerouteの違い

pingと一緒に覚えておきたいのがtracerouteです。

どちらもネットワークの調査に使いますが、目的が違います。

コマンド 確認すること
ping 通信相手から応答が返るか
traceroute 通信相手までどの経路を通っているか
ip addr 自分のIPアドレスなど
ip route 自分のルーティング情報

pingだけでは、通信が途中のどこで止まっているのかまでは分かりません。

そのような場合に経路を確認するのがtracerouteです。

ネットワークの問題では、似たコマンドが複数登場します。それぞれ何を確認するコマンドなのかを整理しておくと、暗記しやすくなります。

基本情報のネットワーク問題は実際に試すと理解しやすい

基本情報技術者試験では、IPアドレス、ルーティング、DNS、TCP/IPなどネットワークに関する問題が出てきます。

教科書だけで勉強していると、用語が多くて分かりにくいですよね。

そのようなときは、実際にコマンドを入力してみるのがおすすめです。

ping -c 4 8.8.8.8
ip addr
ip route

実際の出力を見ると、IPアドレスやルーティングが単なる用語ではなく、自分のPCで利用されている情報だと分かります。

【関連記事】IPアドレスの仕組みから確認したい方は、IPアドレスとは?IPアドレスの概要・仕組みを簡単に解説も参考にしてください。

InfraAcademyでネットワークを実際に操作しながら学ぶ

ネットワークは、図や文章を読むだけでは理解しにくい分野の一つです。

InfraAcademyでは、IPアドレスやルーティング、スイッチ、VLANなどを学びながら、シミュレーターを使って実際にネットワークを構成できます。

ネットワークを基礎から学びたい方は、ネットワーク講座をご覧ください。

また、pingipなどのLinuxコマンドを操作しながら学びたい方は、Linux入門講座から始めるのがおすすめです。

Linuxとネットワークを学習した後は、AWS講座でVPCやクラウド上のネットワークへ学習範囲を広げることもできます。

問題の答えを暗記するだけではなく、実際に手を動かして仕組みを確認すると知識が定着しやすくなります。

過去問解説まとめ

今回の記事は以下の問題について解説しました。

IPネットワークにおいて,ICMPのエコー要求,エコー応答,到達不能メッセージなどによって,通信相手との接続性を確認するコマンドはどれか。

ア:arp

イ:echo

ウ:ipconfig

エ:ping

答えは、エのpingです。

pingはICMPのEcho RequestとEcho Replyを利用し、通信相手から応答が返ってくるかを確認します。

arpはIPアドレスとMACアドレスの対応、ipconfigはWindowsのIP設定、echoは文字列の表示に使うコマンドです。

試験ではコマンド名を覚えるだけではなく、それぞれ何を確認するためのコマンドなのか理解しておきましょう。

そして、できれば一度自分のPCでpingを実行してみてください。

実際の結果と一緒に覚えると、似た選択肢が出てきても判断しやすくなります。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る