ネットワークを実装するときに使用するネットワーク プロトコル
クラウドへの移行を検討する際には、ご使用のネットワークの基本的なしくみを理解しておくことが重要です。 ネットワークの構成を理解するための最初の手順として、ネットワーク デバイスが相互に通信する方法を理解しておきましょう。 この知識は、組織のネットワーク、さらには Web のような広範なネットワークにも適用できます。 すべてのネットワークに同じ原則が適用されます。
このユニットでは、インターネットベースのネットワーク間の通信を可能にする重要なネットワーク プロトコルについて学習します。
ネットワーク プロトコル
ネットワーク プロトコルは、特定のネットワーク上でネットワーク デバイスが通信する方法を指定する一連の条件と規則です。 これにより、通信チャネルを確立して維持するための一般的なフレームワークと、エラーまたは障害が発生した場合の処理方法が指定されます。 ノート PC、タブレット、スマートフォン、デスクトップ、サーバー、その他のネットワーク対応デバイスなど、さまざまなネットワーク対応デバイス間の通信は、ネットワーク プロトコルの使用によって可能になります。
ネットワーク プロトコルは、組織のネットワーク アーキテクチャの設計に不可欠な構成要素です。 使用可能なネットワーク プロトコルは複数あります。 各ネットワーク プロトコルには、その用途と実装を制御するさまざまなプロパティがあります。
一般的に使用されるネットワーク プロトコルを確認する前に、いくつかの用語を定義しましょう。
ネットワーク アドレスとは
ネットワーク アドレスは、ネットワーク対応デバイスを識別する一意の識別子です。 ネットワーク対応デバイスには、複数のアドレスの種類が含まれる場合があります。 ここでは、2 つのアドレスの種類だけに焦点を当てます。
1 つ目の種類は、ハードウェア レベルでネットワーク インターフェイスを識別するメディア アクセス制御 (MAC) アドレスです。 2 つ目の種類は、ソフトウェア レベルでネットワーク インターフェイスを識別するインターネット プロトコル (IP) アドレスです。
これらの 2 つのアドレスの種類については、後ほど詳しく説明します。
データ パケットとは
データ パケットは、ネットワーク上の 2 つのデバイス間で相互に送信されるメッセージを表すために使用する単位です。 データ パケットは生データとヘッダーで構成され、さらにトレーラーが含まれる場合もあります。 ヘッダーには、いくつかの情報項目が含まれています。 たとえば、送信側と送信先のデバイスのアドレス、パケットのサイズ、使用されるプロトコル、パケット番号などが含まれています。 データ パケット内のトレーラーで、エラー チェックが行われます。
この概念は、一度に 1 部ずつ誰かに手紙を郵送するのに似ています。 たとえば、複数のページを 1 つの封筒で送るのではなく、各ページを個別の封筒で送ります。 各封筒では、受信者がすべてのページを受け取ると、完全なメッセージに結合できる十分な情報が送信されます。
データグラムとは
データグラムは、データ パケットと同じものと見なされます。 通常、データグラムは配信を保証できない、信頼性の低いサービスのデータ パケットを指します。
ルート指定とは
ネットワークのコンテキストでのルート指定は、データ パケットが別のネットワーク上で送信デバイスから受信デバイスへの正しい配信パスをたどるようにするために使用するメカニズムを指します。
たとえば、今使っている PC と、現在読んでいるページを提供しているサーバーについて考えてみましょう。 PC とサーバーは複数のネットワークで接続できます。また、この 2 つのデバイスの間では、さまざまなパスを使用できます。
プロトコルのカテゴリ
一般的なネットワーク上で特定のネットワーク プロトコルに依存するアプリケーションとハードウェアのデバイスは何種類かあります。 たとえば、Web ブラウザーを使用してインターネットを参照する場合、電子メールの送受信とは異なるプロトコルが使用されます。 ブラウザーに表示されるデータを変換し、この情報をネットワーク経由で送信するには、別のプロトコルが必要です。
プロトコルは次の 3 つのカテゴリに分類されます。
- ネットワーク通信プロトコル
- ネットワーク セキュリティ プロトコル
- ネットワーク管理プロトコル
これらのカテゴリに分類されるプロトコルをいくつか見てみましょう。
ネットワーク通信プロトコル
通信プロトコルは、デバイス間の接続を確立して維持することに重点を置いています。 さまざまなデバイスとネットワーク サービスを使用すると、さまざまなネットワーク通信プロトコルを利用することになります。
まず、すべてのインターネットベースのネットワークの基本プロトコルを 3 つ定義する必要があります。 これら 3 つのプロトコルが、伝送制御プロトコル (TCP)、インターネット プロトコル (IP)、およびユーザー データグラム プロトコル (UDP) です。 これらのプロトコルは、ネットワーク経由でのデータの論理的な伝送を処理します。
- 伝送制御プロトコル:TCP は、データをデータ パケットに分割します。これによりデータ損失の可能性を最小限に抑えながら、安全かつ迅速に送信することができます。 IP ベースのネットワーク経由でデータ パケットを配信するための、安定した信頼性の高いメカニズムを提供します。 TCP は効果的な接続指向プロトコルではありますが、オーバーヘッドが発生します。
- インターネット プロトコル:IP はデータ パケットのアドレス指定を行います。 IP は、配信されるデータ パケットをカプセル化し、アドレス ヘッダーを追加します。 ヘッダーには、送信者と受信者の IP アドレスに関する情報が含まれています。 このプロトコルでは、パケットが送受信される順序は考慮されません。 また、パケットが配信されることを保証するものではなく、アドレスだけが送信されます。
- ユーザー データグラム プロトコル:UDP は、待機時間が短く、損失トレラントな実装を提供するコネクションレス プロトコルです。 UDP は受信デバイスがデータグラムを受信したことを確認する必要がないプロセスで使用されます。
ここで説明するプロトコルの残りの部分は、電子メール クライアントや Web ブラウザーなどのアプリケーションの種類に基づいています。 最も一般的に使われているネットワーク通信プロトコルを次に示します。
- ハイパーテキスト転送プロトコル (HTTP):HTTP プロトコルは TCP/IP を使用して、Web ページのコンテンツをサーバーからブラウザーに配信します。 HTTP は、リモート サーバーからのファイルのダウンロードとアップロードも処理できます。
- ファイル転送プロトコル (FTP):FTP は、ネットワーク上の異なるコンピューター間でファイルを転送するために使用されます。 通常、FTP はリモートの場所からサーバーにファイルをアップロードするために使用します。 FTP を使用してファイルをダウンロードすることもできますが、Web ベースのダウンロードは通常、HTTP を介して処理されます。
- Post Office Protocol 3 (POP3):POP3 は 3 つの電子メール プロトコルのうちの 1 つで、電子メールを受信できるようにするために、電子メール クライアントによって最もよく使用されます。 このプロトコルでは、電子メールの管理と配信に TCP が使用されます。
- 簡易メール転送プロトコル (SMTP):SMTP も 3 つの電子メール プロトコルのうちの 1 つで、電子メール サーバー経由で電子メール クライアントから電子メールを送信するために最もよく使用されます。 このプロトコルでは、電子メールの管理と送信に TCP が使用されます。
- インターネット メッセージ アクセス プロトコル (IMAP):IMAP は、3 つの電子メールプロトコルのうち強力なものです。 IMAP と電子メール クライアントを使用すると、組織内の電子メール サーバー上の 1 つのメールボックスを管理できます。
ネットワーク セキュリティ プロトコル
ネットワーク セキュリティ プロトコルは、ネットワーク上のデータのセキュリティを維持するように設計されています。 これらのプロトコルは、ユーザー、サービス、およびアプリケーションの間で転送されるメッセージを暗号化します。
ネットワーク セキュリティ プロトコルは、暗号化と暗号化の原則を使用してメッセージをセキュリティで保護します。
セキュリティで保護されたネットワークを実装するには、ニーズに合った適切なセキュリティ プロトコルを使用する必要があります。 次の一覧は、主要なネットワーク セキュリティ プロトコルについて説明したものです。
- Secure Sockets Layer (SSL):SSL は、標準の暗号化およびセキュリティ プロトコルです。 コンピューターと、インターネットを介してアクセスしたターゲット サーバーまたはデバイスとの間に、安全で暗号化された接続を提供します。
- トランスポート層セキュリティ (TLS): TLS は SSL の後継であり、より強力で堅牢なセキュリティ暗号化プロトコルを提供します。 インターネット技術標準化委員会 (IETF) 標準に基づき、メッセージの偽造、改ざん、傍受を防止するのに役立ち、通常は Web ブラウザーの通信、電子メール、VoIP、インスタント メッセージングを保護するために使用されます。 現在は TLS が使用されるようになりましたが、まだ代替のセキュリティ プロトコルとして SSL が多く使用されています。
- ハイパーテキスト転送プロトコル セキュア (HTTPS): HTTPS は、TLS または SSL の暗号化標準を使用して、標準 HTTP プロトコルのセキュリティが強化されたバージョンを提供します。 このプロトコルの組み合わせによって、サーバーと Web ブラウザーの間で送信されるすべてのデータが暗号化され、傍受やデータ パケット スニッフィングから保護されます。 同じ原理が、前に示した POP、SMTP、IMAP の各プロトコルにも適用され、POPS、SMTPS、IMAPS と呼ばれるセキュリティで保護されたバージョンが作成されています。
- Secure Shell (SSH):SSH は、ネットワークを介してセキュリティで保護されたデータ接続を提供する暗号化ネットワーク セキュリティ プロトコルです。 SSH は、サーバーのリモート認証を含めた、命令のコマンドライン実行をサポートするように設計されています。 FTP は、SSH 機能の多くを使用して、安全なファイル転送メカニズムを提供します。
- Kerberos:この検証プロトコルは、秘密鍵の暗号化を使用して、クライアントとサーバーベースのアプリケーションに対して堅牢な認証を提供します。 Kerberos では、ネットワーク内のすべてのエンドポイントが安全ではないと見なされます。 すべての通信とデータに対して強力な暗号化が常に適用されます。
ネットワーク管理プロトコル
ネットワークで複数の異なるプロトコルを同時に実行しても、何の問題もありません。 先ほど、通信とセキュリティのプロトコルについて説明しました。 日常業務を正常に実行することもネットワークを運用することも同じくらい重要であり、これを管理プロトコルが行います。 このようなプロトコルでは、障害とパフォーマンスを監視することで、ネットワークの持続可能性を重視します。
ネットワーク管理者は、ネットワークとそれに接続されているデバイスを監視する必要があります。 ネットワーク内の各デバイスにより、デバイスの状態と正常性に関するインジケーターが公開されます。 ネットワーク管理者ツールにより、これらのインジケーターが要求されて、監視とレポートに使用されます。
次の 2 つのネットワーク管理プロトコルを使用できます。
- 簡易ネットワーク管理プロトコル (SNMP):SNMP は、ネットワーク上のデバイスからのデータ収集と、それらのデバイスの管理を行うためのインターネット プロトコルです。 情報を収集するには、デバイスで SNMP がサポートされている必要があります。 通常、SNMP をサポートしているデバイスには、スイッチ、ルーター、サーバー、ラップトップ、デスクトップ、プリンターなどがあります。
- インターネット制御メッセージ プロトコル (ICMP):ICMP はインターネット プロトコル スイート (IPS) に含まれるプロトコルの 1 つです。 これにより、ネットワークに接続されたデバイスは、接続要求の成功または失敗に関する操作情報と共に、またはサービスを使用できない場合に、警告メッセージとエラー メッセージを送信できるようになります。 UDP や TCP などの他のネットワーク トランスポート プロトコルとは異なり、ICMP を使用してネットワーク上のデバイスとの間でデータを送受信することはできません。
ポート
ポートは、特定のプロセスへの受信メッセージのルート指定を可能にする論理構造です。 すべての種類の IPS に特定のポートがあります。 ポートは、0 - 65535 の範囲の 16 ビットの符号なしの数値で、ポート番号とも呼ばれます。 使用される通信プロトコルに基づいて、送信 TCP または UDP 層によってポートが割り当てられます。
すべてのサービスに対して特定のポート番号が予約されています。 ウェルノウン ポート番号と呼ばれる最初の 1,024 個のポートは、よく使われるサービス用に予約されています。 エフェメラル ポートと呼ばれる番号の大きいポートは予約されておらず、専用アプリケーションによって使用されます。
すべてのポートは、特定のサービスまたは通信プロトコルにリンクされています。 これは、ターゲット ネットワーク デバイス (サーバーなど) が各ポートで複数の要求を受信して、競合することなくそれぞれにサービスを提供できることを意味します。
ウェルノウン ポート番号
IP アドレスもポートと同じようにクラスに分割されています。 ポートには、ウェルノウン ポート、登録済みポート、および動的ポートまたはプライベート ポートの 3 つの範囲があります。
IANA (Internet Assigned Numbers Authority) では、ポート番号の割り当て、IP アドレスの領域割り当て、ドメイン ネーム システム (DNS) ルート ゾーンを管理しています。 また、IANA では、インターネット プロトコルで使用されるプロトコル名とレジストリの中央リポジトリも管理しています。
次の表に、一般的なウェルノウン ポート番号をいくつか示します。
ポート番号 | 割り当て |
---|---|
20 | データ転送用のファイル転送プロトコル |
21 | コマンド コントロール用のファイル転送プロトコル |
22 | セキュリティで保護された認証用の Secure Shell |
23 | 暗号化されていないテキスト メッセージ用の Telnet リモート認証サービス |
25 | 電子メール ルーティング用の簡易メール転送プロトコル |
53 | ドメイン ネーム システム サービス |
80 | Web で使用するためのハイパーテキスト転送プロトコル |
110 | Post Office Protocol |
119 | ネットワーク ニュース転送プロトコル (NNTP) |
123 | ネットワーク タイム プロトコル (NTP) |
143 | デジタル メールを管理するためのインターネット メッセージ アクセス プロトコル |
161 | 簡易ネットワーク管理プロトコル |
194 | インターネット リレー チャット (IRC) |
443 | HTTP Secure HTTP over TLS/SSL |
インターネット プロトコル スイート
インターネット プロトコル スイートは、プロトコル スタックとも呼ばれる通信プロトコルのコレクションです。 TCP と IP の両方がスイートで主要なプロトコルとして使用されているため、TCP/IP プロトコル スイートと呼ばれることもあります。
IPS は抽象型の階層化ネットワーク参照モデルです。 IPS は、インターネットおよび同様のネットワーク上でデータを送受信するために使用される、さまざまな階層化プロトコルを記述します。
IPS モデルは、3 層から 7 層で構成される複数の類似したネットワーク モデルの 1 つです。 最もよく知られているモデルは、OSI (Open Systems Interconnection) ネットワーク参照モデルです。 ここでは OSI モデルについては説明しませんが、詳細については「開放型システム間相互接続」を参照してください。
- アプリケーション層:このスタックの最上位層は、アプリケーションまたはプロセスの通信に関係しています。 アプリケーション層では、送信されるメッセージの種類に基づいて、どの通信プロトコルを使用するかが決定されます。 たとえば、メッセージがメール コンテンツの場合、この層で適切な電子メール プロトコル (POP、SMTP、IMAP など) が割り当てられます。
- トランスポート層:この層は、ネットワーク上のホスト間の通信を担当します。 この層に関連付けられているプロトコルは TCP と UDP です。 TCP はフロー制御を担当します。 UDP はデータグラム サービスの提供を担当します。
- インターネット層:この層はデータグラムの交換を担当します。 データグラムにはトランスポート層のデータが含まれており、送信元と受信者の IP アドレスが追加されます。 この層に関連付けられているプロトコルは、IP、ICMP、および IPsec (Internet Protocol Security) スイートです。
- ネットワーク アクセス層:このスタックの最下位層は、ネットワーク経由でデータを送信する方法の定義を担当します。 このレイヤーに関連付けられているプロトコルは、ARP、MAC、イーサネット、DSL、ISDN です。
Azure でネットワークを監視する
ネットワークの正常性を維持および管理することは、ネットワークの場所に関係なく、すべてのネットワークで同じです。 たとえば、このローカル組織のネットワークでは、Azure ベースのネットワークと同じネットワーク標準とプロトコルが使用されています。
Azure には、ネットワークの正常性の維持と管理に役立つ 3 つのネットワーク監視ツールがあります。 また、一部の監視機能をオンプレミス ネットワークに拡張することもできます。
- Azure Network Watcher:Network Watcher を使用して、使用する Azure サービスからパケット データをキャプチャできます。 また、ネットワーク トラフィック パターンのデータフローを理解して、ネットワーク上のネットワーク関連の問題をトラブルシューティングすることもできます。
- Network Performance Monitor:Network Performance Monitor は、ネットワークの正常性を監視および報告し、パフォーマンスに関する分析情報を提供し、アプリケーション間の接続についてレポートします。 Network Performance Monitor はクラウドベースですが、クラウドとオンプレミスの両方のネットワークを監視するためのハイブリッド サービスを提供できます。
- パフォーマンス モニター:パフォーマンス モニターは Network Performance Monitor 内の機能です。 オンプレミスかクラウドベースかにかかわらず、資産全体ですべてのネットワーク接続を監視し、ネットワークの問題が発生したときには報告するように設計されています。 パフォーマンス モニターは、すべてのネットワーク ルートを冗長パスと共に監視し、問題があれば報告することができます。 ネットワークのパフォーマンスを低下させている特定のネットワーク セグメントを特定できます。 パフォーマンス モニターでは、SNMP に依存しなくても、ネットワークの正常性をレポートできます。