通信を支えるプロトコル

プロトコルというのは、

パソコンを使っていたりすると 必ず出てくる言葉です。

プロコトル 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から始まるホームページで使われます。

POP3
メールソフトで メールサーバーからメールを受信。

SMTP
メールソフトで 自分のメールサーバー・相手のメールサーバーへ送信。

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

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

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

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

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、HTTPS、POP3、TCP、DHCPなどパソコンを使う上でよく出てくる言葉は「プロトコルのこと」ぐらいに覚えておけばいいでしょう。


階層・組み合わせ

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

  • アプリケーション層・・・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というのは よく見かける数字が、これもメールサーバーと通信できるように設定していることになります。

それでは パソコン側は?といいますと、

サーバーと同じポートを使うわけではありません。

ダイナミックポートで そのとき使われていないポートが自動的に使われます。

使われていないポートは基本的に閉じているということになります。

下記のページで 現在のIPアドレスやインターネットで使用しているポートを見ることができます。

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

ルーターのポート開放

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

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

通常は 外部からの通信は サーバーから帰ってくるものだけですが、意図的に常時 アクセスが来るようにすることがあります。

リモートアクセス、自宅・自社サーバーの公開、ネットワークゲームなどです。

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


関連情報