諸概念の迷宮(Things got frantic)

歴史とは何か。それは「専有(occupation)=自由(liberty)」と「消費(demand)=生産(Supply)」と「実証主義(positivism)=権威主義(Authoritarianism)」「敵友主義=適応主義(Snobbism)」を巡る虚々実々の駆け引きの積み重ねではなかったか。その部分だけ抽出して並べると、一体どんな歴史観が浮かび上がってくるのか。はてさて全体像はどうなるやら。

狂乱のInternet時代

19世紀、大英帝国ロシア帝国ユーラシア大陸全体を舞台にGreat Ganmeを繰り広げました。しかし不思議と伝え聞くのは大英帝国の業績ばかり。その原因は皇帝と宮廷貴族を頂点に戴くロシア官僚主義の秘密主義にありました。

https://geopolicraticus.files.wordpress.com/2009/01/great_game.jpg?w=460https://earthenergyreader.files.wordpress.com/2013/10/454px-as_between_friends_punch_magazine_13_december_1911.jpg

そして情報共有を多面展開の原動力としていく「アングロ・サクソン」は冷戦体制下の1960年代以降、共産圏に対してコンピューター開発競争とネットワーク普及競争の二つの側面でさらなる圧倒的格差を見せつけていくことになります。

 1960年代における先駆的研究

BBNテクノロジーズのJ・C・R・リックライダーが論文「人間とコンピュータの共生(Man-Computer Symbiosis,1960年)」の中で始めてタイムシェアリングシステム(TMS)によってコンピュータ・リソースを共有するネットワークの可能性について言及。その後リックライダーはアメリカ国防総省の高等研究計画局(Advanced Research Projects Agency、略称ARPA、後にDARPA)のIPTO(Information Processing Techniques Office)部長に就任し、その助成機関宛に「銀河間コンピュータネットワークメモランダム(Memorandum For Members and Affiliates of the Intergalactic Computer Network,1963年)」を配布し、その中でIPTOの将来的な目標として「(ARPAが資金提供しているアメリカ各地の様々な企業や大学の研究者達が)最新の計算機科学に基づくハードウェアとソフトウェアに関する研究内容を相互に素早く共有する為に(ARPAの資金で開発された)コンピュータ群への効率的アクセスを実現するネットワークの構築」を掲げた。この時点で既に現在のインターネットを構成する仕様要件のほとんどが盛り込まれていたが、リックライダー自身は計画が実施される前にARPAを去ったので、その構想の実現はアイバン・サザランド、ロバート・テイラーといった同じIPTOの後輩達に託される形となったのである。

http://www.tugurium.com/gti/images/L/Licklider_Joseph.jpg

①1964年にリックライダーからIPTO部長の役職を引き継いだサザランドはリックライダーが提唱したコンピュータネットワークの実験に着手。とりあえず手始めに1965年、UCLAの2つのコンピュータのネットワーク接続を試みたが通信方式に問題があった為に失敗した。

②1966年にサザランドからIPTO部長の役職を引き継いだテイラーのオフィスには3つのコンピュータ端末が置かれ、それぞれ別々の(ARPAが資金提供した)コンピュータに接続されていた。

後にテイラーは述懐する。「この3台の端末はそれぞれユーザーコマンド群が異なっていた。だから私が S.D.C. の誰かとオンラインで話をしていて、バークレーあるいはMITの誰かと話したい時、S.D.C. との端末から離れて、別の端末にログインして連絡する必要があった(中略)。こんな状況何時までも続けられるもんか。インタラクティブ・コンピューティングが可能なら、1つの端末でどこにでも接続できるべきだ。そのアイデアARPANETを生んだのだ」。

③とはいえテイラー自身はARPA本体から予算こそ取り付けたものの(リックライダーと同じく)専攻は音響心理学分野でコンピュータ工学のエンジニアではなかった。その為、マサチューセッツ工科大学リンカーン研究所から半ば脅される形でローレンス・ロバーツがIPTOへとリクルートされ、ネットワークの実際の構築を任される事になる。ロバーツはこれまでリックライダーやサザランド、タイラーが概念として述べてきた事を「負荷共有」「メッセージング・サービス」「情報共有」「プログラム共有」「遠隔ログイン」といった仕様要件の観点から指示書「Multiple Computer Network and Intercomputer Communication(1967年)」という形でまとめた。その過程でコンピュータ管理者から「タイムシェアリングシステム本体にコミュニケーションの管理を行わせる事は負荷的に不可能」とする見解が出されたので、ロバーツはリンカーン研究所のウェズリー・クラークの助言を受け入れタイムシェアリングシステムにコミュニケーションの管理を専門に行わせる小型コンピュータを接続させる事にする。その結果、現在のハブやルーターの前身ともいえるInterface Message Processor(IMP)が開発される事になった。

  • この段階で既に電話回線を利用したモデム経由での遠隔ログインが実現されていたがコンピュータごとにまちまちで標準化されていなかった。
  • IMPは単一プロトコルしか備えていなかったので、まだこの時点では「ルーター」の要件を満たしてない。その意味では(やがてSwitching/Bridge機能を備える様になった)HUBの先祖筋でもある。

    http://i.kinja-img.com/gawker-media/image/upload/s--3o9NAwfK--/18mn7grm4q14fjpg.jpg

  • 「1950年代のコンピューター」…初期のコンピュータはOS(Operation System)を持たなかったが、1950年代に入るとシステム管理用ソフトウェアツールやハードウェアの使用を簡素化するツールが出現し徐々にその利用範囲を拡大していった。最初のOSがどれであったかについては諸説あるが、IBM 701用にゼネラルモーターズが開発したもの、IBM 704用にゼネラルモーターズノースアメリカン航空が共同開発したもの等がよく候補に挙げられる。当時はパンチカード等から入力されたプログラムを磁気テープに一旦保存してこれを大型コンピュータに接続しプログラムをロードして実行していた。その為に入出力装置のデバイスドライバに当たるものも作成されていたが、アセンブラコンパイラが登場し始めた時代であり「まずコンパイラをロードしてからプログラム(ソースコード)をロードし、コンパイル結果として出力されたアセンブリ言語アセンブルするために、さらにアセンブラをロードする」といった手続きを必要としていた。こうした作業を自動化するバッチ処理、またプロセスの状態を監視するモニタなどが最初に実装された機能であった。当然シングルタスクしか存在しない世界である。

    http://www.mitre.org/sites/default/files/styles/responsive_large/public/images/about_history_landing.jpg?itok=tAG_NeRa

  • 「1960年代のコンピューター」…1960年代前半には、OS機能の増強が進められスプール、ジョブ管理、記憶保護、マルチプログラミング、タイムシェアリングシステム、そして、仮想記憶の概念が登場し始めこれらの概念を複数搭載するOSも登場してきた。さらにはマルチプロセッシングシステムに対応するOSまで登場。そして1960年代後半にはさらに著しい進化を遂げ、現在のOS概念や基本部分(カーネル)の技術の大半は、この時期に完成される事になる。そしてこの時代に生み出されたマルチタスクの世界に対応する為に「論理ポート」の概念が誕生したのだった。

    http://vintageprintable.com/wordpress/wp-content/uploads/2009/05/1960s-photo-computer-room.jpg

IMP(Interface Message Processor)とパケット通信

1968年中ごろまでにテイラーはコンピュータネットワークの計画を完成させてARPAの承認を得た。そして契約者となる可能性のある140の組織などに見積依頼を送ったが、多くのコンピュータ企業はARPAとテイラーの提案を絵空事だとみなし黙殺した為に送り返されてきたネットワーク構築の見積もりは12だけだった。ARPAはそこから契約候補を4社、さらに同年末までに2社に絞り込んで最終的に1969年4月7日、BBNテクノロジーズとネットワーク構築の請負契約を締結。BBNでは当初7人のチームを結成しフランク・ハートが指揮したがARPAの見積依頼が技術的にも詳細であった為に、チームはわずか9カ月でネットワーク接続用のコンピュータ構成を策定。それはゲートウェイ(パケット交換を統制するソフトウェアとそれを稼働させるハードウェアで構成されるストアアンドフォワード型(受信フレームをすべて内部メモリー内の受信フレーム・バッファに蓄えてからイーサネット・ヘッダーを読み込む方式。内部処理のタイミングが受信状態に縛られないため設計が楽で今日なお現役。5μSec程度の内部遅延がかかる)パケット交換機)として機能するIMPに接続された各地のコンピューター群で構成される各サイトがIMPを介して遠隔接続を果たす内容で、IMP間はモデムを介した専用線(当初50kbit/s)、ホストコンピュータとIMPの間は独自のシリアル通信インタフェースで相互接続されるという内容であった。TCP/IP規格を基礎付ける”Packet Switching”技術の全体像が固まったのはこの時期。

http://www.fibel.org/linux/lfo-0.6.0/arpanet.png

①第一世代のIMPはBBNがハネウェルのDDP-516というコンピュータをベースとして構築。主記憶(磁気コアメモリ)は拡張可能とはいえ24キロバイトに過ぎず、ホストコンピュータやモデムとのインタフェースに使われるDMC(Digital Media Controler)ユニットとして16チャネルのDMC(Direct Multiplex Control)を備えていた。フロントパネルのランプ群に加えIMPの通信チャネル状態を示す24個の表示ランプを備え、最大4台のホストコンピュータと最大6台のIMPと相互接続する事が可能だった。

http://www.old-computers.com/museum/photos/Honeywell_DDP516_System_1.jpg

②ほぼ同じ頃に他の人々も(それぞれ独自に)「パケット交換」について研究を進めていた。ロバーツも「パケット通信の概念採用は1968年8月5日に公開デモンストレーションを行ったイギリス国立物理学研究所 (NPL)のドナルド・デービスの研究成果に負う所が大きい」と認めているし、アメリカ空軍のシンクタンクであるランド研究所のポール・バランも1960年代前半から「核攻撃下でも生き残れるコミュニケーション方式」として秘密音声通信を研究し続け「パケット通信の先駆者」の一人に数えられている。そして「アメリカでは大規模で強力な研究用コンピュータの数が限られており、それらを使いたいと思っている研究者の多くが地理的に離れた場所に居住している事実から生じた欲求不満」が生み出したARPANET構想も、当時軍が切望した「核攻撃に耐える指揮統制システムの樹立」も、最終的には「(交換ノードとネットワークリンクの信頼性の低さに強要された)下位ネットワークが失われても機能し続ける設計」に到達し、やがてその成果を共有するに到る。ここから「ARPANETは冷戦構造を背景にアメリカ軍が核攻撃にも耐える軍事的ネットワークとして設計した人類の公敵(Public Enemy」とする見解も生まれた。

  • 後にポール・バランは述懐している。「テイラーはそれぞれ異なるマシンに接続したいくつかの端末を持っていた。彼が考え付いたのは、1つの端末がそれらコンピュータのどれとも接続できるネットワークを構築することだった。それがARPANETの本当の起源だ。当時、そういった相互接続の方法は未解決の問題だった」。
  • 日本におけるインターネットの実質的起源たるJUNET開設に関わった村井純は「ARPANETは軍事用に開発され、それが民間に転用された」という説を取り上げ、ARPA基金の方針が非主流非軍事だが将来性を求め、軍事直結の基金国防総省と区別があること。アメリカ軍は湾岸戦争のとき、様々な通信技術を運用した結果、TCP/IP技術の高い有用性を初めて認識したこと。中東派遣軍総司令官のノーマン・シュワルツコフは技術を「禁輸にすべきだ」とまで言い出したとし、次のように述懐する。「ARPANETが最初から軍の独占技術だったとしたら、こんなことをする必要はまったくなかったでしょう。それどころか、すべてが軍の機密情報として扱われ、インターネットはそれこそ誰も知らないものになっていたはずです

ARPANET上で最初に送信されたメッセージは、UCLAの学生プログラマであるチャーリー・クラインが送った1969年10月29日午後10:30、UCLAの Boelter Hall 3420号室からのものである。クラインは同大学のSDS Sigma 7からスタンフォード研究所(後のSRI)のダグラス・エンゲルバート(Douglas Carl Engelbart、1925年〜2013年)の研究室内にあるSDS 940へとメッセージを送った。その内容は "login:" というテキストだったが、"lo" まで送信したところでシステムがクラッシュした為にARPANET初のメッセージは実際には "lo"とされる。約1時間後にクラッシュから復旧し当初のテキストメッセージ全体送信に成功した。

"Roads and Crossroads of Internet History" by Gregory Gromov. 1995

「私たちはSRIとの間に電話回線の接続を設定した…」とクラインロックはインタビューに応えて言った。「私たちは L と打ち込み、電話で尋ねた」
「L が見えるかい?」
「ああ、L が見える」との答えが返ってきた。
私たちは O と打ち込んで、訊いた。「O が見えるかい」
「ああ、O が見える」
そこで G と打ち込んだところで、システムがクラッシュした…
それでも、これが革命の始まりだった…

ARPANETの恒久的リンクが確立したのは1969年11月21日のことで、UCLAスタンフォード研究所のIMP間のことである。1969年12月5日にはユタ大学も接続されて4ノード相互のネットワークが完成。ARCは世界初のネットワークインフォメーションセンター (NIC) となり、全ARPANETノードの接続を管理することとなった。エンゲルバートが革新的研究に集中し続けた為に次第にNICの運営と研究の両立は困難となり、NICはグループとして独立し Elizabeth J. Feinler が指揮することになった。

この計画にカリフォルニア大学サンタバーバラ校同様に加わったユタ大学で同年12月8日UCLA大学院の若手研究者集団を動員したNWG(Network Working Group)とBBNがホスト間プロトコルに関する会議を開催。その席上ではNWGのスティーブ・クロッカー(1969年4月7日、HOSTとIMP間の接続仕様書を書き上げた直後に「RFC1(Request for Comment 1:コメント募集1号)Host Software」をNWGメンバーに発送した人物)が「(接続手続きを標準化し、各ホストの使用文字コードの違いを乗り越える)遠隔ログイン・ツールTelnet」と「(各ホストの使用ファイル形式を乗り越える)ファイル転送ツールFTP」を提案する一方で、ローレンス・ロバーツは「二台のコンピューターが対照的に協調動作する為のプロトコル確立」の優先制を説き、その達成に必要な要件を列記したという。

  • 1970年3月、マサチューセッツ州ケンブリッジにあるBBNにあるIMPが接続され、ARPANETアメリ東海岸にまで広がった。その後,1970年6月にはIMPが9台,1970年12月には13台,1971年9月には18台(この時点で接続ホスト数は大学や政府機関を含めて23台),1972年8月には29台,1973年9月には40台となった。1974年6月にはIMPが46台となり,1975年7月には57台のIMPが相互接続された。1981年までに213台のホストコンピュータが接続され、およそ20日に1台の割合で新たなホストが接続されるという状況になった。

    https://msu.edu/course/lbs/126/lectures/images/univac1107.jpg

  • 1973年、NORSAR (Norwegian Seismic Array)が人工衛星の通信リンクでARPANETと接続され、ノルウェーアメリカ以外で初めてARPANETと接続した国となった。また同時期にロンドンのIMPも地上回線経由で接続されている。

    https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Arpanet_1974.svg/818px-Arpanet_1974.svg.png

  • 1975年、ARPANETは稼働状態にあると宣言され(本来、高度な研究への出資が仕事である)ARPAはこの時点で手を引き、アメリカ国防情報システム局に運営を引き継いだ。

 

TCP/IP」策定’(1970年代〜1980年代初旬)

1970年代初期に入るとDARPA(Defense Advanced Research Projects Agency、米国国防高等研究計画局)がインターネット・プロトコル・スイートにおける様々なデータ転送技術における研究を開始する。

http://www.billslater.com/internet/how_tcp-ip_works_.jpg

①1972年、ロバート・カーン (Robert E. Kahn) がDARPA情報処理技術室 (IPTO: Information Processing Technology Office) に雇用されて衛星パケット網と地上の無線パケット網の研究に取り組み、それらを横断した通信に価値を見出す。
http://um2017.org/faculty-history/sites/default/files/imagecache/small/Kahn,%20Robert%20L.jpg

②1973年春、ヴィントン・サーフ(Vinton Cerf。その当時既に完成していたARPANET NCP(Network Control Program)プロトコルの開発者)がARPANETの次世代プロトコル策定を最終目標とするオープン・アーキテクチャ相互接続モデルに取り組む為にカーンと合流。1973年の夏までに二人は基本的改良を達成した。
http://manu.sporny.org/talks/2011-community-groups/images/vint-cerf.png

  • ネットワーク・プロトコル間の違いは、共通の相互接続ネットワーク・プロトコルを用いる事で隠蔽され、ARPANETにおいてはネットワークの信頼性についてネットワークそのものではなくホストが責任を負う仕組みを整備していった。サーフはHubert Zimmermanとルイ・プザン(CYCLADESネットワーク設計者)が、この設計に対して重要な役割を果たした功績を認めている。こうしてネットワークそのものへの依存率を最低限まで減らす事で、それぞれの特性がもたらす制約から解放され、ネットワーク統合が容易になった事がカーンの抱えていた当初の問題の解決につながったのである。

③それまで「ゲートウェイ」と呼ばれる事が多かったIMP(Interface Message Processor)は、やがて他の型のゲートウェイとの混同を避ける為に「ルータ(Router)」と呼ばれる様になり、その必要条件は「インターネットゲートウェイの要件(RFC1716,1994年)」の失敗を経て「IPv4ルーター Routers(RFC1812,1995年)」で策定された。

 

  • 1970年にはIMP間の回線として 230.4 kbit/s までをサポートしたが、コストとIMPの処理能力を考えれば、そこまでの通信容量を使い切ることはなかった。そして1971年には堅牢化をしない(そのため非常に軽量な)Honeywell 316 を使ったIMPが登場。端末サーバ Terminal Interface Processor (TIP) としても構成でき、ホストと最大63台のASCIIシリアル端末を接続出来た。516より集積化が進んだ316は安価で保守が容易であり、TIPとしての316は40kBの磁気コアメモリを搭載していた。メモリ容量は1973年に拡大されIMP用には32kB、TIP用には56kBを搭載。1981年にBBNは自社製のC/30というコンピュータ上で動作するIMPソフトウェアを導入している。

    https://upload.wikimedia.org/wikipedia/commons/6/6c/Honeywell316.jpg

  • 1969年に始まったARPANETでのホスト間通信プロトコルは様々なコンピュータアーキテクチャにおいて曖昧さが生じない様にIMPへのメッセージ転送を定義した1822 protocol であった。ここに規定されたデータ型式”1822message”はメッセージ種別、数値によるホストアドレス、データフィールドで構成され、他のホストに送信する際には送信側でデータの中身と宛先ホストのアドレスからメッセージをフォーマットして1822ハードウェアインタフェースを通して送信していた。IMPはメッセージにある宛先アドレスに従ってIMP間でメッセージを転送したり、宛先ホストに配達したりするが、最終的に宛先ホストにメッセージを配達するIMPはReady for Next Message (RFNM) を送信元のIMPに向け肯定応答として送信する。後のIPプロトコルと異なり”1822message”は喪失に際してホストコンピュータに直接それを通知する仕組みになっていたが,1822プロトコルは1つのホストコンピュータ内に複数の異なるアプリケーションがあって複数のコネクションが稼働しているとうまく処理出来ない事が判明。そこで開発されたのがNCPで、各種ホストコンピュータの各種プロセス間で信頼に足るフロー制御された双方向通信リンクを確立する「標準手段=インターフェイス=上位プロトコル」を提供。単一のホストコンピュータ上で複数のネットワーク・アプリケーションが同時動作可能となり、それより下層のプロトコルから独立して動作そ得る様になった事はそれぞれのネットワーク・アプリケーションに独自進化の可能性をもたらした。この「NCPプロトコルと1822プロトコルの階層構造」がTCP/IPの起源となり,1983年以降はARPANET自体もこちらに完全移行する。
  • ARPANET上で発達したネットワーク・アプリケーション群」…1971年にはBBNのレイ・トムリンソンが世界初のネットワーク経由の電子メールを送信 (RFC 524、 RFC 561)。1973年には既にARPANETトラフィックの75%を電子メールが占めていた。同年にはFile Transfer Protocol (FTP) の仕様「RFC 354」が定義され実装もされて、ARPANET上でファイル転送が可能となる。1977年にはNetwork Voice Protocol (NVP) の仕様「RFC 741」が定義され音声トラフィックを扱う仕様も実装されたが、技術的欠点があった為に歴史のこの時点でARPANET上における電話会議が実現する事はなかった。

  • 直接の発想の転換点となったのは1972年にARPAに着任したボブ・カーンが構想した「(様々なインターフェースを持つ)ゲートウェイ」と呼ばれる装置で、カーンはこれにパケットそのものをローカル・ネットワークのパケットに入れて運ばせる「パケットのカプセル化」を考えた事に端を発する。カーンはプログラミングに詳しいスタンフォード大学のビントン・サーフと協力してこのアイディアを煮詰め,1974年にはIEEEの学術誌に現在のTCP/IPの原型となる「TCPプロトコルを発表。1977年に最初のネットワーク相互接続実験が行われ、衛星通信を介したTCPパケットの送信に成功した。こうした経緯からゲートウェイ」という用語が1980年代後半にルーターという新語が登場するまで使い続けられ、今日なおイーサネットではないWAN回線等への接続に際しては回線インターフェースが明らかに変わるのでゲートウェイと呼ばれることがある。ただしこれが「外部への出口」という意味で使われたのか、カーンの命名からの由来なのかは判然としない。
  • http://www.flgnetworking.com/web3.gif

  • 1976年に入ると米BNN社の手によってARPANETに繋ぐIP対応「ゲートウェー」が世界で初めて製品化された。これは米DEC社の16ビット・ミニコンPDP-11」上で、アセンブリ言語で書いた20Kバイトのルータープログラムを走らせるもので。処理速度は100パケット/秒程度であった。

    http://itpro.nikkeibp.co.jp/article/COLUMN/20060123/227739/PDP-11.jpg

  • 1982年にはARPANETの内部や米国・欧州を合わせて20以上のルーターと数百のホスト・コンピュータが1つに繋がれて現在のインターネットの原型が出来上がる。そして1986年に入ると米プロテオン社よりマルチプロトコルに対応した世界初の商用ルーター「ProNET p4200」が発売された。10Mパケット/秒クラスの性能に至るのは1990年米シスコシステムズ社に「Cisco7000」を,1997年にインターフェースカード(ラインカード)に分散アーキティクチャを導入した「Cisco12000」を発売して以降。

    http://nersp.osg.ufl.edu/~ufit/2007_12/retiredproteonrouter2.gif

 

⑤その着想は1973~74年度にスタンフォード大学のサーフ ネットワーク研究グループによってより詳細な構造が作り上げられ、最初のTCP/IP仕様RFC 675を生み出した。 ただし当時の研究者は同じくらいPARC Universal Packet プロトコル群を生み出して同時期の技術発展に寄与したゼロックス パロアルト研究所における初期のネットワーク研究も注目していた。

⑥その後、異なったハードウェア上の実用プロトコルを開発するため、DARPAはBBNテクノロジーズ、スタンフォード大学およびユニヴァーシティ・カレッジ・ロンドンと契約。 TCP v1、TCP v2,1978年春にはネットワーク・アプリケーション同士の通信を担当するTCP v3とパケット中継を担当するIP v3に一旦分離し、そして1981年には安定版のTCP/IP v4(今日のインターネットでもまだ使われる標準プロトコル)が策定される事になった。

⑦1975年、スタンフォード大学とユニヴァーシティ・カレッジ・ロンドン間で、2拠点のTCP/IP通信試験が実施された。 1977年11月、アメリカ、イギリス、ノルウェー間で、3拠点のTCP/IP試験が実施された。1978年から1983年にかけて、複数の研究施設でその他いくつかのTCP/IPの試作が開発された。1983年1月1日、ARPANETTCP/IPへ完全に切り替えられた。

アメリカ国防総省も1982年3月に全ての軍用コンピュータ網の為のTCP/IP標準を作成。1985年にはインターネットアーキテクチャ委員会がコンピュータ産業のために3日間のTCP/IPワークショップを挙行し、これに250の業者代表が参加した事がTCP/IPの普及と商用利用増加に繋がっていく

「EatherNet」普及開始(1970年代〜1990年代)

発想の原点はハワイ大学のノーマン・エブラムソン教授が開発した「ALOHAシステム」と言われている。ハワイ諸島の島々を4,800ビット/秒の無線によるネットワークで結ぶ計画であった。最初のイーサネットはこのALOHAシステムのアイデアに基づく。

http://www.airnet.de/cr1-gfe/de/image/s1m003/AbbAlohaNet.jpg

①1972年から1973年にかけて、米ゼロックスパロアルト研究所 (PARC) においてロバート・メトカーフを中心に開発された。1973年5月22日、特許として登録したため、この日がイーサネットの誕生日とされる。発明当初の伝送速度は2.94Mbpsで、これは当時開発中のコンピュータ XeroxのAltoのベース・クロック5.88MHzに合わせた為だとされている。ゼロックス社はその後特許を開放してオープン規格とし、インテルとDECを開発に加えて、1979年、3社の頭文字をとってDIX仕様を制定。伝送速度は10Mbpsとされた。

②年の1980年にはこの仕様がIEEE 802委員会に「Ethernet 1.0規格」として提出・公開され1983年には「IEEE802.3 CSMA/CD」として策定された。このオープン規格に対して世界中の企業・技術者が技術の仕様策定と製品の開発に加わる一方で(メトカーフ自身もゼロックス社を退社して米3Com社を創設し開発競争を主導)イーサネット初期の10BASE2/5/-Tの時代は、OS側のネットワーク・サポートはあくまで限定的であり(PC上ではNovell社のNetWareマイクロソフトのLAN Managerといった専用ソフトを購入しない限りファイル共有すら不可能だった)「MACアドレスとフレームの世界」はそれと独立した発展を遂げる事に。

OSI7階層モデル」と「TCP/IP四階層モデル」

同時進行で1970年代中頃から、ネットワーク機器各社が独自のネットワークアーキテクチャーを次々と発表し続けていた。IBMのSNA、富士通のFNA、日立製作所のHNA、日本電気のDINA、電電公社のDCNAなどがそれであり、機器を一つのメーカー製で揃えるのであれば問題は無かったが現実には難しく、異なる機種同士を接続する為の標準化が急がれる。、かくしてOSI参照モデル1984年に発表される運びとなった。

http://atnetwork.info/tcpip/tcpip0801.jpg

①ISO(国際標準化機構)の情報処理システム技術委員会は1977年3月にSC 16を設置、OSIの国際標準化を開始。CCITT(国際電信電話諮問委員会)もOSI参照モデル案を参考として独自に検討を始める。CCITTとSC 16は意見を摺合せ、基本的合意に達し、1982年に標準的トランスポート層、1983年に標準的セッション層の草稿を完成させる。

1984年に入ると情報処理システム技術委員会はSC 16からSC 21にOSIの標準化を引き継ぎ、1985年にアプリケーション層の新プロトコルを標準化項目に追加。その後現在まで拡張や新たなプロトコルの制定が続けられている。

③その一方でTCP/IPの基本仕様は1982年頃にはほぼ固まっており、しかも1990年代中旬から爆発的普及が始まった事からOSI準拠製品(OSI参照モデルに基づく通信機器やソフトウェア)の開発や製品化しは頓挫。OSI参照モデルはネットワークの基本概念としてのみ残り、TCP/IPモデルと互いを補い合う形に落ち着いた。

日本の大学間ネットワークJUNET(ジェイユゥネット、Japan University NETwork,1984年~1991年)

日本の学術組織を結んだ研究用のコンピュータネットワーク。今日インターネットと呼ばれているネットワークの日本における実質的な起源。

http://gc.sfc.keio.ac.jp/class/2009_25437/slides/02/img/22.png

1984年9月に、村井純が個人的なデータの移動のために双方の大学に許可を得ることなく慶應義塾大学東京工業大学を接続。1984年10月に東京大学が加わり、実験ネットワークとして運用を開始した。

  • 創設に直接関わった関係者によると、慶應義塾大学に籍(席)を残したまま東京工業大学で勤務していた村井純が、日本の某ベンダー企業に依頼し東京大学駒場キャンパスの計算センターと慶應義塾大学日吉キャンパスの計算センターを米国 Bridge Communications 社(現 3Com 社)製機器、TA、DSU などの機器及び電話回線(X.25 プロトコル)で接続し、その後 Cisco 社製機器などを使用して東京大学東京工業大学間も接続したという。しかし、村井純の昔の談話では、最初に接続したのは慶應義塾大学東京工業大学であって、速度は 300 bpsで接続経費は 150 万円ほどとなっている。学術関係者などによる諸般のインターネット歴史解説でも、このような村井純の談話を元に、最初(日本におけるインターネットの起源)は慶應義塾大学東京工業大学であって、後に東京大学とも接続されたとされている。
  • なお、村井純によると、接続した理由は「ファイルをテープメディアで送るのが面倒」ということであったが、建前上は世界平和のためと彼得意の本当か冗談かわからない笑い話も披露していた。また、よくこれに関連して「村井純が自分でマンホールに潜って、大学構内にケーブルを張り巡らせた」という話がまことしやかに囁かれているが、当時慶應大の研究室で村井の後輩だった砂原秀樹などはこれを否定しており、いわゆる都市伝説の一つであると考えるのが妥当だろう。ただし、村井純の指揮でイエローケーブルを慶應義塾大学の建物間の地下配管に通したことは事実である(大学当局から怒られた)。

②その後多くの大学や企業の研究機関が参加し、最終的には 600 以上の組織を結ぶネットワークとなった。1987年には KDD 研究所(KDDLABS、 現KDDI研究所)のもつ国際接続の共用利用を目的とし、国際科学技術通信網利用クラブ (InetClub) が設立される。初代会長は石田晴久。1991年10月に実験ネットワークとしての JUNET は終了しInetClubも1994年に解散。

  • 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」が発行された。
  • 現在、電子メール等で日本語を表現するために使用される ISO-2022-JP 文字エンコーディング方式(俗に「JIS コード」と呼ばれる)は、初期の JUNET において開発され、当初は「JUNET コード」とも呼ばれた。

    http://ar.aichi-u.ac.jp/lecture/infosys/charcode/jis.png

  • JUNET のネットニュースにおいては、当初からニュースグループ階層名として fj が用いられた。このニュースグループ fj は、"from Japan" の名のとおり JUNET の枠を超えて全世界に流通し、次第に JUNET とは独立に運営されるようになって、JUNET 終了後も存続している。
  • JUNET 終了後のドメイン名割当て機能は JNIC(後の JPNIC)に移管した。ニュースグループ fj はすでに JUNET とは独立に運営されていたので、そのまま存続した。JUNET 終了時点の参加組織には、既にWIDE、JAIN、TISN のような広域 TCP/IP ネットワークに参加している組織も少なくなかったが、JUNET の UUCP接続に依存していた組織の多くは、地域系ネットワークに移行した。

    http://www.iamas.ac.jp/~shige/domain-fig.jpeg

  • また、このような移行が難しい組織を暫定的に収容するために、JUNET の UUCP 接続の一部が「JUNET協会」として残された。これはボランティアベースで運営されていた旧 JUNET と異なり、参加組織から会費を集め、業務として JUNET 運営の責任を負う組織として設立された。初代会長には吉村伸(メディアエクスチェンジ創業者)、2代目の会長には砂原秀樹(奈良先端科学技術大学院大学教授)と、いずれもインターネット業界の有名人が就いている。また、副会長には徳川義崇(尾張徳川家第22代当主、現:徳川黎明会会長)が就いていた。
  • その後、IIJAT&T JENS(現ソフトバンクテレコム)などの商用インターネットサービスプロバイダが次々と立ち上がり始めたので,1994年10月の設立10周年を迎えたのを機に JUNET 協会も「役割を終えた」として解散。メールアドレスのドメインとして、初期には 。junet が用いられていたが(例: 東京大学は u-tokyo.junet)、やがて JP ドメイン(当時は属性型 JP ドメインだけ)に移行した。そして1990年代後半から電気通信事業者数の急増が始まる。

    http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h27/image/n1102020.png

③1997年3月、全国銀行協会連合会が傘下銀行の企業・銀行相互間のオンラインデータ交換において使用できる新しい標準通信プロトコルとして、全銀TCP/IP手順を制定。それまで利用されてきた全銀手順に代わり、電子データ交換でもTCP/IPが使われるようになった。

https://www.kantei.go.jp/jp/singi/it2/dai2/images/2siryou10_4.gif

商業インターネット網とルーターの進化(1980年後半〜)

1987年、世界初の商用インターネットプロバイダ (ISP) UUNETが誕生。一般固定電話が定額制だった事から、コアルーターをDCE(Data Circuit terminating Equipment、キャリアがアナログ網の場合はモデム、デジタル網の場合はDSU(Digital Service Unit)で接続する装置)、アナログモデムをDTE(Data Terminal Equipment、データ端末装置)とするハブスポーク型トポロジによるネットワークがまず米国において定着。

http://www.dyntex.com/corporate-info/images/map_uunet.gif

  • 「DSU」…ISDN公衆回線網などで加入者側に置かれる回線終端装置で、ISDN専用電話機やG4FAXやターミナルアダプタ(TA)といったデジタル通信を回線網に接続して遂行する。ISDN公衆回線網の場合はG4FAXのようなISDN対応・専用通信機器はあまり普及せず、TAにコンピュータを接続してデータ通信を行なったり、アナログ電話機やアナログFAX(G3 FAX)を接続する使い方が一般的だったので次第にTAの機能の一部として内蔵されるようになり、単体の機器として使われる事は減っていった。

    http://jpn.nec.com/access/prod/uz144/images/photo.jpg

①1995年頃、回線の高速化(ISDNやCATVの普及)に伴うトラフィックの増加に伴い、X.25に代わるWANプロトコルとして、エラー制御処理の簡略化により高速化したフレームリレーが導入された。その後、ルーターは様々な種類の物理インタフェースをサポートするようになり、またこの頃からLAN回線(トークンリングイーサネットFDDI (Fiber-Distributed Data Interface))上で動作するネットワーク層プロトコル (AppleTalk、IP、IPX) とWANプロトコルをリンクさせる役割をルーターが担う様になり、かつまた同時にLAN回線に比べて速度で劣るWAN回線を効率よく使用すべくWAN側に設置されたルーターをDTEとして扱う事で過剰なトラフィックをWAN側に流さない工夫がなされる様になっていく。その一方でルーターISPによるWAN網のバックボーンとなるコアルーターと、そのDCEもしくはDTEとなるエッジルーターに分化していく。

②1995年、標準ネットワーク機能としてTCP/IPを実装するOS「Windows95」が発売されて企業におけるPCとLAN回線の普及が進むと、企業ネットワークの世界はISPセンターとPCを接続するトポロジから、セグメントごとにハブを介して専用線経由で接続するトポロジに移行してLAN側セグメント間のルーティング機能が重視されるようになる。こうした状況の変化に伴ってネットワーク中継装置としてレイヤ2スイッチが注目されるようになり、やがてさらなる利便性向上の為にVLAN (Virtual LAN、物理的な接続形態と独立して仮想的なLANセグメントを作る技術で、これを用いるとルータやL3スイッチと同じようにL2スイッチでもブロードキャストドメインの分割を行う事が出来る様になる) を実装するに至った。

http://www.infraexpert.com/network/ethernet5.gif

③その一方でコンシューマーにおいてはハブスポーク型トポロジが継続。日本では、接続回線としてISDNが広まった事によりアナログモデムからダイアルアップルーターへの移行が進行。やがて1990年代後半からのブロードバンド回線の普及にともない、ブロードバンドルーターが広まる。

http://support.nifty.com/support/manual/internet/bflets/setup/images/setup_rooter_step0101.gif


④また1990年代後半よりVoIP(Voice over Internet Protocol)技術を利用したインターネット電話(スピーカー・マイクロフォンまたは、ヘッドセットを接続したパソコンにソフトウェアをインストールする方式で利用)も登場したが使い勝手が悪く、遅延・エコー・欠落などにより音質も従来の電話より劣るものであったので本格的普及はADSLFTTH・広域イーサネットといった常時接続・高速・定額制のIP加入者回線が増加した2000年代に入ってからである。Resource Reservation Protocol (RSVP) などのQoS機能で音質が改善されたる一方で専用機器の開発に伴い一般の電話と同じ操作・機能となり、公衆網への発信が可能となって電話番号の割り当てにより公衆網などからの着信が可能となった。また、近年では無線LAN上でのVoIPに関するVoWLAN (Voice over Wireless LAN)技術が注目を集めている。


⑤VLAN技術により、ポートの効率化が可能になると、次はLAN側トラフィックの急増によってセグメント間ネットワーク層のルーティングがボトルネックとなり、レイヤ2スイッチとルーターのルーティング機能を1つの筐体に同居させたってレイヤ3スイッチが誕生。ルーティング機能も汎用CPUを使ったソフトウェア処理からASIC (Application Specific Integrated Circuit) とよばれる半導体チップによる処理に移行して高速化を実現した。また、コストの面から利用するプロトコルTCP/IPに特化し、インターフェースをイーサネットに限定する方向性が広域イーサネットやIP-VPNといった次世代のWAN側サービスと合致したため、ユーザーの需要も高まる。当初は高価であったが,2000年代に米エクストリームネットワーク社が安価で多彩な機能を持ったレイヤ3スイッチ「Summit」シリーズを発売し、センタールータの代替として、企業や官庁を中心に普及。

http://ascii.jp/elem/000/000/419/419227/zu_04b_588x.jpg


⑥2000年頃からは企業ネットワークの主流がこれまでの専用線から、より安価で接続範囲を限定されないインターネットによるVPN (Virtual Private Network) に移行した。通信業者はMPLSとVRによる有料サービス「IP-VPN」を提供したが、企業や個人にも独自にVPN環境を構築する動きが広がり、IPsecトンネルやPPTPを経路とするインターネットVPNを実装するエッジルーターブロードバンドルーターが開発される。2002年には、データリンク層をギガビットイーサネットで繋ぐ、広域イーサネットによるサービスが広まり、そのデバイスとしてレイヤ2スイッチが再度注目されることとなった。

http://www.rtpro.yamaha.co.jp/RT/docs/pptp/image/internet-vpn-star.jpg

⑦2000年代後半より、IP電話や第3世代 (IMT-2000) 以降の携帯電話の発展に応じて、コアネットワーク(バックボーン)のオールIP化を志向した次世代ネットワーク (NGN) が提唱され、通信業者のバックボーンは、これまでの電話交換機による電話網からルーターやスイッチ類などによるIP網に再構築された。また,2010年6月、次世代イーサネット規格として、40Gbps/100Gbpsというふたつの異なる伝送速度に応じたIEEE802.3baが承認されている。40Gbpsはサーバ等機器間での接続に,100Gbpsは主にネットワーク間のバックボーンに使われる見通しで、各ベンダーの設計もこの規格に基づきおこなわれている。

セキュリティ問題の浮上と対策①(1980年代~)

TCP/IPプロトコルの普及はたちまち「信頼できるネットワーク(LAN/イントラネット)」と「信頼できないネットワーク(WAN/インターネット)」の間に横たわる「検疫問題」を浮上させた。これに対応すべく開発されたのがファイヤーウォール技術という事になる。

http://www.hitachi-solutions.co.jp/paloalto/sp/products/about/img/history_img_01.png

①とどのつまり「インターネットの普及」は、そのままそれがルータのアクセスコントロールリスト(ACL)によるパケットフィルタリングへの攻撃増大を意味したのである。UNIXの世界では伝統的に(カーネルレベルで動作する為にオーバーヘッドが小さく高速に動作する静的パケットフィルタ(IP通信において宛先や送信元のIPアドレス、ポート番号などを監視し、あらかじめ設定した条件によって、その通信を受け入れる(ACCEPT)、廃棄する(DROP)、拒否する(REJECT)などの動作で通信制御を行う。より具体的には外部から内部へ向かうパケットを選別して特定のサービスのみを通す、また内部から外部へ向かうパケットも、セキュリティホールになりかねないため代表的なサービス以外は極力遮断するといった設定が行われることが多い。仕組みが単純なため高速に動作するが、設定に手間がかかる、防ぎきれない攻撃があるなどの問題点がある)である)ipfwが使われてきた。Mac OS Xでも実装されているし、Linuxカーネル にもiptables、ipchains等が実装されている。これから派生する形でさらに動的パケット・フィルタリング(宛先および送信元のIPアドレスやポート番号などの接続・遮断条件を、IPパケットの内容に応じて動的に変化させて通信制御を行う方式。スタティックなパケットフィルタで内部と外部で双方向の通信を行う場合は、内部から外部へ向かうパケットと、外部から内部へ向かうパケットの双方を明示的に許可しなければならないが、内部から外部の通信を許可するだけでその通信への応答に関してのみ、外部からの通信を受け入れる、といった動作を自動的に行う)といった発想も生まれた。

②1990年に入るとサーバにインストールするソフトウェア型ファイアウォールが誕生し、セッション情報を管理するステートフルインスペクション(Stateful Packet Inspection、SPI))技術が搭載された。これは動的パケットフィルタリングの一種で、レイヤ3のIPパケットが、どのレイヤ4(TCP/UDP)セッションに属するものであるか判断して、正当な手順のTCP/UDPセッションによるものとは判断できないような不正なパケットを拒否。その為にTCP/UDPセッションの一部情報を記憶して判断動作する。具体例として、ヘッダのSYNやACKフラグのハンドシェイクの状態などを記憶し、不正に送られてきたSYN/ACKパケットを廃棄する。MIPS Computer Systems のシステム管理者David KoblasがSOCKS(SOCKetS)を開発したのもこの時期。これはMIPS Computer Systems が1992年に Silicon Graphics によって吸収合併された年に KoblasがUsenix Security Symposium で研究論文を公開して以降公に利用可能となった技術でNEC の Ying-Da Lee によってバージョン4に拡張されている。これはサーキットレベルゲートウェイファイヤーウォール技術(レイヤ3のIPパケットではなく、TCP/IPなどのレイヤ4トランスポート層のレベルで通信を代替し制御。内部のネットワークから外部のネットワークへ接続する場合は(自らに向けられていたIPアドレスとポート番号を本来のものへと振り替え、自らが外部と通信した結果を返すという動作をする)サーキットレベルゲートウェイに対してTCPのコネクションを張ったりUDPのデータグラムを投げることになる。ハードウェア実装としてレイヤ4スイッチにもこの機能を持たせる事が可能であらかじめ多数のポートを開けたりNATを用意しなくても、プライベートIPアドレスしか持たない内部のネットワークからでも、外部のネットワークへ接続できるという点がメリット)の先駆的存在にして代表格とされる。

http://www.hitachi-solutions.co.jp/paloalto/sp/products/about/img/history_img_02.png

③1990年代後半に入ると「ブロードバンド化」にともなってファイアウォールにさらに高い処理能力が求められる様になる。これに対応すべく処理に専用LSIを登載した専用ハードウェアを使用したハードウェア型ファイアウォールが主流となり、 特定用途向けのASIC(Application Specific Integrated Circuit)と呼ばれる専用チップの開発が進む事で処理速度を含む性能が飛躍的に向上。

http://www.hitachi-solutions.co.jp/paloalto/sp/products/about/img/history_img_03.png

④1990年代には一般にプロキシ・サーバ(Proxy Server)と呼ばれる事が多いアプリケーションゲートウェイ(パケットではなく、レイヤ7のHTTP や FTP といった、アプリケーションプロトコルのレベルで外部との通信を代替し制御)技術するもの。一般的にはプロキシサーバと呼ばれている。アプリケーションゲートウェイファイアウォールの内部のネットワークでは、アプリケーションはアプリケーションゲートウェイ(プロキシサーバ)と通信を行うだけであり、外部との通信はすべてプロキシサーバが仲介する。アプリケーションプロキシが用意されていないサービスについては、サーキットプロキシで対応する事が可能である。その登場はかえってSoftEtherやhttptunnelといったアプリケーションゲートウェイで許されているプロトコルでトンネリングを行うソフトウェア(運用方法次第ではセキュリティホールに転じる実装)なりうる実装の利用を、かえって促進してしまう側面もあった。強すぎるセキュリティポリシーが迂回路を招いてしまう訳である。一般に中継するだけの物が多いが、レイヤ7ファイアウォールはアプリケーションの通信の中身も検査する事ができる(例:アクセスURLチェック、ウイルスチェック、情報漏洩検出)ので「未成年に好ましくないコンテンツのみ末端のユーザにはプロキシサーバの存在を意識させない状態で、自動的にフィルタリングしてしまう」といった実装もい可能だが、検査方法次第ではレイヤ7ファイアウォールに相当な負荷が掛かりファイアウォールの処理上も、通信上もボトルネックとなることがある(中国共産党が導入を試みた結果、黒人ヌードがスルーされる一方で豚や毛沢東の禿げ頭がポルノ認定される事態となり世界中の笑い物にされたのが記憶に新しい)。またアプリケーションの通信の中身も検査する為に電気通信事業者が自らが仲介する通信の内容に立ち入ってはならない(通信の秘密)と言う原理原則に反する検閲と批判する向きもある。実際に、ISPぷららファイル共有ソフトウェアWinnyの通信を全て遮断する事を計画・発表すると、それに対して通信の秘密を侵害する可能性があるとして総務省から行政指導を受け、Winny遮断は同ISPユーザの利用者の選択に任せるとした事例もあった。こうした問題は郵便網整備が始まった18世紀欧州において「中身が途中で検閲官に読まれ検閲される」ケースが問題化した時代まで遡る。

http://www.cool-proxy.net/articles/wp-content/uploads/2013/02/surf-through-proxy-server.png

ファイヤーウォールというより「負荷分散装置(サーバ(Web、メール、DNSサーバなど)に掛かるトラフィックの負荷を分散させ、サイト全体の可用性や安定性を保つ事が主目的)」というニュアンスが強いロードバランサが登場してきたのもこの時代。最初のハードウェア製品が初めて発馬漁れたのは1996年頃で,1990年代後半には、米国でいわゆるドットコムカンパニーと呼ばれるインターネットをビジネスの中心に据えたスタートアップ企業が相次いで登場し、Eコマースサイトなどに負荷分散装置を導入するケースが目立つようになった。ドットコムブームは時を同じくして日本にも飛び火し、米国と同じくインターネットビジネスブームが起きた結果、多くの企業がWeb技術をベースとしたポータルサイトやEコマースサイトなどを立ち上げた。「BIG-IP」を筆頭とするロードバランサ製品が世の注目を集めるようになったのはまさにこの時期の事で、以降、ロードバランサはミッションクリティカルなWebシステムにおいて不可欠の技術となっていく。

http://www.infraexpert.com/network/loadbalance1.gif

⑥2000年代に入るとアンチウイルス、URLフィルタリング機能等を搭載した統合型ファイアウォールUTM(統合脅威管理製品)が登場。様々な機能が1台に集約された優れたソリューションながら同時に複数の機能を使用すると(転送速度低下を含む)性能劣化が引き起こされてしまう為、同時期に流行したギガビット性能の追求に応える事が出来なかった。

http://www.hitachi-solutions.co.jp/paloalto/sp/products/about/img/history_img_04.png

⑦その一方でロードバランサーの世界にも2004年に技術上のブレークスルーが発生した。それまでのロードバランサは、BIG-IPを含めて、流れていくパケットのIPアドレス/ポート番号/HTTPなどのデータを抽出・解析し、トラフィック振り分けなどの処理を行うに過ぎなかった。ロードバランサを介して通信はするものの、クライアントからすると基本的にはオリジナルのサーバと通信している状況として動作しておりPacket by Packetの処理を前提としする設計だったのである。逆を言えば、ロードバランサ自身がプロトコルの終端装置としてTCP/IPやHTTPの処理を実行するものではなかったが,2004年にF5ネットワークスがリリースした「BIG-IP Ver.9 TMOS」はそれまでの設計上の前提を覆しクライアントとサーバの間でプロトコルの終端装置として動作し、クライアントからBIG-IP、およびBIG-IPからサーバの通信を完全に独立させ、すべてのプロトコルフルスタックで理解できる「フルプロキシ」へと変貌を遂げた。つまり、クライアントとサーバの間のパケットを単に中継するのではなく、サーバの「代理」としてクライアントと通信し、一方でサーバとの間にまったく別のTCPコネクションを確立し、この双方のTCPコネクションをBIG-IPがつなぎ合わせる(クライアントからするとBIG-IPがサーバ、サーバからするとBIG-IPがクライアントとして通信している)という、まったく新たなアーキテクチャへと進化を遂げたのである。F5ネットワークスが「アプリケーション・フルプロキシ」と呼ぶ、この新たなアーキテクチャは、ロードバランサ製品の可能性を大きく押し広げることになった。従来のように単にパケットを中継するだけでなく、アプリケーショントラフィックの終端装置としてレイヤー4からレイヤー7にかけてのプロトコル処理、およびアプリケーションデータすべてに介入できるようになった事でネットワーク機器からアプリケーショントラフィックをよりきめ細かく、かつ積極的に制御することが可能になったのである。その時期はインターネットビジネスが日本で根付き、Webサイトを通じて大きな売り上げを稼ぐ企業が増加した結果、サイトのレスポンスタイムがそのまま売上額の多寡に直結する様になり多くの企業がそれまで自社内で運用していた業務システムが次々とデータセンターに移され、システムの集約が進行した時期と重なる。そしてアプリケーション・フルプロキシを活用してWebアプリケーションのパフォーマンスを高速化する技術が発達し、例えばWebのコンテンツをBIG-IPで圧縮(HTTP圧縮と呼ばれる)、さらにそのデータをキャッシュ(HTTPキャッシュと呼ばれる)したり、あるいはBIG-IPがTCPの終端ポイントになることで、回線のパケットロスや遅延により引き起こされるTCPデータ転送のパフォーマンス劣化を解消する技術(TCPプロトコル最適化と呼ばれる)、近年ではビデオコンテンツの解像度を回線環境にあわせて変更するといったさまざまな方法を駆使してWebアプリケーションの高速化が達成されていく。こうした機能は、もはやロードバランサ本来の役目である負荷分散を大きく越えたものであり、事実この頃からITのリサーチ・アドバイザリ・サービスを提供している第三者機関のガートナー社は、BIG-IPの事をロードバランサとは呼ばず「Application Delivery Controller(ADC)」という新たなカテゴリの製品として呼ぶようになった。そしてその過程でこれまでにはない新たなセキュリティ対策の実装が可能となったのである。例えば、クライアントとWebアプリケーション間のセッション(cookieを利用することが一般的)の妥当性をチェックすることで、セッションハイジャックを防止したり、クライアントから送信されるパラメータデータの妥当性をチェックすることで不正なデータがWebアプリケーションに送信されることを防止する。Webアプリケーションが完全にセキュアコーディングされていれば良いのだが、実情はかなり困難であり脆弱性が潜んでしまう。その脆弱性をBIG-IPの機能で対策できる。この機能は、いわゆる「WAF(Webアプリケーション・ファイアウォール)」であり、アプリケーションフルプロキシ・アーキテクチャがあってこそ実現された技術となる。。特に2005年頃から、SQLインジェクション攻撃といったアプリケーションの脆弱性を突いたセキュリティ攻撃が増すにつれ、セキュリティ機器としてのADCの役割は年々高まっていった。ADCはアプリケーションの手前に配置されるケースが多く、アプリケーションサーバへのトラフィックの出入り口としてセキュリティ機能を実装するというコンセプトは、システム構成上、とても理にかなったアプローチとだったからである。技術革新を常にリードしてきたBIG-IPも、ここ数年の間でセキュリティ関連機能を急速に強化しつつある。

http://jpn.nec.com/infocage/siteshell/images/waf_fig_5.jpg

⑧昨今のネットワーク・アプリケーションの進化と多様化はセキュリティー要件を引き上げた。ネットワーク・アプリケーションの開発者がファイアウォール技術が提供するポート番号ベースでの制限を前提に動的ポートスキャン、TCP 80/443ポートの活用、暗号化処理などを利用していとも簡単にこれをバイパスしてしまう様になったからである。それで2007年にはネットワーク・アプリケーションの挙動を可視化/制御する新技術を搭載した次世代ファイアウォールの販売がアメリカで開始される事になった。

http://www.hitachi-solutions.co.jp/paloalto/sp/products/about/img/history_img_05.png

⑨こうして徐々に「レイヤ4スイッチ(L3スイッチがIPヘッダまでの解析を行うのに対し、TCPヘッダなどのプロトコルヘッダ内のポート番号や、セッションシーケンス番号などの情報を解析したり書換えを行うことで、ネットワークトラフィックの分散や、最適化を行うことを目的とした装置、しばしば必要リソースを確保しつつ特定部署に負荷が集中しないように分散し、全体が円滑に動作するように管理するの役職者の役割に例えられる)」の概念が確立してきた。その筆頭としてしばしば挙げられるのが元来は1996年にスタンフォード大学で研究プロジェクトとして博士課程在籍のラリー・ペイジセルゲイ・ブリンが始めたバックリンクを分析する検索エンジン"BackRub"(バックラブ)が1998年にアンディ・ベクトルシャイムから10万ドルの資金援助を受け、カリフォルニア州メンローパークにある友人のアパートで創業したGOOGLE検索エンジンのキャッシュ管理システムである。 GoogleYahoo!サーチエンジン採用(2000年〜2004年)を踏み台に急成長を遂げてきたが、それを支えてきたのが200台以上のキャッシュサーバに負荷分散することで、検索エンジンとしてずば抜けた高速処理を実現する独自のL4スイッチ技術であった。

http://couragecrusade.com/wp-content/uploads/2015/02/BackRub_Blog_Image.png

AIバブル、ハイパーメディア、そしてブロードバンド・インターネット(1990年代〜2000年代前半)

1990年代初頭から始まったVOD(Video on Demand)システムが実用化に漕ぎ着けたのは新型ロードバランサーが登場した2004年以降。所謂「ハイパーメディアクリエータ」が活躍したのはまさにこのインターネット普及が始まってから、それがブロードバンド化するまでの過渡期であった。

HTTP(Hypertext Transfer Protocol)の台頭(1990年代〜)

WebブラウザとWebサーバの間でHTMLなどのコンテンツの送受信に用いられる通信プロトコルハイパーテキスト転送プロトコルとも呼ばれる事がある。HTTP/1.1 が RFC 7230 から RFC 7235 で規定されているが、かつては RFC 2616 がこれを規定していた為、こちらもよく参照される。また2010年代に入り、HTTP/1.1 を Google が改良した SPDY が普及したことを受けて、SPDY を基とした HTTP/2 の制定作業が開始され進められている。ネットワーク・アプリケーションとIPプロトコルの仲介に関与するという点でTCPプロトコルと関係が深い。

http://image.slidesharecdn.com/http2-changes-everything-150223085850-conversion-gate01/95/http2-changes-everything-5-638.jpg?cb=1427097600

①1990年代、イギリスの物理学者ティム・バーナーズ=リーはロバート・カイリューと共に初のWebブラウザとWebサーバ提供に邁進。このブラウザには専用の通信プロトコルが必要と考え、HTTP最初期のバージョン設計にも深く関与した。

②HTTP/0.9(RFC1945,1991年)の仕様は紙に印刷すれば1枚で済むような非常に簡素なドキュメントであったが、HTTP/1.0(RFC 2068,1996年)とHTTP/1.1(RFC 2068,1997年)2度のバージョンアップを経たHTTP/1.1の仕様書は実に176ページ近くの分量に膨れあがった。HTTP/1.0からHTTP/1.1への移行を促したのは「それまでのIPアドレスのみで相手を特定する方式では「人員問題により自前でWebサーバが運用出来ない企業のホームケージがホスティングを依頼されたISP (Internet Service Provider) の同一サーバ上に大量に存在する状況」に対応出来なかった事で、この問題の解決方法としてName Base Virtual Hostの概念が固められ、World Wide WebにおけるWebページなどのリソースがUniform Resource Identifierによって指定される仕様(HTTP を使用してリソースにアクセスする時はhttp: が先頭についた URL を使用する仕組み)が制定されるとたちまち普及して1998年にはインターネット上の通信の75%がHTTPによるものになった。

セキュリティ問題の浮上と対策②(1995年〜)

SSH(Secure Shell)…ネットワーク・アプリケーションレベルでのセキュリティ対策。そもそもインターネット黎明期から利用されてきたTelnetFTPには「ネットワーク上に平文でパスワードを送信してしまう為にパスワードをネットワーク経路上でのぞき見されてしまう(盗聴される)危険性が高い」という問題が存在し、商業的インターネット空間では問題が大きかった。そこでTelnetやrsh、rloginなどといったリモートホストのシェルを利用するための既存のプロトコルを代用する手段として考案されたのがSSH(Secure Shell)で、公開鍵暗号RSAやDSA)を用いて共通鍵暗号(トリプルDES、AESなど)の共通鍵を暗号化して鍵交換を行うハイブリッド暗号化/符号化技術を用いてパスワードなどの認証部分を含むすべてのネットワーク上の通信を暗号化する。Telnet同様に、リモートホスト間でのファイルコピー用のコマンドrcpを代用するscpや、FTPを代用するためのsftpも用意された。

http://gwb.blob.core.windows.net/bvamsi/4249/r_KeyBaseAuthSSH.gif 

  • オリジナルのSSHはTatu Ylönenにより1995年に開発され、はじめフリーで公開されたが同年12月にSSH社 (SSH Communications Security) が設立され、プロプライエタリ・ソフトウェアへと移行。その一方でOpenBSD開発チームはオリジナルSSHの最後のフリーなバージョンであるssh 1.2.12をもとに改良を加え,1999年12月にOpenSSHの最初のバージョンであるOpenSSH 1.2.2を、OpenBSD 2.6とともに発表。他のオペレーティングシステムへのポーティングと、プロトコルバージョン2への対応を行うことにした。
  • SSHの初期のプロトコルであるバージョン1には脆弱性や制限がある為に対応策としてSSH社は1996年にバージョン1と互換性のないプロトコルバージョン2を発表しIETFでの仕様策定を経てバージョン2を実装した製品を1998年に発売。しかしそれまでの製品より機能が劣り、ライセンスの制限も厳しかったため普及はなかなか進まなかった。一方OpenSSH開発チームは2000年7月にOpenBSD 2.7のリリースに合わせバージョン1とバージョン2に対応したOpenSSH 2.0を発表。これ以降爆発的に普及してスタンダードの地位を獲得した。
  • 現在はバージョン1とバージョン2の2種類のプロトコルが共存しているが、脆弱性が発見されている為バージョン1の利用は推奨されない。商用アプリケーションやフリーソフトウェアなど幾つかの実装があり、特許や互換性の問題などでやや混乱があったが,2006年にSSHプロトコルおよびその関連技術がRFCとして制定されている。とはいえ2008年の時点でもっとも一般に普及しているのは、オープンソースで開発されているOpenSSHで、Linuxなどでも標準的に利用されているため、現在では単にSSHと言った場合、OpenSSHの実装系を指すことが多い。 

SSL (Secure Sockets Layer) /TLS(Transport Layer Security)TCP同様、アプリケーションとIPプロトコルの間で機能するセキュリティ。特にHTTPでの利用を意識して設計されている(HTTPに対するHTTPSの世界)。UDPやDCCPといったIPプロトコルと同レベルのデータグラム型プロトコル(信頼性を犠牲にする代わり転送時遅延を最小限に抑えたパケット通信のバリエーション。動画再生の様なリアルタイム大量データ転送に使われる)上にも応用されており、こちらはDatagram Transport Layer Security (DTLS) として独自標準化されている。

http://etutorials.org/shared/images/tutorials/tutorial_113/09fig01.gif

 

  • ネットスケープコミュニケーションズ社が設計した最初のバージョンたるSSL 1.0[は設計レビュー段階でプロトコル自体に致命的脆弱性が発見され実装を見送られた。従って最初に制定されたのはSSL 2.0(1994年)という事になり、同社のウェブブラウザであるNetscape Navigator 1.1においてSSL 2.0を実装されたのが最初となる。その後さらにSSL 2.0にも幾つかの致命的脆弱性が発見されSSL 3.0(1995年)へと移行。Netscape Navigator も2.0においてSSL 3.0を実装した。クライアントから見るとSSL 2.0を無効にしない限りこの脆弱性の影響を受ける可能性が否定出来ないのでSSL 3.0対応が十分に普及したという想定でInternet Explorer 7やMozilla Firefox 2、Opera 9などは、初期状態でSSL 2.0を無効とした。そして(SSL 3.0の仕様が歴史的文書扱いで RFC 6101として公開された)2011年以降、RFC 6176 によってSSL 2.0の使用は公式に禁止されている。さらには2014年10月にSSL 3.0の仕様上の脆弱性(POODLE攻撃)が発見されたため、SSL 3.0への対応は打ち切られ、TLS 1.0以降のみ対応への移行が望まれている。そして2015年6月、RFC 7568 によってSSL 3.0の使用は公式に禁止された。
  • IETFTLSワーキンググループがRFC 2246 としてTLS 1.0を公表。1996年に開始されたその標準化作業は年内に完了する予定だったが、いくつかの問題に阻まれ、公表が1999年まで遅延した。提供する機能自体はSSL 3.0とあまり変わらないが、アルゴリズムやルートCAの自己署名証明書の取扱いなどの仕様の詳細が変更されたことに加え、これまであまり実装されていなかった選択肢のいくつかが必須と定められた。このため、TLS 1.0を実装した製品が普及するまでには、さらに数年を要した。なおTLS 1.0はSSL 3.0より新しい規格であることを示すため、ネゴシエーションにおけるバージョン番号が3.1となっている。
  • TLS 1.1(RFC4346,2006年)のTLS 1.0からの変更点は、新しく発見された攻撃手法に対する耐性の強化が中心である。特にCBC(Cipher Block Chaining,1976年にIBMが開発した暗号化/符号化プロトコル)への攻撃に対する耐性を上げるため、初期化ベクトルを明示的に指定することにし、さらにパディングの処理も改善された。また、予期せぬ回線クローズ後に、セッションを再開できるようになった。共通鍵暗号アルゴリズムとしてAESが選択肢に加わった。ネゴシエーションにおけるバージョン番号は3.2となっている。
  • TLS 1.2(RFC 5246,2008年8月)ではハッシュのアルゴリズムにSHA-256が追加されたほか、ブロック暗号について、従来のCBCモードだけではなく、GCM、CCMといった認証付き暗号を用いたcipher suiteが利用可能となった。また、AESに関する記述がRFC 5246自体に含まれるようになった。ネゴシエーションにおけるバージョン番号は3.3となっている。

  • 2015年10月現在、TLS 1.3が新たなTLSのバージョンとして提案されている。TLS 1.2からの変更点としては、データ圧縮の非サポート、forward secrecyではないcipher suite(RSAのみを用いたもの)および認証付き暗号ではないcipher suite(CBCモードのブロック暗号やRC4を用いたもの)の廃止が挙げられる。ネゴシエーションにおけるバージョン番号は3.4となる予定。

WEP(Wired Equivalent Privacy)/WPA(Wi-Fi Protected AccessIEEE 802.11無線ネットワークは電波を使ってメッセージを放送するようなもので、有線ネットワークに比べて盗聴が容易である。転送されるのはIPプロトコル相当のフレームでMACアドレスも剥き出しであり、OSI7階層モデルでは下から6番目、上から2番目に当たるプレゼンテーション層での暗号化/符号化の実装が必死と当初から考えられてきた。

http://www.tech-faq.com/wp-content/uploads/WEP.gif

  • 1997年に登場したWEP(Wired Equivalent Privacy、Wireless Encryption Protocol とするのは間違い)は従来からある有線LAN並みの機密性を提供するものと期待されていたが,2001年以降、暗号解読者らによって深刻な弱点がいくつか明らかとなって現在では容易に入手可能なソフトウェアを使って数分でWEPコネクションを解読可能な状態となっている。

  • そこでIEEEは数カ月以内に新たなタスクフォース802.11iを立ち上げ、この問題の対策を検討し始めた。2003年には802.11iによってまとめられつつあった改正案のサブセットである Wi-Fi Protected Access (WPA) でWEPを置き換えることを Wi-Fi Alliance が発表。2004年には802.11iのまとめた規格 (WPA2) が承認され、IEEEは正式に WEP-40 と WEP-104 が「本来のセキュリティ目標を達成できなかったため、置換される」ことを宣言した。

  • こうして脆弱性が明らかになっているにも関わらず、WEPはその後も広く使われている。確かにWEPは安価で旧式なパーソナル用途向け無線LANルーターでも使用可能なセキュリティ手段で、通りすがりの他人に安易に無線ネットワークを使用される事は防げるものの、悪意を持って意図的に盗聴しようという試みに対しては無防備であるから注意が必要なのである。

他の年表と擦り合わせる為の個人的メモ…

  • 共産圏が資本主義圏とのコンピューター開発競争に決定的に遅れを取り始めた1960年代。まさにその時代に現在のOS概念や基本部分(カーネル)の技術の大半が完成。マルチタスク実現に不可欠な「論理ポート」設定が行われたのもこの頃。

  • 1973年には既に米国大学間を結ぶARPANETトラフィックの75%を電子メールが占めていた。

  • 米国で1985年に開催されたTCP/IPワークショップに250の業者代表が参加した事がTCP/IPの普及と商用利用増加に繋がっていく。ただし需要の爆発的急増は1990年代後半に入ってから。

  • 1990年代初頭から普及の始まったHTTPフォーマット。1998年にはもうインターネット上の通信の75%を占めるまでになっていた。

  • Apple社がQuickTimeコーデックを発表したのが1991年12月02日。Microsoftが動画再生用APIのVideo for Windowsを発表したのが1994年。そして同時期から実用化が始まったVOD(Video on Demand)システムが実用レベルに達したのが、クライエント側がブロードバンド化し、サーバ側に実装する新型ロードバランサーが登場した2004年以降。CD-ROMタイトル中心に所謂「ハイパーメディアクリエーター」が活躍したのがこの時期となる。

  • 日本でドメイン登録数や電気通信事業者数が急増するのは1990年代後半以降。

そして2012年になると「インターネット・トラフィックのリッチ化(回覧内容がテキストから静止画・GIF・音声・動画などへ)とモバイルシフト」なるトレンドが一挙に表面化してくる訳です。