ネットワークとプロトコル

プロトコルとは何か

続いて、インターネットの構造の基本をなす、パケットプロトコルについて説明します。パケットとは、すでに説明した通り、インターネットで情報をやりとりするための単位です。しかし、それだけでデータを転送することはできません。パケットで情報をやりとりするためには、そのしくみの取り決めであるプロトコルが必要です。プロトコルには様々なものがありますが、ここでは特にもっとも有名なものであるTCP/IPについて説明します。

IPプロトコル

IPとは

冒頭で説明したとおり、ネットワークで情報をやり取りする際には、プロトコル(Protocol)と呼ばれる仕組みが必要です。プロトコルとは、ネットワークを構成するための「約束事」のあつまりであり、実に様々な種類があります。しかし、その中で最も中心的であり、基本的なプロトコルがあります。それが、IP(Internet Protocol:インターネットプロトコル)と呼ばれるものです。

IPの基本的な仕組みは、データをネットワークのあるノードから別のノードまで届けることにあります。ネットの情報を小包にたとえるのならば、その小包を送り主から宛先の受け取り手まで届けるのが、IPの役割なのです。

IPの仕組み

では、そのIPの仕組みはどのようになっているのでしょうか?IPの仕組みには大きく分けて二つあります。以下、それぞれについて説明していきます。

(1) ルーティング

IPは、ネットワーク上のパケットを届ける宛先にデータを送りますが、その際、宛先となるノードに直接到達できない場合がほとんどであり、いくつかの機器を経由して目的地にたどり着くことになります。このような機能のことを、ルーティングと言い、IPの主要な機能の一つです。(図2-1.)

図2-1.ルーティング

(2) フラグメント化

IPは、データをパケットに分割して送信しますが、送信するデータを細かいデータの固まり(フラグメント)に分ける作業のことを、フラグメント化と言います。フラグメント化されたデータは、ここにIPヘッダと呼ばれるデータが付加されて、IPパケットと呼ばれる情報に分割されて送受信されます。(図2-2.)

図2-2.フラグメント化

IPアドレス

IPが、ネットワーク上の機器の宛先を認識する方法として用いられるのが、IPアドレスと呼ばれるものです。IPアドレスには、IPv4と呼ばれるものと、IPv6と呼ばれるものがありますが、ここでは通常付かされている前者のIPv4での場合について説明します。

IPアドレスとは、4バイトの数値で表されるデータで、表記する際には、バイトごとに.(ピリオド)で区切って表記します。例えば、

43.31.2.7

のように表わします。一つのネットワークの中には、同一のIPアドレスをもつ機器は一つに限定されます。IPアドレスがバッティングする場合は、その機器はネットワークに参加できません。

TCP

TCPの働き

続いて、TCPについて説明します。TCPとは、IPと並んでネットワークの代表的なプロトコルの一つで、IPプロトコルを正しく送信させるために必要なプロトコルで、IPプロトコルの上位のプロトコルと言えます。

IPで送られるデータは、ネットワーク上のトラブルなどで、すべてが相手側に正しく届く保障はありません。そこで、TCPは、データが相手に正しく届いたかどうかを確認し、もし正しく届いていなければ再送したり、エラーがあれば訂正したりする働きをします。

ポート番号

また、IPアドレスは、あくまでも相手側のホストを、IPアドレスという数値によって特定しているだけで、そのデータがどんなアプリケーションで使われるのかということまでは指定していません。そこで、TCPでは、ポート(port)番号と呼ばれる番号を割り振って、そのパケットがどのアプリケーションやサービスで使われるかということを特定できるようにしています。(図2-3.)

たとえば、現在一つのコンピュータで同時にメール、Webブラウザ、ネットワークゲームなどといったアプリを同時に使うことができます。これらは、同一のIPアドレスをもつコンピュータ上にありますが、それぞれが異なるポート番号を持っているため、コンピュータに到達後、ポートバン番号によって、それぞれのアプリに割り振られます。(図2-3.)

図2-3.ポート番号

TCP/IP

TCPの情報は、TCPパケットと呼ばれるパケットによって情報がやりとりされます。通常、ネットワークは、TCPとIPがほぼセットになって運用されており、そのため、この二つをセットにして、TCP/IPと呼ばれています。これら二つは異なるプロトコルですが、セットになってインターネットの仕組みを支えています。(図2-4.)

図2-4.TCP/IP

その他のプロトコル

UDP

インターネットのプロトコルは、TCP/IPだけではなく、さまざまなものがあります。その中で、よくつかわれるのが、UDP(User Datagram Protocol)と呼ばれるプロトコルです。UDPはTCPのように、ポート番号でアプリケーション・サービス間のデータのやりとりを行うプロトコルです。(図2-5.)

UDPとTCPの大きな違いは、UDPはエラー制御をおこなわないことです。そのため、データの欠損などが起こりますが、データの転送速度は速くなります。そのため、データの欠損が起きても大きな問題にならない、音声や動画などといったデータのやりとりを行う際に用いられます。

図2-5.UDP