ネットワークの通信は様々なプロトコルが組み合わさって成り立っています。検索エンジンからこのページに辿り着くまででも、TCP、IP、HTTPなどの復数のプロトコルが働いてくれています。
プロトコルの基礎知識についてはこちらのページもご覧ください。
このページでは、インターネットの通信に使われるプロトコルの種類と、その大まかな説明を書いていきます。
インターネットにおけるプロトコル
インターネットの通信は、TCP/IPというプロトコル群の組み合わせによって成り立っています。この名前はTCPとIPというプロトコルからきていますが、実際はHTTPやUDPなどを含めたインターネットで使われるプロトコルの総称として使われることが多いです。
ので、とりあえずTCP/IP通信と聞いたら「あっ、インターネットで使われているプロトコル全般のことを指してるんだな」と思ってもらえればいいでしょう。このプロトコル全般のことをインターネット・プロトコル・スイートと呼ぶこともあります。
TCP/IPでは、4つの階層に分けてプロトコルを分類します。OSI基本参照モデルでは7階層ありますが、TCP/IPの階層と照らし合わせるとこんな感じになります。
アプリケーション層 | アプリケーション固有の通信データ構造などを決める |
トランスポート層 | アプリケーションプログラム同士の通信経路の確立 |
インターネット層 | インターネット上の他のコンピュータにデータを送り届ける |
ネットワークインターフェース層 | ハードウェアをコンピュータで使えるようにするためのインターフェース部分 |
ハードウェア | イーサネットや無線通信など、通信方法を決める部分 |
ここからは、実際にどんなプロトコルがあるのかを層ごとに分けて見ていきます。
プロトコルの種類と役割まとめ
アプリケーション層
HTTP
WEBブラウザとサーバ間でHTMLなどの送受信をするために使われるプロトコルです。
HyperText Transfer Protocolの略です。
SSL
HTTPによる通信において、通信内容を暗号化し、セキュリティを向上させるプロトコルです。SSLを用いたHTTP通信をHTTPSと呼びます。
Secure Sockets Layerの略です。
SMTP
電子メールを決められた宛先まで配送するプロトコルです。
Simple Mail Transfer Protocolの略です。
POP
電子メールを受信するためのプロトコルです。SMTPによってメールサーバまで届けられた電子メールを、POPが受信リクエストを出すことで、クライアントまでメールを取ってくることができるのです。
Post Office Protocolの略です。
IMAP
電子メールを取得するためのプロトコルです。POPはサーバからメール本体を受信しますが、IMAPはサーバー上のメールをローカルにダウンロードせずに、覗き見するように内容を確認できるのが特徴です。
Internet Message Access Protocolの略です。
MIME
電子メールでテキスト以外のデータを扱えるようにするためのプロトコルです。
Multipurpose Internet Mail Extensionsの略です。
TELNET
同一ネットワーク上にある別の機器に遠隔ログインを行う時に使われるプロトコルです。パソコンのように入出力機器が存在しないルータ、基盤プログラムの設定変更などに用いられます。
FTP
他のコンピュータからファイルを送信、受信するためのプロトコルです。TCPと組み合わせて使われます。ファイル転送ソフト「FFFTP」などが有名で、サーバーに直接HTMLファイルなどをアップロードする時などに使われます。WEB上でデータを送受信する場合はHTTPによる送受信が殆どなので混合しないようにしましょう。
File Transfer Protocolの略です。
トランスポート層
TCP
特定のアプリケーションに対してデータを送り届けるためのプロトコルです。送信先コンピュータの、「どのアプリケーションに対してデータを送るのか」をポート番号で制御し、アプリケーション同士が正常に通信できるようにします。
TCPはコネクション型を採用しており、届かなかったデータがあったら再送したり、届いたデータの順番を直す機能を持っています。UDPと比較して、「確実にデータを届ける」に重点を置いたプロトコルであると思ってください。
Transmission Control Protocolの略です。
UDP
TCPと同様、特定のアプリケーションに対してデータを送り届けるためのプロトコルで、ポート番号によってアプリケーションを指定します。
TCPと異なる点としては、コネクションレス型を採用しており、届かなかったデータがあっても再送せず、とにかくデータを垂れ流しに送り続けるという特徴があります。
その分、無駄なデータ通信をしなくていいので、高速にデータを届けたかったり、届かないデータが多少あっても問題がなさそうな通信(チャットツールによる音声通話や、動画のライブ配信など)で用いられることが多いです。
User Datagram Protocolの略です。
ネットワーク層 (インターネット層)
IP
インターネット上の指定した送信先に正しくデータを送り届けるためのプロトコルです。郵便における住所と、配達員のような役割があります。
Internet Protocolの略です。
ARP
IPアドレスを元に対象機器のMACアドレスを取得するためのプロトコルです。
Address Resolution Protocolの略です。
ICMP
データが送信先まで届くかどうかを確認したり、届かなかった場合にその原因を通知したりするプロトコルです。ネットワークのどこが異常なのかを知らせてくれる役割を果たします。
Internet Control Message Protocolの略です。
データリンク層 (ネットワークインターフェース層)
PPP
コンピュータ端末同士が1対1で通信を行うためのプロトコルです。伝送路の確立とお互いを認証する機能を持ちます。ケーブルテレビ回線でインターネットを使えるようにするPPPoE(PPP over Ethernet)という拡張版プロトコルも存在します。
Point-to-Point Protocolの略です。
CSMA/CD
有線LAN接続されたコンピュータからデータを送出するとき、他のデータと衝突を避ける制御を行うプロトコルです。データの送出は以下の流れで行われます。
①LANの伝送路にデータが流れていなければ送出可能。
②送出後、データの衝突が発生しているか確認する。
③衝突が発生した場合はすぐに送出を取りやめ、他のノードにその旨を伝える信号を発信する。
④乱数時間待機し、再度データを送出する。
CSMA/CA
無線LANで接続されたコンピュータからデータを送出するとき、データの衝突を避ける制御を行うプロトコルです。CSMA/CDと違って無線ではデータの衝突が検知できないため、可能な限り衝突しないように制御を行います。
電波上に他のデータが流れていないか、一定時間伝送路が空いているかを事前に確認するのが特徴です。
コメント