PINGに使用されるプロトコル
1. 序章
Ping(PacketInternetまたはInter-NetworkGroper)は、 network ユーティリティで、ネットワーク上のホストがリモートコンピュータまたはノードに到達できるかどうかを確認します。 Pingでは、AppleTalk、Connectionless Network Service(CLNS)、 IP 、Internetwork Packet Exchange(IPX)、Apollo、VIP(VINES Internetwork Protocol)、Xerox Network Systems(XNS)などのさまざまなプロトコルを使用できます。 )。 このチュートリアルでは、pingで使用されるプロトコルについて説明し、それらのさまざまな側面を探ります。
2. Pingのインターネットプロトコル
ネットワークに使用されるデフォルトのプロトコルは
2.1. ARP
アドレス解決とは、ネットワーク内のコンピューターのアドレスを見つけるプロセスを指します。 PingはARPプロトコルを使用してリモートコンピューターのMACアドレスを識別します。ソースコンピューター(たとえばホスト1)のIPアドレスを含むARP要求がターゲットコンピューター(たとえばホスト2)に送信されると仮定します。 。 ARP要求への応答として、ホスト2はIPアドレスとMACアドレスを使用して応答を送信します。 繰り返しのアドレス解決要求を回避するために、ホスト1は解決されたアドレス(IPおよびMAC)を(短い)期間キャッシュします。
2.2. ICMP
ICMP プロトコルは、pingコマンドの特定のポート番号なしでコードとタイプを提供します。pingユーティリティにはICMPプロトコルへのクライアントインターフェイスが含まれ、エコー要求(タイプ8)とエコー応答(タイプ0)を使用します。 )メッセージ。 ソースマシンからpingコマンドが発行されると、エコー要求パケットがターゲットマシンのIPアドレスに送信されます。このICMPエコー要求は、ターゲットマシンに到達可能かどうかを確認するために生成されます。 ターゲットマシンは、ICMPエコー応答を使用してエコー要求に応答します。 この応答では、pingプログラムは、ターゲットマシンのIPと、送信時間を示すタイムスタンプ値である遅延情報を受け取ります。 IPv4およびIPv6をサポートするために2つのICMPバリアントが利用可能です。
2.3. AppleTalk
Pingは、AEP(AppleTalk Echo Protocol)パケットをターゲットのAppleTalkノードに送信し、応答を待ちます。 以下の返信テキスト形式を確認できます。
2.4. CLNS
リモートCLNSノードのステータスを確認するために、Pingは「pingclns」コマンドを使用しており、以下の応答テキスト形式と説明を確認できます。
3. Pingはどのように機能しますか?
pingの操作は簡単です。コマンドプロンプト「ping」を入力してみましょう。
C:\>ping
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name
Options:
-t Ping the specified host until stopped.
To see statistics and continue - type Control-Break;
To stop - type Control-C.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don't Fragment flag in packet (IPv4-only).
-i TTL Time To Live.
-v TOS Type Of Service (IPv4-only. This setting has been deprecated
and has no effect on the type of service field in the IP
Header).
-r count Record route for count hops (IPv4-only).
-s count Timestamp for count hops (IPv4-only).
-j host-list Loose source route along host-list (IPv4-only).
-k host-list Strict source route along host-list (IPv4-only).
-w timeout Timeout in milliseconds to wait for each reply.
-R Use routing header to test reverse route also (IPv6-only).
Per RFC 5095 the use of this routing header has been
deprecated. Some systems may drop echo requests if
this header is used.
-S srcaddr Source address to use.
-c compartment Routing compartment identifier.
-p Ping a Hyper-V Network Virtualization provider address.
-4 Force using IPv4.
-6 Force using IPv6.
Ping does the following checks:
- ネットワーク上の送信元IPと宛先IPの間に接続があるかどうか。
- 接続の速度(レイテンシー)。
ほとんどの場合、オプションなしでpingコマンドを使用するだけで、ネットワーク内のマシンが到達可能かどうかを確認できます。 ただし、接続の問題の高度なトラブルシューティングには、「オプション」が使用されます。 オプション-f、-v、-r、-s、-j、-kはIPv4をサポートし、-Rおよび-SはIPv6のみをサポートします。 pingコマンドは、いくつかのエコー要求を宛先アドレスに送信し、結果が表示されます。 以下に示すように、応答には、要求ステータス、応答で受信されたバイト数、遅延、パケット損失、ラウンドトリップ時間などの情報が含まれていることがわかります。
C:\>ping www.baeldung.com
Pinging www.baeldung.com [2606:4700:20::681a:c4a] with 32 bytes of data:
Request timed out.
Reply from 2606:4700:20::681a:c4a: time=110ms
Reply from 2606:4700:20::681a:c4a: time=114ms
Reply from 2606:4700:20::681a:c4a: time=107ms
Ping statistics for 2606:4700:20::681a:c4a:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 107ms, Maximum = 114ms, Average = 110ms
4. Pingの使用方法は?
- トラブルシューティング–一連のpingコマンドを使用して、接続の問題を解決し、IPが到達可能かどうかを確認できます。
- デバイス検出– Pingを使用すると、ネットワーク内の接続されたデバイスを検索できます。
- ネットワーク監視-一般的な使用法は、pingの-tオプション(停止するまで)を使用することです。 応答がタイムアウトするか、遅延が長すぎる場合は、システムアクセスに問題があります。
5. 安全保障問題
pingの応答により、オペレーティングシステム、マシンIP、およびMACに関する情報が得られ、セキュリティ上の懸念が生じる可能性があります。 高度なサイバー攻撃者は、この情報を標的のマシンへの悪意のある攻撃に利用する可能性があります。 特定されたネットワークでは、攻撃者はpingを使用して、到達可能で応答しているシステムのリストを取得する可能性があります。セキュリティ違反を回避するために、多くのファイアウォールが信頼できないネットワークからのping要求をブロックします。
6. 結論
この記事では、pingコマンドの背後にある概念とプロトコルについて説明しました。 pingは、ターゲットマシンの接続ステータスと関連するネットワークパラメータを評価するために使用されます。 速度低下、パケット損失、ネットワーク監視などの接続の問題をトラブルシューティングする目的で使用できます。 IPプロトコルに加えて、pingはさまざまなネットワーク問題をデバッグするために他のいくつかのプロトコルを使用できます。