インターネット・プロトコル・スイート

概要

インターネット・プロトコル・スイートは、有線、無線などの物理層の違い、イーサネット、モデムによるシリアル通信などの物理層とデータリンク層の違い、異なるコンピュータベンダや、異なるオペレーティングシステム (OS) で相互に通信することを可能にしてきた。通信規約を無料公開しており、BSDやその後のLinuxでソースコードを無料公開していることもあり、オープンシステムの一つである。

歴史

インターネット・プロトコル・スイートの最初期の定義は、G. Delocheが記述し、1969年5月にRFC8として発行された、ARPA Network Functional Specificationsにまで遡ることができる。
インターネット・プロトコル・スイートは、1970年代初期に米国国防高等研究計画局 (DARPA) による研究から登場した。1960年代後半に先駆的なARPANETの構築後、DARPAはその他様々なデータ転送技術における研究を開始した。1972年、ロバート・カーン (Robert E. Kahn) はDARPA情報処理技術室 (IPTO: Information Processing Technology Office) に雇われた。そこで彼は衛星パケット網と地上の無線パケット網の研究に取り組み、それらを横断して通信ができる事の価値を認識した。1973年春、ヴィントン・サーフ（Vinton Cerf。その当時既に完成していたARPANET Network Control Program (NCP) プロトコルの開発者）は、ARPANETの次世代プロトコルを設計する事を目標に、オープン・アーキテクチャ相互接続モデルに取り組むためにカーンと合流した。
1973年の夏までに、カーンとサーフはすぐに基本的な改良を解決した。ネットワーク・プロトコル間の違いは、共通の相互接続ネットワーク・プロトコルを用いる事で隠蔽された。そしてARPANETにおいては、信頼性についてネットワークが責任を持つ代わりに、ホストが責任を持つようになった。サーフはユベール・ジメルマンとルイ・プザン（CYCLADESネットワーク設計者）が、この設計に対して重要な役割を果たした功績を認めている。
ネットワークの役割を最低限まで減らす事で、それらの特性が何であろうとも、ほぼ全てのネットワークを統合できるようになった。それによりカーンの当初の問題も解決した。よく言われる事は、TCP/IP（サーフとカーンの取り組みの最終成果）は「two tin cans and a string」（2つの空き缶と1本の紐、すなわち糸電話）でも機能するだろうという事である。伝書鳩を用いて稼動するための実装案「鳥類キャリアによるIP」さえ存在する。(RFC 1149)
（その他の型のゲートウェイとの混同を避けるためにゲートウェイから改名された）ルーターと呼ばれるコンピュータはそれぞれのネットワークにインタフェースを提供し、ネットワーク間で行き来するパケットを転送する。ルーターに関する必要条件は RFC 1812で定義された。
その着想は1973〜74年度にスタンフォード大学のサーフ ネットワーク研究グループによってより詳細な構造が作り上げられ、最初のTCP/IP仕様 RFC 675を生み出した。（PARC Universal Packet プロトコル群を生み出した、ゼロックス パロアルト研究所における初期のネットワーク研究も、大半が同時期に行われ技術的に重要な影響を与えた。人々はその2つに注目した。）
その後、異なったハードウェア上の実用プロトコルを開発するため、DARPAはBBNテクノロジーズ、スタンフォード大学およびユニヴァーシティ・カレッジ・ロンドンと契約した。4バージョンが開発された。TCP v1、TCP v2、1978年春にはTCP v3とIP v3に分離、そして安定版のTCP/IP v4 - これは今日のインターネットでもまだ使われる標準プロトコルである。
1975年、スタンフォード大学とユニヴァーシティ・カレッジ・ロンドン間で、2拠点のTCP/IP通信試験が実施された。1977年11月、アメリカ、イギリス、ノルウェー間で、3拠点のTCP/IP試験が実施された。1978年から1983年にかけて、複数の研究施設でその他いくつかのTCP/IPの試作が開発された。1983年1月1日、ARPANETはTCP/IPへ完全に切り替えられた。
1982年3月、アメリカ国防総省は全ての軍用コンピュータ網のためにTCP/IP標準を作成した。
1985年、インターネットアーキテクチャ委員会は、コンピュータ産業のために3日間のTCP/IPワークショップを挙行した。250の業者代表が参加し、TCP/IPの普及を助け、商用利用の増加に繋がった。
1994年にLinuxが1.0を公開し、高価だったUNIXの機能のかなりの部分がオープンソースで利用できるようになった。
1995年にWindows 95でTCP/IP, telnet, ftp, ブラウザ等を標準搭載し、一般的な通信として広く使えるようになった。
1999年にはWindows 2000でPOSIXへの対応を始め、TCP/IPを始めUNIXにより近いシステムとして提供している。
2001年 MacintoshのOSであるMac OS XがUNIXを土台としている。
2005年11月9日、アメリカ文化への貢献を称え、カーンとサーフに大統領自由勲章が授与された。

日本における普及

TCP/IPに対応したUnix系OSである4.2BSDは1983年9月に登場している。この時期のUnix系OSは大学機関を中心に発展してきた経緯があるが、1980年代後半には日本の大学でもUnix系OSが用いられているところでは大学内ネットワークにTCP/IPが用いられていた。1988年8月2日、JUNETに大きく関わった村井純によって日本からのインターネットへのTCP/IP接続試験が行われ、その後、日本でもインターネットを取り巻く環境の整備が進むとともにTCP/IPが普及していくことになった。
1989年9月、最初の日本語による解説書である西田竹志著「TCP/IP」が発行された。
1997年3月、全国銀行協会連合会が傘下銀行の企業・銀行相互間のオンラインデータ交換において使用できる新しい標準通信プロトコルとして、全銀TCP/IP手順を制定した。それまで利用されてきた全銀手順に代わり、電子データ交換でもTCP/IPが使われるようになった。
（日本におけるインターネットの歴史については日本のインターネットを参照）

実装

TCP/IP（正確には IP + (TCP or UDP)）は今日、ほとんどの商用および非商用のOSに実装されている。ほとんどのOSの利用者は、TCP/IPを利用するために探したり、自分で実装する必要は無い。ただし、OSを提供していない新しいCPUや、FPGAの上にCPUを設計して新しいOSを作る場合には、TCP/IPを再設計するか、Linux, BSDなどのオープンソースのインターネット・プロトコル・スイートをコンパイルできるようにする場合がある。
特に広く使われている実装はバークレーソケットである。全ての商用UNIX、BSD系のPC-UNIX、BSDに基づいたmacOSはもとより、LinuxなどのUnix系OSや、Unix系でなかったWindowsなどでも参考にしている。
その他の実装には、組込みシステムのために設計されたオープンソースのプロトコル・スタックであるlwIP（en:lwIP）、アマチュア無線のパケット通信で使われているKA9Q（en:KA9Q、KA9Qは開発者Phil Karnのコールサインである）、TOPPERSのASPカーネルなどに搭載可能なTINETなどがある。