みなさん、こんにちわ。
つくラボの大島です。
今日はプロトコルについて。
プロトコルとは、
コンピュータとコンピュータが通信するための
『通信規約』の事です。
これを意識するのと、しないのとでは、コンピュータを扱う、
プログラミングする上での感覚が格段に変わってきます。
お金にしたって、ただの『千円』として認識するか、
『日本銀行券』として認識するかで金融意識は全く変わります。
プロトコルは大きく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でやり取りしているに過ぎません。
なので、プロトコルを知ってて絶対に損はありません。
それでは良いネットライフを!