1. ping は ICMPを利用したプログラム
まず ping とはICMPを利用したプログラムの名称です。一方、ポート番号というのは TCP と UDP の2つのプロトコルにある概念です。
下の表を見るとわかりますが ICMP はTCP/IP階層モデルのインターネット層(OSI参照モデルの場合はネットワーク層)に属するプロトコルです。TCP と UDP はその上位であるトランスポート層のプロトコルとなります。
2. ping を打つとは
それでは「ping を打つ」とはどういうことかを考えて見ましょう。ping とは 2つのノードのインターネット層 (OSI参照モデルの場合はネットワーク層) 同士の通信を確認しています。上の図を見るとわかりますが、ping が通るということはOSレベルでの疎通ができていることを意味します。しかしながらTCP/IP レベルの疎通については確認できていません。
3. TCP/IP レベルの疎通確認をするには?
TCP/IPレベルでの疎通を確認するにはトランスポート層レベルの疎通を確認する必要があります。Windows の場合は トランスポート層の疎通を確認するコマンドとして Test-NetConnection が用意されており、このコマンドを使って、TCP/IP レベル の疎通を確認することができます。
※参考:Windowsからポートを指定してpingを打つ
Linux の場合は ncat コマンドでTCP/IP レベル の疎通を確認することができます。
※参考: Linuxからポートを指定してpingを打つ
OSI参照モデルやネットワークの基礎について勉強したい人には下記の本をお勧めしておきます。
コメント