ネットワーク:アプリケーション層のプロトコル
メール関連
メールプロトコル
SMTP:メールを送信・転送するプロトコル。ポート番号TCP25番
POP3:メールをサーバから受信するプロトコル。ポート番号TCP110番
メール受信プロトコル
POP3:ユーザーIDとパスワードで本人認証。パスワードは平文で送信
APOP:パスワードを暗号化。本文は平文
IMAP4:サーバ側でメール管理。ヘッダだけを取り出したり、検索が可。パスワード・本文は平文
IMAPS:SSL/TLSを使用し、暗号化対応
メール関連のプロトコル・規格
SMTP-AUTH SMTPに利用者認証を追加。通所のSMTPとは独立したサブミッションポートを利用(TCP587番)。
POP before SMTP POP3の認証機能を利用。メール送信時にPOP3によるメール受信を行い、認証が成功した利用者に対して、一定期間だけSMTP接続を許可。
SMTP over TLS SMTPに通信を暗号化するTLS(SSL)を組み合わせたもの
S/MIME MIMEは様々なデータをSMTPメールで扱えるように機能拡張を定義したもの。送信データはBase64方式などでASCII文字列に変換される。
S/MIMEはMIMEを拡張し、メールの暗号化とデジタル署名の機能を提供する。S/MIMEではメール本文の暗号化に共通かぎを用い、共通鍵の受け渡しには認証局が保証する公開鍵を用いる
PGP S/MIMEと同様、電子メールの暗号化やデジタル署名の機能を提供。公的な認証局を介さず、利用者が利用者を紹介しあう相互認証方式を採用。
Web関連
HTTP
Webサーバとwebクライアント間でHTMLなどのweb情報をやり取りするためのプロトコル。WebクライアントがwebサーバにHTTPリクエストを発行することで通信が始まる。使用ポートはTCP80番。
HTTPリクエストには下記のメソッドがよく使われる
GET 指定URLのデータを取得
POST 指定URLにデータを送信
PUT 指定URLへデータを保存
DELETE 指定URLのデータを削除
CONNECT プロキシにトンネリングを要求
GETメソッドとPOSTメソッド
GETは本来は情報取得だが、情報の送信にも利用できる。ただし、GETで情報を送る場合は、情報はクエストリングに埋め込まれるため、ログとしてサーバやキャッシュに残る可能性がある。
CONNECTメソッド
プロキシサーバを使うHTTPS通信などでよく使われる。プロキシサーバは通信の中身を解釈し、再構成することで通信の中継を行うが、HTTPSなどの暗号化通信ではそれが出来ない。そのためCONNECTメソッドを使ってトンネリングを行うことで、中継をする。
WebDAV
Webサーバ上のファイルを管理できるようにHTTPを拡張したプロトコル。ファイルの作成変更削除などは従来FTPなどが使われてきたが、webDAVを使うことによってHTTP/HTTPSだけでファイル管理が可能に。ポートは80/443を使用。
HTTPS(HTTP over TLS)
HTTPに伝送データの暗号化、デジタル署名及び認証機能を付加した拡張プロトコル。
TLSを使うことによって、セキュアな通信が可能。
HTTPSと組み合わせで使われる技術にHSTSがある。HSTSが設定されているWEBサイトにWEBクライアントがHTTPでアクセスした場合、クライアントに対して、当該webサイトへのアクセスをHTTPSで行うように指示する。これにより経路に介入する中間剛撃を防ぐことが出来る。ポートは443
アドレス管理及び名前解決技術
DHCP
TCP/IPを利用する環境では、それぞれのノードがIPアドレスを保持することが通信の絶対条件。ノードへのIPアドレスの割り当てを自動的に行うプロトコルがDHCP。
使用ポートはDHCPクライアント:UDP67 DHCPサーバー:UDP68
動作フローは下記
・DHCPサーバに利用できるIPアドレスを登録しておく
・DHCPクライアントは起動時にDHCPサーバに対してブロードキャストを利用したDHCPディスカバリパケットを送信してアドレスの取得要求を行う
・DHCPサーバはプールしているアドレス群から空いているものを自動的に割り当て
・終了時にはIPアドレスを回収
DHCPクライアントはブロードキャストが到達する範囲内にDHCPサーバがないとIPアドレスを取得できない
ルータが用いられたネットワーク構成でDHCPサーバとクライアントが同一LAN上にいない場合、ディスカバパケットをDHCPサーバまで中継するリレーエージェント機能が必要
DHCPでやり取りされるメッセージ
・DHCPクライアントはサーバを探すためにDHCPディスカバ(DHCPDISCOVER)をブロードキャストで送信
・DHCPサーバは提供できるIPアドレスなどの設定情報をDHCPクライアントに通知するためDHCPOFFERを送信
・DHCPクライアントはネットワーク設定情報の使用要求をネットワーク上のDHCPサーバに伝えるためDHCPREQUESTをブロードキャストで送信
・DHCPサーバはネットワーク設定情報の使用要求が認められたことをDHCPクライアントに通知するためDHCPPACを送信する
DNS
TCP/IPでは、各ノードに対して一意なIPアドレスが割り当てられているが、それとは別にドメイン名がつけられた。
ドメイン名とIPアドレスの対応を管理してるのがDNSサーバ。DNSは基本的にUDPを使うが、DNSのレコードバイトが512バイト制限を超える場合はTCPが使われる。ポート番号は53番。
特定のホストまで指定したドメイン名はFQDN(完全修飾ドメイン名)という。
DNSの規約では、対応表作成の負担を細分化して、DNSを分散データベースとすることで対応している。
一つのドメインを管理するDNSサーバはプライマリサーバとセカンダリサーバの2台で構成される。
DNSレコード
DNSサーバに保存されている名前解決情報をDNSレコードという
Aレコード | IPv4ホストのIPアドレス情報 |
AAAAレコ0度 | IPv6ホストのIPアドレス情報 |
NSレコード | DNSサーバを指定 |
CNAMEレコード | ホストの別名を指定 |
MXレコード | メールサーバを指定 |
DNSラウンドロビン
負荷が集中するwebサーバやAPサーバなどは複数のサーバで負荷分散を行う。
この時使用される機能の一つがDNSラウンドロビン。一つのドメイン名に対して複数のIPアドレスを登録し、名前解決の度に応答するIPアドレスを順番に変えることで負荷分散を図る。
その他のアプリケーション層用プロトコル
SNMP
ネットワーク上にある機器を監視し、管理するためのプロトコル。
SNMPに準拠することで、マルチベンダ環境でのネットワークの障害情報などの一元管理を行うことが出来る。
SNMPマネージャとSNMPエージェントの間でPDUと呼ばれる管理情報のやり取りを行う。
エージェントにはMIBと呼ばれるデータベースがあり、そこに故障情報やトラフィックの情報が蓄積される。
PDUの種類
Get-Request Get-Next-Request | マネージャがエージェントから情報を引き出す |
Set-Request | 管理オブジェクトの設定値を変更する |
Get-Response | マネージャからの要求に返答する |
Trap | エージェントからの情報をマネージャに通知する |
その他のアプリケーションプロトコル
FTP | ファイルの送受信に用いるファイル転送プロトコル。ファイルをダウンロードする機能(データコネクション)とコマンド送受信(制御コネクション)で異なるポートを使用する(TCP20, TCP21) |
Telnet | 遠隔地からログインを行い、マシンを操作するプロトコル |
SSH | Secure SHell。テキストベースの通信であるTelnetに対し、暗号化や認証技術を利用して安全に遠隔操作するためのプロトコル |
NTP | Network Time Protocol。ネットワーク上の各ノードが持つ時刻の同期を図るためのプロトコル。使用するポートはUDP123番。NTPの簡易版がSNTP。 |
LDAP | Lightweight Directory Access Protocol。ディレクトリサービスにアクセスするためのプロトコル |