ネットワーク基礎入門
コンピュータネットワーク
現代ではほとんどのコンピュータは、Webやメール、その他さまざまなサービスを利用するために、外部のネットワークと繋がっていて、日々多くの情報をやり取りしている。
コンピュータネットワークの中でも、全世界をつなぐ最大規模のものがインターネットと呼ばれており、インターネットはTCP/IPプロトコル(通信のための約束事)によって支えられている。

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

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サーバーが直接データをやりとりしているように見える。

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

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

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

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

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

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