インターネット・プロトコル・スイート
インターネット・プロトコル・スイートとは、インターネットおよび大多数の商用ネットワークで稼動するプロトコル・スタックを実装する通信規約の一式です。インターネット・プロトコル・スイートは、最初に定義された最も重要な2つのプロトコル、Transmission Control Protocol(TCP)とInternet Protocol(IP)にちなんで、TCP/IPプロトコル・スイートとも呼ばれています。今日のIPネットワーキングは、1960年代と1970年代に発展し始めたLAN(Local Area Networks)とインターネットの開発が統合されたものです。それは1989年のティム・バーナーズ=リーによるWorld Wide Webの発明と共にコンピュータに革命をもたらしました。インターネット・プロトコル・スイート(類似した多くのプロトコル群)は、階層の一式として見ることができます。各層はデータ転送に伴い生じる一連の問題を解決し、下位層プロトコルのサービスを使用する上位層プロトコルに明確なサービスを提供します。上位層は利用者と論理的に近く、より理論的なデータを処理します。また最終的に物理的に転送できる形式へデータを変換するため、下位層プロトコルに依存します。
TCP/IPの歴史
インターネット・プロトコル・スイートは、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においては、信頼性についてネットワークが責任を持つ代わりに、ホストが責任を持つようになりました。 (サーフはHubert ZimmermanとLouis Pouzin(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年、スタンフォード大学とユニヴァーシティ・カレッジ・ロンドン(UCL)間で、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の普及を助け、商用利用の増加に繋がりました。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が使われるようになりました。2005年11月9日、アメリカ文化への貢献を称え、カーンとサーフに大統領自由勲章が授与されました。
TCP/IPの階層
IP群はプロトコルとサービスをカプセル化する事によって抽象化します。 通常、より上位層のプロトコルはその目的の達成に役立てるために、より下位層のプロトコルを用います。これまでIETFはインターネット・プロトコル・スタックをRFC 1122で定義された4層から変更した事はありません。 IETFは7層からなるOSI参照モデルに従うような試みはせず、また標準化過程(Standards Track)にあるプロトコル仕様やその他の構造上の文書をOSI参照モデルに対して参照する事もしません。
いくつかの教科書ではインターネット・プロトコル・スイート・モデルを7層のOSI参照モデルへ対応付ける事を試みた事があります。その対応付けは、インターネット・プロトコル・スイートのリンク層を物理層の上のデータリンク層へ、またインターネット層はOSIのネットワーク層へ割り当てられる事が多いです。 それらの教科書はRFC 1122やその他IETFの一次情報の意図と矛盾する二次情報です。 IETFは再三にわたりインターネット・プロトコルと構造の開発はOSIに準拠する事は意図しないという事を述べているいます。 RFC 3439はインターネット構造に関して"Layering Considered Harmful"と題された節が有り、「構造上の重要な要素として階層化を強調するのはTCP/IPの特徴ではなくOSIの特徴である。多くの混乱はある構造の利用を軽視し、OSIのような階層をその構造に強制する試みから来ている。」とされていいます。
TCP/IPの実装
今日、ほとんどの商用および非商用のオペレーティングシステム (OS) に組み込まれ、そして標準でTCP/IPスタックが導入されています。 殆どの利用者は実装するために探す必要はありません。TCP/IPはMicrosoft Windowsはもとより、全ての商用UNIXシステム、 Mac OS X、そしてLinuxディストリビューションやBSDシステムなどの全てのフリーのUNIXライクオペレーティングシステムシステムに組み込まれています。独特な実装には、組み込みシステムのために設計されたオープンソースのプロトコル・スタックであるLightweight TCP/IP、アマチュアパケット無線システムおよびシリアルケーブルで接続されたパーソナルコンピュータのためのプロトコル・スタックおよび関連プロトコルであるKA9Q NOSが有ります。