おはようございます。こんにちは。こんばんは。
ミッド(@mid_v_lab)です
本日は通信プロトコルに関してご説明します。
プロトコルって聞いたことない方がほとんどかなと思います。
しかし、通信プロトコルがあるおかげで、我々は様々な通信サービスを利用することができるので、
通信プロトコルってやつがいるんだなーと、心の隅にでも置いておいていただければと思います。
通信プロトコルとは
通信プロトコルは、「通信」に関する規約を定めたものです。
「通信規約」や「通信手順」と言ったりもします。
メールを送受信するための通信プロトコルや、WEBを見るための通信プロトコルが「あらかじめ定められている」ので、メールやWEBブラウザを通して通信できるという訳です。
この通信プロトコル、日本では「A」って規格で通信して、アメリカでは「B」って規格で通信すると、それぞれ通信できませんよね?
日本語で話してるのに、英語で話しかけられるみたいな。
手旗信号送ってるのに、モールス信号使ってるみたいな。
そのため、この通信プロトコルは『国際規格』となっています。
ISOだったり、IEEEといかいう国際的な標準化機構で規格の取り決めがされています。
余談ですが、研究の実験手順なんかもプロトコルって呼んでますね。
研究におけるプロトコルは、実験の再現性を確かめるための正確な手順や環境などを書き示したものになります。
代表的な通信プロトコル
超有名な通信プロトコルを挙げておきます。
HTTP(Hypertext Transfer Protocol)
HTTPS(Hypertext Transfer Protocol Secure)
きっと皆さんが「インターネット」として認識しているプロトコルですね。
このブログを見ているということは、HTTPSのプロトコルで通信しています。
実際には、パソコンとWEBサーバ間でやり取りする通信規約を定めたものが、HTTP(S)となります。その通信をブラウザ(EdgeとかChromeとか)というソフトウェアがやってくれるということですね。
URLのhttp://~が、そのまま通信プロトコルを表している、まさに通信プロトコル界のアイドルと言っても過言ではない知名度を持つプロトコルです。
DNS(Domain Name System)
DNS!こちらも有名ですね。名前解決をしてくれる通信規格です。
URL(FQDN、ドメイン)をIPアドレスに変換して、実際にコンテンツのある通信先を示してくれます。
DNSについては、以前「使える小技nslookup」の記事でご紹介しました。
SMTP(Simple Mail Transfer Protocol)
POP3(Post Office Protocol Version 3)
メールの送受信の通信プロトコルです。SMTPが送信、POP3が受信になります。
最近のメールはYahooメールや、Gmailのようにクラウドにあるのが当たり前になりましたが、ひと昔前のプロバイダメール(So-netなど)は自分のパソコンのメールソフトに、このSMTPとPOP3サーバというのを設定する必要がありました。
YahooやGmailに関しても、メールソフトにSMTPとPOP3を設定すれば、ブラウザ経由ではなくメールソフトで閲覧することが可能です。
下記はYahooメールの場合ですが、SMTPやPOP3といった設定値が確認できるかと思います。SMTP(POP3)サーバは、この通信プロトコルを話すサーバということです。
NTP(Network Time Protocol)
最後にNTP、時刻同期をしてくれる通信プロトコルです。
通信の世界においては、時刻が正確であることが非常に重要です。
皆さんのパソコンの時刻が正確でないと困りますよね?
パソコンが正確な値を示しているのは、このNTPが「時刻補正(時刻同期)」してくれるからです。
※オフラインの場合やNTP参照する先のサーバ時刻がズレていると時刻もズレます
電波時計が電波で時刻補正するように、パソコンもNTP(という決まったプロトコル)で時刻補正しています。
NTPは縁の下の力持ち。是非、心の隅においてあげてください。
通信プロトコルとポート番号
各通信プロトコルは、通信するポート番号というものも定められています。
上記で挙げた超有名な通信プロトコルのポート番号は下記となっています。ここまでをスラスラっと言えると、カッコいいですね。
通信プロトコル | ポート番号 |
HTTP | 80 |
HTTPS | 443 |
DNS | 53 |
SMTP | 25 |
POP3 | 110 |
NTP | 123 |
また、通信におけるポート番号は、0から65535まで利用できるのですが、
0から1023までを「ウェルノウンポート」番号といい、
IANA(インターネット番号割当機関)が管理している番号なので、
まさに選ばれし世界共通の通信プロトコルであると言えますね。
通信プロトコルの詳細までは知らなくても問題ないと思いますが、通信プロトコルというものがあり、それぞれの役割に応じた機能が定められていて、ポート番号も決まっているということを知っていると、ちょっと詳しい感をアピールできます。
FWとか含めた通信を考えると、この通信プロトコルを意識することが多いですね。
通信止めてるのはFWなのか、ルーティングなのか、サーバ側のブロックリストなのか、どれなのか!!みたいな。
ではでは