【これからのネットワーク】Information Centric Networkingについて①

はじめに

インターネットに接続される機器が増える中(IoT)、IPアドレスを用いたネットワークでは、ネットワークへの負荷が大きくなりすぎてしまし、アクセス時間や待機時間の増加が問題となります。

 

そもそも、IPネットワークはIoT向けには最適されておらず、無駄な消費電力を発生させることになるため、バッテリーなどによる長期間の連続稼働は困難です。

 

なので、IPに置き換わるネットワークとしてInformation Centric Networkingが研究されています。

 

IPにおける具体的な問題とは

まずはじめに、IPアドレスを用いるということは、サーバが設置されている場所に依存するということです。つまり、大量のIoTデバイスが存在することによって、DNSによる名前解決も大量に発生することになります。そのため、データを送信するだけにもかかわらず、それに関係のない名前解決などの通信が発生してしまいます。

 

また、IPではサーバの場所に依存します。具体的には、サーバが物理的に設置される場所は基本的に変わらないため、そのサーバを介した通信が多数発生する場合、サーバ周辺が非常に混雑(輻輳)することが考えられます。それによって、通信速度の低下やパケットロスなどが発生するため、ネットワークの通信品質が著しく低下します。

 

ほとんどの通信はHTTP

通信の多くにHTTP(S)が使われています。これはWEBなどのコンテンツを配信するために開発されたものです。基本的にはWEBブラウザChromeなど)をクライアントとしてサーバと通信することが多いです。

 

HTTPの通信の基本はクライアントからサーバへリクエストを送信します。サーバがリクエストを受信すると、それに対するレスポンスとしてHTMLやデータを返送します。HTTPでは片方向通信であり、クライアントからしか通信を開始できません。

 

IoTのユースケースを考えた時に、データを収集するためのみのワイヤレスセンサネットワークなどではクライアントからサーバへの片方向通信でも良いかもしれません。

しかし、ほとんどのユースケースではクライアント(エンドデバイス)を遠隔で制御することが望まれます。そのため、HTTPではサーバからクライアントへ通信を開始することができないことから、スケーラビリティに乏しいです。

 

そのため、HTTPを使わない通信が必要になります。

 

Information Centric Networking

ここでICN(Information Centric Networking)が登場します。概念自体は非常に古く、数十年前から検討されています。

 

ICNの特徴を一言で説明すると、「データ自体で通信する」ということです。IPの場合、通信では必ずIPアドレスを用いて、送信元から宛先を指定します。サーバのIPをクライアントは把握することで、データを取りに行けるのです。つまり、データの情報源(サーバ)の場所を知る必要あり、情報源に到達後はサーバからデータを返送してくれます。

 

しかし、ICNではIPを使いません。

 

IPを使わずにどうやって通信するの?ということですが、ICNではサーバの場所を特定する必要がないのです。ICNではクライアントは欲しいデータの情報だけ知っていれば通信が可能です。

 

 

ICNではデータをネットワーク内のルータに分散的に配置します。ルータは一度、転送したデータを保存するキャッシュ領域を保持しています。それによって、二度目以降のデータ要求には上位ノードへアクセスする必要がなく、キャッシュ領域から転送することができます。

 

ICNはこのような仕組みの概念のことであり、それをさらに深堀するための通信方式がいくつか存在しています。次回はそれらについてご説明します。

 

今回のブログはあまり内容を精査できていないので、少しずつ改定をしていきたいと思います。