ネットワーク基礎入門

コンピュータネットワーク

現代ではほとんどのコンピュータは、Webやメール、その他さまざまなサービスを利用するために、外部のネットワークと繋がっていて、日々多くの情報をやり取りしている。

コンピュータネットワークの中でも、全世界をつなぐ最大規模のものがインターネットと呼ばれており、インターネットはTCP/IPプロトコル(通信のための約束事)によって支えられている。

Notion Image

ネットワーク内でサービスを提供する側のコンピュータをサーバー、サービスを受け取る側のコンピュータをクライアントと呼ぶ。

Notion Image

TCP/IPの階層モデル

TCP/IPの階層モデルは、TCP/IPプロトコル群をその役割に応じて階層構造で整理したモデル。アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層の4階層から成る。

階層役割代表的なプロトコル
アプリケーション層ユーザーにアプリケーションを提供する役割を担う層。ユーザーの要求に応じて生成されたデータをトランスポート層に引き渡す。HTTP、HTTPS、POP3、SMTP、FTP、Telnet、SSH、SMB、DHCP、DNS
トランスポート層データ伝送の信頼性と効率性を担う層。ポート番号でプログラムを識別し、アプリケーション層から送られて来たデータを送りやすいサイズに分割する。また必要に応じて、エラー検出、再送、フロー制御などの処理も行う。TCP、UDP
インターネット層宛先のコンピュータにデータを届ける役割を担う層。IPアドレスを手がかりに異なるネットワークを経由して、正確な目的地にデータを送信するためのルーティングを行う。IP、ICMP、ARP
ネットワークインターフェース層物理的なデータ転送を担う層。物理的な媒体(イーサネットケーブル、光ファイバー、無線など)を経由して直接繋がっている機器までデータを届けるために、データを物理的な信号に変換する。イーサネット、PPP、WiFi

Webページの表示を例に各層の働きを見てみよう。

アプリケーション層

アプリケーケーション層はユーザーにアプリケーション(サービス)を提供する役割を担う。Webページの表示の場合、WebブラウザとWebサーバーがアプリケーケーション層にあたり、URLと対応するWebページのデータをやりとりする。WebブラウザとWebサーバーは他の階層の処理を知っている必要はなく、ユーザーから見るとWebブラウザとWebサーバーが直接データをやりとりしているように見える。

Notion Image

トランスポート層

トランスポート層はデータ伝送の信頼性と効率性を担う。アプリケーション層から受け取ったデータを送りやすいサイズに分割し、宛先のWebサーバーのポート番号情報を付与する。また必要に応じて、エラー検出、再送、フロー制御などの処理も行う。

Notion Image

インターネット層

インターネット層は宛先のコンピュータにデータを届ける役割を担う。宛先のサーバーのIPアドレス情報を付与し、ルーターを経由してデータを届ける。

Notion Image

ネットワークインターフェース層

ネットワークインターフェース層は物理的なデータ転送を担う。隣の機器に届けるためのMACアドレス情報を付与し、データを物理的な信号に変換して送り出す。

Notion Image

階層モデルの全体像

TCP/IPの階層モデルの全体像は以下のようになる。

Notion Image

ネットワークに限らず高度に分業が進んだものは階層モデルで表現できる。例として郵便を階層モデルで表現したものを以下に示す。

Notion Image

TCP/IPの階層モデルの各階層が他の階層の処理を知っている必要はなかったのと同様に、ユーザーは手紙をポストに投函した後にどのような方法で宛先の相手に届けられるのかを知っている必要はなく、郵便局員は手紙に何が書かれているのかを知っている必要はない。

参考資料


著者画像

ゆうき

2018/04からITエンジニアとして活動、2021/11から独立。主な使用言語はPython, TypeScript, SAS, etc.