IPはパケットが最終的に宛先に届いたkどうかを保証しません。しかし、実際の通信においては、パケットが宛先に間違いなく届くことが望まれます。パケットが確実に届くことを保証するプロトコルをTCPがあります。
1:TCPとUDP
TCP(Transmission Control Protocol)は、コネクションを形成して、信頼性のある通信を実現するためのプロトコルです。コネクションを形成すると、相手と情報を交換しながら通信することができます。例えば、パケットが正しく届いたという返事を相手から受け取ることができます。他にも、エラーが含まれていた場合にはパケットの再送を指示することもできます。この結果、信頼性のある通信(すべてのパケットを正しく相手に届ける通信)が実現できます。
UDP(User Datagram Protocol)は、コネクションを形成せず、信頼性のない通信を実現するためのプロトコルです。相手と情報交換することなく、いきなり相手にパケットを送りつけます。相手は、いきなり送られてきたパケットを受け取れない場合もあります。したがって、確実に相手にパケットが届く保証はありません。しかし、TCPで行ったような面倒な情報交換をしませんから、次から次へとパケットを送信することができます。つまり、高速に通信を行うことが可能です。映像・音声データは、データが一部欠落してもノイズが少し入るくらいで、映像・音声の品質には深刻な影響を与えません。データが欠落することよりもパケットを絶え間なく送ることのほうが大切なのです。
2:ポート番号
ポート番号は、アプリケーションプロ線との会話をするための窓口の番号です。役所の窓口と同じ位置付けです。役所では、窓口ごとに役割が決まっていて、住民票窓口で税の問い合わせはできません。ポート番号も同様でポートごとに対応するアプリケーションプロセスが決まります。
サーバ側では、アプリケーションプロセスは、ウェルノウンポートと呼ばれる番号のポートで接続を待ちます。下記に代表的なウェルノウンポートを記載します。
代表的なウェルノウンポート
サービス(プロトコル):FTP ポート番号:20、21
サービス(プロトコル):SMTP ポート番号:25
サービス(プロトコル):HTTP ポート番号:80
サービス(プロトコル):POP3 ポート番号:110
サービス(プロトコル):HTTPS ポート番号:443
3:アプリケーションプロトコル
アプリケーションプロトコルは、アプリケーションがデータのやり取りをするプロトコルです。アプリケーションごとにさまざまなプロトコルがあります。代表的なアプリケーションプロトコルを下記にまとめます。
プロトコル:DOMAIN(DNS) サービス概要:ドメイン名とIPアドレスの変換
プロトコル:HTTP サービス概要:Webサービス提供
プロトコル:FTP サービス概要:ファイル転送
プロトコル:SMTP サービス概要:電子メール配送(メールサーバ間での配送、パソコンからのメール送信)
プロトコル:POP3 サービス概要:パソコンへの電子メールのダウンロード(パソコンからのメール受信)
プロトコル:IMAP サービス概要:メールサーバ上でメールを送受信する。
プロトコル:SNMP サービス概要:ネットワーク上の機器を管理し、動作情報を収集する。情報を収集する側(管理する側)をマネージャ、ネットワーク上の機器(管理される側)をエージェントという。
プロトコル:SSH サービス概要:遠隔ログイン。暗号通信を行うため安全である。ユーザ認証をパスワ
ードで行う方法に加え、公開鍵を用いて行う方法もリヨできる。
プロトコル:NTP サービス概要:時刻を合わせる(時刻を同期させる)