概要
アプリケーション層の主要プロトコルを一覧でまとめました。できる限り簡潔に、プロトコルの意味が初心者にも分かるように心がけました。
Remote Control (遠隔操作)
Protocol | Overview |
---|---|
Telnet (Teletype Network) | ネットワークに接続された機器を遠隔操作をするためのプロトコル (平文) |
SSH (Secure SHell) | ネットワークに接続された機器を遠隔操作をするためのプロトコル (暗号化) |
Note
ネットワークを介したやり取りは、途中経路での盗聴リスクがつきものです。"SSH (Secure Shell)"はパスワード情報を含むデータを暗号化して通信をすることで、安全性を確保しています。
File Transfer (ファイル転送)
Protocol | Overview |
---|---|
FTP (File Transfer Protocol) | ファイル転送プロトコル (平文) |
FTPS (File Transfer Protocol over SSL/TLS) | ファイル転送プロトコル (SSL/TLS) |
SCP (Secure Copy Protocol) | ファイル転送プロトコル (SSH) |
SFTP (SSH File Transfer Protocol) | ファイル転送プロトコル (SSH)[転送再開] |
Note
・SSL/TLS =「公開鍵暗号」と「共通鍵暗号」を利用した暗号化通信
・SCP = SFTPより高速で転送
・SFTP = 転送を中断した場合でも再開できる
e-mail (電子メール)
Protocol | Overview |
---|---|
SMTP (Simple Mail Transfer Protocol) | 電子メールを転送するための通信プロトコル |
POP (Post Office Protocol) | 電子メールを受信するための通信プロトコル (実態:Local) |
IMAP (Internet Message Access Protocol) | 電子メールを受信するための通信プロトコル (実態:Server) |
Note
・POP = サーバからローカル環境にダウンロードする。1つのクライアントのみが使用する。
・IMAP = サーバから実態ではなく、キャッシュを保存。常時インターネット接続が必要。
WWW (World Wide Web)
Protocol | Overview |
---|---|
URI (Uniform Resource Identifier) | URL (リソースの場所) + URN (リソースの名前) |
HTML (HyperText Markup Language) | WEBページのコンテンツ構造を記述するためのマークアップ言語 |
HTTP (HyperText Transfer Protocol) | WEBサーバとクライアントがHTMLなどのデータ通信を行うためのプロトコル (平文) |
HTTPS (HyperText Transfer Protocol Secure) | WEBサーバとクライアントがHTMLなどのデータ通信を行うためのプロトコル (SSL/TLS) |
SSL/TLS (Transport Layer Security / Secure Sockets Layer) | 「公開鍵暗号」と「共通鍵暗号」を利用したデータ通信を暗号化するためのプロトコル |
Note
・URL (Uniform Resource Locator) = "http://test.com" のような、インターネット上のWEBコンテンツの住所
・URN (Uniform Resource Name) = "urn:isbn:123456" のような、インターネット上のWEBコンテンツの名前
・マークアップ言語 = 「文章構造」や「装飾情報」を"文章"とあわせてテキストファイルに記述する言語
IP (Internet Protocol)
Protocol | Overview |
---|---|
DNS (Domain Name System) | ドメイン名を運用/管理し、ドメイン名とIPアドレスを変換するシステム |
DHCP (Dynamic Host Configuration Protocol) | ネットワークへ接続時に通信に必要なIPアドレスなどの基本的な設定を自動的に行うプロトコル |
Note
ドメイン名 = 通信を行う場合にIPアドレスを交換する必要がある。例えば、IPアドレス"192.168.0.1"のように数字は人間にとって覚えづらいため、「test.com」のような文字列に変換して通信を行う。この文字列のこと。
Network Monitoring (ネットワーク監視/管理)
Protocol | Overview |
---|---|
SNMP (Simple Network Management Protocol) | ネットワーク機器の状態を遠隔で監視/制御するプロトコル |
MIB (Management Information Base) | ネットワークの監視/管理で使用する機器の状態の情報や設定情報が格納されたツリー構造のデータベース (機器単体の情報を管理) |
RMON (Remote network MONitoring) | ネットワーク内の全てのMIB情報だけでなく、通信状況を遠隔で監視するプロトコル |
Multimedia Telecommunication (マルチメディア通信)
Protocol | Overview |
---|---|
RTP (Realtime Transport Protocol) | 音声(VoIP)/動画などの連続する「データの転送」をリアルタイムでするためのプロトコル |
RTSP (RealTime Streaming Protocol) | 音声(VoIP)/動画などのストリーミング伝送を行うための「制御データ」の送受信プロトコル |
SIP (Session Intiation Protocol) | 音声(VoIP)/動画などをリアルタイムで伝送するための「呼制御」プロトコル |
H.323 | 音声(VoIP)/動画などをリアルタイムで伝送するための「全体的なプロトコル」 |
Note
・SIP = メッセージはテキスト形式でやり取り。アプリケーションに組み込めるなど拡張性が高い。
・H.323 = メッセージは2進数のバイナリ形式でやり取り。データ転送はRTP、制御はRTCPなど通話システム全体をまとめたプロトコル
・ストリーミング = データを受信しながら同時に再生する方式
Routing Protocol
Protocol | Overview |
---|---|
Link-State | 隣接したルータ同士で接続情報(Link-State)を交換し、それに基づいて経路を選択する |
├ OSPF (Open Shortest Path First) | ├ Cost(単位) = 100Mbps ÷ 帯域幅(Mbps) |
└ IS-IS (Intermediate System to Intermediate System) | └ Narrow Metric (単位) |
Distance-Vector | 距離(Distance)と方向(Vector)に基づいた経路を選択する |
├ RIP (Routing Information Protocol) | ├ Hops(単位) = 経路上のルータ数 |
└ IGRP (Interior Gateway Routing Protocol) | └ Hops(単位) = 複合メトリック |
Path-Vector | パス属性(Path Attribute)と方向(Vector)に基づいた経路を選択する |
└ BGP (Border Gateway Protocol) | 通常最小のAS-PATH(属性)の経路、属性の変更ができる |
Advanced Distance-Vector (Hybrid) | 距離(Distance)と方向(Vector)に基づいた経路を選択するが、接続情報(Link-State)も交換する |
└ EIGRP (Enhanced Interior Gateway Routing Protocol) |
Note
・パス属性 (Path Attribute) = ASの管理者が設定した経路の優先度
・AS (Autonomous System) = インターネットを構成する一つの個人/組織などが管理している独立したネットワーク
・AS-PATH = 経由したASを記録する属性、宛先までの最短ASパスを優先
Other
Protocol | Overview |
---|---|
NTP (Network Time Protocol) | ネットワーク機器がネットワークを介して時刻同期するためのプロトコル |
LDAP (Lightweight Directory Access Protocol) | ネットワーク機器やユーザ情報などを管理するディレクトリサービスへ接続するためのプロトコル |
P2P (Peer to Peer) | ネットワーク上で機器同士が対等に1:1で接続/通信する方式 |
MGCP (Media Gateway Control Protocol) | VoIPゲートウェイの機能をインターネット上で制御するプロトコル |
IRC (Internet relay Chat) | インターネットを介して、ユーザ同士がリアルタイムにチャットをするためのプロトコル |
MQTT (Message Queuing Telemetry Transport) | デバイス間での短いメッセージを頻繁に送受信することを目的として開発された軽量なデータ配信プロトコル |
NNTP (Network News Transfer Protocol) | ネットワーク上で記事の投稿/配信/閲覧などを行うためのプロトコル |
ONC RPC (Open Network Conputing Remote Procedure Call) | ネットワークに接続されている他のコンピュータのプログラムを呼び出して実行するプロトコル |
XMPP (Extensible Messaging and Presence Protocol) | オープンソース(OSS)のインスタントメッセンジャーの通信方式/データ形式を定めたプロトコル |
Note
・ディレクトリサービス = ネットワーク上のリソースの所在/属性/設定などの情報を記録/検索出来るようにしたサービス
・VoIP (Voice over Internet Protocol) = IPネットワーク上で音声通話するためのプロトコル
・VoIP Gateway = アナログ電話網とIP電話網の中継/変換を行う通信装置
・OSS (Open Source Software) = ソフトウェアを構成しているプログラムなどの「ソースコード」が無償で改変/再配布が可能なこと
・ソースコード = 人間に分かりやすくするために、プログラミング言語で記述されたコンピュータに命令を与える文字列
References
・マスタリング TCP/IP 入門編 (第6版)
・ファイル転送プロトコルとは?FTPやSFTP、HTTPなどの種類も解説
・POPとIMAPの違いと選択
・アプリケーション層 (Wikipedia)