現在のインターネットは、1960年代後半から1970年代前半に登場した技術が集まって作られたネットワークである。インターネットの誕生からTCP/IPが普及するまでの歴史を振り返ってみよう。
インターネットの基盤技術の誕生
インターネットの元となったのは、ARPANETと呼ばれるネットワークである。ARPANETは、米国防総省のARPA(Advanced Research Projects Agency、のちにDARPA:Defense Advanced Research Projects Agency に改称)によって研究、開発が進められたパケット交換方式のコンピュータネットワークである。
実際にARPANETが構築されたのは1969年のことで、初期のARPANETは図1の4拠点にBBN社のパケット交換システム「IMP(Intereface Message Processor)」を設置し、専用線で結んだネットワークだった。IMPは後にPSN(Packet Switch Node)と改称される。現在ではIMPまたはPSNと呼ばれる装置はないが、これに相当するのがルータである。また、初期のARPANETの基本プロトコルはNCP(Network Control Protocol)というプロトコルであり、TCP/IPはこの当時まだ登場していない。
このARPANETにおける研究・開発の覚え書きとして登場し、現在ではインターネット標準としての権威が確立されているのが「RFC (Request for Comment)」である。記念すべき最初のRFC1は、IMPとホストコンピュータ間の通信のためにホストコンピュータに備えるべき通信手順であった。
ARPANETが構築された同年、インターネットの普及の鍵となるOSである「UNIX」がAT&T ベル研究所で完成した。その後、1973年にC言語と呼ばれるプラグラミング言語で書き直され、異なるコンピュータへの移植が容易になり学術・研究の分野で広く普及するOSとなった。
翌1974年は、現在のインターネットに関する2つの重要な技術が登場した年である。それが「TCP/IP」と「Ethernet」だ。
TCP/IPは、ヴィントン・サーフ氏とロバート・カーン氏によって発明され、1974年5月のIEEE会報でその仕様が公開された。タイトルは「A Protocol for Packet Network Intercommunication」である。発表された当初のプロトコルはTCPとIPという2つのプロトコルに分かれておらず、TCPという1つのプロトコルであった。
Ethernetは、米ゼロックスのパロアルト研究所(PARC)において、ロバート・メトカーフを中心に発明された。1974年にEthernetの公開実験に成功し、そのあとインテル社とDEC社が開発に加わり、1979年に3社の頭文字を取ったDIX仕様が制定された。このDIX仕様が現在のEthernetで使われている仕様の元となっている。
TCP/IPのRFC文書化とUNIXへの実装
TCP/IPがRFCとして文書化されたのは、1981年9月である。IEEEの会報で公開されたTCPを元に、TCPは「端末間の接続」、IPは「通信経路の選択・転送」に機能分割された。TCP/IPはARPANETの標準プロトコルに採用され、現在のTCP/IPを中核とするプロトコルのスイート(群)が確立した。
TCP/IPを標準実装した最初のOSは、1983年に公開された4.2BSD(Berkeley Software Distribution)と呼ばれるUNIXである。
BSD版UNIXとは、カリフォルニア大学バークレー校が1977年にAT&Tのソースコードを元に「1BSD」を開発し、配布を開始したことに始まる。
BSD版UNIXにTCP/IPが実装されたのは、1978年に配布されたリリース3BSDがDARPAの目に止まり、ARPANETの開発プラットフォームに採用されたという背景がある。DARPAの支援を受け4BSDが開発され、TCP/IPの実装を含む4.2BSDがリリースされたのである。
そして、4.2BSDを搭載したコンピュータを普及させる原動力として忘れてはならないのが、Ethernetである。それまでのARPANETはメインフレームコンピュータを遠くから使うためのものであった。Ethernetの登場によりローカルエリアネットワークという考え方が誕生すると、メインフレームを結ぶ長距離のネットワークに加え、高速な通信ができるローカルエリアネットワークで分散処理をするという研究が広まった。
その結果1980年代に入って、UNIX、TCP/IP、Ethernetの3つが出会い、現在のインターネットの技術基盤となったのである。
(次ページ、「インターネットの爆発的な普及」に続く)
この連載の記事
-
第8回
ネットワーク
HTTP、FTP、SMTP、SIPはどう動くの? -
第7回
ネットワーク
帯域を効率的に利用するTCPの仕組みとは? -
第6回
ネットワーク
TCPのコネクションとはなんですか? -
第5回
ネットワーク
TCPのキモはコネクションとポート番号 -
第4回
ネットワーク
ルータの向こうに広がるネットワーク -
第3回
ネットワーク
特別なIPアドレスって知っていますか? -
第1回
ネットワーク
TCP/IPの基礎の基礎を理解していますか? -
ネットワーク
TCP/IPまるわかり - この連載の一覧へ