はじめに
ネットワークの基礎を学ぶために、Udemyの「ゼロから学ぶネットワーク基礎」を受講しました。
本記事では、この講座で学んだ「通信の流れ」について、自分なりに整理・解釈しながらまとめていきます。
講座概要
- 講座名:ネットワークエンジニアを目指す初心者はここから始めよう!「ゼロから学ぶネットワーク基礎」豊富な図解で徹底解説
- 対象者:ネットワークの基礎を学びたい初学者
- 学べること:IPやEthernetを用いたネットワークの基礎
ネットワークの基礎を一通り学ぶために、動画教材を探していたところ、この講座が多く紹介されていたため受講しました。
通信の仕組みを理解し、メンタルモデルを構築することを目的に受講しました。
そのため、本記事では「通信の流れ」に絞ってまとめていきます。
通信の流れ
送信元ホストから宛先ホストにデータを送信する場合を考えます。
送信元ホストが宛先ホストのIPアドレスをすでに知っていると仮定します。
まず、宛先ホストが同じネットワークにいるのか、それとも異なるネットワークにいるのかを、送信元ホストのIPアドレスとサブネットマスク、および宛先ホストのIPアドレスを使って判断します。
同じネットワークにいるとき
- ヘッダに宛先ホストのIPアドレスを付加
- 前提条件から、宛先ホストのIPアドレスはわかっている
- ヘッダに宛先ホストのMACアドレスを付加
- ARPテーブルを参照
- 記載がなければ、ARPリクエストを送る
- L2スイッチにデータを送信
- フォワーディングデータベースを参照して、宛先ホストのポートを確認
- 記載がなければ、フラッディングを行う
- 宛先ホストにデータが届く
異なるネットワークにいるとき
- ヘッダに宛先ホストのIPアドレスを付加
- 前提条件から、宛先ホストのIPアドレスはわかっている
- ヘッダにデフォルトゲートウェイのMACアドレスを付加
- ARPテーブルを参照
- 記載がなければ、ARPリクエストを送る
- デフォルトゲートウェイにデータを送信
- L2スイッチがフォワーディングデータベースを参照して、デフォルトゲートウェイのポート番号を確認
- 記載がなければ、フラッディングを行う
- デフォルトゲートウェイにデータが届く
- ルーティングテーブルを参照して、次に送信すべきルータを決定
- ルーティングテーブルは、手動or自動で作成されている
- ヘッダに次に送信すべきルータのMACアドレスを付加
- ARPテーブルを参照
- 記載がなければ、ARPリクエストを送る
- データが次のルータに到達
- ステップ6~8を繰り返し、最終的に宛先ホストのネットワークに到着
- 宛先ホストのL2スイッチがフォワーディングデータベースを参照して、宛先ホストのポートを確認
- 記載がなければ、フラッディングを行う
- 宛先ホストにデータが届く
気づいたこと
一見複雑に見えますが、実際には以下のことを繰り返しているだけだと気づきました。
- データベースやテーブルを参照して行き先を決定
- データベースやテーブルに記載がなければ、調べて確認
感想
この講座を通じて、IPやEthernetを用いたネットワーク通信の流れについて、自分なりのメンタルモデルを構築することができたと思います。
今後は、さらに細かい知識も学んでいきたいと思います。