
2台の仮想マシンをLANで接続し、ping通信を行いました。
仮想環境なので、何がどうなっているのか、理解できないと、意味がないので、図で説明します。
実機環境でも同じなので、参考にしてください。
構成図
仮想マシン「CentOS9-Ser」と仮想マシン「CentOS9-Cli」を接続した以下の環境で説明します。
その他の環境でも同じです。
プロトコルとインターフェース
ネットワーク通信では、プロトコルとインターフェースを使用して行います。
赤い矢印がプロトコルで、紫の矢印がインターフェースです。
ネットワーク通信を行うためには、同じプロトコルを使用しなければなりません。
仮想マシンの設定
仮想マシン「CentOS9-Ser」の設定
インターフェース名 | enp0s8 |
---|---|
IPアドレス | 10.0.0.101 |
ネットマスク | 255.255.255.0 |
仮想マシン「CentOS9-Cli」の設定
インターフェース名 | enp0s8 |
---|---|
IPアドレス | 10.0.0.102 |
ネットマスク | 255.255.255.0 |
pingの送信
仮想マシン「CentOS9-Ser」から仮想マシン「CentOS9-Cli」へpingを、以下のコマンドで送信した場合の動作について説明します。
$ ping -c 1 10.0.0.102
仮想マシン「CentOS9-Cli」から仮想マシン「CentOS9-Ser」へpingを送信した場合の動作についても同じです。
要求ペイロードの生成
ICMPがエコー要求ペイロード(データフィールドは文字)を生成します。
要求パケットの生成
ICMPは生成したエコー要求ペイロードからエコー要求パケットを生成し、IPに渡します。
ARP要求
IPはARPと協調動作し、宛先IPアドレスが、ローカルネットワーク上にあるかと判断し、ARPキャッシュがチェックされ、宛先IPアドレスに対するMACアドレスがないので、ARPブロードキャストが、宛先IPアドレスのMACアドレスを捜すために送信されます。
ARP応答
宛先IPアドレスの仮想マシンは、送信元のIPアドレスとMACアドレスをARPキャッシュに格納し、宛先IPアドレスに対するMACアドレスを格納し、応答します。
要求フレームの生成
IPは、MACアドレスを得ると、要求フレームが生成され、物理層に渡されます。
要求ビット列の送信
物理層は、要求フレームをビット列に変換し、1ビットずつ送信します。
要求フレームの確認
物理層は、CRCでアンサー値を計算し、フレーム内のアンサー値と比較し、フレームが壊れていないことを確認します。
物理層は、宛先MACアドレスをチェックし、受信するべき要求フレームであることを確認します。
要求フレームの抽出
物理層は、ビット列を受信し、要求フレームに変換し、IPに渡します。
要求パケットの抽出
IPは、要求フレームから、要求パケットを抽出し、ICMPへ渡します。
要求ペイロードの抽出
ICMPは、要求パケットから要求ペイロードを抽出します。
応答ペイロードの生成
ICMPは、応答ペイロードの生成します。
応答パケットの生成
ICMPは、応答ペイロードから、応答パケットを生成し、IPへ渡します。
応答フレームの生成
IPは、ARPキャッシュがチェックして、宛先IPアドレスに対するMACアドレスがあるので、応答パケットから応答フレームを生成し、物理層に渡します。
応答ビット列の送信
物理層は、応答フレームをビット列に変換し、1ビットずつ送信します。
応答フレームの確認
物理層は、CRCでアンサー値を計算し、フレーム内のアンサー値と比較し、フレームが壊れていないことを確認します。
物理層は、宛先MACアドレスをチェックし、受信するべき応答フレームであることを確認します。
応答フレームの変換
物理層は、ビット列を受信し、応答フレームに変換し、IPに渡します。
応答パケットの抽出
IPは、応答フレームから応答パケットの抽出し、ICMPへ渡します。
応答ペイロードの抽出
ICMPは、応答パケットから応答ペイロードを抽出します。
応答ペイロードの受信
ICMPは、応答ペイロードを受信し、ネットワーク通信が成功したことを確認します。
まとめ
最も簡単なネットワークで、詳細にネットワーク通信について、説明しました。
複雑なネットワークでも基本的な考え方は、ほぼ同じです。
この最も簡単なネットワークで、ネットワーク通信を理解できると、IT関連について、理解できるようになります。
分からない単語が、多く分かりにくいかもしれません。
インターフェースという単語が、別の意味で使用されるので、少し混乱したかもしれません。
IT関連では、同じ単語を別の意味で使用することが多く、前後の文脈で意味を理解するしかありません。
次は、ゲストOSのCentOS Stream 9にLAMP環境を構築して、ブログ記事にする予定です。
ご期待ください。