読み方 : ティーシーピーアイピースタック

TCP/IPスタック【TCP/IP stack】

概要

TCP/IPスタックとは、インターネットなどでIP通信を実現するプロトコル群を階層構造として実装したソフトウェア群。通常はオペレーティングシステム(OS)に組み込まれており、あらゆるネットワーク通信の基盤として機能する。

TCP/IP階層モデル

スタック」(stack)とは「積み重ね」を意味する用語で、TCP/IPの通信モデルが複数の階層(レイヤー)を積み重ねた構造を持つことに由来する。一般に、リンク層インターネット層トランスポート層アプリケーション層という4つの層で構成される。それぞれの層が独立した役割を担い、上位層は下位層の機能を利用しながら通信処理を進める。

各層の役割を簡単に整理すると、リンク層はケーブルや無線といった物理的な伝送媒体を通じたデータの送受信を担う。インターネット層は中核となる「IP」(Internet Protocol)の層で、IPアドレスを用いたパケット経路制御が行われる。トランスポート層ではTCPUDPによって機器間のデータ転送を管理し、アプリケーション層ではHTTPDNSSMTPといった個別のアプリケーションやサービスに固有のプロトコルが動作する。

データを送信する際、アプリケーションが生成したデータは上位層から下位層へと順に渡され、各層で制御情報(ヘッダ)が付加されていく。この処理を「カプセル化」と呼ぶ。受信側では逆に下位層から上位層へとヘッダが取り除かれ、最終的にアプリケーションへデータが届く。

TCP/IPスタックの役割

TCP/IPスタックはこうした各層のプロトコルの仕組みを実装したソフトウェア部品を一つにまとめたもので、WindowsやmacOS、Linuxなど主要なOSには基本的なプロトコル群が標準実装されている。開発者はソケットAPIを通じてその機能を利用することで、個別に通信処理の実装を行わなくてもアプリケーションを開発できる。

なお、一般的なTCP/IPスタックとして提供されるのはトランスポート層プロトコルまでで、アプリケーション固有のプロトコルについてはアプリケーション側に実装される。例えば、電子メールの送受信に必要なSMTPPOP3IMAP4などはTCP/IPスタックとしては提供されず、メールサーバメールクライアントは自前で実装する必要がある。ただし、システム側で利用するDHCPDNSNTP、および、様々な用途やアプリケーションで必要となるやHTTPHTTPSを含む)については標準の実装をOS側が提供することが多い。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。