LAN上にある2台のサーバーの間で行われるネットワーク通信について解説します!

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を送信した場合の動作についても同じです。

pingの送信
  1. 要求ペイロードの生成
  2. 要求パケットの生成
  3. ARP要求
  4. ARP応答
  5. 要求フレームの生成
  6. 要求ビット列の送信
  7. 要求フレームの確認
  8. 要求フレームの抽出
  9. 要求パケットの抽出
  10. 要求ペイロードの抽出
  11. 応答ペイロードの生成
  12. 応答パケットの生成
  13. 応答フレームの生成
  14. 応答ビット列の送信
  15. 応答フレームの確認
  16. 応答フレームの抽出
  17. 応答パケットの抽出
  18. 応答ペイロードの受信

要求ペイロードの生成

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環境を構築して、ブログ記事にする予定です。
ご期待ください。

面白いと思った方は、クリックして、応援してね!
にほんブログ村 シニア日記ブログへ   にほんブログ村 シニア日記ブログ 60歳代へ