プロトコル

みなさん、こんにちわ。
つくラボの大島です。

今日はプロトコルについて。

プロトコルとは、
コンピュータとコンピュータが通信するための
『通信規約』の事です。

これを意識するのと、しないのとでは、コンピュータを扱う、
プログラミングする上での感覚が格段に変わってきます。

お金にしたって、ただの『千円』として認識するか、
『日本銀行券』として認識するかで金融意識は全く変わります。

プロトコルは大きく3種類。
TCP, UDP, ICMPです。

TCPは、相手にデータが届きやすくするように、
再送処理も行われ安定しているため、双方向通信に適しています。

UDPは、相手がすべてのデータを受け取らないかもしれない、
一方的に送りつけるだけ。その分、軽量です。

ICMPは、いわゆるPINGコマンドで使わますが、
自由なメッセージを送ることには向いていません。
アプリケーションを介して、通信相手に到達できるかの
確認に使えます。

例えばyahooのwebサイトにアクセスする時は、
www.yahoo.co.jpをブラウザと呼ばれるアプリケーションに入力します。
これは、どこのサーバにアクセスするかの『アドレス』です。
アドレスは、IPアドレスを名前にしたものです。
その頭には、http://が必ず付きます。

これが、『プロトコル』です。

代表的なプロトコルには以下の種類があります。
Webアクセスは、HTTP
ファイル転送は、FTP
メールは、SMTP, IMAP, POP
認証は、LDAP
など様々です。
これらはTCPで実装されています。
それぞれサーバが待ち受けているポート番号が異なります。

通信をSSLで暗号化したものは末尾に『s』が付きます。

クライアントアプリケーションは、
それぞれのプロトコルに対応した実装が必要です。

これらを理解していると、
通信ができないときの対処法や、
開発する際に使う接続のAPIの意味がわかってきます。

プログラミング言語は次々と新しいものが登場しますが、
これらの仕組みはコンピュータネットワークの基本ですので、
パソコンにしろ、スマートフォンにしろ、考え方は同じです。

Webサービスのほとんどは、テキストデータをTCPでやり取りしているに過ぎません。
なので、プロトコルを知ってて絶対に損はありません。

それでは良いネットライフを!

この記事を書いた人