ping にポート番号はありません

スポンサーリンク
TEST

1. ping は ICMPを利用したプログラム

まず ping とはICMPを利用したプログラムの名称です。一方、ポート番号というのは TCP と UDP の2つのプロトコルにある概念です。

下の表を見るとわかりますが ICMP はTCP/IP階層モデルのインターネット層(OSI参照モデルの場合はネットワーク層)に属するプロトコルです。TCP と UDP はその上位であるトランスポート層のプロトコルとなります。

※参考:マスタリングTCP/IP 入門編 2.4.1:TCP/IPとOSI参照モデル

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参照モデルやネットワークの基礎について勉強したい人には下記の本をお勧めしておきます。

コメント