通信プロトコル

通信プロトコルとはネットワーク通信に関する規約のことです。

DARPAモデル

DARPAモデルとは、インターネットの通信機能を4つの階層構造に分けたモデルである。インターネット・プロトコル・スイートともいい、RFC 1122 で定義されている。

DARPAモデル
階層 通信プロトコル
アプリケーション層 FTP, HTTP, IMAP, POP, SMTP, SSH, SSL, Telnet, TLS
トランスポート層 TCP, UDP
インターネット層 ICMP, IP, IPsec
リンク層 IEEE 802.11, イーサネット

ICMP

ICMPとは「Internet Control Message Protocol」の略称で、データグラム処理における情報の通知に使われる通信プロトコルである。

ping コマンドや traceroute コマンドで利用されている。

BGP

BGPとは「Border Gateway Protocol」の略称で、異なる管理ポリシが適用された領域間のエクステリアゲートウェイプロトコルである。ルーティングプロトコルは、大きくIGP(内部)とEGP(外部)の2つに分類できる。BGPはAS間の経路交換のためのEGPであり、経由するAS数が少ない形の経路が優先される。

Autonomous System (AS)とは、共通のポリシや同じ管理下で運用されているルータやネットワークの集合を意味する。各AS内では独立したIGPやポリシが運用されており、インターネットはこのASの集合体ととらえることができる。

BGP4+

BGP4+ とは、IPv6 用のルーティング・プロトコルである。

DNS

通常、DNSはISPが提供しているが、誰でも無料で使えるパブリックDNSサーバも存在する。

パブリックDNSサーバ
サービス名IPアドレスホスト名
Google Public DNS 8.8.8.8
8.8.4.4
dns.google
Cloudflare 1.1.1.1
1.0.0.1
1dot1dot1dot1.cloudflare-dns.com
Quad9 9.9.9.9
149.112.112.10
dns.quad9.net

Proxy DNS は、LAN内端末からのDNSの問い合わせ内容をDNSサーバに代理で問い合わせ、DNSサーバからの応答内容をLAN内端末に代理で応答する。LAN内端末がDNSサーバに直接問い合わせる方法と比べ、DNSサーバの負荷を低減させることができる。

IMAP

IMAPとは「Internet Message Access Protocol」の略称で、メールサーバから電子メールを受信するための通信プロトコルである。POPとは異なり、受信した読み込んだ電子メールをメールサーバから削除しない。

ポート番号はメールプロバイダにより異なるが、一般的に 993 が使われることが多い。

電子メールの通信プロトコル
通信プロトコル 送受信 受信メール
SMTP 送信 -
IMAP 受信 メールサーバに残る
POP 受信 メールサーバから削除される

NTP

NTPとは「Network Time Protocol」の略称で、ネットワークに接続される機器において、機器が持つ時計を正しい時刻へ同期させるための通信プロトコルである。UDPポートの123番を使用する。

NTP
階層 プロトコル
アプリケーション層 NTP (Network Time Protocol)
トランスポート層 UDP (User Datagram Protocol)
インターネット層 IP (Internet Protocol)

POP

POPとは「Post Office Protocol」の略称で 、メールサーバから電子メールを受信するためのプロトコルである。IMAPとは異なり、受信した電子メールをメールサーバから削除する。

ポート番号はメールプロバイダにより異なるが、一般的に 995 が使われることが多い。

RIP

RIPとは「Routing Information Protocol」の略称で、UDP/IP上で動作するルーティングプロトコルである。

RIPが経路情報を交換する際には、隣接するネットワークへ30秒ごとにレギュラーアップデート(更新メッセージ)をブロードキャストする。同様に、隣接するネットワークのほかのルータから30秒ごとにレギュラーアップデートを受信する。

RIPng

RIPng は IPv6 用の RIP である。

SMTP

SMTPとは「Simple Mail Transfer Protocol」の略称で、インターネットで電子メールを送信するためのプロトコルである。

ポート番号はメールプロバイダにより異なるが、一般的に 587 が使われることが多い。

SNMP

SNMPは、TCP/IPにおけるネットワークの管理プロトコルである。マネージャとエージェントが管理情報(MIB)を送受信してネットワークを管理する。

コミュニティ

装置状態を通知するSNMPメッセージをトラップと呼ぶ。

SNMPにおけるコミュニティとは、監視対象をグルーピングする概念であり、エージェント、マネージャ間でコミュニティ名を共有することで情報のやり取りを実現している。コミュニティ名とは、SNMPプロトコルでMIB値にアクセスるために必要なパスワードである。

SNMPv1及びSNMPv2では、コミュニティと呼ばれるグループの名前を相手に通知し、同じコミュニティに属するホスト間でのみ通信する。この時、読み出し専用と読み書き可能の2つのアクセスモードに対して別々にコミュニティ名を設定することができる。

管理サーバ(トラップ送信先)とターゲットサーバ(監視対象)の双方に同じコミュニティ名を設定する必要がある。

発行されたトラップをSNMPマネージャが受信するためには、両方が同じコミュニティ(管理グループ)に存在することが必要である。

コミュニティ名はSNMPエージェントとSNMPマネージャの間手MIBを取得する際に、相互で事前に設定したコミュニティ名を照合する認証用の情報である。

SNMPv3はコミュニティの概念を廃し、新たにUSM (User-based Security Model)とVACM (View-based Access Control Model)と呼ばれるセキュリティモデルを利用している。

USM (User-based Security Model)は、メッセージレベルのセキュリティ確保を行うモデルで、共通鍵暗号に基づく認証と暗号化、メッセージストリーム改竄に対する防御を行う。

VACM (View-based Access Control Model)は、SNMPメッセージのアクセス制御を行うモデルである。VACMではアクセスポリシーをユーザごとではなく、グループごとに定義する。

SNMPエンジンは、SNMPメッセージの送信、SNMPメッセージの認証と暗号化、管理対象オブジェクトへのアクセス制御のサービスを提供する。SNMPv3では、マネージャとエージェントをSNMPエンティティと表現する。SNMPエンティティはひとつのSNMPエンジンを持つ。

SNMP内部に存在する複数のコンテキスト(MIB実装)から一意に識別するためにコンテキスト名を指定する。

SNMPv3ではユーザ単位にアクセスできるMIBオブジェクトの集合を定義できる。このMIBオブジェクトの集合をMIBビューと呼ぶ。MIBビューは、MIBのOIDのツリーを表すビューサブツリーを集約することによって表現できる。集約する際には、ビューサブツリーごとにinclude(MIBビューに含む)またはexclude(MIBビューに含まない)を選択する。

SSH

SSHとは「Secure Shell」の略称で、ネットワーク上で安全に通信を行うための暗号化ネットワークプロトコルである。デフォルトのポート番号は22。

iSCSI

iSCSIとは「Internet Small Computer System Interface」の略称で、TCP/IPネットワーク上でSCSIプロトコルを実現する規格である。ネットワークに接続されたストレージデバイスが別の端末のローカルディスクとして認識される。接続される側はiSCSIターゲット、接続する側はiSCSIイニシエータと呼ぶ。iSCSI Qualified Name (IQN)でiSCSIターゲットを一意に識別する。

IPoE
階層 プロトコル
トランスポート層 iSCSI
TCP
インターネット層 IP (Internet Protocol)

IPoE

IPoEとは「IP over Ethernet」の略称で、イーサネットを使ってPPP(Point-to-Point Protocol)プロトコルを伝送する通信方式である。

LAN(Local Area Network)で一般的に用いられているシンプルな方法であるが、電話回線を前提としたプロトコルであるPPPをイーサネット上で実現するPPPoE(PPP over Ethernet)があるため、それとの対比でこのような名前が付けられている。

IPoE
階層 プロトコル
インターネット層 IP (Internet Protocol)
リンク層 イーサネット

IGMP

IGMPとは「Internet Group Management Protocol」の略称で、IPネットワーク上でマルチキャストを行うために、マルチキャストに参加するホストのグループを設定して、ネットワークに通知するための通信プロトコルである。

IPsec

IPsecとは「Security Architecture for Internet Protocol」の略称で、データの改ざん防止や暗号化などの機能をIP層で提供する通信プロトコルである。セキュリティサービスを実施するために、IPsecにはSAとSPIという概念が導入されている。

Security Association (SA) とは、IPsecにおいて、セキュリティゲートウェイ間で構築されるトンネルのことである。IPsecにおけるSAでは、IKEという標準手順によって、暗号化方式の決定や鍵の交換、相互の認証が行われる。SAは定期的に更新され、身元の確認と暗号かぎの再発行・再交換が行われる。

Internet Key Exchange (IKE) とは、IPsecで暗号化通信を行うのに先立って、暗号鍵を交換するために利用される通信プロトコルである。その場限りの暗号化通信を行って、IPsecに必要な暗号化アルゴリズムの決定と暗号鍵の共有を行う。また、SAに有効期限を定め、自ら作り出したSAを監視し、有効期限の切れたSAを作り直す。

Security Parameter Index (SPI) とは、ESP、AHにおいてSAを識別するための識別子である。

Authentication Header (AH) とは、認証及び改ざん防止機能を提供するプロトコルである。

Encapsulated Security Payload (ESP) とは、ペイロード部(パケットのうちヘッダを除いた部分)を暗号化するプロトコルである。

改ざん検知 暗号化 IPヘッダを認証の対象と
AH あり なし する
ESP あり あり しない

IPsecによる通信には、大きく分けて「トンネルモード」と「トランスポートモード」の2種類がある。

トンネルモードは、IPsecによるVPN (Virtual Private Network)を利用するためのモードである。ヘッダを含めたパケット全体をデータとして認証又は暗号化して、新たなIPヘッダを付加する。ルーターがセキュリテイゲートウェイとなり、LAN上に流れるIPパケットデータを暗号化して、対向のセキュリティゲートウェイとの間でやり取りする。ルーターがIPsecに必要な処理をすべて行うので、LAN上の始点や終点となるホストには特別な設定を必要としない。

トランスポートモードは特殊なモードであり、ルーター自身が支店又は終点になる通信に対してセキュリティを保証するモードである。パケットデータ部のみを認証又は暗号化する。ルーターからリモートのルーターへTELNETで入るなどの特殊な場合に利用できる。

Internet Key Exchange Protocol Version 1 (IKEv1)では、フェーズ1とフェーズ2の2段階の手順で鍵交換を行う。

まず、IKEv1フェーズ1でIKE同士の認証と暗号交換を行う。IKEv1フェーズ2でIPsecの適用条件と鍵情報の交換を行う。鍵交換手順のアルゴリズムには「Diffie-Hellman (DH-MODP)鍵共有」などがある。

フェーズ2で生成されるIPsec SAの鍵情報は、原則としてフェーズ1で生成された共有鍵情報から生成される。しかし、複数個のIPsec SAをまとめて生成するような使用法の場合、すべてのIPsec SA情報がひとつの秘密鍵情報に依存するのは好ましくない場合がある。このような場合、IKEv1では、「Perfect Forward Security (PFS)」と呼ばれるオプション機能の利用が可能である。PFSは個々のフェーズ2交換時に新たなOakley鍵交換を行い、個々に異なった共有鍵を生成してIPsecの秘密鍵生成時に適用するものである。PFSは一般に通信秘匿性を向上させるが、処理負荷も向上させる。

ARP

ARPとは「Address Resolution Protocol」の略称で、IPアドレスからイーサネットのMACアドレスを得るために用いられるアドレス解決プロトコルである。

L2TP

L2TPとは「Layer 2 Tunneling Protocol」の略称で、インターネットなどの公衆回線上に仮想的にトンネルを生成し、そこを通じてPPP接続を確立することにより、VPNを構築するためのプロトコルである。

インターネット上のIPネットワークで使用されているIPにはPPPのような認証機能はない。一方で、PPPはWANのシリアル回線のように2点間がポイントツーポイント接続されている回線でしか利用できない。PPPoEではIP網でPPP認証を行うため、PPPフレームをIPデータグラムに埋め込み、カプセル化して送信を行い、認証サーバーの受信側でカプセル化解除を行うことにより実現している。

このように、ある通信プロトコル上で異なる通信プロトコルを透過的に伝送することをトンネリングと呼ぶ。PPPはL2(OSI参照モデル第2層)のデータリンク層であることから、この場合はレイヤ2トンネリングと呼ばれる。L2トンネリングの例を次に示す。

L2トンネリングプロトコル
プロトコル カプセル化対象 暗号化 備考
PPTP PPP MPPE Microsoft、3Com、Lucentが開発したプロトコル
L2F PPP - Ciscoが開発したプロトコル
L2TP PPP - PPTPとL2Fを統合してIETFが標準化したもの(RFC 2661)

L2TPには暗号化機能が無いため、L3トンネリングプロトコルであるIPsecを併用する。

PPP

PPPとは「Point-to-Point Protocol」の略称で、主に電話回線でのインターネット接続に使われる通信プロトコルである。認証機能やIPアドレス配布機能、IP以外の上位層プロトコルにも対応可能、などの特徴がある。

PPPの通信は、リンク制御プロトコル(LCP: Link Control Protocol)とネットワーク制御プロトコル(NCP: Network Control Protocol)という2つの通信を使用している。

LCPによってパスワード認証プロトコル(PAP: Password Authentication Protocol)やCHAP(Challenge-Handshake Authentication Protocol)を使ってユーザー認証を行う。

ダイヤルアップ接続で用いるPPPで、ISPからIPアドレスを配布する際のプロトコルは、通常はDHCPではなく、IPCPを用いる。

PPPoE

PPPoEとは「PPP over Ethernet」の略称で、イーサネットのフレームを用いてPPPフレームを運ぶものである。

本来、イーサネット上で直接IPプロトコルを使用できるが、PPPが持つユーザ認証の機能を使うために利用されている。

PPPoEクライアントは、PPPoEサーバを探すためにPADI (PPPoE Active Discovery Initiation)パケットをブロードキャスト送信する。その後、PPPoEクライアントはPPPoEサーバにセッションの開始を要求するPADRパケットを送信する。

階層 プロトコル
インターネット層 IP (Internet Protocol)
リンク層 PPP (Point-to-Point Protocol)
PPPoE (PPP over Ethernet)
イーサネット

IEEE 802.11

IEEE 802.11とは無線LAN(Wi-Fi)の規格で、米国電気電子学会が策定している。

無線LANの主な規格
規格 周波数帯 最大通信速度
IEEE 802.11a 5GHz 54Mbps
IEEE 802.11b 2.4GHz 11Mbps
IEEE 802.11g 2.4GHz 54Mbps
IEEE 802.11n 2.4GHz/5GHz 600Mbps
IEEE 802.11ac 5GHz 6.9Gbps

無線LANでは2.4GHzと5GHzいずれかの周波数帯を使用する。

2.4GHz帯は電波が遠くまで届きやすい反面、電子レンジやBluetooth、USB 3.0と電波干渉を起こしやすいという問題がある。

そのため、5GHz帯の電波が届くなら5GHz帯を使い、5GHz帯の電波が届かない場合にのみ2.4GHz帯を使用するのがよい。

OSI参照モデル

OSI (Open Systems Interconnection)参照モデルとは、通信プロトコルを階層構造で表したモデルである。

OSI参照モデル
レイヤ データ単位
レイヤ7 アプリケーション層 -
レイヤ6 プレゼンテーション層 -
レイヤ5 セッション層 -
レイヤ4 トランスポート層 セグメント
レイヤ3 ネットワーク層 パケット
レイヤ2 データリンク層 フレーム
レイヤ1 物理層 -

アプリケーション層

アプリケーションごとの固有の規定

プレゼンテーション層

データの表現形式の規定(文字コードなど)

セッション層

通信の開始から終了までの一連の流れをセッションという。このセッションの管理を行うのがセッション層の役割である。

トランスポート層

ノード間のデータ転送の信頼性を確保するための規定

ネットワーク層

ネットワーク間のエンドツーエンドの通信の為の規定

データリンク層

直接的に接続されたノード間の規定