1. 概要

このチュートリアルでは、最も使用され人気のあるネットワークプロトコルのセットを紹介します。

2. ネットワークプロトコルの概要

コミュニケーションと情報交換は、今日の現代世界で最も重要で強力なスキルです。 コンピュータネットワークとは、ケーブルや衛星による複数のコンピュータやデバイスの相互接続であり、それらの間の距離に関係なく、情報、リソース、データベースなどを共有できます。

ネットワーク内の効率的で安全な通信を確保するために、多くのプロトコルが設計されました。 プロトコルは、ネットワークでの通信方法を定義する一連のルールです。

基本的に、内部プロセス、構造、または設計の違いに関係なく、接続されたデバイスが相互に通信できるようにします。 さまざまなネットワークプロトコルを使用することで、世界中の人々と簡単に通信できるため、現代のデジタル通信で重要な役割を果たしています。

3. イーサネット

イーサネットは、ローカルエリアネットワーク(LAN)用に作成されたプロトコルです。 1983年にIEEE802.3 として最初に標準化され、太い単一同軸ケーブル10BASE-5で使用されました。

イーサネット802.3プロトコルは、有線ネットワークモデルの物理層と、データリンク層媒体アクセス制御(MAC)サブ層を定義します。

IEEE 802.3プロトコルには、802.3a、802.3i、802.3jなどのいくつかのバージョンがあります。 各バージョンは、さまざまなタイプのケーブルで動作するように設計されています。

もう1つの広く使用されているプロトコルはIEEE802.11です。これは、無線ローカルエリアネットワーク(WLAN)を実装するための物理層およびメディアアクセス制御(MAC)プロトコルを指定します。 このプロトコルはワイヤレスコンピュータネットワーク標準であり、ラップトップとスマートフォンがケーブルに接続せずに通信できるようにするために使用されます。

イーサネット802.3およびイーサネット802.11プロトコルのフレームフォーマットを見てみましょう。

802.3と802.11の主な違いは、フレームサイズ、フィールド、および転送されるデータのサイズにあります。 イーサネット802.11プロトコルには802.3より2つ多いアドレスフィールドがあり、そのフレーム本体サイズは802.3より大きくなっています(802.3の場合は最大1500バイト、802.11の場合は最大2312バイト)。

4. インターネットプロトコル(IP)

1974年にIEEEによって標準化されたこのプロトコルは、デジタルネットワークでのデータパケットのアドレス指定とフラグメンテーションを担当します。 その目標は、送信元から宛先へのパケットの正常な配信を保証することです。この目的のために、IPは、IPデータグラムと呼ばれるデータパケットの記述のタイプを定義する形式を指定します。

IPの最初のメジャーバージョンはIPv4であり、1982年にSATNETに最初に導入されました。 32ビットのアドレス空間を使用します。 インターネットプロトコルの最新バージョンであるIPv6は、128ビットのアドレス空間を使用して一意のTCP/IPアドレス識別子を作成します。

IPv4とIPv6のヘッダー形式を見てみましょう。

IPv4とIPv6の主な違いは、アドレス空間の使用です。 これら2つの違いはヘッダーにあり、1つのヘッダーには複数のフィールドがありますが、他のヘッダーにはありません。 IPv4形式が見直され、IPv6に改善されました。これは、より効率的で複雑さを軽減します。

5. インターネット制御メッセージプロトコル(ICMP)

ICMPプロトコルは、ネットワークでエラーメッセージを送信するために作成されます。 IPプロトコルで動作します。 ネットワーク通信の問題を診断するのに役立ちます。ICMPは主に、データが指定された宛先に最適な方法で到達しているかどうかを判断するために使用されます。

ICMPヘッダーがどのように見えるかを見てみましょう。

このプロトコルはエラーメッセージを送信するため、これらのエラーはコードとタイプによって決定されます。 チェックサムはメッセージの精度を指定し、エラーに関する詳細情報はヘッダー情報フィールドに保存されます。

IPとは異なり、ICMPはコネクションレス型プロトコルです。 あるシステムから別のシステムにICMPメッセージを送信するために、システム間の接続を確立する必要はありません。

通常、 ICMPは、ルーターなどのネットワークデバイスで検出されます。 分散型サービス拒否(DDoS)攻撃でも使用されます。

6. アドレス解決プロトコル(ARP)

コンピュータアプリケーションは、論理アドレスを使用して他のアプリケーションと通信します。 ただし、他のアプリケーションと通信するには、物理アドレス(MACアドレス)が必要です。 ここで、アドレス解決プロトコル(ARP)が必要になります。

ネットワークアドレスをデータリンクプロトコルで使用される物理アドレスにマッピングします。ネットワーク内のコンピューターのアドレスを見つけるプロセスです。 ARPは、ネットワーク層のアドレスをOSIネットワークモデルのデータリンク層のアドレスに変換します。

MACハードウェアアドレスを解決するためのARPメッセージの例を見てみましょう。

ARPは、ネットワーキングプロセスの最も重要な柱の1つであり、IPプロトコルスイートで一般的に使用されます。

7. 伝送制御プロトコル(TCP)

伝送制御プロトコル(TCP)は、アプリケーションプログラムがデータを交換できるネットワーク接続を確立および維持する方法を定義する標準です。 IPの上部で使用され、パケットの信頼性の高い送信を提供します。

TCPは、コネクション型の信頼できるプロトコルです。 TCPの使用とデータの送信を開始する前に、2つのデバイスが接続を確立する必要があります。 また、送信されているデータのステータスに関する確認応答を送信側デバイスに提供します。 したがって、送信者が否定応答を受信した場合、データを再送信します。

データ送信中に、一部のデータが失われたり、エラーが発生したりする場合があります。 TCPは、このような状況を処理するためのエラーチェックおよび回復メカニズムを提供します。

TCPは直接接続を使用するため、ネットワーク内でメッセージを交換するには、TCPパケットヘッダーに送信元ポートと宛先ポートの情報が含まれている必要があります。

セキュアシェル、ファイルトランスポートプロトコル、HTTP、 World Wide Web(WWW)、および電子メールを介したWebアクセスなど、TCPプロトコルの多くのアプリケーションを見つけることができます。

8. ユーザーデータグラムプロトコル(UDP)

ユーザーデータグラムプロトコル(UDP)は、時間に敏感な送信のためにインターネットネットワークを介した通信に使用されるトランスポート層プロトコルです。 接続を開始せずにメッセージを送信するため、データ転送が非常に高速になります。

UDPはコネクションレス型で信頼性の低いプロトコルです。TCPとは異なり、UDPには、パケット損失が発生した場合のパケット回復のメカニズムはありません。 また、エラーチェックプロセスはありません。 ただし、遅延と帯域幅の点では、UDPはTCPよりも効率的です。

TCPは接続されたデバイス間の会話フローを維持するため、送信されたメッセージの確認応答を同期して受信する必要が常にあります。 ただし、UDPはそのような接続を維持しません。つまり、送信側デバイスは、確認メッセージを必要とせずに、要求に対する応答を送信し続けます。

次に、UDPヘッダーがどのように見えるかを見てみましょう。

UDPとTCPの違いは、UDPとTCPの比較にあります。

UDPは、ビデオ通信、オンラインゲーム、ビデオのライブストリーミングなどのリアルタイムサービスで使用されます。

9. ハイパーテキスト転送プロトコル(HTTP)

ハイパーテキスト転送プロトコル(HTTP)は、ワールドワイドウェブ(WWW)の基盤であり、ハイパーテキストリンクを使用してWebページをロードするために使用されます。 HTTPはアプリケーション層プロトコルであり、ネットワークデバイス間で情報を転送するように設計されたユーザーフレンドリーなインターフェイスをユーザーが確認できるようにします。 これは、アプリケーションがユーザーと通信するのを支援するプロトコルです。

Webクライアントは、Webブラウザのような任意のユーザーアプリケーションです。 サーバーは、通常クラウドに保存されている計算システムです。 WebクライアントがWWWを介してWebサーバーと通信する場合、サーバーにHTTP要求を送信します。 サーバーはリクエストを受信するとすぐにリクエストを処理し、HTTP応答をクライアントに送信します。 クライアントはHTTP応答を受信します。

HTTPリクエストヘッダーはレスポンスヘッダーと同じではないことに注意してください。

HTTPは、コネクションレス型およびステートレス型のプロトコルです。クライアントとサーバーは、通信中にのみ相互に認識します。 彼らがコミュニケーションを終えるとすぐに、彼らはお互いを忘れます。 また、メディアに依存しません。 すべてのデータをHTTP経由で送信できます。

10. 動的ホスト構成プロトコル(DHCP)

このプロトコルはIPネットワークで機能し、ネットワークに接続されているデバイスとホストにIPアドレスを割り当てます。また、それらが互いに効率的に通信できるようにします。

DHCPは、IPアドレスに加えて、サブネットマスク、デフォルトゲートウェイアドレス、ドメインネームサーバー(DNS)アドレス、およびその他の関連する構成パラメーターも割り当てます。

クライアントデバイスは、ネットワークを介してDHCPサーバーに検出メッセージを送信します。DHCPサーバーは、クライアントにオファーを送信します。 次に、クライアントは要求を送り返し、DHCPサーバーがクエリを確認できるようにします。

DHCPヘッダー形式を見てみましょう。

11. スパニングツリープロトコル(STP)

IEEE 802.1dで定義されているこのプロトコルは、LANでのループを防ぎます。 STPは、ブリッジを備えたネットワークに関連する問題を扱います。 冗長なリンクを排除し、ネットワークの変更と障害を処理します。

STPは、ネットワーク内のすべてのリンクを監視します。 リンクまたは冗長リンクに存在する問題を見つけるために、スパニングツリーアルゴリズム(STA)を適用します。 STAは、現在のネットワークからトポロジを構築し、冗長リンクを削除します。 新しいリンクが既存のネットワークに追加されると、STPはSTAを再実行して、新しいリンクが冗長でないことを確認します。

STPプロトコルは、プロトコルフレームとして設定メッセージを使用します。 STPをサポートするネットワークデバイスは、スパニングツリーを作成するために設定メッセージを交換します。 ここでは、構成メッセージの標準形式を示しています。

12. ファイル転送プロトコル(FTP)

ファイル転送プロトコル(FTP)は、TCP / IPが提供する標準のネットワークプロトコルであり、あるサーバーから別のサーバーにファイルを転送するために使用されます。 ファイルの確実かつ効率的な転送を担当します。

あるサーバーから別のサーバーへのファイルの転送は簡単ですが、いくつかの問題が発生する可能性があります。 送信側システムと受信側サーバーでは、ファイルの規則やデータの表現方法が異なる場合があります。 場合によっては、2つのシステムのディレクトリ構造が互いに異なる場合があります。 FTPはこれらの問題をすべて解決します。

2つのシステム間でファイルを転送している間、2つの接続を確立します。 1つの接続はデータ転送用で、もう1つは制御接続用です。

FTPの利点は、速度と効率です。また、セキュリティを提供します。 FTPサーバーからのデータにアクセスするには、ユーザーはユーザー名とパスワードを持っている必要があります。 FTPは、データの前後の移動をサポートします。 したがって、送信者と受信者の両方が互いにデータを送信できます。

FTPにもいくつかの欠点があります。 FTP経由で送信できるデータは2GBに制限されています。したがって、2GBを超えるファイルはFTP経由で転送できません。 また、すべてのシステムと互換性があるわけではありません。

13. セキュアシェル(SSH)

Secure Shell(SSH)は、セキュリティで保護されていないネットワーク上でネットワークサービスを保護するために暗号化を使用するネットワークプロトコルです。 コメントのリモート実行などの多くのアプリケーションでは、リモートコンピューターへのアクセスをSSHで保護できます。 SSHの詳細については、SSHの概要を参照してください。

14. SSHファイル転送プロトコル(SFTP)

セキュアFTPとも呼ばれるSSHファイル転送プロトコル(SFTP)は、ファイルが1つのシステムから別のシステムにリモートで送信されるときに接続を保護するために使用されます。公開鍵暗号化を使用しますインターネットを介した通信を保護し、強力なユーザー認証を容易にします。 インターネット技術特別調査委員会(IETF)は、シェルプロトコルにセキュリティを提供するために、2006年にこのプロトコルを開発しました。

ユーザーがSFTPサーバーとの接続を確立するには、パスワード認証または秘密/公開鍵認証の2つの方法があります。

FTPは2つの接続を使用してデータを送信します。 SFTPは、単一の接続を介してファイルを送信できます。 これにより、サーバー管理者の不便が解消されます。

また、SFTPを使用したファイル転送は、バイナリ形式でファイルを転送するため、はるかに高速です。アクセス許可と属性の操作、およびファイルロックに関連する操作をサポートします。

15. 結論

このチュートリアルでは、最も広く使用され、非常に人気のある12のネットワークプロトコルについて説明しました。 これらのプロトコルの簡潔な紹介といくつかのアプリケーションを紹介しました。

提示されたプロトコルには、効率と複雑さに関していくつかの制限があるかもしれませんが、それでもネットワーキングテクノロジーで最も使用されているプロトコルです。

プロトコルは、ネットワークを介した情報共有を適切に構築、維持、保護するように設計および開発されており、ほとんどの企業や企業がそのような通信方法に依存し、知識や経験を共有および受信できるインターネットを介して人々を接続します。