通信を支えるプロトコル

プロコトル 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サーバーのデータのやり取り。

POP3SMTP

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

SSL・TLS

暗号化通信のプロトコル。ホームページ閲覧やメール送受信で使われています。アドレスが httpsで始まるWebページ、メール設定における SSL・TLSのチェック箇所など。

httpと組み合わせたものが https、POP3・SMTPと組み合わせたものが POP3S・SMTPSになります。

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・・・ダイナミックポート

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

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

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

例えばサーバーでは、主に以下のようなポートが使われています。

  • HTTP・・・80番 ホームページ閲覧
  • HTTPS・・・443番 ホームページ閲覧(暗号化)
  • PO3S・・・995番 メール受信
  • SMTPS・・・465番 メール送信
  • FTP・・・21番 接続、20番 データ送受信

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

またメール設定で POP3に995、SMTPに465や587というのは、メールサーバーと通信できるようにポート番号を設定していることになります。

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

ただリモートアクセス、自宅・自社サーバーの公開など外部からアクセスを許可するため、ルーターでポート開放を行うことがあります。

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

デファクトスタンダード

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

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

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

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