tcp/ip4階層モデル

TCP/IPとは

はじめに

この記事は下記の参考資料を元にした筆者の解釈の記述です。

正確さについては保証されませんので詳しくは下記の参考元をご参照ください。

基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版

TCP/IP 4階層モデルとは?

TCP/IPという言葉

TCP/IPはインターネットワーキングを実現するための仕組みのことだが、TCP/IPという言葉が使われる時は以下の三つのうちのどれかを意味していることが多い。

プロトコルの名前

  • TCP
    • Transmission Control Protocol
  • IP
    • Internet Protocol

インターネットを動かす通信技術をまとめた呼称

TCP/IP Protocol Suiteの意味。

前述のTCPとIPに加え下記のプロトコル群が含まれる。 TCP/IPの意味として最も一般的。

  • UDP
    • User Datagram Protocol
  • ICMP
    • Internet Control Message Protocol
  • ARP
    • Address Resolution Protocol

Protocol Stack としてのTCP/IP

プロトコル群の機能を実現するための実装のことをプロトコルスタックと呼ぶ。

TCP/IPの機能を実現するプロトコルスタックを単にTCP/IPと呼ぶこともある。

以下はこの意味でTCP/IPという言葉を使用する。

TCP/IP 4階層モデル

OSI参照モデルとの違い

osi参照モデルは7階層に別れたインターネットワーキングのためのモデルである。

ISOが定めた。

TCP/IPOSI参照モデルよりも2年ほど早く使われ始め、広く普及されていたためOSI参照モデルが実際に使われる機会が少なくなってしまった。

アプリケーション層

データを利用するアプリケーションの間でのデータのプロトコルを定める。

HTTPなど。

トランスポート層

UDPTCPがこの階層に相当する。

ここではポート番号などの情報を読み取って正しくアプリケーション層へデータを渡すなどの役割がある。

インターネット層

IPはこの階層のプロトコル

複数のネットワークが互いに接続された環境でデバイス間のデータ送信を実現している。

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

ハードウェアが通信を実現するための層。

イーサネットwifiなどがこの層のプロトコルを利用している。

通信の階層化とプロトコルスタック

4階層で別れているそれぞれのプロトコルはそれを扱うそれぞれのソフトウェアによって対応されるようになっている。

これらのうちアプリケーション層はアプリケーションソフトウェアによって実現され、ネットワークインターフェイス層はそれを扱うハードウェア内に実装されている。

トランスポート層TCPとIPについては現在利用されているほとんどのOS内にそれを扱うためのソフトウェアが実装されている。

TCP/IPの利用

TCP/IPはインターネットだけで利用されている訳ではない。

企業や学校などある特定の範囲のみを結ぶネットワークのことをイントラネットと呼ぶがこれにみTCP/IPが使用されている。

また、限定されたコンピューター同士をつなぐネットワークはエクストラネットと呼ばれこれはVPN(Virtual Private Network)として排他的に構築されるがこのようなネットワークにもTCP/IPが利用されている。

そのほかにもネットワークとして機能している様々な分野の技術でTCP/IPが応用されている。

TCP/IPを定める人

TCP/IPはIETE(Internet Engineering Task Force)と呼ばれる標準化団体によって策定されている。IETEは特定の企業等ではなく、全世界の様々な企業や学校などが参加している。

また、その情報はRFC(Request For Comments)として公開されている。

ソフトウェアとしてのTCP/IP

ネットワークを利用するためには言うまでもなくパソコンなどのハードウェアが必要になるが、それがあるだけでは不十分である。

パソコン自体にネットワークに繋がる仕組みがあったとしてもそれを実現するためにはソフトウェアが必要になる。

そのソフトウェアがTCP/IPであると言うこともできる。

物理的な接続/論理的な接続

コンピュータ同士をケーブルで物理的に接続すれば物理的な接続を実現することができる。

ただし、物理的に接続しただけではそこを通るデータに意味を持たせることはできない。それらを解釈することができて初めて意味があり、論理的な接続が実現できたことになる。

パケット

TCP/IPはパケット(packet)と呼ばれるものを交換するためのプロトコルである。

パケットはpackage(郵便物)に例えることができる。

パケットにはヘッダとペイロードに分けることができ、ヘッダには届け先が書かれたものであり、ペイロードには実際の荷物に相当する。

元が大きなデータであったとしても、パケットの単位で区切られて小分けにされて届け先まで届けることができる。

パケット交換方式

データをパケットの単位で送信する方法はパケット交換方式と呼ばれている。

パケット交換方式の利点は限られた回線を複数のコンピュータで共有できる点である。

一つ一つのパケットが独立して意味を持つためそれらがバラバラに一斉に回線を流れていっても破綻することがなく送信先で意味をなすことができる。

これにより少ない回線を有効利用することができ、物理的なインフラのコストを抑えることができる優れた方式であった。

アドレス

ネットワークに接続できる端末はアドレスを持っている。

これらの識別子は機器を特定し送り先を特定するために使用される。

ネットワーク技術を支えるコンピュータの基礎

TCP/IPでのハードウェアとソフトウェア

ネットワークに使用されるハードウェアには接続のためのケーブルやNIC(ネットワークカード)などがある。あるいは接続に使用するコンピュータそのものも含まれる。

対してネットワークソフトウェアは大まかに下記の三つに分けられる。

  • ネットワークアプリケーション
  • ネットワークOS
  • ネットワークハードウェア

ネットワークOSとはネットワークに使用する機器を制御する機能を備えたOSのことである。

現在のほとんどのOSはこの機能を持っている。

ネットワークアプリケーションはwebブラウザメーラーなどネットワークを使用するプログラムのことである。

このようにネットワークの技術は階層に別れていてそれらが組み合わされることで実現されているが、それらの部分部分のことをモジュールと呼ぶ。

それぞれのモジュールは交換可能になっており目的によって最適なモジュールを使い分けることができるようになっている。

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

コンピュータ内ではCPUを中心に周辺機器がバスと呼ばれる通り道で繋がれている。

CPUからそれぞれのデバイスにアクセスするためにそれらに固有のアドレスが割り振られている。

外のネットワークに接続するためのNICのそれらのデバイスのうちの一つである。