ネットワークの歴史

コンピュータ通信の始まり

コンピュータネットワークの歴史は、1960年代にコンピュータを遠隔から利用する必要が高まったことから始まる。当時のコンピュータは大型で高価であり、利用者がそれぞれの場所に大型コンピュータを設置することは現実的ではなかった。そのため、端末から遠隔地のコンピュータへ接続し、計算資源やデータを共有する技術が求められた。

当時の通信インフラとしては電話網が広く利用されていた。電話網は通信開始時に送信者と受信者の間の回線を確保する回線交換方式を基本としていた。しかし、コンピュータ通信では、利用者が入力するときだけデータが発生し、計算結果を受け取るまで通信が停止するなど、通信量が断続的に変化する。そのため、通信していない時間にも回線を占有する回線交換方式は、コンピュータ同士を効率的に接続する方法としては制約が大きかった。

そこで1960年代に研究が進んだのがパケット交換である。米国のPaul Baranと英国のDonald Daviesが、それぞれ独立にこの概念を提案した。パケット交換では、送信するデータを小さなパケットに分割し、それぞれに宛先情報を付けてネットワークへ送り出す。回線を特定の通信だけで占有するのではなく、多数の通信が同じ通信設備を共有できるため、断続的なコンピュータ通信に適していた。

この発想は、後のインターネットを構成する基本原理となった。重要なのは、通信回線そのものを一つの巨大な回路として扱うのではなく、通信データをパケットとして扱い、ネットワーク内部で個々のパケットを転送するという考え方である。

ARPANETの登場

1969年、米国のARPA(Advanced Research Projects Agency)によってARPANETの運用が始まった。ARPANETは、研究機関にあるコンピュータを通信ネットワークで結び、コンピュータ資源を共同利用することを目的とした研究ネットワークであった。

ARPANETの重要性は、単にコンピュータを数台接続したことにあるのではない。複数の場所にあるコンピュータをネットワークで接続し、遠隔の計算機を利用したり、ファイルを転送したり、電子メールを交換したりするという、現在のネットワーク利用につながる形態が実際に運用された点にある。

ARPANETでは、ホストコンピュータを直接相互接続するのではなく、IMP(Interface Message Processor)と呼ばれる中継装置を介して通信した。IMPはBBN(Bolt Beranek and Newman)社によって開発され、現在のルータに近い役割を担う装置であり、パケット交換ネットワークを実際のコンピュータ通信に適用した。

ネットワークをネットワークとして接続する必要性

1970年代になると、ネットワークそのものが増加し、問題の性質が変化した。

ARPANETだけを一つのネットワークとして運用するのであれば、そのネットワーク専用の通信規約を定めればよい。しかし、衛星通信網、無線ネットワーク、異なる方式のパケット交換網などが登場すると、それぞれのネットワークを相互に接続する必要が生じた。

ここで問題となったのは、異なるネットワークの内部方式を一つに統一することではなく、異なるネットワークを越えてコンピュータ同士を通信させる方法であった。

この課題に対応するため、1973年にDARPAでInternetting Projectが開始された。この研究を主導したのがVinton CerfとRobert Kahnであり、二人は1974年に発表した論文でTCP/IPの原型となる設計を示した。そこで開発されたのがTCP/IPである。

TCP/IPの成立

TCP/IPの設計では、ネットワーク内部の技術とネットワーク間の通信を分離する考え方が重要であった。

例えば、あるネットワークがEthernetを使い、別のネットワークが衛星通信を使っていても、その違いをコンピュータのアプリケーションから意識させない。そのために、ネットワーク間を共通のIPによって接続し、その上でTCPなどのトランスポートプロトコルを利用する。

1970年代後半にはTCP/IPによって異なるネットワークを接続する実験が行われ、1980年には米国国防分野の標準としてTCP/IPが採用された。そして1983年1月1日、ARPANETは従来のNCPからTCP/IPへ移行した。

この移行によって、ARPANETは単独のネットワークという位置づけから、他のネットワークと相互接続するインターネットワークの一部へと変化した。ここに、現在のInternetにつながる構造が成立した。

IPが解決した問題

IP(Internet Protocol)が解決したのは、異なるネットワークを越えてパケットを届ける問題である。

IPでは、通信相手をIPアドレスによって識別し、ルータが宛先ネットワークに向けてパケットを転送する。途中にあるネットワークの物理的な通信方式が異なっていても、IPパケットとして扱える限り、ネットワークをまたいで通信できる。

ここでIPは、通信そのものを完全に保証するプロトコルではない。パケットが失われても、IP自身が再送するわけではない。IPは「どの相手へ、どのようにパケットを転送するか」というネットワーク層の問題を担当し、通信の信頼性などは上位のプロトコルに委ねる。

この役割分担が、インターネットを大規模化するうえで重要になった。

OSI参照モデルとTCP/IPの層構造

TCP/IPが実験・実用化されていたのとほぼ同じ時期、国際標準化機構(ISO)はOSI参照モデルという7階層のネットワークモデルを策定していた。物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層という区分で通信を整理し、各国の標準化団体や通信事業者から広く支持された。

しかし、OSIに基づくプロトコル群は仕様の完成と実装が遅れた一方、TCP/IPはすでにARPANETで実際に動作し、拡張を重ねていた。1980年代から1990年代にかけて両陣営が並行して普及を試みたが、最終的にネットワークの実用規格として定着したのはTCP/IPであり、OSIのプロトコル自体は一部(X.25など)を除いてほとんど利用されなかった。

その一方で、OSIの7階層という概念的な整理の枠組みだけは教育・説明用のモデルとして定着した。実際のインターネットが採用しているのは、リンク層・インターネット層・トランスポート層・アプリケーション層という、より単純な4層構造(TCP/IPモデル)である。両者はおおむね次のように対応する。

  • 物理層・データリンク層 → TCP/IPモデルのリンク層(Ethernet、Wi-Fiなど)
  • ネットワーク層 → インターネット層(IP)
  • トランスポート層 → トランスポート層(TCP、UDP、QUIC)
  • セッション層・プレゼンテーション層・アプリケーション層 → アプリケーション層(DNS、HTTP、MCP、A2Aなど)

したがって、規格として勝敗が決したのはTCP/IPだが、通信の役割を層として整理して説明する語彙は、OSI参照モデル由来のものが今も使われ続けている。

IPv4とアドレス空間

TCP/IPが実用化された時代のIPはIPv4である。IPv4のアドレスは32ビットであり、理論上約43億個のアドレスを扱える。

1980年代にはこの数は十分に大きいと考えられていたが、大学、研究機関、企業、一般家庭へとインターネットが拡大すると、世界中の機器にグローバルなIPv4アドレスを割り当てることが困難になった。

この問題に対して、CIDR(1990年代)、プライベートアドレス、NATなどの技術が導入された。特にNATによって、家庭や企業の内部では一つのグローバルIPv4アドレスを多数の端末で共有できるようになった。

しかしNATはIPv4アドレス不足を根本的に解決するものではない。そこで、より大きなアドレス空間を持つIPv6が開発された。

TCPが解決した問題

IPだけでは、パケットが相手に届いたか、正しい順番で届いたかを保証できない。そこで必要になったのがTCP(Transmission Control Protocol)である。

TCPは1981年にRFC 793として仕様化された。TCPはIPの上に位置し、アプリケーションに対して信頼性のある通信を提供する。

TCPでは、送信したデータにシーケンス番号を付け、受信側から確認応答を受け取る。途中でデータが失われた場合には再送する。また、受信側が処理できる量を超えないようにフロー制御を行い、ネットワークが混雑すると送信量を抑制する輻輳制御も行う。

これによって、アプリケーションは個々のパケットの損失や順序を自分で管理する必要がなくなった。Web、電子メール、ファイル転送など、正確なデータ転送を必要とする多くのアプリケーションがTCPを利用するようになった。

UDPが必要になった背景

TCPは多くの機能を提供する一方で、すべての通信にTCPの機能が必要だったわけではない。

そこで1980年に仕様化されたのがUDP(User Datagram Protocol)である。UDPは接続確立、再送、順序保証などを基本的には提供せず、IP上でデータグラムを送るための最小限の仕組みを提供する。

これは、アプリケーションが独自に通信制御を行いたい場合や、多少のパケット損失よりも通信の即時性を重視する場合に適していた。DNSなどの通信にも利用され、後には音声、映像、オンラインゲームなどにも利用されるようになった。

そして後に、UDPを下位の配送手段として利用しながら、TCPとは異なる高度な通信機能を実装するQUICが登場することになる。

LANとEthernetの普及

広域ネットワークが発展する一方で、オフィスや大学などの建物内でも多数のコンピュータを接続する必要が生じた。

1970年代に登場したEthernetは、LANを構築するための代表的な技術となった。当初は一つの通信媒体を複数のコンピュータが共有する方式であったが、1990年代以降はスイッチを中心とした構成が一般化した。

これによって、パソコン、サーバ、プリンタなどを高速に接続できるようになった。TCP/IPはこのLANの上でも利用されるため、企業や大学の内部ネットワークとインターネットを同じIP体系で接続できるようになった。

つまり、インターネットの発展は広域ネットワークだけの発展ではなく、EthernetなどのLAN技術の普及によって末端のコンピュータが大量にネットワークへ接続されたこととも密接に関係している。

DNSの登場

ネットワークに接続されるコンピュータが増えると、利用者がIPアドレスを直接指定する方式には限界があった。

そこで1983年にDNS(Domain Name System)が登場した。DNSは、人間が扱いやすいドメイン名とIPアドレスなどを対応付ける。

例えば利用者はサーバの数値的なIPアドレスを覚える必要がなく、ドメイン名を指定できる。DNSはその名前を階層的に管理し、必要なIPアドレスを問い合わせる。

これによって、ネットワーク上の機器を「番号」だけでなく「名前」によって利用できるようになった。後のWebの普及においても、DNSは重要な基盤となった。

NSFNETとインターネットの拡大

1980年代半ばになると、インターネット技術を研究機関だけでなく、より広い大学・研究コミュニティへ提供する必要が生じた。

米国国立科学財団(NSF)は1986年にNSFNETを開始した。NSFNETは大学や研究機関を接続する大規模なネットワークとして発展し、TCP/IPを利用するネットワークの拡大に大きく寄与した。

NSFNETの発展によって、インターネットはARPANETを中心とする一つの研究ネットワークから、多数のネットワークが相互接続する「ネットワークのネットワーク」へと変化した。

1990年代になると商用ISPが急速に成長し、1995年にはNSFNETのバックボーンとしての役割が終了した。これ以後、インターネットの主要な通信基盤は、民間の通信事業者やISPが運営するネットワークによって構成されるようになった。

World Wide Webが登場した背景

インターネットが研究機関の間で広がっても、一般の利用者が簡単に情報を探して読むための仕組みはまだ存在しなかった。

CERNでは、世界各地の研究者が情報や文書を共有していたが、異なるコンピュータや文書を相互に参照することには不便があった。

そこで1989年、CERNのティム・バーナーズ=リーが、ネットワーク上の文書をハイパーテキストによって相互にリンクする仕組みを提案した。これがWorld Wide Webである。

1990年末までに、HTML、HTTP、URLという基本要素が整えられ、最初のWebサーバとブラウザがCERNで動作した。1991年にはWebソフトウェアが外部へ公開され、1993年にはCERNがWebソフトウェアをパブリックドメインに置いた。同年にはMosaicブラウザも登場し、Webの普及が急速に進んだ。

Webが重要だったのは、インターネットそのものを新しく作ったからではない。すでに存在していたTCP/IPネットワークを、一般利用者が情報システムとして利用できる形にしたからである。

Webから商用インターネットへ

1990年代半ばになると、Webブラウザを利用してニュース、企業情報、検索、電子商取引などを利用する人が急増した。

これによってインターネットの用途は、電子メールやファイル転送、遠隔ログインを中心とする研究者向け通信から、情報公開、広告、商取引、コミュニケーションなどを含む一般的な情報基盤へと拡大した。

Webサーバ側にも変化が起きた。単純な静的HTMLファイルを返すだけでなく、データベースと連携して利用者ごとに異なる情報を生成するWebアプリケーションが普及した。

ここから、ネットワークは単なる「コンピュータ間の通信路」ではなく、「サービスを提供する基盤」へと性格を変えていった。

ブロードバンドの普及

1990年代後半から2000年代にかけて、インターネット接続は電話回線を利用するダイヤルアップ接続から、ADSL、ケーブル、光ファイバーなどのブロードバンド接続へ移行した。

通信速度が大幅に向上すると、Webページだけでなく画像、音声、動画など大量のデータをネットワーク経由で提供できるようになった。

この変化によって、ストリーミング、動画共有、オンラインゲームなど、従来より大量のデータ転送を必要とするサービスが普及した。

Wi-Fiと無線LAN

同じ時期に、IEEE 802.11を基盤とするWi-Fiも普及した。

それ以前のLANでは、コンピュータをEthernetケーブルで接続することが基本であった。しかしノートパソコンやモバイル端末が増えると、利用者が移動しながらネットワークを利用できることが重要になった。

Wi-FiはEthernetと同じようにデータリンク層の通信を担い、その上でIPを利用できる。これによって、利用者は物理的なケーブルを意識せず、LANからインターネットへ接続できるようになった。

IPv6の登場

IPv4アドレス不足が明確になると、1990年代にIPv6の標準化が進んだ。

IPv6ではIPアドレスを128ビットへ拡張した。これはIPv4の32ビットに比べて圧倒的に大きなアドレス空間であり、膨大な数の端末を直接識別できる。

IPv6の普及には時間がかかっている。既存のIPv4インターネットを一度に置き換えることはできないため、現在もIPv4とIPv6が並行して利用されている。

IPv6への移行は、単なるアドレス数の増加ではなく、インターネットに接続される機器がパソコンだけでなく、携帯端末、家電、センサーなどへ拡大することを前提としたネットワーク基盤の拡張でもあった。

モバイルネットワーク

携帯電話網もネットワークの歴史を大きく変えた。

1990年代の2Gでは音声通信を中心としていたが、1990年代後半から2000年代にかけて3Gによるデータ通信が普及し、携帯電話からインターネットを利用することが一般化した。

2000年代後半にはスマートフォンが普及し、Web、電子メール、地図、動画、SNSなどを常時ネットワークへ接続した状態で利用する形態が広がった。

4Gではパケット通信を中心とするネットワークが発展し、さらに5Gでは高速通信だけでなく、多数の端末を接続するIoTや低遅延通信などが重視されるようになった。

この結果、ネットワークは「コンピュータを設置した場所で利用するもの」から、「人や機器が常時接続するもの」へ変化した。

CDNとデータセンター

Webや動画サービスの利用者が世界中に増えると、一つのサーバからすべての利用者へデータを送る方式には限界が生じた。

そこで1990年代末からCDN(Content Delivery Network)が発展した。CDNでは、コンテンツを利用者に近い複数の拠点へ配置し、要求されたデータを近い拠点から配信する。

これによって通信距離を短縮し、特定のサーバや回線への負荷を分散できる。

同時に、大規模なデータセンターが発展した。Webサービスを多数のサーバで構成し、負荷分散や冗長化によって大量の利用者を処理する構成が一般化した。

仮想化とクラウド

2000年代になると、サーバを物理的なコンピュータ単位で管理する方式にも変化が起きた。

仮想化技術によって、一台の物理サーバ上で複数の仮想マシンを動作させることが可能になった。これによって、CPU、メモリ、ストレージ、ネットワークなどの資源を柔軟に分割して利用できるようになった。

この技術を大規模なデータセンターへ適用したものがクラウドコンピューティングである。

クラウドでは、利用者が物理サーバを直接管理するのではなく、必要な計算資源、ストレージ、ネットワークなどをサービスとして利用する。ネットワークは、単にサーバ同士を接続する設備ではなく、計算資源そのものを動的に組み合わせるための基盤となった。

SDNとネットワークのソフトウェア化

仮想化されたデータセンターでは、サーバだけでなくネットワークも動的に変更する必要が生じた。

従来のネットワークでは、ルータやスイッチを個別に設定することが多かった。しかしクラウドでは、仮想マシンの作成や削除に応じてネットワーク設定も頻繁に変化する。

そこで2000年代後半からSDN(Software-Defined Networking)が発展した。SDNでは、ネットワークの転送処理と制御を分離し、ソフトウェアによってネットワーク全体を制御する考え方が重視される。

これによって、ネットワークもサーバと同じようにプログラムによって構成・変更できるインフラへと変化した。

コンテナとサービス間通信

2010年代になるとコンテナ技術が普及し、アプリケーションを小さな実行単位に分割して配置する方式が一般化した。

特にマイクロサービスでは、一つの巨大なアプリケーションを多数のサービスへ分割し、それぞれがネットワークを介して通信する。

このため、ネットワーク通信の中心は「利用者と一台のサーバ」だけではなく、「サービスとサービス」へ広がった。

サービスディスカバリ、ロードバランシング、APIゲートウェイ、サービスメッシュなどは、このような多数のサービス間通信を管理するために発展した。

APIとサービス指向の通信

Webが普及すると、WebブラウザだけでなくプログラムからWebサービスを利用する必要が生じた。

そこでHTTPを利用したAPIが広く普及した。REST APIでは、HTTPのGET、POST、PUT、DELETEなどを利用してリソースを操作し、JSONなどの形式でデータを交換する。

その後、gRPCなどのRPC技術も普及し、サービス間通信では、人間が読むHTMLではなく、機械が直接処理する構造化データが中心になった。

この変化は、後のクラウドサービスやAIサービスにもつながっている。

QUICとHTTP/3

Webサービスが高速化すると、TCPにも新たな課題が見えてきた。

TCPでは、パケット損失や接続確立などが通信性能に影響する。また、HTTP/2で複数のストリームを一つのTCP接続に多重化すると、一部のパケット損失が他のストリームにも影響する問題があった。

そこでGoogleなどによって研究されたSPDYなどの流れを受け、QUICが発展した。QUICはUDPを基盤としながら、信頼性のあるストリーム通信、暗号化、接続管理などを実装する。

HTTP/3はQUIC上で動作するHTTPである。これによってWeb通信は、従来の「HTTP+TCP+TLS」という構成から、「HTTP/3+QUIC+UDP」という構成へ発展した。

IoTとエッジコンピューティング

2010年代には、ネットワークへ接続される機器がパソコンやスマートフォンだけではなくなった。

センサー、監視カメラ、工場設備、自動車、家電、医療機器などがネットワークへ接続されるようになり、IoT(Internet of Things)という概念が広がった。

IoTでは、端末数が非常に多く、生成されるデータも増大する。そのすべてを遠隔のクラウドへ送信して処理すると、通信量や遅延が問題になる。

そこで、データが発生する場所の近くで処理するエッジコンピューティングが発展した。

これによってネットワークは、単にデータをクラウドへ運ぶ経路ではなく、データの生成場所、エッジ、データセンター、クラウドを結び、それぞれの場所で処理を分担する基盤となった。

生成AIによるネットワーク利用の変化

2020年代に入ると、ネットワークを利用する主体として大規模言語モデル(LLM)などの生成AIが急速に普及した。

従来のWebでは、人間がブラウザを操作し、サーバから情報を取得することが中心であった。生成AIでは、AIアプリケーションがモデルAPIを呼び出し、外部データベース、検索エンジン、ファイル、業務システム、各種APIなどから情報を取得し、それをモデルへ渡す。

その結果、ネットワーク上の通信は「人間とWebサーバ」の間だけでなく、「AIアプリケーションとモデル」、「AIアプリケーションとデータソース」、「AIアプリケーションとツール」、「AIエージェントと別のAIエージェント」の間にも広がった。

この変化によって、AIがネットワーク上の外部機能やデータを利用するための、より標準化された通信方式が求められるようになった。

MCPの登場

2024年に登場したMCP(Model Context Protocol)は、生成AIアプリケーションと外部のデータやツールを接続するためのアプリケーション層のプロトコルである。

従来、AIアプリケーションがデータベース、ファイル、検索サービス、業務システムなどを利用する場合、それぞれのシステムに合わせて個別の連携機能を実装する必要があった。

MCPはこの問題に対して、AIアプリケーション側と外部システム側の間に共通のプロトコルを設ける。

MCPでは、AIアプリケーションをホスト、その内部でMCPサーバと通信するクライアント、外部機能を提供するMCPサーバという構成を取る。MCPサーバは、ツール、リソース、プロンプトなどをAIアプリケーションへ提供できる。

ローカル環境ではstdioを利用してMCPサーバと通信でき、リモート環境ではHTTPを利用できる。したがってMCPはTCP/IPやHTTPを置き換えるネットワーク技術ではなく、既存のネットワークの上に構築されたAI向けのアプリケーションプロトコルである。

2026年7月の仕様では、MCPのプロトコルコアがステートレスな要求・応答モデルへ移行し、HTTPベースのインフラとの親和性を高める方向へ進んでいる。これは、AIとの接続を一台のサーバとの固定的なセッションとして扱うのではなく、一般的なWebサービスと同様にスケールさせる必要が生じたためである。

A2Aの登場

MCPがAIアプリケーションと外部のデータ・ツールを接続する方向へ発展したのに対して、2025年にはA2A(Agent2Agent)という別の方向のプロトコルが登場した。

A2Aは、独立したAIエージェント同士が通信し、協調して処理するためのプロトコルである。

AIエージェントが単独で完結するのではなく、あるエージェントが別の専門エージェントへ仕事を依頼し、その結果を受け取るようになると、エージェント同士の通信を標準化する必要が生じる。

A2Aでは、エージェントの能力や接続方法をAgent Cardによって公開し、メッセージ、タスク、成果物(Artifact)などを利用してエージェント間で処理を進める。同期的な要求だけでなく、ストリーミングや非同期処理、プッシュ通知なども扱える。

A2AもMCPと同様に、IPやTCPといったネットワーク層のプロトコルではない。HTTPなどの既存のネットワーク技術の上に構築されるアプリケーション層のプロトコルである。

MCPとA2A

MCPとA2Aは似た時期に登場したが、解決しようとしている問題は異なる。

MCPは、AIアプリケーションやエージェントが外部のデータやツールを利用するための接続を標準化する。一方、A2AはAIエージェント同士が仕事を依頼し、結果を交換するための接続を標準化する。

したがって、AIエージェントがMCPを利用してデータベースや検索サービスなどへアクセスし、そのエージェント同士がA2Aによって協調するという構成も可能である。

これはネットワークの歴史から見ると、TCP/IPによって「ネットワーク同士」が接続され、HTTPによって「Webサービス同士」が接続され、さらにMCPやA2Aによって「AIアプリケーション、ツール、データ、エージェント」が標準化された方法で接続される段階へ進んだものと位置付けられる。

ネットワークの現在

1960年代のコンピュータ通信では、遠隔の大型コンピュータを利用することが大きな課題であった。1969年のARPANETではコンピュータをパケット交換ネットワークで接続する仕組みが実用化され、1970年代のTCP/IP研究によって異なるネットワークを相互接続する仕組みが成立した。

1980年代にはLAN、TCP/IP、DNSなどが普及し、NSFNETによって研究ネットワークが広域化した。1990年代には商用ISPとWorld Wide Webが登場し、インターネットが一般社会へ広がった。2000年代にはブロードバンド、Wi-Fi、モバイル通信、データセンター、仮想化、クラウドが発展した。2010年代にはスマートフォン、IoT、コンテナ、SDN、エッジコンピューティングによって、ネットワークに接続される機器とサービスの数がさらに増加した。

2020年代には、ネットワークの利用主体に生成AIとAIエージェントが加わった。AIはネットワークを介してモデル、データ、ツール、検索サービス、業務システムなどを利用し、さらに別のAIエージェントとも協調するようになっている。

そのため現在のネットワークは、コンピュータをコンピュータへ接続する仕組みに留まってはいない。物理的な通信媒体、EthernetやWi-Fi、IP、TCP・UDP・QUIC、DNS、HTTPなどの階層の上に、クラウドサービス、API、AIモデル、MCP、A2Aなどが積み重なり、計算資源、データ、ソフトウェア、サービス、AIエージェントを相互に接続する基盤となっている。

Mathematics is the language with which God has written the universe.





















数理統計学 機械学習