通信を支えるプロトコル

プロコトル protocol とは、和訳すると規約、規定、決まり事などを意味します。

例えば、Webページで考えてみます。

Webページには、Webサーバーにおかれています。ここには LinuxというOSが搭載されています。ページを見ている人は Windowsのパソコンもあれば、Macのパソコンであったり、AndroidやiOSのスマートフォン・タブレットもあります。

つまり、異なるハードウェアやOSであっても 通信が確立していることになります。これは、TCP/IPという共通のプロトコルを使っているからです。

TCP/IPプロトコル

Web閲覧、メール送受信、ファイル共有などすべての通信は、TCP/IPプロトコルで動作していて、ハードウェアやソフトウェアも このプロトコル上で動作するように開発・提供されています。

パソコンやインターネット、ネットワーク内など 通信の規格、決まり事、共通言語ということができます。

TCP/IP プロトコル

パソコンやインターネットで使われているのが TCP/IPプロトコルです。正確には TCP/IPプロトコル群、TCP/IPプロトコルスイートともいわれます。

この中に様々なプロトコルが含まれています。

HTTP

ホームページ閲覧。パソコンとWebサーバーのデータのやり取り。

SSL

暗号化通信のプロトコル。httpsから始まるホームページで使われます。

POP3SMTP

POP3は、メールソフトで メールサーバーからメールを受信。 SMTPは、メールソフトで 自分のメールサーバー・相手のメールサーバーへ送信。

FTP

パソコンからサーバーへファイルの転送。ホームページ作成のファイルアップロードなどで使われます。

SMB

ネットワーク内のパソコンやプリンターの共有。

DHCP

ネットワーク内のパソコンや機器へのプライベートIPアドレスの割り当て。

NTP

パソコンとインターネット上のNTPサーバーと時刻を合わせるプロトコル。

TCPUDP

TCPは、信頼性・確実性を重視したデータ送受信。HTTP、HTTPS、POP3、SMTP、FTPなどと組み合わされて使われます。ホームページ閲覧、メール送受信、ファイル転送など。

UDPは、転送速度・リアルタイム性を重視したデータ送受信。IP電話、ビデオ会議、チャット、動画ストリーミングなどで使われます。

IP

データ・パケットを指定された場所まで届ける。インターネットで幅広く使われるプロトコル。

IPsec

データ・パケットを暗号化して指定された場所まで届ける。VPNなどで使われます。

Ethernet

広く普及しているLANによる接続。

PPPoE

PPP over Ethernet。EthernetでPPPプロトコルを利用して通信するプロトコル。ブロードバンド接続などで使用されています。

よく出てくるのは これらのプロトコルです。末尾に Pが多いのは ~protocolの略だからです。

TCPやIPは、TCP/IPプロトコル群の中でも主要なもの・中核をなすもので、パソコンやネットワーク、インターネットなどデータ送受信では必ずといっていいほど関係しています。そのため、パソコンやインターネットで使われるすべてのプロトコルをまとめて TCP/IPプロトコルといいます。

階層・組み合わせ

プロトコルは、階層というものがあり分けられています。

  • アプリケーション層・・・HTTP、POP3、SMTP、FTP、DHCP
  • トランスポート層・・・TCP、UDP
  • インターネット層・・・IP、IPsec
  • ネットワークインターフェース層・・・Ethernet、PPPoE

それぞれの層で担当が異なります。

ひとつのデータを送るときでも、それぞれのプロトコルが役割を分担して 仕事をしていると考えることができます。

プロトコル

データを送る際は、上の層から下の層へ渡されていきます。また逆に受け取る際は、下の層から上の層へ渡されていきます。

各層では、処理に必要な付加情報であるヘッダが、データに追加されていき、送信先で外されていきます。このような過程をカプセル化・非カプセル化ともいいます。

カプセル化と非カプセル化

たとえば ブラウザを起動してホームページを閲覧するときには HTTPの他に TCP、IP、Ethernetがセットになって動作しています。

簡単にすると流れはこうなります。

  • HTTP・・・・ブラウザ起動 URL入力 HTTPリクエスト
  • TCP・・・・送信元ポート・送信先ポート番号指定
  • IP・・・・送信元、送信先IPアドレス指定
  • Ethernet・・・・ビット列・電気信号に変え LANで運ぶ

これが Webサーバーまで運ばれて、そしてまた帰ってきて ホームページが閲覧できているわけです。

メールの送受信、ファイル共有、ルーターへの接続などパソコンで行っていることは 、いろいろなプロトコルによって支えられているということです。

パケット

パケットとは、小包という意味です。

インターネット、ネットワークにおける通信では、データはすべてパケットという単位に分割して行われています。パケット通信、パケット通信方式といいます。

パケット

データはパケットに分割され 送信元・送信先のポート番号やIPアドレスなどの情報が付きます。

分割されたパケットは、伝送先のトランスポート層のプロトコル TCPやUDPで元のデータと同じものに復元され、アプリケーションに渡されます。

IP層で処理されるものを、特にパケットといいますが、トランスポート層ではセグメント、ネットワークインターフェース層ではフレームということもあります。

ポート番号

IPアドレスでは パソコンやサーバーなどの住所を特定しているのですが、あくまで場所が分かるだけです。サーバーまで行ってもそこから先へ進めません。

そこでポートというものが使われます。

ポートは、0~65535まで 65,536個あります。出入口です。それぞれのアプリケーションで使われるポートが異なります。

つまり、IPアドレスで住所まで到達したら、次はポート番号で具体的なところまで行けることになります。

IPアドレスは住所、ポート番号は部屋番号によく例えられます。

ポート番号は 大きく3つに分けられています。

  • 0~1023・・・ウェルノウンポート
  • 1024~49151・・・レジスタードポート
  • 49152~65535・・・ダイナミックポート

ウェルノウンポートとは よく知られているポートという意味で、サーバーのアプリケーション待ち受け用などに使われるポートです。

レジスタードポートとは 登録済みポートという意味で、メーカーの独自アプリケーション用のポートです。

ダイナミックポートとは、プライベートポートともいいます。クライアントPC、ローカルPCで使われるポートです。パソコン側ではこのポートが使われます。

具体的にサーバーでは、以下のようになります。

  • HTTP・・・80番 ホームページ閲覧
  • PO3・・・110番 メール受信
  • SMTP・・・25番 メール送信
  • HTTPS・・・443番 ホームページ暗号化閲覧
  • FTP・・・21番 接続、20番 データ送受信

サーバーは、これらのポートを常に開放して 待ち受けていることになります。ブラウザを起動した時は、サーバーの80番のポートに対して要求しています。

またメール設定で POP3に110、SMTPに25というのは、メールサーバーと通信できるように設定していることになります。

パソコン側は、サーバーと同じポートを使うわけではありません。ダイナミックポートで、そのとき使われていないポートが自動的に使われます。使われていないポートは基本的に閉じているということになります。

このように、パソコンやサーバーの通信は TCP/IPプロトコル、IPアドレス、ポートによって行われています。

ポート開放

パソコンとサーバーの必要な通信は、ルーターが管理して通しています。

ポート開放というのは、主に外部からアクセスを許可するためのものです。

通常は 外部からの通信は サーバーから帰ってくるものだけですが、意図的に常時 アクセスが来るようにすることがあります。リモートアクセス、自宅・自社サーバーの公開などです。

こうした際に ルーターでポート開放を行うことがあります。

デファクトスタンダード

通信プロトコルには、他に国際標準化機構 ISOが規定している OSI参照モデルがあります。TCP/IPプロトコルが4層であるのに対して、OSI参照モデルは7層になっています。

OSI参照モデルは、現在でもネットワークの階層や理論を説明するときによく用いられています。しかし、実装は難しくネットワークや機器では実際には使われてはいません。

それに対して、TCP/IPプロトコルは、米国においてインターネット初期のARPANETで導入されたのをきっかけに、その後開発や改良が進み、ネットワークや機器で標準的に使われるようになりました。

TCP/IPプロトコルは、ISOなどによって公的に標準化され普及したわけではなく、実用性や利便性によって広く普及し、事実上の標準、デファクトスタンダードとなった代表的な事例です。


関連情報