見出し画像

通信プロトコルとはなにか?

おはようございます。またはこんにちは。もしくはこんばんわ。マゲっちSCと申します。9月20日の朝を迎えました。明日21日は中秋の名月ですね。そして9月の満月でもあるハーベストムーンを迎えます。実は中秋の名月が毎年満月というわけではありません。今年はたまたまですが日本の中秋の名月とネイティブアメリカンのハーベストムーンが同じ日になるという特別な年というわけですね。2つの国の違う文化が同じ日に交わるというのはなにかこう不思議な気持ちになるものですね。

前回のブログではルータやスイッチ・ハブの違いについてお話させていただきました。家庭用のものでもサーバルームに設置する通信機器でも扱っている通信データは同じです。ハブはただ単純に電気信号を増幅するだけです。しかしルータはIPアドレスを管理しているので、複数台のコンピュータを同時にインターネットに接続することができます。そして通信プロトコルについてもお話をしました。主にTCP/IPとUDPの違いについてお話をしました。今回はそのお話の続きとなります。

通信プロトコルとは

通信プロトコルとはネットワークを使って通信をする際のデータの扱い方を決めた規約です。通信規約とも言いますが一般的には通信プロトコルといいます。TCP/IPやUDPも通信プロトコルの1つで通信パケットの送信方式ですね。TCPはざっくりと説明するとSYNパケットをサーバへ送信し、サーバ側がデータやリクエストを受け付ける体制が整っているかどうかを確認したあとでACKパケットが返ってきたらパケットの送受信を行います。UDPは相手の状況に関係なく一方的にパケットを送信します。TCPの得意分野は通常のウェブサイトの閲覧やファイル転送、メールの送受信などにあたります。UDPの得意分野は動画サイトで動画を見る際のストリーミング再生ですね。一応ウェブページを表示させてあるため通信経路はすでにTCPが確立しているので、動画のストリーミング再生に関しては通信の状態を確認する必要がありません。データを素早く投げることに集中できるUDPが向いています。

HTTPとは

ウェブクライアントとウェブサーバ間でハイパーテキストファイルなどをやり取りするための通信プロトコルです。インターネットでウェブサイトにウェブブラウザからアクセスする際に、以前はウェブページのウェブアドレスを直接入力することがありました。現在はウェブサイトはポータルサイトで検索することでほとんどのウェブページを閲覧可能ですが、インターネット黎明期ではポータルサイトに登録されていないウェブサイトも多く、特に個人で運営されているホームページはポータルサイトで検索をかけても、ホームページ運営者がポータルサイトへ登録していなければ検索できませんでした。そこでアドレス入力欄にhttpから始まるウェブアドレスを直接入力することもありました。最近良く見るhttpsもHTTPの一種でこちらはデータが暗号化されているという意味です。暗号化にはSSLという技術を利用します。HTTPでは文字や画像、動画や音声など様々なデータを扱うことができます。

POP3とは

続いてメールに関する通信プロトコルです。メールの送受信に関しては本来はPOP3とSMTPの組み合わせを使用します。現在ではフリーメールがあり、HTTPを使ってメールの情報をウェブブラウザで表示することもできるようになりましたが、ISPや携帯電話会社のメールサービス(キャリアメールやSMS含む)は現在もこのPOP3とSMTPが使用されています。POP3は簡単に言うと郵便局にある私書箱のようなものです。1つのメールアドレスに対して1つのメールボックスが用意されており、メールアドレスごとに使い分けができるようになっています。また、メールをメールサーバから端末にダウンロードする際にメールそのものをサーバから端末へ転送します。そのため、メールアカウントで本人かどうかを認証しています。メール本文に関しては受信後はメールサーバにメールは残らないため、ダウンロードした端末でのみ確認できるようになります。

SMTPとは

こちらもメールをやり取りする際の通信プロトコルです。POP3は基本的にメールの管理と受信に対しての通信プロトコルですがSMTPはメールを送信する際の通信プロトコルです。皆さんが何らかのメッセージを送信するために作ったメールはSMTPによってメールサーバへ送信されます。

IMAPとは

POP3の他にメールの管理や受信を行う通信プロトコルとしてIMAPがあります。POP3との違いですがPOP3がメールのデータをすべてサーバからダウンロードするのに対してIMAPでは受信するデバイスや場所に関係なくメールボックスにアクセスできる他、メッセージをクリックした場合にメッセージをダウンロードするため、自分のPCはもちろんですがスマホや友人のPCなどからもメールを確認することができます。また、メールに何らかの添付ファイルがついていたとしても、ダウンロードされるのはメール本文のみで、添付ファイルは自動的にダウンロードされないようになっています。もちろん手動でダウンロードすることは可能です。POP3は添付ファイルまでダウンロードするため、メッセージ確認だけであればIMAPを利用して素早く行うことが可能です。今後はスマホなどの移動可能な媒体が普及していくと考えられていて、IMAPの利用が多くなるのではとの予想がされています。

DHCPとは

続いてDHCPです。前回も少しお話しましたが、IPネットワークに接続したデジタル機器に対してIPアドレスなどを自動的に割り振るための通信プロトコルです。本来ネットワークはIPアドレスと言う通信プロトコルに基づいたアドレスでネットワーク上の住所を決めています。郵便と同じく住所不定の通信機器には情報にアクセスされても返すことができません。以前は使用者が手動でIPアドレスとサブネットマスクを設定していました。サブネットマスクとはIPアドレスを使用する際にネットワーク部とホスト(サーバ・ルータ・端末など)部に分けて管理可能にするためのもので、会社組織であれば部署単位で別ネットワークに分け、その配下に何台のホストを接続可能かを管理するものです。一言で説明するのは難しいので気になる方は調べてみてください。本来であれば各端末にIPアドレスを固定で設定して奥と管理しやすくなるのですが、これが各家庭ではなくISPになるといつどのグローバルIPアドレスが未使用になるかということは全く見当がつきません。ですので、自動的に空いているIPアドレスを顧客のWi-Fiルータに割り振ったほうが管理が楽になります。各家庭でもネットワークに詳しい方はあまりいらっしゃらないと思いますので、Wi-FiルータにもDHCPサーバとしての機能がついており、空いている端末に対してプライベートIPアドレスを自動で割り振ります。そのためPCは起動するたびに違うIPアドレスが振られることがあります。また、グローバルIPアドレスとプライベートIPアドレスは前回のブログにてお話しています。

IPとは

では先ほどから出てきているIPとはなんぞやというお話ですが、IPはインターネットプロトコルの略称です。インターネットで通信相手を特定するためのネットワーク上のアドレスであるIPアドレスとはインターネット通信の規約に基づいてつけられたアドレスという意味です。そして通信パケットを宛先のネットワークやホストまで届けるためのプロトコルです。ルーティングで通信する相手を振り分けることが可能であるため、Wi-Fiルータを使うと複数台のコンピュータを同時にインターネットに接続できるわけですね。TCP/IPとはIPアドレスを使用して通信相手をお互いに特定して、データの送受信を行っても問題ないかどうか確認してからデータを送信しているということです。UDPは相手の状況や宛先などは関係なく送信するのでUDP/IPとする必要はないのです。以前IPアドレスは2種類のバージョンがあるとお話しましたが、IPv4は2021年の時点ではまだ使用されています。IPv4で使用しているIPアドレスは32ビットで表現されていて、約43億台のデジタル機器に割り当てることができます。43億台というとかなり多い台数に割り当てられると思ってしまいますが、現在の地球の総人口は約25億人と言われています。1人に対して1つのIPアドレスが割り当てられるのであればIPv4で充分足りるわけですが、実際にはそうではありません。個人でもPCを複数台持ったり、家庭用ゲーム機やテレビ、エアコンなど以前ではインターネット接続が考えられなかったような端末もインターネットに接続するのが普通になりました。また、スマホなどの移動型通信デバイスもあり、これも複数台個人が持つことができます。また企業活動でIPアドレスを複数個持つ必要がある企業もたくさんあります。それらをすべて考えると43億個ではIPアドレスは足りなくなります。

しかし新しいバージョンのIPアドレスを策定して普及させるためにはかなりの時間とコストが掛かります。そこでIPv4をグローバルIPアドレスとプライベートIPアドレスに分け、NATでプライベートIPアドレスをグローバルIPアドレスへ変換し、各家庭や会社組織などで使用するグローバルIPアドレスの数を節約していたというのが少し前までのお話です。IPv4では表記は10進数ですが実際には32ビットの2進数で管理しています。8ビットずつに分けて0~255の10進数に変換して管理しています。しかし、先ほどの状況もあり、42億個では足りなくなってきたためIPv6が登場します。Windowsで言えばVista以降はIPv6に対応しています。つまり日本では2007年以降はPCではIPv6月変えるようになっていました。現在はちょうどIPv6への過渡期であり、Windows10ではIPv4とIPv6両方を扱うことができます。2021年現在では各ISPもIPv6に対応しているところが多くなりました。契約しているISPやプランがIPv6に対応しているかどうかは各ISPへ問い合わせてみてください。

PPPとは

PPPとは2点間での通信を確立するための通信プロトコルです。現在はこれを応用したPPPoEという通信プロトコルがありますが、これのご先祖様という位置づけですね。2点間というのは皆さんのコンピュータとその通信拠点となる場所のことをさし、以前では通信拠点はお近くのNTT収容局でした。インターネット黎明期では電話網を使ってデータ通信をしていました。お手持ちのPCからモデムに対して接続リクエストが発生するとモデムがお近くのNTT収容局へ電話をかけて皆さんのPCと電話局の2点間の通信を確立していました。モデムからはダイヤルするときの音が実際になっていました。

PPPoEとは

インターネットの接続方式に関しては電話回線を利用していたわけですが、その後の通信技術の進歩により通信速度は大幅に上昇しました。そこで登場するのがPPPoEという接続方式になります。PPPではPAP(パスワード認証プロトコル)とCHAP(チャレンジハンドシェイク認証プロとロコル)を使用して認証をし正規のユーザであればインターネットへの接続を許可していました。PPPのときは電話回線にモデムを使いますが基本的にはPCを直接接続してPCが電話をNTT収容局へかけることによって通信を確立していましたが、ADSL以降の通信環境はコンピュータからLANケーブルなどを使用してWi-Fiルータへ接続し、その後通信機器側が各回線に応じた形式に変換してインターネットへ接続しています。その際にログイン用のIDとパスワードを初回通信時に自動的にWi-Fiルータから送信することによってISPとの通信を確立しています。通信速度は最大1Gbpsとなりますがベストエフォート型です。主にIPv4での通信で使用します。

DNSとは

インターネット上のサイトなどへアクセスする場合、ほとんどの方はまずポータルサイトへアクセスし、そこでウェブサイトの検索を行うと思います。ポータルサイトというのはいわゆる検索サイトのことを言うのですが、ではそのポータルサイトにアクセスする場合皆さんはどう行っているでしょうか?最近では有名ポータルサイトへはワンクリックで飛べるようなツールバーをウェブブラウザにインストールしているかも知れません。しかしそういうツールバーがない場合はウェブアドレス入力欄へポータルサイトのウェブアドレスかサイト名を直接入力していると思います。しかし勘のいい方はもうお気づきだと思いますが、インターネット上の各サーバやネットワーク機器にはIPアドレスが振られています。IPアドレスは先ほどお話したとおり0~255までの数字で表現されています。IPv6の場合は16進数になります。つまり、どこかのウェブサイトへアクセスするためにはそのウェブサイトのウェブページが存在するIPアドレスを本来入力しなければなりません。しかし、皆さんは例えばYahoo検索やgoogle検索を利用する際にそのポータルサイトのIPアドレスではなく文字でウェブアドレスを入力するはずです。

文字で入力しているのになぜ数字で管理されているウェブサイトに到達できるのでしょうか?それを解決しているのがDNSです。何をしているのかと言うと文字で入力されたウェブアドレスを自動的にIPアドレスに変換しています。ですので文字で入力したウェブアドレスでもウェブページへアクセスすることができるわけです。また、メールアドレスも本来はIPアドレスを使用しますが、DNSを使用することでIPアドレスを知らなくてもメールを送受信できるというわけです。

FTPとは

FTPとはファイル単相のための通信プロトコルです。各端末とファイルサーバ間でファイルのダウンロードやアップロードを行います。例えば個人でホームページを作成し公開する場合は、ISP側にあるファイルサーバにハイパーテキストファイルや画像ファイル、動画ファイルや音声ファイルを転送する必要があります。ほとんどの場合はFTPの転送先はウェブサーバになっており、公開されているディレクトリ(フォルダ)の中に公開したいファイルを転送することでウェブブラウザからウェブアドレスを入力することによってホームページへアクセスできるようになります。しかし現在ではHTTPを利用したファイル転送が多く、FTPソフトを使用せずとも誰でも簡単に公開されているウェブサーバにファイルをアップロードできるようになっています。例えばSNSで写真を公開したい場合、以前であればFTPソフトを立ち上げて公開したい写真のファイルを選択し、それをFTPソフトを使って自身で公開用のディレクトリへアップロードする必要がありましたが、現在ではそんなことを意識しなくてもコンピュータ上にあるファイルを選んで転送ボタンをクリックすれば写真が公開できます。アプリでも基本的には同じであると思います。

まとめ

他にもまだ通信プロトコルは存在しますが、主要なものはだいたいこのくらいかと思います。それでは次回ですがポート番号のお話を予定しています。今回お話した通信プロトコルは各ポート番号ごとに管理されています。ポート番号というのはあくまでも理論上の番号であり、物理的に見えるわけではありません。ポート番号は普通にウェブサイトを閲覧したり動画を再生して楽しんだりする場合は意識しなくても大丈夫なのですが、オンラインゲームをプレイする際などにゲームによっては通信のために必要なポートを開けておく必要があります。中には手動でポートを開けなければならないこともあります。ポート番号の概念を知っておくことでこういうイレギュラーな状況にも対応できるようになります。ご興味がありましたらまたお立ち寄りください。それでは失礼いたします。


この記事が気に入ったらサポートをしてみませんか?