本記事では、コンピュータ同士が情報をやり取りする際の共通ルールである通信プロトコルについて、その基本的な考え方から、IoTシステムで使われるプロトコルの特徴、そしてTCP/IPやUDP、HTTP、HTTPS、SMTP、POP、IMAP、FTP、NTP、DHCP、ポート番号といった代表的なプロトコルを分かりやすく整理して解説します。
1. 通信プロトコルの基本

この章では、そもそも通信プロトコルとは何か、なぜ共通のルールが必要なのか、そしてその代表例としてのTCP/IPとポート番号の役割、さらにIoTシステムで利用されるプロトコルの特徴について説明します。
通信プロトコルとは
通信プロトコルとは、情報の発信側と受信側が、どの順番でどのような形式のデータをやり取りするかを定めた「共通の約束事」です。人間同士の会話で言えば、同じ言語を使い、挨拶から始めて、相手の返事を待ってから次の話題に進む、という暗黙のルールのようなものです。このルールが決まっていなければ、片方が日本語でもう片方が英語を話しているのと同じ状態になり、情報を正しく伝えることができません。
コンピュータ同士の通信では、データの送り方や、通信の開始・終了の手順、エラーが起きたときの対処方法など、細かな部分までプロトコルで定義されています。共通のプロトコルに従ってさえいれば、メーカーやOSが違う機器同士でも互いに通信できるようになるため、プロトコルはインターネットをはじめとするネットワークの土台となる存在です。
IoTシステムで使われる通信プロトコルの特徴
IoTシステムでは、センサーや家電など、小型で電力や処理能力に制約のある機器が多数接続されます。そのため、通信プロトコルにも「軽量であること」「通信量が少なくて済むこと」「電力消費が少ないこと」といった特徴が求められます。一般的なパソコン向けのプロトコルと比べて、ヘッダを小さくしたり、必要な機能だけに絞ったりして、機器への負担を減らす工夫がされています。
また、IoTではインターネット越しに機器を遠隔制御する場面が多く、セキュリティも重要です。暗号化や認証の機能を組み合わせて、外部からの不正操作を防いだり、データの改ざんを検知したりできるようになっています。こうした特徴を持つプロトコルを使うことで、限られたリソースの中でも、安全で効率的なIoTシステムを構築することが可能になります。
TCP/IP
TCP/IPは、インターネットを含む多くのネットワークで使われているプロトコル群の総称です。IPはデータを相手のコンピュータまで届けるための住所指定と経路選択を担当し、TCPはデータを確実に届けるための分割・再送・順番の管理を担当します。これらが組み合わさることで、世界中に広がるネットワークでも安定した通信が行えるようになっています。
TCP/IPは「階層モデル」としても整理されており、下位層では物理的な通信、上位層ではアプリケーションごとの処理を行います。このおかげで、下位層の技術が変わっても、上位層のアプリケーションを大きく作り直す必要がありません。インターネットの中心となるプロトコル群として、さまざまなサービスがTCP/IPの上で動作しています。
ポート番号
ポート番号は、一つのコンピュータの中で動作している複数のアプリケーションを識別するための番号です。IPアドレスが「そのコンピュータ全体の住所」だとすると、ポート番号は「その中の部屋番号」のようなイメージになります。同じ相手のIPアドレスに対して通信していても、Webは80番や443番、メールは25番や110番といったように、アプリケーションごとに異なるポート番号が使われています。
ポート番号を用いることで、一台のコンピュータでWebサーバもメールサーバも同時に動かし、それぞれに正しくデータを届けることができます。また、ファイアウォールなどのセキュリティ装置では、ポート番号を条件に通信を許可・遮断することが多いため、代表的なポート番号を押さえておくとネットワークの設定やトラブルシューティングにも役立ちます。
2. トランスポート層の代表的プロトコル

この章では、そのようなイメージで語られることの多いトランスポート層の代表的プロトコルとして、UDPについて説明し、TCPとの違いやIoTとの関わりにも触れます。
UDP
UDP(User Datagram Protocol)は、トランスポート層に属するプロトコルで、TCPと比べて仕組みがシンプルで軽いのが特徴です。データの到着確認や再送制御といった機能を持たない代わりに、ヘッダが小さく処理も少ないため、高速にデータを送ることができます。その性質から、多少のデータ欠損よりもリアルタイム性が重要な用途でよく利用されます。
具体的には、インターネット電話やオンラインゲーム、ストリーミング配信など、遅延が大きいと困るサービスでUDPが活躍します。IoTの分野でも、小さなセンサが定期的にデータを送るだけの用途では、再送制御を省略して通信量と電力消費を抑えられるUDPが選ばれることがあります。逆に、ファイル転送やWeb閲覧のように、データの欠損が許されない用途では、TCPが使われることが一般的です。
3. Web関連の通信プロトコル

この章では、Webサービスを支える代表的な通信プロトコルとして、HTTPとHTTPS(HTTP over TLS)について解説し、両者の違いや、セキュリティの観点からのポイントを整理します。
HTTP
HTTP(Hypertext Transfer Protocol)は、WebブラウザとWebサーバの間で、HTMLや画像などのデータをやり取りするためのプロトコルです。ブラウザがURLに基づいて「このページをください」とリクエストを送り、サーバが「この内容を返します」とレスポンスを返す、という一連の流れがHTTPで定義されています。Webページ閲覧のほとんどは、このHTTPの仕組みに支えられています。
HTTP自体には、暗号化や相手の正当性を確認する機能はありません。そのため、通信内容を途中で盗み見られたり、改ざんされたりするおそれがあります。かつては、ログイン画面や個人情報入力ページ以外は平文のHTTPで提供されることも多くありましたが、現在はセキュリティ確保のため、より安全なHTTPSへと移行が進んでいます。
HTTP over TLS(HTTPS)
HTTPSは、「HTTP over TLS」とも呼ばれ、HTTPの通信内容をTLSという暗号化技術で保護する仕組みです。ブラウザのアドレスバーに「https://」と表示されているサイトがこれに該当します。HTTPSでは、通信内容を暗号化することで第三者が盗み見ても内容を理解できないようにし、サーバ証明書を用いて「本物のサーバと通信しているか」を確認できるようになっています。
近年では、インターネット全体でHTTPSの利用が標準となりつつあり、IoT機器の管理画面などでもHTTPSが利用されるケースが増えています。利用者の立場では、アドレスバーの鍵マークや「https://」の表示を確認することで、安全性の高い通信が行われているかどうかを簡単にチェックできます。情報セキュリティの観点からも、HTTPSは非常に重要なプロトコルです。
4. 電子メールの通信プロトコル

この章では、電子メールを送受信するときに使われる代表的なプロトコルとして、SMTP、POP、IMAPについて、それぞれの役割や違いを整理して解説します。
SMTP
SMTP(Simple Mail Transfer Protocol)は、メールを「送る」ためのプロトコルです。送信者のメールサーバから受信者のメールサーバへ、メールのデータをリレーのように転送していく役割を担っています。具体的には、メールソフトがSMTPを使って自分のメールサーバにメールを渡し、そのサーバがさらに相手側のメールサーバへとメールを届けていきます。
SMTPは、主にサーバ間でのやり取りに使われるため、利用者が日常的に意識することは多くありません。しかし、メール設定の画面で「送信メールサーバ(SMTPサーバ)」という項目を見かけたことがあれば、それがまさにSMTPの設定に関する情報です。メールの世界では欠かせない基盤的なプロトコルの一つです。
POP
POP(Post Office Protocol)は、メールサーバに届いたメールを、利用者の端末に「受信する」ためのプロトコルです。POPでは、サーバにあるメールを端末へダウンロードし、基本的にはサーバ上から削除してしまうのが一般的な使い方です。そのため、一度受信したメールは、その端末に保存され、別の端末から同じメールを参照することはできません。
この仕組みは、サーバ側の容量を節約できる反面、複数の端末から同じメールボックスを利用したい場合には不便です。最近では、スマートフォンやPCなど複数の機器から同じメールを管理したいニーズが高まっていることから、POPよりも後述するIMAPが使われることが増えてきています。
IMAP
IMAP(Internet Message Access Protocol)は、POPと同じくメールを受信するときに使われるプロトコルですが、考え方が大きく異なります。IMAPでは、メールの本体はメールサーバ上に保存され続け、端末側は必要に応じて内容を閲覧したり、フォルダ分けや削除などの操作を行ったりします。つまり、メールボックスの「本体」をサーバに置いたまま、複数の端末から同じ状態を共有できるのが特徴です。
スマートフォンやタブレット、PCなど、複数の端末から同じメールアカウントを利用することが当たり前になった現在では、IMAPの仕組みは非常に便利です。例えば、スマートフォンで読んだメールはPC側でも既読になり、PCで削除したメールはスマートフォンのメール一覧からも消える、といった具合に、どの端末からも同じ状態でメールを扱うことができます。
5. その他の代表的な通信プロトコル

この章では、ネットワークの世界でよく登場するその他のプロトコルとして、FTP、NTP、DHCPの役割を説明します。
FTP
FTP(File Transfer Protocol)は、その名の通りファイルを転送するためのプロトコルです。サーバとクライアントの間でファイルを送受信したり、フォルダを作成・削除したりすることができます。WebサイトのデータをサーバにアップロードするときなどにFTPクライアントソフトが利用されることが多く、古くから広く使われてきました。
ただし、従来のFTPは通信内容が暗号化されておらず、IDやパスワードを含めて盗聴されるおそれがあります。そのため、現在ではFTPSやSFTPといった、暗号化機能を追加した方式へ置き換わりつつあります。試験では、FTPが「ファイル転送のためのプロトコル」であることを押さえておくとよいでしょう。
NTP(Network Time Protocol)
NTP(Network Time Protocol)は、ネットワーク上でコンピュータの時刻を正確に合わせるためのプロトコルです。多くのコンピュータやネットワーク機器は、NTPサーバと定期的に通信して時刻を修正し、ズレが大きくならないようにしています。時刻が狂ってしまうと、ログの記録や証明書の有効期限の判定、予約処理など、さまざまな機能に支障が出るため、正確な時間合わせは非常に重要です。
特に、セキュリティの分野では、いつどのような操作が行われたかをログから追跡することが多く、そのためには時刻情報が信用できなければなりません。NTPを利用しておけば、多数の機器の時刻をまとめて管理でき、システム全体の整合性を保つことができます。IoT機器でも、センサのデータに正しいタイムスタンプを付けるためにNTPが利用されることがあります。
DHCP
DHCP(Dynamic Host Configuration Protocol)は、ネットワークに接続された機器に対して、IPアドレスやDNSサーバの情報などを自動的に割り当てるためのプロトコルです。DHCPサーバを用意しておくと、機器をネットワークにつなぐだけで、必要な設定が自動的に配布されるため、利用者は面倒なアドレス設定を意識する必要がありません。
もしDHCPがなければ、ネットワークに接続するたびに、IPアドレスやサブネットマスク、デフォルトゲートウェイなどを手作業で設定しなければならず、規模が大きくなるほど管理が困難になります。DHCPによる自動設定は、企業ネットワークはもちろん、家庭内のWi-Fiルータでも広く利用されており、現代のネットワーク運用に欠かせない仕組みとなっています。
まとめ
通信プロトコルは、コンピュータや機器同士が正しく情報をやり取りするための共通ルールであり、インターネットやIoTシステムを支える基盤です。共通の規則に従って通信することで、メーカーやOSが異なる機器同士でも互いに理解し合えるようになり、世界中のネットワークが一つにつながった仕組みとして動作しています。IoTの分野では、軽量で省電力、かつ安全なプロトコルが求められるなど、利用場面に応じてさまざまな特徴を持つプロトコルが活用されています。
本記事で取り上げたTCP/IPやUDPは、トランスポート層やネットワーク層の代表的なプロトコルとして、ほとんどすべての通信の土台となっています。その上では、Webを支えるHTTPとHTTPS、メールの送受信に使われるSMTP・POP・IMAP、ファイル転送のFTP、時刻合わせのNTP、アドレス自動設定のDHCPなど、多様なアプリケーションプロトコルが動いています。さらに、ポート番号を利用することで、一台のコンピュータの中で複数のアプリケーションが同時に通信しても、データを正しく振り分けることが可能になっています。
学習の際には、各プロトコルの細かな仕様をすべて暗記しようとするのではなく、「何のためのプロトコルか」「どの層で働いているか」「他のプロトコルとどのように組み合わさっているか」を意識して整理すると理解が進みます。TCP/IPを土台とした階層構造の上に、さまざまなアプリケーションプロトコルが乗っているイメージを持ち、身近なサービス(Webやメール、ファイル共有など)と結び付けながら復習することで、通信プロトコルの全体像がつかみやすくなります。


コメント