7, 6, 5, 4, 3, 2, 1 ... インターネット:パケット、ルーティング、信頼性(しんらいせい) わたしの名前はリン。Spotify のソフトウェアエンジニアです。 みなさん、インターネットが使えるのを、当たり前だと思っているでしょう。 インターネットでやりとりされる情報(じょうほう)の多さは、たいへんなものです。 では、すべてのデータが、ちゃんと、わたしたちの所まで、とどくのは何故でしょう。 たとえば、Spotifyから歌を聞くとき、あなたのコンピュータと、Spotifyのサーバと 一本の線でつながり、Spotifyは歌を送る・・・ しかし、インターネットはこのような動きはしません。 インターネットが専用(せんよう)線で作られたら、数百万のユーザーが同時に使うことはできません。 そして、全ての回線とコンピュータが、いつでも使える、と言うことはありません。 では、データは、インターネット上をどのように運ばれるのでしょう。 何年もまえ1970代、わたしとボブカーンは、デザインを始めました いまは「インターネット」とよばれています。 (ヴィント:インターネットの父) IPプロトコルのアーキテクチャをデザインする チャンスと責任(せきにん)とが、あたえられました。 わたしたちは根気強く、インターネットの拡大(かくだい)と革新(かくしん)に、いまも参加し続けています。 ひとつのコンピュータから、他のコンピュータに情報(じょうほう)が送られる、その流れは、とても面白いものです。 それは、決まった道を通るものではありません。コンピュータとコンピュータの相談によって、かわって行くのです。 インターネット上で情報は、 ひとつのコンピュータから他へ、「パケット」として運ばれ、 インターネット上を、まるで車が動くように、動いていきます 同じように、道が混雑(こんざつ)していれば、 いつもと、ちがう道を走ったりする事になります そして、車で何かを運ぶのと同じように、デジタル情報も、 IPパケットで運ばれます。しかし、制限もあります。 たとえば、スペースシャトルを作った場所から、発射(はっしゃ)台まで動かす場合 1台のトラックで運ぶのはむつかしいので、いくつかの部品にわけて、何台かのトラックで運びます それぞれのトラックは、ちがうルートを通って、ちがう時間に、発射台に着くかもしれません そして、全ての部品が着いたら、あなたはこれを組み立てなければなりません。 これでシャトルが、発射できるようになります インターネットも、同じように動きます 大きな画を友人に送ったり、ウェブサイトにアップロードするとき、 たくさんの「0」「1」のビットが、1つのパケットでは収まらないかもしれません。 コンピュータは、これをバラバラの「パケット」にして送ります。 パケット 車とちがい、パケットには運転手はいませんから、自分で道を選ぶことはできません。 パケットは、どこからどこへ行くのか、インターネットアドレスを持っています 「ルータ」と呼ばれる特別なコンピュータが パケットがインターネット上をスムースに流れるように交通整理します。 ひとつのルートが混雑したら、それぞれのパケットは異なる経路を通り、 ちがう時間に、バラバラに届きます。 これがどのように動くのかお話しましょう インターネットプロトコルでは、それぞれのルータは、パケットを送るための、たくさんのパスを知っています。 そして、パケットのあて先によって、いちばん「安い」パスをえらびます 「安い」は、お金のことではありません。 時間、政治要因、おたがいの関係などのことです データを送られるために、いちばん近いルートが良い、とは限りません たくさんのパスを持つことで、ネットワークは障害(しょうがい)に強くなります 何か、すごく悪いことが起きても、ネットワークはパケットを送り続けます 「信頼性(しんらいせい)」 これがインターネットの基本です さて、歌を聞くために、データをリクエストしても、一部分しか届かなかったらどうしますか? どうすれば、データが100%すべて届いたことを確認して、歌を聞くことができるでしょう あたらしい友達をしょうかいします。 TCP(トランスミッション コントロール プロトコル)です。 TCPは、送ったり、受け取ったりする、すべてのパケットを管理します。 郵便の追跡(ついせき)サービスのようなものです。 あなたが歌をリクエストすると、Spotifyはそれをバラバラのパケットにして送ります パケットが届くたびに、TCPがチェックして、それぞれのパケットの受け取り確認を返します 全てのパケットが そろったら、TCPは受け取り かんりょうのサインをします。(これで、曲を聞くことができます) TCPは、足りないパケットを見つけると、受け取りのサインはしません このままでは、ちゃんと再生できないか、曲の一部が欠けてしまうからです。 Spotify は、欠けている、こわれているパケットを、もう一度おくります。 ひとつの曲をリクエストして、TCPが、ぜんぶのパケットを確認したら、あなたは曲を聞くことができます。 TCPとルータは、スケーラブルです。 すばらしいことに、8億から80億のデバイスでうごきます。 じっさい、フォールトトレラントと冗長性(じょうちょうせい)の原則によって、 ルートを追加するたびに、インターネットは、つよくなります さらにまた、インターネットのサービスを止めることなく、 インターネットは成長し、拡張することができます インターネットは、数万のネットワークと 数億のコンピュータとデバイスで作られています さまざまなシステムが、インターネットにつながり、 おたがいに通信をし、ともに働きます インターネット上で、どのようにデータを送り合うのか、 スタンダードに合意しているからです インターネット上のコンピュータやルータは、すべてのパケットが目的地に届くように協力し 順番どおり、組み立てられるように助けます これは、1日に数十億回も行われます。 あなたや他の人が、電子メールを送信する、Webページを訪問する、 ビデオチャットや、モバイルアプリを使用したり、センサや機器が インターネットで、通信するときに