見出し画像

ネットワーク通信に関して

「KubernetesやAWSのALBやNLBを操作していると、L4ロードバランサーL7ロードバランサーといった言葉があちこちに出てきて、だんだん混乱してしまうこと、ありませんか?どのレイヤーが何をしているのか、わかっているつもりでも、使っているうちに『あれ、これどういう違いだったっけ?』と立ち止まってしまうこともありますよね。そこで、今日はこのL4やL7といったネットワークのレイヤーごとの役割について、もっと頭にスッと入ってくるように例え話で整理していきたいと思います。ネットワークのレイヤーに関して、配達プロセスに見立てて解説するので、きっと記憶にも残りやすいはずです!!!

ネットワーク通信では、データが送信されるまでにいくつかの「レイヤー(層)」を経由し、段階ごとに異なる役割が果たされています。今回は、よく耳にするL3(ネットワーク層)、L4(トランスポート層)、L7(アプリケーション層)の役割を、「配達プロセス」に例えてわかりやすく説明していきます。


L3(レイヤー3:ネットワーク層) - 配達ルートの決定

まず、配達員が荷物を受け取ったら、最初に「どの地域に届けるか」を決めます。荷物を届けるためには、まず東京都渋谷区や大阪市北区などの「配達先の町や地域」を把握し、その地域に行くための大まかなルートを決める必要があります。

L3の役割:L3(ネットワーク層)は、IPアドレスという「住所」に基づき、データの送信先をネットワーク全体で把握し、どの地域に届けるべきかを決定します。このようにしてデータが適切なネットワークに到達するルートを決める役割を持っています。

  • :東京都渋谷区にあるネットワークにデータを届ける場合、L3のIPアドレスルーティングによってその地域への大まかなルートが選ばれます。


L4(レイヤー4:トランスポート層) - 建物や部屋への配達

次に、町に到着した配達員は「どの建物、どの部屋に届けるか」を確認します。建物内にはたくさんの部屋があるため、特定の部屋番号まで指定しなければ、荷物がどこに届くかわかりません。例えば、「3階の301号室」といった具体的な部屋番号を元に、建物内の正確な配達先を決めます。

L4の役割:L4(トランスポート層)は、IPアドレスに加えてポート番号(部屋番号のような役割)を使って、特定のアプリケーションやサービスにデータを届けます。これにより、同じ建物(サーバー)内でも、Webサーバーやメールサーバーなど異なるサービスごとに通信を振り分けることができます。

  • :ポート80(HTTP)や443(HTTPS)など、Webサービス用のポートにデータを送信する際には、IPアドレスだけでなくポート番号も利用して正確な配達先(サービス)を指定します。


L7(レイヤー7:アプリケーション層) - 宅配ボックスに入れるか、玄関前に直接届けるか

荷物が建物内の指定された部屋に到着すると、今度は「どのように届けるか」が問題になります。配達ラベルに「宅配ボックスに入れてください」とあればその指示に従い、ボックスに入れる必要があります。また、「玄関に直接置いてください」と書かれていれば、玄関に置くといった最終的な届け方の指定に基づいて対応します。このように、「荷物の内容や特別な指示」に基づいて対応を決めるのがL7の役割です。

L7の役割:L7(アプリケーション層)は、リクエストのパスやヘッダー、クエリパラメータといったデータの詳細内容を見て、最終的にどう処理するかを判断します。特定のパスやクエリが含まれている場合には、キャッシュサーバーに保存する、Webサーバーに直接送るなどの判断が可能です。

  • :`/use-locker` というパスがリクエストに含まれていれば、キャッシュサーバーにデータを保存し、`/deliver-to-door` というパスの場合にはWebサーバーに直接データを送信するといった制御が行われます。


まとめ

  • L3(ネットワーク層):町や地域の配達ルートを決める。IPアドレスに基づき、データの大まかなネットワークエリアを決定。

  • L4(トランスポート層):建物の部屋番号を確認して、どの部屋に届けるかを決める。IPアドレスとポート番号を利用して、データの正確なサービス配達先を指定。

  • L7(アプリケーション層):ラベルの指示に基づき、「宅配ボックスに入れるか玄関前に置くか」など最終的な届け方を判断。リクエスト内容に基づいた詳細な処理を実行。


各レイヤーがそれぞれ異なる役割を果たし、連携しながらデータを効率よく配達する仕組みになっています。データが最適なルートで届けられるように、それぞれの段階で適切な制御が行われることが、ネットワーク通信の効率性と安全性を支えているのです。

いいなと思ったら応援しよう!