OSI ネットワーク モデルに従ってネットワーク デバイスがどのように動作するか。 OSI (Open System Interconnection) ネットワーク モデル

13.10.2019 写真とビデオ

この資料は参照専用です 7層OSIネットワークモデル。 ここでは、なぜシステム管理者がこのネットワーク モデルを理解する必要があるのか​​という質問に対する答えが見つかり、モデルの 7 つのレベルすべてが考慮されます。また、以下に基づいて構築された TCP/IP モデルの基本も学びます。 OSI参照モデル。

私がさまざまなIT技術に関わり、この分野で働き始めたとき、もちろんモデルについて何も知りませんでしたし、考えもしませんでしたが、経験豊富な専門家から勉強するように勧められたり、むしろ、このモデルを単純に理解して、次のように付け加えてください。 インタラクションの原理をすべて理解していれば、ネットワークの管理、構成、あらゆる種類のネットワークやその他の問題の解決がはるかに簡単になります。」 もちろん、私は彼の話を聞き、本やインターネット、その他の情報源を調べ始めましたが、同時に既存のネットワークでこれがすべて真実であるかどうかを確認しました。

現代世界では、ネットワーク インフラストラクチャの発展が非常に高いレベルに達しており、小規模なネットワークを構築することなく企業 ( 含む そして小さい) は通常どおり存在できなくなるため、システム管理者の需要がますます高まっています。 そして、あらゆるネットワークを高品質に構築および構成するには、システム管理者が OSI 参照モデルの原理を理解する必要があります。これは、ネットワーク アプリケーションの相互作用、さらにはネットワーク データ送信の原理を理解できるようにするためです。初心者の管理者でもアクセスしやすい方法でこの資料を提示するため。

OSIネットワークモデル (オープンシステム相互接続基本参照モデル) は、コンピューター、アプリケーション、およびその他のデバイスがネットワーク上でどのように対話するかを示す抽象モデルです。 つまり、このモデルの本質は、ISO 組織 ( 国際標準化機構) 誰もが信頼できるようにネットワーク運用の標準を開発し、すべてのネットワークに互換性があり、ネットワーク間の相互作用が存在しました。 世界中で使用されている最も一般的なネットワーク通信プロトコルの 1 つは TCP/IP であり、参照モデルに基づいて構築されています。

さて、このモデル自体のレベルに直接移りましょう。まず、レベルのコンテキストにおけるこのモデルの全体像を理解しましょう。

次に、各レベルについて詳しく説明します。参照モデルのレベルは上から下に記述するのが一般的です。1 台のコンピュータ上で上から下に、データが保存されているコンピュータ上で相互作用が発生するのはこのパスに沿ってです。下から上に受信されます。つまり、 データは各レベルを順番に通過します。

ネットワークモデルのレベルの説明

アプリケーション層 (7) (アプリケーション層) は、ネットワーク経由で送信するデータの開始点であると同時に終了点です。 この層は、ネットワーク上のアプリケーションの対話を担当します。 アプリケーションはこの層で通信します。 これは最高レベルであり、発生した問題を解決するときにこれを覚えておく必要があります。

HTTP、POP3、SMTP、FTP、TELNETその他。 つまり、アプリケーション 1 はこれらのプロトコルを使用してアプリケーション 2 にリクエストを送信します。アプリケーション 1 がアプリケーション 2 にリクエストを送信したことを確認するには、それらの間に接続が必要であり、これを担当するのはプロトコルです。繋がり。

プレゼンテーション層 (6)– この層は、後でネットワーク経由で送信できるようにデータをエンコードし、アプリケーションがこのデータを理解できるようにデータを逆変換する役割を果たします。 このレベルの後、他のレベルのデータは同じになります。 Word 文書であろうと、電子メール メッセージであろうと、データの種類は関係ありません。

次のプロトコルはこのレベルで動作します。 RDP、LPP、NDRその他。

セッションレベル (5)– データ転送間のセッションを維持する責任があります。つまり、 セッションの継続時間は転送されるデータによって異なるため、セッションを維持または終了する必要があります。

次のプロトコルはこのレベルで動作します。 ASP、L2TP、PPTPその他。

トランスポート層 (4)– データ送信の信頼性を担当します。 また、データのサイズが異なる場合は、データをセグメントに分割し、それらを元に戻します。 このレベルには 2 つのよく知られたプロトコルがあります。 TCPとUDP。 TCP プロトコルはデータが完全に配信されることを保証しますが、UDP プロトコルはこれを保証しないため、異なる目的に使用されます。

ネットワーク層 (3)– データが通過するパスを決定するように設計されています。 ルーターはこのレベルで動作します。 また、論理アドレスと名前を物理アドレスに変換し、短いルートを決定し、スイッチングとルーティングを行い、ネットワークの問題を監視することも担当しています。 機能するのはこのレベルです IPプロトコルおよびルーティングプロトコル。 RIP、OSPF.

リンク層(2)– このレベルでの対話を提供します。 MACアドレスネットワークデバイスのエラーもここで監視および修正されます。 破損したフレームの再リクエストを送信します。

物理層(1)– これは、すべてのフレームを電気インパルスに直接変換すること、またはその逆の変換です。 言い換えれば、物理的なデータ転送です。 彼らはこのレベルで働いています ハブ.

このモデルの観点から見たデータ転送プロセス全体は次のようになります。 これは参照および標準化されているため、他のネットワーク テクノロジとモデル、特に TCP/IP モデルはこれに基づいています。

TCP IP モデル

TCP/IPモデル OSI モデルとは少し異なります。より具体的に言うと、このモデルは OSI モデルのいくつかのレベルを組み合わせたものであり、そのレベルは 4 つだけです。

  • 適用済み;
  • 輸送;
  • 通信網;
  • ダクト。

この図は 2 つのモデルの違いを示しており、よく知られたプロトコルがどのレベルで動作するかを再度示しています。

OSI ネットワーク モデル、具体的にはネットワーク上のコンピューターの相互作用については、長期間にわたって話すことができますが、1 つの記事に収まりきらず、少し不明確になるため、ここではこのモデルの基礎を示してみました。すべてのレベルの説明。 重要なことは、これはすべて真実であり、ネットワーク経由で送信したファイルは単純に渡されるということを理解することです。 巨大な「エンド ユーザーに到達するまでの経路ですが、開発されたネットワーク テクノロジーのおかげで、これは気付かないほど迅速に行われます。

これらすべてがネットワークの相互作用を理解するのに役立つことを願っています。

OSIネットワークモデルはオープン システムの相互作用のための参照モデルで、英語では Open Systems Interconnection Basic Reference Model のように聞こえます。 その目的は、ネットワーク対話ツールを一般化して表現することです。

つまり、OSI モデルはプログラム開発者向けに一般化された標準であり、これにより、どのコンピュータでも他のコンピュータから送信されたデータを同等に復号化できます。 わかりやすくするために、実際の例を挙げます。 ミツバチは紫外線で周囲のものすべてを見ることが知られています。 つまり、私たちの目とミツバチは同じ絵をまったく異なる方法で認識しており、昆虫が見ているものは人間の視覚には見えない可能性があります。

コンピュータでも同様です。ある開発者が、自分のコンピュータでは理解できるが、他の人は利用できないプログラミング言語でアプリケーションを作成した場合、他のデバイスでは、このアプリケーションで作成されたドキュメントを読むことができなくなります。 そこで、アプリケーションを作成するときは、誰にでも理解できる単一のルールに従うという考えを思いつきました。

わかりやすくするために、ネットワーク運用のプロセスは通常、次のように分割されます。 7レベル、それぞれが独自のプロトコル グループを実行します。


ネットワークプロトコルネットワークに接続されたコンピュータが接続してデータを交換できるようにするための規則と技術的手順です。
共通の最終目標によって結合されたプロトコルのグループは、プロトコル スタックと呼ばれます。

さまざまなタスクを実行するために、システムにサービスを提供するプロトコルがいくつかあります (TCP/IP スタックなど)。 あるコンピュータからの情報がローカル ネットワークを介して別のコンピュータにどのように送信されるかを詳しく見てみましょう。

送信者のコンピュータのタスク:

  • アプリケーションからデータを取得する
  • 量が多い場合は小分けにしてください
  • 送信の準備をします。つまり、ルートを指定し、暗号化し、ネットワーク形式にトランスコードします。

受信者のコンピュータのタスク:

  • データパケットを受信する
  • そこからサービス情報を削除します
  • データをクリップボードにコピーする
  • すべてのパケットの受信が完了したら、それらのパケットから初期データ ブロックを形成します
  • アプリに与える

これらすべての操作を正しく実行するには、単一のルール セット、つまり OSI 参照モデルが必要です。

OSI レベルに戻りましょう。 通常、これらは逆の順序で数えられ、ネットワーク アプリケーションが表の一番上に位置し、物理的な情報伝送媒体が一番下に位置します。 コンピュータからのデータがネットワーク ケーブルに直接流れると、さまざまな層で動作するプロトコルによってデータが徐々に変換され、物理的な送信の準備が整います。


それらをさらに詳しく見てみましょう。

7. アプリケーション層

そのタスクは、ネットワーク アプリケーションからデータを収集し、レベル 6 に送信することです。

6. プレゼンテーション層

このデータを単一の世界共通言語に翻訳します。 実際のところ、各コンピュータ プロセッサは独自のデータ処理形式を持っていますが、それらは 1 つの汎用形式でネットワークに入力する必要があります。これがプレゼンテーション層の役割です。

5. セッション層

彼にはたくさんの仕事がある。

  1. 受信者との通信セッションを確立します。 ソフトウェアは、受信側コンピュータにデータが送信されようとしていることを警告します。
  2. ここで名前の認識と保護が行われます。
    • 識別 - 名前認識
    • 認証 - パスワードの検証
    • 登録 - 権限の譲渡
  3. どの当事者が情報を転送するのか、およびこれにどれくらいの時間がかかるのかを実装します。
  4. データ フロー全体にチェックポイントを配置することで、一部が失われた場合に、どの部分が失われたのか、再送信する必要があるのか​​を簡単に判断できるようにします。
  5. セグメンテーションとは、大きなブロックを小さなパケットに分割することです。

4. トランスポート層

メッセージ配信時にアプリケーションに必要なレベルのセキュリティを提供します。 プロトコルには 2 つのグループがあります。

  • 接続指向のプロトコル - データの配信を監視し、失敗した場合はオプションで再送信を要求します。 これは TCP - 情報転送制御プロトコルです。
  • 接続指向 (UDP) ではありません。単にブロックを送信するだけで、その配信をさらに監視しません。

3. ネットワーク層

ルートを計算することにより、パケットのエンドツーエンド伝送を提供します。 このレベルでは、パケット内で、送信者と受信者の IP アドレスが、他のレベルで生成された以前のすべての情報に追加されます。 この時点から、データ パケットは PACKET 自体と呼ばれ、>>IP アドレスを持ちます (IP プロトコルはインターネットワーキング プロトコルです)。

2. データリンク層

ここで、パケットは 1 本のケーブル、つまり 1 つのローカル ネットワーク内で送信されます。 1つのLANのエッジルータまでしか動作しません。 受信したパケットに、リンク層は送信者と受信者の MAC アドレスという独自のヘッダーを追加します。この形式のデータ ブロックはすでに FRAME と呼ばれています。

あるローカル ネットワークを越えて送信される場合、パケットにはホスト (コンピュータ) の MAC ではなく、別のネットワークのルーターの MAC が割り当てられます。 ここで、グレーとホワイトの IP の問題が生じます。これについては、上記のリンクが記載されている記事で説明されています。 灰色は、1 つのローカル ネットワーク内で、その外部では使用されないアドレスです。 ホワイトは、グローバル インターネット全体で一意のアドレスです。

パケットがエッジ ルーターに到着すると、パケットの IP がこのルーターの IP に置き換えられ、ローカル ネットワーク全体が 1 つの IP アドレスでグローバル ネットワーク、つまりインターネットに接続されます。 アドレスが白の場合、データの IP アドレスの部分は変更されません。

1. 物理層(トランスポート層)

バイナリ情報を物理信号に変換し、物理データ リンクに送信します。 ケーブルの場合、信号は電気信号であり、光ファイバー ネットワークの場合、信号は光信号です。 この変換はネットワーク アダプターを使用して実行されます。

プロトコルスタック

TCP/IP は、ローカル ネットワークとインターネットの両方でのデータ転送を管理するプロトコル スタックです。 このスタックには 4 つのレベルが含まれています。つまり、OSI 参照モデルによれば、各レベルは複数のレベルを組み合わせています。

  1. アプリケーション (OSI - アプリケーション、プレゼンテーション、セッション)
    次のプロトコルがこのレベルを担当します。
    • TELNET - コマンドライン形式のリモート通信セッション
    • FTP - ファイル転送プロトコル
    • SMTP - メール転送プロトコル
    • POP3 と IMAP - メールの受信
    • HTTP - ハイパーテキストドキュメントの操作
  2. トランスポート (OSI の場合も同じ) は、すでに上で説明した TCP と UDP です。
  3. インターネットワーク (OSI - ネットワーク) は IP プロトコルです
  4. ネットワーク インターフェイス レベル (OSI - チャネルおよび物理) ネットワーク アダプター ドライバーは、このレベルの操作を担当します。

データブロックを表す際の用語

  • ストリーム - アプリケーションレベルで操作されるデータ
  • データグラムは UPD から出力されるデータのブロックであり、配信が保証されていません。
  • セグメントは、TCP プロトコルの出力での配信が保証されたブロックです。
  • パケットは、IP プロトコルから出力されるデータのブロックです。 このレベルでは配信がまだ保証されていないため、データグラムと呼ぶこともできます。
  • フレームは、MAC アドレスが割り当てられたブロックです。

プロトコルが 2 つの相互作用するエンティティ (この場合はネットワーク上で動作する 2 台のコンピュータ) によって採用された合意であるからといって、それが必ずしも標準であることを意味するわけではありません。 しかし実際には、ネットワークを実装するときは通常、 標準プロトコル。 これらはブランド、国内、または 国際規格.

80 年代初頭、ISO、ITU-T などの多くの国際標準化組織は、ネットワークの開発に重要な役割を果たしたモデルを開発しました。 このモデルは ISO/OSI モデルと呼ばれます。

オープンシステムの相互運用性モデル (オープンシステム相互接続、OSI) のシステム間のさまざまなレベルの相互作用を定義します。 パケット交換ネットワーク、それらに標準の名前を付け、各層が実行する機能を指定します。

OSI モデルは、70 年代に主にグローバルなコンピューター ネットワークを作成して得た広範な経験に基づいて開発されました。 このモデルの完全な説明は 1000 ページを超えるテキストになります。

OSI モデル (図 11.6) では、通信手段はアプリケーション、 代表、セッション、トランスポート、ネットワーク、チャネル、および物理。 各層は、ネットワーク デバイスの相互作用の特定の側面を扱います。


米。 11.6。

OSI モデルは、オペレーティング システムによって実装されるシステム通信のみを記述します。 システムユーティリティそしてハードウェア。 このモデルには、エンドユーザー アプリケーションの対話手段は含まれていません。 アプリケーションは、システム ツールにアクセスして独自の通信プロトコルを実装します。 したがって、アプリケーションとアプリケーション間の対話のレベルを区別する必要があります。 アプリケーション層.

また、アプリケーションは OSI モデルの上位層の機能の一部を引き継ぐことができることにも留意する必要があります。 たとえば、一部の DBMS にはツールが組み込まれています。 リモートアクセスファイルに。 この場合、アプリケーションはリモート リソースにアクセスするときにシステム ファイル サービスを使用しません。 OSI モデルの上位層をバイパスし、OSI モデルを担当するシステム機能に直接アクセスします。 交通機関ネットワーク上のメッセージ。OSI モデルの下位レベルにあります。

したがって、アプリケーションがファイル サービスなどのアプリケーション層にリクエストを行うとします。 この要求に基づいて、アプリケーション レベルのソフトウェアは標準形式のメッセージを生成します。 一般的なメッセージはヘッダーとデータ フィールドで構成されます。 ヘッダーには、実行する必要がある作業を伝えるために、ネットワーク経由で宛先マシンのアプリケーション層に渡す必要があるサービス情報が含まれています。 この場合、ヘッダーにはファイルの場所と実行する必要がある操作の種類に関する情報が含まれている必要があります。 メッセージ データ フィールドは空にすることも、リモートに書き込む必要があるデータなどのデータを含めることもできます。 しかし、この情報を目的地に届けるためには、解決すべき課題がまだ多くあり、その責任は下位レベルにあります。

メッセージの生成後 アプリケーション層それをスタックに送ります 代表レベル。 プロトコル 代表レベルアプリケーション レベルのヘッダーから受け取った情報に基づいて、必要なアクションを実行し、独自のサービス情報をメッセージ ヘッダーに追加します。 代表レベル、プロトコルの指示が含まれています 代表レベル宛先のマシン。 結果として得られるメッセージは受け継がれます セッションレベル、ヘッダーなどが追加されます (プロトコルによっては、サービス情報をヘッダーの形式でメッセージの先頭に配置するだけでなく、いわゆる「トレーラー」の形式でメッセージの最後にも配置します)。最後に、メッセージは最下部に到達し、 身体レベル、実際には、通信回線を介して受信側のマシンに送信されます。 この時点で、メッセージはすべてのレベルのヘッダーで「肥大化」しています (

ネットワーク科学には、他の知識分野と同様に、学習に対して 2 つの基本的なアプローチがあります。それは、一般的な内容から特殊な内容への移動、またはその逆です。 まあ、人生において人々がこれらのアプローチをそのままの形で使用するわけではありませんが、それでも、初期段階では、各生徒は上記の方向性のいずれかを自分で選択します。 高等教育 (少なくとも (ソ連以降) モデル) では、最初の方法がより一般的ですが、独学では 2 番目の方法が最も一般的です。人はネットワーク上で作業し、時々、単一ユーザーの小さな管理タスクを解決していました。突然彼は、実際のところ、このくだらないことはどのように機能するのかを知りたくなりました。

しかし、この記事の目的は教育方法論に関する哲学的な議論ではありません。 初心者ネットワーカーの注意点を紹介したいと思います。 一般的なそして最も重要なことは、ストーブからのように、そこから最も洗練された個人の店で踊ることができることです。 7 層の OSI モデルを理解し、すでに知っているテクノロジの各層を「認識」する方法を学ぶことで、選択したネットワーク業界のどの方向にも簡単に進むことができます。 OSI モデルは、ネットワークに関する新しい知識がかかるフレームワークです。

このモデルは、ネットワークに関するほとんどすべての現代文献だけでなく、特定のプロトコルやテクノロジーの多くの仕様でも何らかの形で言及されています。 車輪の再発明の必要性を感じなかった私は、N. Olifer、V. Olifer (情報技術センター) の著作「企業ネットワークにおける通信プロトコルの役割と主要タイプの機器の機能目的」からの抜粋を出版することにしました。 」は、このテーマに関する最良かつ最も包括的な出版物であると私は考えています。

編集長

モデル

プロトコルが 2 つの相互作用するエンティティ (この場合はネットワーク上で動作する 2 台のコンピュータ) 間の合意であるからといって、それが必ずしも標準であることを意味するわけではありません。 しかし実際には、ネットワークを実装する際には標準プロトコルを使用する傾向があります。 これらは独自の標準、国内標準、または国際標準である場合があります。

国際標準化機構 (ISO) は、システム間の相互作用のさまざまなレベルを明確に定義し、それらに標準名を付け、各レベルで実行すべき作業を指定するモデルを開発しました。 このモデルは、Open System Interconnection (OSI) モデルまたは ISO/OSI モデルと呼ばれます。

OSI モデルでは、通信は 7 つの層または層に分割されます (図 1.1)。 各レベルは、インタラクションの 1 つの特定の側面を扱います。 したがって、相互作用問題は 7 つの特定の問題に分解され、それぞれは他とは独立して解決できます。 各層は、上下の層とのインターフェースを維持します。

米。 1.1. ISO/OSI オープンシステム相互接続モデル

OSI モデルはシステム通信のみを記述し、エンドユーザー アプリケーションは記述しません。 アプリケーションは、システム機能にアクセスすることで独自の通信プロトコルを実装します。 アプリケーションは、OSI モデルの上位層の機能の一部を引き継ぐことができることに留意する必要があります。その場合、必要に応じて、インターネットワーキングにより、アプリケーションは、OSI モデルの残りの下位層の機能を実行するシステム ツールに直接アクセスします。 OSIモデル。

エンドユーザー アプリケーションは、システム対話ツールを使用して、別のマシン上で実行されている別のアプリケーションとの対話を組織するだけでなく、リモート ファイルへのアクセス、メールの受信、印刷など、特定のネットワーク サービスのサービスを単に受け取ることもできます。共有プリンター。

したがって、アプリケーションがファイル サービスなどのアプリケーション層にリクエストを行ったとしましょう。 この要求に基づいて、アプリケーション レベルのソフトウェアは、サービス情報 (ヘッダー) と、場合によっては送信データを含む標準形式のメッセージを生成します。 その後、このメッセージは代表レベルに転送されます。 プレゼンテーション層はヘッダーをメッセージに追加し、その結果をセッション層に渡し、セッション層がヘッダーを追加する、というようになります。 一部のプロトコル実装では、メッセージにヘッダーだけでなくトレーラーも含まれることが規定されています。 最後に、メッセージは最下位の物理層に到達し、実際に通信回線に沿って送信されます。

メッセージがネットワーク経由で別のマシンに到着すると、メッセージはレベルからレベルへと順番に移動します。 各レベルは、そのレベルのヘッダーを分析、処理、削除し、このレベルに対応する機能を実行して、メッセージを上位レベルに渡します。

「メッセージ」という用語に加えて、ネットワーク専門家がデータ交換の単位を指定するために使用する別の名前もあります。 あらゆるレベルのプロトコルの ISO 標準では、「プロトコル データ ユニット」、つまりプロトコル データ ユニット (PDU) という用語が使用されます。 さらに、フレーム、パケット、データグラムという名前もよく使用されます。

ISO/OSI モデル層関数

物理層: この層は、同軸ケーブル、ツイスト ペア ケーブル、または光ファイバー ケーブルなどの物理チャネルを介したビットの伝送を処理します。 このレベルは、帯域幅、ノイズ耐性、特性インピーダンスなどの物理データ伝送メディアの特性に関連します。 同じレベルで、パルスエッジの要件、送信信号の電圧または電流レベル、コーディングの種類、信号送信速度など、電気信号の特性も決定されます。 また、コネクタの種類や各コンタクトの用途もここで規格化されています。

物理層の機能は、ネットワークに接続されるすべての機器に実装されます。 コンピューター側では、物理層の機能はネットワーク アダプターまたはシリアル ポートによって実行されます。

物理層プロトコルの例は、10Base-T イーサネット テクノロジー仕様です。この仕様では、特性インピーダンス 100 オーム、RJ-45 コネクタ、最大物理セグメント長 100 メートルのカテゴリ 3 非シールド ツイスト ペアとして使用されるケーブルが定義されています。ケーブル上のデータ、および環境や電気信号のその他の特性を表すためのマンチェスター コード。

データリンク層: 物理層は単にビットを転送するだけです。 これは、対話するコンピュータのいくつかのペアによって通信回線が交互に使用 (共有) される一部のネットワークでは、物理的な伝送媒体が占有される可能性があることを考慮していません。 したがって、リンク層のタスクの 1 つは、伝送媒体の可用性を確認することです。 リンク層のもう 1 つのタスクは、エラー検出および訂正メカニズムを実装することです。 これを行うために、データ リンク層でビットがフレームと呼ばれるセットにグループ化されます。 リンク層は、各フレームの先頭と末尾に特別なビット シーケンスを配置してマークを付けることによって、各フレームが正しく送信されることを保証します。また、特定の方法でフレームのすべてのバイトを合計し、チェックサムを加算することによってチェックサムを計算します。フレームに。 フレームが到着すると、受信側は受信データのチェックサムを再度計算し、その結果をフレームのチェックサムと比較します。 それらが一致する場合、フレームは正しいとみなされ、受け入れられます。 チェックサムが一致しない場合、エラーが記録されます。

ローカル ネットワークで使用されるリンク層プロトコルには、コンピュータ間の接続の特定の構造と、それらをアドレス指定する方法が含まれています。 データ リンク層はローカル ネットワーク上の任意の 2 つのノード間でフレーム配信を行いますが、これを行うのは、非常に特殊な接続トポロジ、まさにその設計対象のトポロジを持つネットワーク内でのみです。 LAN リンク層プロトコルでサポートされる一般的なトポロジには、共有バス、リング、スターなどがあります。 リンク層プロトコルの例としては、イーサネット、トークン リング、FDDI、100VG-AnyLAN などがあります。

ローカル エリア ネットワークでは、コンピュータ、ブリッジ、スイッチ、ルーターによってリンク層プロトコルが使用されます。 コンピュータでは、リンク層機能は、ネットワーク アダプタとそのドライバの共同作業を通じて実装されます。

グローバル ネットワークでは、通常のトポロジが存在することはほとんどありませんが、データ リンク層により、個別の通信回線で接続された 2 つの隣接するコンピュータ間のメッセージの交換が保証されます。 ポイントツーポイント プロトコル (このようなプロトコルはよく呼ばれます) の例としては、広く使用されている PPP プロトコルと LAP-B プロトコルがあります。

ネットワーク レベル: このレベルは、エンド ノード間で情報を送信するための異なる原理を持つ複数のネットワークを統合する統合トランスポート システムを形成するのに役立ちます。 ローカルネットワークを例にして、ネットワーク層の機能を見てみましょう。 ローカル ネットワーク リンク層プロトコルは、適切なネットワーク内のノード間でのみデータの配信を保証します。 典型的なトポロジ。 これは非常に厳しい制限であり、複数の企業ネットワークを一つにまとめたネットワークや、ノード間の接続を冗長化した信頼性の高いネットワークなど、高度な構造のネットワークを構築することはできません。 一方では標準トポロジのデータ転送手順の単純さを維持し、他方では任意のトポロジの使用を可能にするために、追加のネットワーク層が使用されます。 このレベルでは、「ネットワーク」の概念が導入されます。 この場合、ネットワークは、標準的な典型的なトポロジの 1 つに従って相互に接続され、このトポロジに対して定義されたリンク層プロトコルの 1 つを使用してデータを送信するコンピュータの集合として理解されます。

したがって、ネットワーク内ではデータ配信はデータリンク層によって制御されますが、ネットワーク間のデータ配信はネットワーク層によって処理されます。

ネットワーク層メッセージは通常、 パッケージ。 ネットワークレベルでパケット配信を組織する場合、この概念が使用されます。 「ネットワーク番号」。 この場合、受信者のアドレスは、ネットワーク番号とそのネットワーク上のコンピュータ番号で構成されます。

ネットワークはルーターと呼ばれる特別なデバイスによって相互に接続されます。 ルーターは、インターネットワーク接続のトポロジに関する情報を収集し、それに基づいてネットワーク層パケットを宛先ネットワークに転送するデバイスです。 あるネットワーク上の送信者から別のネットワーク上の受信者にメッセージを送信するには、ネットワーク間で多数のトランジット転送 (ホップ) を行い、そのたびに適切なルートを選択する必要があります。 したがって、ルートはパケットが通過する一連のルーターです。

最適なパスを選択する問題は次のように呼ばれます。 ルーティングそしてその解決策がネットワークレベルの主なタスクです。 この問題は、最短パスが常に最適であるとは限らないという事実によって複雑になります。 多くの場合、ルートを選択する基準は、そのルートに沿ったデータ送信の時間ですが、時間の経過とともに変化する通信チャネルの容量とトラフィックの強度によって決まります。 一部のルーティング アルゴリズムは負荷の変化に適応しようとしますが、他のルーティング アルゴリズムは長期的な平均に基づいて決定を下します。 ルートは、送信の信頼性など、他の基準に基づいて選択できます。

ネットワーク レベルでは、2 種類のプロトコルが定義されています。 最初のタイプは、ノードからルーターへ、およびルーター間でエンドノード データ パケットを送信するためのルールの定義を指します。 これらは、人々がネットワーク層プロトコルについて話すときに通常意味するプロトコルです。 ネットワーク層には、と呼ばれる別のタイプのプロトコルも含まれています。 ルーティング情報交換プロトコル。 これらのプロトコルを使用して、ルーターはインターネットワーク接続のトポロジに関する情報を収集します。 ネットワーク層プロトコルは、ルーター ソフトウェアおよびハードウェアだけでなく、オペレーティング システム ソフトウェア モジュールによって実装されます。

ネットワーク層プロトコルの例としては、TCP/IP スタック IP インターネットワーク プロトコルや Novell IPX スタック インターネットワーク プロトコルなどがあります。

トランスポート層: 送信者から受信者に向かう途中で、パケットが破損したり失われたりする可能性があります。 アプリケーションによっては独自のエラー処理を行うものもありますが、信頼性の高い接続をすぐに処理することを好むアプリケーションもあります。 トランスポート層の役割は、アプリケーションまたはスタックの上位層 (アプリケーションとセッション) が必要な信頼性でデータを転送できるようにすることです。 OSI モデルは、トランスポート層によって提供される 5 つのサービス クラスを定義します。 これらのタイプのサービスは、提供されるサービスの品質によって区別されます。つまり、緊急性、中断された通信を復元する機能、共通のトランスポート プロトコルを介して異なるアプリケーション プロトコル間の複数の接続を多重化する手段の可用性、そして最も重要なことに、検出および検出を行う機能です。パケットの歪み、損失、重複などの伝送エラーを修正します。

トランスポート層のサービス クラスの選択は、一方では、信頼性を確保するという問題がトランスポート層よりも高いレベルのアプリケーションやプロトコルによってどの程度解決されるかによって決まり、他方では、この選択は次の条件に依存します。データ転送システム全体がオンラインであるかどうか。 したがって、たとえば、通信チャネルの品質が非常に高く、下位レベルのプロトコルによって検出されないエラーの可能性が低い場合は、多数のチェックの負担が少ない軽量のトランスポート層サービスの 1 つを使用するのが合理的です。 、ハンドシェイク、および信頼性を高めるためのその他の技術。 車両の信頼性が最初から非常に低い場合は、論理接続の事前確立、チェックサムおよびチェックサムを使用したメッセージ配信の監視など、エラーを検出して排除するための最大限の手段を使用して機能する、最も開発されたトランスポート レベルのサービスに頼ることをお勧めします。パケットの循環番号付け、配信タイムアウトの確立など。

原則として、トランスポート層以降のすべてのプロトコルは、ネットワークのエンドノードのソフトウェア、つまりネットワーク オペレーティング システムのコンポーネントによって実装されます。 トランスポート プロトコルの例には、TCP/IP スタックの TCP プロトコルと UDP プロトコル、および Novell スタックの SPX プロトコルが含まれます。

セッション層: セッション層は、どの当事者が現在アクティブであるかを記録するための会話管理を提供し、同期機能も提供します。 後者では、長い転送にチェックポイントを挿入できるため、失敗した場合に最初からやり直すのではなく、最後のチェックポイントに戻ることができます。 実際には、セッション層を使用するアプリケーションはほとんどなく、実装されることもほとんどありません。

プレゼンテーション層: この層は、アプリケーション層によって伝えられる情報が別のシステムのアプリケーション層によって理解されることを保証します。 プレゼンテーション層は、必要に応じてデータ形式を何らかの共通のプレゼンテーション形式に変換し、受信側で逆変換を行う。 このようにして、アプリケーション層は、たとえばデータ表現における構文上の違いを克服できます。 このレベルでは、データの暗号化と復号化を実行できるため、すべてのアプリケーション サービスのデータ交換の機密性が一度に確保されます。 プレゼンテーション層で動作するプロトコルの例としては、TCP/IP スタックのアプリケーション層プロトコルに安全なメッセージングを提供する Secure Socket Layer (SSL) プロトコルがあります。

アプリケーション層 アプリケーション層は実際には、ネットワーク ユーザーがファイル、プリンタ、ハイパーテキスト Web ページなどの共有リソースにアクセスしたり、電子メール プロトコルなどを使用してコラボレーションを組織したりするためのさまざまなプロトコルのセットにすぎません。 アプリケーション層が操作するデータの単位は、通常、と呼ばれます。 メッセージ .

アプリケーション層プロトコルには非常に多様なものがあります。 ファイル サービスの最も一般的な実装を少なくともいくつか挙げてみましょう。Novell NetWare オペレーティング システムの NCP、Microsoft Windows NT の SMB、TCP/IP スタックの一部である NFS、FTP、および TFTP です。

OSI モデルは非常に重要ですが、多くの通信モデルのうちの 1 つにすぎません。 これらのモデルとそれに関連するプロトコル スタックは、層の数、その機能、メッセージ形式、上位層で提供されるサービス、およびその他のパラメータが異なる場合があります。

一般的な通信プロトコルスタックの特徴

したがって、ネットワーク内のコンピュータの対話は、メッセージとその形式を交換するための特定のルール、つまり特定のプロトコルに従って行われます。 ネットワーク ノード間の対話の問題を解決する、階層的に編成されたプロトコルのセットは、通信プロトコル スタックと呼ばれます。

ネットワークでは広く使用されているプロトコル スタックが多数あります。 これらは、国際標準および国内標準のスタックと、特定の企業の機器の普及により普及した独自のスタックです。 一般的なプロトコル スタックの例としては、Novell の IPX/SPX スタック、インターネットや UNIX オペレーティング システムをベースとする多くのネットワークで使用される TCP/IP スタック、国際標準化機構の OSI スタック、Digital Equipment Corporation の DECnet スタックなどがあります。その他。

ネットワーク内での特定の通信プロトコル スタックの使用は、ネットワークの外観とその特性を大きく決定します。 小規模なネットワークではスタックを 1 つだけ使用する場合があります。 さまざまなネットワークを接続する大規模な企業ネットワークでは、通常、複数のスタックが並列して使用されます。

通信機器は、上位層のプロトコルよりも標準化された下位層のプロトコルを実装しています。これは、異なるメーカーの機器間の連携を成功させるための前提条件です。 特定の通信デバイスがサポートするプロトコルのリストは、このデバイスの最も重要な特性の 1 つです。

コンピュータは、ネットワーク オペレーティング システムの対応するソフトウェア要素の形式で通信プロトコルを実装します。たとえば、リンクレベルのプロトコルは通常、ネットワーク アダプタ ドライバの形式で実装され、上位レベルのプロトコルはサーバーおよびクライアント コンポーネントの形式で実装されます。ネットワークサービスのこと。

特定のオペレーティング システム環境で適切に動作する機能は、通信機器の重要な特性です。 ネットワーク アダプターやハブの広告には、NetWare または UNIX ネットワークで動作するように特別に設計されていることがよくあります。 これは、ハードウェア開発者がそのネットワーク オペレーティング システムで使用されているプロトコル、またはこれらのプロトコルが別のオペレーティング システムで使用されている場合はその実装の特定のバージョンに合わせてその特性を最適化していることを意味します。 さまざまなオペレーティング システムでのプロトコルの実装の特殊性により、通信機器の特性の 1 つは、特定のオペレーティング システムの環境で動作する能力が認定されていることです。

下位レベル (物理リンクとデータリンク) では、ほぼすべてのスタックが同じプロトコルを使用します。 イーサネット、トークン リング、FDDI などのプロトコルは十分に標準化されており、すべてのネットワークで同じ機器を使用できます。

既存の標準スタックのネットワークおよび上位層プロトコルは非常に変動しやすく、一般に ISO モデルが推奨する階層化に準拠していません。 特に、これらのスタックでは、セッション層およびプレゼンテーション層の機能がアプリケーション層と組み合わされることがほとんどです。 この矛盾は、ISO モデルが既存の実際に使用されているスタックの一般化の結果として登場したものであり、その逆ではないという事実によるものです。

OSIスタック

OSI プロトコル スタックと OSI モデルを区別する必要があります。 OSI モデルはオープン システムの対話手順を概念的に定義し、タスクを 7 つの層に分解し、各層の目的を標準化し、層の標準名を導入します。一方、OSI スタックは、一貫したプロトコルを形成する非常に特殊なプロトコル仕様のセットです。プロトコルスタック。 このプロトコル スタックは、米国政府の GOSIP プログラムでサポートされています。 1990 年以降に設置された政府のコンピュータ ネットワークはすべて、OSI スタックを直接サポートするか、将来スタックに移行する手段を提供する必要があります。 ただし、ヨーロッパでは独自のプロトコルを使用するレガシー ネットワークがインストールされていないため、OSI スタックは米国よりもヨーロッパで人気があります。 ヨーロッパには非常に多くの異なる国があるため、共通スタックの必要性も高くなります。

これはメーカーに依存しない国際標準です。 これにより、企業、パートナー、サプライヤー間のコラボレーションが可能になります。 このやり取りは、対処、命名、およびデータ セキュリティの問題によって複雑になります。 これらの問題はすべて、OSI スタックで部分的に解決されます。 OSI プロトコルは多くの CPU 処理能力を必要とするため、パーソナル コンピュータのネットワークよりも強力なマシンに適しています。 ほとんどの組織は、OSI スタックへの移行を計画しているところです。 この方向に取り組んでいる組織の中には、米国海軍省と NFSNET ネットワークがあります。 OSI をサポートする最大のメーカーの 1 つは AT&T です。 その Stargroup ネットワークは完全に OSI スタックに基づいています。

明らかな理由から、OSI スタックは他の標準スタックとは異なり、OSI 相互接続モデルに完全に準拠しており、オープン システム相互接続モデルの 7 つの層すべての仕様が含まれています (図 1.3)。


米。 1.3. OSIスタック

の上 OSI スタックは、イーサネット、トークン リング、FDDI プロトコルに加え、LLC、X.25、ISDN プロトコルをサポートします。 これらのプロトコルについては、マニュアルの他のセクションで詳しく説明します。

サービス ネットワーク、トランスポート、セッションレベル OSI スタックでも使用できますが、あまり一般的ではありません。 ネットワーク層は、コネクションレス型プロトコルとコネクションベース型プロトコルの両方を実装します。 OSI スタック トランスポート プロトコルは、OSI モデルで定義された機能と一致しており、コネクション型ネットワーク サービスとコネクションレス型ネットワーク サービスの違いを隠蔽するため、基礎となるネットワーク層に関係なく、ユーザーは必要なサービス品質を得ることができます。 これを提供するために、トランスポート層はユーザーに希望のサービス品質を指定することを要求します。 トランスポート サービスには、最低クラス 0 から最高クラス 4 までの 5 つのクラスが定義されており、エラー許容度やエラー後のデータ回復要件が異なります。

サービス アプリケーションレベル ファイル転送、端末エミュレーション、ディレクトリ サービス、メールが含まれます。 このうち、最も有望なものは、ディレクトリ サービス (X.500 標準)、電子メール (X.400)、仮想端末プロトコル (VT)、ファイル転送、アクセスおよび管理 (FTAM) プロトコル、転送およびジョブ管理プロトコル (JTM) です。 。 最近、ISO はトップレベルのサービスに注力しています。

X.400

は、電子メッセージ転送システムについて説明する国際電信電話諮問委員会 (CCITT) からの一連の推奨事項です。 現在、X.400 推奨は最も人気のあるメッセージング プロトコルです。 X.400 勧告では、メッセージング システムのモデル、このシステムのすべてのコンポーネント間の対話用のプロトコル、多くの種類のメッセージと、送信されるメッセージの種類ごとに送信者が持つ機能について説明します。

X.400 勧告では、ユーザーに提供される次の最低限必要なサービスのセットが定義されています: アクセス制御、一意のシステム メッセージ ID の維持、理由付きのメッセージ配信または不達通知、メッセージ コンテンツ タイプの表示、メッセージ コンテンツの変換表示、送信および配信タイムスタンプ、配信カテゴリ (緊急、非緊急、通常) の選択、マルチキャスト配信、遅延配信 (特定の時点まで)、テレックスやファックス サービスなどの互換性のないメール システムとインターフェイスするためのコンテンツの変換、特定のメッセージが配信された場合、入れ子構造を持つことがあるメーリング リストは、非対称公開キー暗号システムに基づいてメッセージを不正アクセスから保護する手段です。

推奨事項の目的 X.500グローバルなヘルプデスク標準を開発することです。 メッセージを配信するプロセスでは受信者のアドレスを知る必要がありますが、これは大規模なネットワークでは問題となるため、送信者と受信者のアドレスの取得を支援するヘルプ デスクが必要です。 一般に、X.500 サービスは名前とアドレスの分散データベースです。 すべてのユーザーは、特定の属性セットを使用してこのデータベースにログインできる可能性があります。

次の操作が名前と住所のデータベースで定義されています。

  • 読み取り - 既知の名前によるアドレスの取得、
  • リクエスト - 既知のアドレス属性に基づいて名前を取得します。
  • データベース内のレコードの削除と追加を伴う変更。

X.500 勧告の実装における主な課題は、世界規模のリファレンス サービスを目的とするこのプロジェクトの規模にあります。 したがって、X.500 推奨事項を実装するソフトウェアは非常に扱いにくく、ハードウェアのパフォーマンスに対する要求が高くなります。

プロトコル VT異なる端末エミュレーション プロトコル間の非互換性の問題を解決します。 現在、IBM PC と互換性のあるパーソナル コンピュータのユーザーは、VAX、IBM 3090、および HP9000 コンピュータと同時に作業するために、異なるタイプおよび異なるプロトコルを使用する端末をエミュレートする 3 つの異なるプログラムを購入する必要があります。 すべてのホスト コンピュータに ISO ターミナル エミュレーション プロトコル ソフトウェアがあれば、ユーザーは VT プロトコルをサポートするプログラムを 1 つだけ必要とします。 ISO には、その標準において、広く使用されている端末エミュレーション機能が蓄積されています。

ファイル転送は最も一般的なコンピュータ サービスです。 ローカルとリモートの両方のファイルへのアクセスは、テキスト エディター、電子メール、データベース、またはリモート起動プログラムなど、すべてのアプリケーションで必要です。 ISO はプロトコルでそのようなサービスを提供します FTAM。 X.400 標準と並んで、最も人気のある OSI スタック標準です。 FTAM は、ファイル コンテンツをローカライズしてアクセスするための機能を提供し、ファイル コンテンツを挿入、置換、拡張、およびクリアするための一連のディレクティブが含まれています。 FTAM は、ファイルの作成、削除、読み取り、オープン、クローズ、属性の選択など、ファイル全体を操作するための機能も提供します。

転送および作業制御プロトコル JTMユーザーがホスト コンピューター上で完了する必要がある作業を転送できるようにします。 ジョブの送信を可能にするジョブ制御言語は、どのプログラムやファイルに対してどのようなアクションを実行する必要があるかをホスト コンピュータに指示します。 JTM プロトコルは、従来のバッチ処理、トランザクション処理、リモート ジョブ エントリ、および分散データベース アクセスをサポートします。

TCP/IPスタック

TCP/IP スタックは、DoD スタックやインターネット スタックとも呼ばれ、最も人気があり、有望な通信プロトコル スタックの 1 つです。 現在、主に UNIX OS を使用したネットワークで配布されている場合、パーソナル コンピュータ用のネットワーク オペレーティング システム (Windows NT、NetWare) の最新バージョンに TCP/TCP を実装することは、TCP/TCP のインストール数が急速に増加するための良い前提条件となります。 IPスタック。

このスタックは、異種コンピューティング環境用の共通プロトコルのセットとして実験的な ARPAnet ネットワークを他の衛星ネットワークに接続するために、20 年以上前に米国国防総省 (DoD) の主導で開発されました。 ARPA ネットワークは、軍事分野の開発者や研究者をサポートしました。 ARPA ネットワークでは、2 台のコンピュータ間の通信はインターネット プロトコル (IP) を使用して実行されました。IP は今日まで TCP/IP スタックの主要なものの 1 つであり、スタックの名前にも表示されています。

バークレー大学は、そのバージョンの UNIX OS にスタック プロトコルを実装することで、TCP/IP スタックの開発に大きく貢献しました。 UNIX オペレーティング システムが広く採用されたことにより、IP およびその他のスタック プロトコルも広く採用されました。 このスタックはインターネットにも力を与えており、インターネット技術特別委員会 (IETF) は、RFC 仕様の形で公開されているスタック標準の開発に大きく貢献しています。

TCP/IP スタックは ISO/OSI オープン システム相互接続モデルの出現前に開発されたため、マルチレベル構造もありますが、TCP/IP スタック レベルと OSI モデルのレベルの対応はかなり条件付きです。 。

TCP/IP プロトコルの構造を図 1.4 に示します。 TCP/IP プロトコルは 4 つの層に分かれています。

米。 1.4. TCP/IPスタック

一番低いもの( レベルIV ) - ネットワーク インターフェイスのレベル - OSI モデルの物理レベルとデータ リンク レベルに対応します。 TCP/IP プロトコルのこのレベルは規制されていませんが、物理層およびデータリンク層の一般的な標準をすべてサポートしています。ローカル チャネルの場合はイーサネット、トークン リング、FDDI、グローバル チャネルの場合はアナログ ダイヤルで動作するための独自のプロトコルです。アップ回線および専用回線 SLIP/PPP は、WAN シリアル リンク、WAN プロトコル X.25 および ISDN を介してポイントツーポイント接続を確立します。 データリンク層トランスポートとしての ATM テクノロジの使用を定義する特別な仕様も開発されました。

次のレベル ( レベルⅢ ) は、さまざまなローカル ネットワーク、X.25 エリア ネットワーク、アドホック回線などを使用してデータグラムの送信を処理するインターネットワーキング層です。スタックはプロトコルを使用します。 IP、これは元々、ローカル接続とグローバル接続の両方で接続された多数のローカル ネットワークで構成される複合ネットワークでパケットを送信するためのプロトコルとして設計されました。 したがって、IP プロトコルは、複雑なトポロジを持つネットワークでうまく機能し、ネットワーク内のサブシステムの存在を合理的に利用し、低速通信回線の帯域幅を経済的に利用します。 IP プロトコルはデータグラム プロトコルです。

インターネットワーキングのレベルには、ルーティング情報を収集するためのプロトコルなど、ルーティング テーブルの編集と変更に関連するすべてのプロトコルも含まれます。 RIP。(ルーティング インターネット プロトコル) および OSPF(Open Shortest Path First)、およびインターネット制御メッセージ プロトコル ICMP(インターネット制御メッセージ プロトコル)。 後者のプロトコルは、ルーターとゲートウェイ、ソース システムと宛先システムの間でエラーに関する情報を交換する、つまりフィードバックを組織するように設計されています。 特別な ICMP パケットを使用すると、パケットの配信が不可能であること、フラグメントからパケットを組み立てる有効期間または期間を超えたこと、異常なパラメータ値、転送ルートとサービスの種類の変更、サービスの状態が報告されます。システムなど

次のレベル ( レベルⅡ)をベーシックといいます。 伝送制御プロトコルはこのレベルで動作します TCP(伝送制御プロトコル) およびユーザー データグラム プロトコル UDP(ユーザー データグラム プロトコル)。 TCP プロトコルは、リモート アプリケーション プロセス間に安定した仮想接続を提供します。 UDP プロトコルは、データグラム方式を使用して、つまり仮想接続を確立せずにアプリケーション パケットの送信を保証するため、TCP よりも必要なオーバーヘッドが少なくなります。

トップレベル ( レベルI) を適用といいます。 TCP/IP スタックは、さまざまな国や組織のネットワークで長年使用されてきたため、多数のプロトコルとアプリケーション レベルのサービスを蓄積してきました。 これらには、FTP ファイル コピー プロトコル、Telnet ターミナル エミュレーション プロトコル、インターネット電子メールで使用される SMTP メール プロトコルおよびそのロシア支社 RELCOM、WWW などのリモート情報にアクセスするためのハイパーテキスト サービスなど、広く使用されているプロトコルが含まれます。 このコースのトピックに最も密接に関連するものをいくつか詳しく見てみましょう。

プロトコル SNMP(Simple Network Management Protocol) は、ネットワーク管理を組織化するために使用されます。 ここで経営の問題は二つの問題に分けられます。 最初のタスクは情報の転送に関連します。 制御情報転送プロトコルは、サーバーと管理者のホスト上で実行されるクライアント プログラム間の対話手順を決定します。 これらは、クライアントとサーバー間で交換されるメッセージの形式、および名前とアドレスの形式を定義します。 2 番目の課題は、管理されたデータに関連しています。 この規格は、ゲートウェイにどのようなデータを保存および蓄積するか、そのデータの名前、およびこれらの名前の構文を規制します。 SNMP 標準は、ネットワーク管理情報データベースの仕様を定義します。 管理情報ベース (MIB) として知られるこの仕様は、ホストまたはゲートウェイが保存する必要があるデータ要素と、それらに対して許可される操作を定義します。

ファイル転送プロトコル FTP(ファイル転送プロトコル) はリモート ファイル アクセスを実装します。 信頼性の高い転送を保証するために、FTP はトランスポートとして接続指向プロトコル (TCP) を使用します。 ファイル転送プロトコルに加えて、FTP は他のサービスも提供します。 これにより、ユーザーはリモート マシンと対話的に対話する機会が得られます。たとえば、ディレクトリの内容を印刷できます。FTP を使用すると、保存するデータの種類と形式を指定できます。 最後に、FTP はユーザーを認証します。 ファイルにアクセスする前に、プロトコルはユーザーにユーザー名とパスワードの入力を要求します。

TCP/IP スタックでは、FTP は最も包括的なファイル サービスのセットを提供しますが、プログラミングが最も複雑でもあります。 FTP のすべての機能を必要としないアプリケーションは、よりコスト効率の高い別のプロトコル、Simple File Transfer Protocol を使用できます。 TFTP(簡易ファイル転送プロトコル)。 このプロトコルはファイル転送のみを実装しており、使用されるトランスポートは TCP よりも単純なコネクションレス プロトコルである UDP です。

プロトコル テルネットプロセス間、およびプロセスと端末間でのバイト ストリームの転送を提供します。 ほとんどの場合、このプロトコルはリモート コンピュータ端末をエミュレートするために使用されます。

IPX/SPXスタック

このスタックは、Novell が 80 年代初頭に NetWare ネットワーク オペレーティング システム用に開発したオリジナルのプロトコル スタックです。 スタックの名前の由来となっている Internetwork Packet Exchange (IPX) および Sequenced Packet Exchange (SPX) プロトコルは、IPX/SPX よりもはるかに一般的ではない Xerox の XNS プロトコルを直接適応させたものです。 インストール数に関しては、IPX/SPX プロトコルがリーダーであり、これは NetWare OS 自体が世界のインストール数の約 65% のシェアで主導的な地位を占めているためです。

Novell プロトコル ファミリと ISO/OSI モデルへの対応を図 1.5 に示します。

米。 1.5. IPX/SPXスタック

の上 物理レベルとデータリンクレベル Novell ネットワークは、これらのレベルの一般的なプロトコル (イーサネット、トークン リング、FDDI など) をすべて使用します。

の上 ネットワークレベル プロトコルは Novell スタックで動作します IPX、およびルーティング情報交換プロトコル RIP。そして NLSP(TCP/IP スタックの OSPF プロトコルに似ています)。 IPX は、Novell ネットワーク上でパケットのアドレス指定とルーティングを処理するプロトコルです。 IPX ルーティングの決定は、パケット ヘッダーのアドレス フィールドと、ルーティング情報交換プロトコルからの情報に基づいて行われます。 たとえば、IPX は、RIP または NLSP (NetWare Link State Protocol) によって提供される情報を使用して、パケットを宛先コンピュータまたは次のルーターに転送します。 IPX プロトコルはメッセージ交換のデータグラム方式のみをサポートしているため、コンピューティング リソースを経済的に消費します。 したがって、IPX プロトコルは、アドレスの設定、ルートの確立、データグラムの送信という 3 つの機能を提供します。

Novell スタックの OSI モデルのトランスポート層は、コネクション指向のメッセージ転送を実行する SPX プロトコルに対応します。

頂上で アプリケーション、プレゼンテーション、セッションレベル NCP および SAP プロトコルは機能します。 プロトコル NCP(NetWare Core Protocol) は、NetWare サーバーとワークステーション シェル間の対話用のプロトコルです。 このアプリケーション層プロトコルは、OSI モデルの上位層でクライアント/サーバー アーキテクチャを実装します。 このプロトコルの機能を使用して、ワークステーションはサーバーに接続し、サーバー ディレクトリをローカル ドライブ文字にマップし、サーバー ファイル システムをスキャンし、リモート ファイルをコピーし、属性を変更します。また、ワークステーション間でネットワーク プリンタを共有します。

(サービス アドバタイズ プロトコル) - サービス アドバタイズ プロトコルは、概念的には RIP プロトコルに似ています。 RIP によってルーターがルーティング情報を交換できるのと同じように、SAP によってネットワーク デバイスは利用可能なネットワーク サービスに関する情報を交換できます。

サーバーとルーターは、SAP を使用してサービスとネットワーク アドレスをアドバタイズします。 SAP プロトコルを使用すると、ネットワーク デバイスはネットワーク上で現在利用可能なサービスに関する情報を常に更新できます。 起動時に、サーバーは SAP を使用してネットワークの残りの部分にサービスについて通知します。 サーバーがシャットダウンすると、SAP を使用してサービスが停止したことをネットワークに通知します。

Novell ネットワークでは、NetWare 3.x サーバーが SAP ブロードキャスト パケットを毎分送信します。 SAP パケットはネットワークを著しく妨害するため、グローバル通信にアクセスするルータの主なタスクの 1 つは、SAP パケットと RIP パケットからのトラフィックをフィルタリングすることです。

IPX/SPX スタックの機能は、NetWare OS の機能、つまり、リソースがそれほど多くないパーソナル コンピュータで構成される小規模なローカル ネットワークで動作するための初期バージョン (4.0 まで) の方向性によるものです。 したがって、Novell は、最小限の RAM (MS-DOS を実行する IBM 互換コンピュータでは 640 KB までに制限) を必要とし、低電力プロセッサで高速に動作するプロトコルを必要としていました。 その結果、IPX/SPX スタック プロトコルは、最近までローカル ネットワークではうまく機能しましたが、大規模な企業ネットワークではあまりうまく機能しませんでした。これは、このスタック内のいくつかのプロトコルによって集中的に使用されるブロードキャスト パケットで低速のグローバル リンクに過負荷がかかるためです(たとえば、クライアントとサーバー間の通信を確立します)。

この状況と、IPX/SPX スタックが Novell の所有物であり、その実装にはライセンスが必要であるという事実により、長い間、その配布は NetWare ネットワークのみに限定されてきました。 しかし、NetWare 4.0 がリリースされるまでに、Novell は企業ネットワークでの動作に適応させることを目的としてプロトコルに大きな変更を加えており、現在も変更を続けています。 現在、IPX/SPX スタックは NetWare だけでなく、SCO UNIX、Sun Solaris、Microsoft Windows NT など、他のいくつかの一般的なネットワーク オペレーティング システムにも実装されています。

NetBIOS/SMB スタック

Microsoft と IBM は、パーソナル コンピュータ用のネットワーク ツールの共同開発に取り組んだため、NetBIOS/SMB プロトコル スタックは両社の共同発案です。 NetBIOS ツールは、アプリケーション レベル (図 1.6) で SMB ( Server Message Block) プロトコルを使用してネットワーク サービスを実装します。

米。 1.6. NetBIOS/SMBスタック

プロトコル NetBIOSオープン システム相互作用モデルの 3 つのレベルで動作します。 ネットワーク、トランスポート、セッション。 NetBIOS は、IPX および SPX プロトコルよりも高いレベルのサービスを提供できますが、ルーティング機能はありません。 したがって、NetBIOS は、言葉の厳密な意味ではネットワーク プロトコルではありません。 NetBIOS には、ネットワーク層、トランスポート層、セッション層に起因する多くの便利なネットワーク機能が含まれていますが、NetBIOS フレーム交換プロトコルにはネットワークなどの概念が導入されていないため、パケットのルーティングには使用できません。 これにより、NetBIOS プロトコルの使用がサブネット化されていないローカル ネットワークに制限されます。 NetBIOS は、データグラムと接続ベースの通信の両方をサポートします。

プロトコル 中小規模企業 OSI モデルのアプリケーションおよび代表的なレベルに対応し、ワークステーションとサーバーの対話を規制します。 SMB 機能には次の操作が含まれます。

  • セッション管理。 ワークステーションとファイル サーバーのネットワーク リソース間の論理チャネルの作成と切断。
  • ファイルアクセス。 ワークステーションは、ディレクトリの作成と削除、ファイルの作成とオープンとクローズ、ファイルの読み取りと書き込み、ファイルの名前変更と削除、ファイルの検索、ファイル属性の取得と設定、レコードのロックなどのリクエストでファイル サーバーにアクセスできます。
  • 印刷サービス。 ワークステーションは、サーバー上で印刷用にファイルをキューに入れ、印刷キューに関する情報を取得できます。
  • メッセージングサービス。 SMB は、次の機能による単純なメッセージングをサポートしています。 単純なメッセージを送信します。 ブロードキャストメッセージを送信します。 メッセージブロックの開始を送信します。 メッセージブロックテキストを送信します。 メッセージブロックの終わりを送信します。 ユーザー名を転送します。 出荷をキャンセルする。 マシン名を取得します。

NetBIOS が提供する API 関数を使用するアプリケーションが多数あるため、多くのネットワーク オペレーティング システムは、これらの関数をトランスポート プロトコルへのインターフェイスとして実装しています。 NetWare には、IPX プロトコルに基づいて NetBIOS 機能をエミュレートするプログラムがあり、Windows NT および TCP/IP スタック用の NetBIOS 用のソフトウェア エミュレータもあります。

この貴重な知識がなぜ必要なのでしょうか? (編集部)

かつて同僚が私に難しい質問をしました。 さて、彼は言います、あなたは OSI モデルが何であるかを知っています...そしてなぜそれが必要ですか、この知識の実際的な利点は何ですか?ダミーの前で披露しない限り? それは真実ではありません。この知識の利点は、多くの実際的な問題を解決するための体系的なアプローチです。 例えば:

  • トラブルシューティング (
トラブルシューティング)

ユーザー (単なる友人) が管理者 (経験豊富なネットワーカー) としてあなたのところにやって来て、「ここでは私に接続できません」と言います。 ネットワークなど存在しない、それだけだ、と彼は言う。 あなたはそれを理解し始めます。 そこで、近所の人たちを観察した経験に基づいて、「心の中で OSI モデルに気づいていない」人の行動は、ワイヤーを引っ張ったり、突然何かをいじったりするなど、特有の混沌とし​​た行動によって特徴づけられることに気づきました。ブラウザで。 そしてこれは、多くの場合、そのような「専門家」が方向性なしに動き、問題の領域以外のあらゆる場所で何かを引っ張り出し、自分と他の人々の多くの時間を無駄にするという事実につながります。 インタラクションのレベルの存在を認識すると、動きはより一貫したものになります。 出発点は異なるかもしれませんが (私が出会った各書籍では、推奨事項が若干異なりました)、トラブルシューティングの一般的な論理的前提は次のとおりです - レベル X でインタラクションが正しく実行される場合、レベル X-1 では最も効果的です。おそらくすべてが順調です。 少なくとも特定のそれぞれについて 一瞬時間。 IP ネットワークのトラブルシューティングを行う場合、私は個人的に、DOD スタックの第 2 レベル、つまり第 3 の OSI 層、つまりインターネット プロトコルから「調査」を開始します。 第一に、「患者の表面的な検査」を実行するのが最も簡単であるため (患者は、鳴らないよりも鳴る可能性が高いため)、第二に、ありがたいことに鳴っていれば、ケーブルをテストするという不快な操作を省略できます。ネットワークカードや分解など、楽しいこと;)特に難しい場合は、レベル1から、そして最も深刻な方法で開始する必要があります。

  • 同僚との相互理解

この点を説明するために、人生の例を挙げてみましょう。 ある日、中小企業の友人から、ネットワークがうまく機能しない理由を解明し、この問題についていくつかのアドバイスをしてもらうために私を訪ねるよう誘われました。 オフィスに来ます。 そして、古き良き伝統に従って「プログラマー」と呼ばれる管理者さえいることが判明しました(実際、彼は主に FoxPro を扱っています;) - ペレストロイカ以前の古い IT スペシャリストです。 それで、私は彼に尋ねます、あなたはどのようなネットワークを持っていますか? 彼:「えっと、ただのネットワークってどういう意味ですか?」 一般に、ネットワークはネットワークのようなものです。 そうですね、いくつか参考になる質問があります。ネットワーク レベルではどのようなプロトコルが使用されているのでしょうか? 彼:「ここはどこですか?」 私は明確にします。「そうですね、IP か IPX、またはあなたが持っているものなら何でも...」 「ああ」と彼は言います、「そうですね、IPX か何か他のものです!」 ところで、お気づきかもしれませんが、「何か他のものがある」はネットワーク レベルから少し上に位置していますが、重要なのはそこではありません... 典型的なのは、彼がこのネットワークを構築し、さらにそれが不十分に維持されていることです。 。 枯れてしまったのも不思議ではありません... ;) OSI について知っていたら、10Base-2 からアプリケーション プログラムまで、5 分で図を走り書きしたでしょう。 また、同軸線を検査するためにテーブルの下に潜る必要もありません。

  • 新しい技術を学ぶ

この重要な側面についてはすでに序文で述べましたが、もう一度繰り返します。新しいプロトコルを研究するときは、まず a) それがどのプロトコル スタックに属しているか、b) スタックのどの部分にあるかを理解する必要があります。そしてそれが下から誰と対話し、誰が上から彼と対話するのか... :) これにより、頭の中が完全に明確になります。 そして、さまざまなメッセージ形式と API があります - まあ、それはテクノロジーの問題です:)

今日の記事では基本に立ち返ってお話したいと思います。 OSIオープンシステム相互接続モデル。 この資料は、初心者のシステム管理者やコンピュータ ネットワークの構築に興味があるすべての人にとって役立ちます。

データ伝送媒体から機器に至るネットワークのすべてのコンポーネントは、いわゆる オープンシステム相互作用モデル.

オープンシステムの相互運用性モデル OSI(Open System Interconnection) は、ISO 規格 (国際標準化機構) に基づいて国際機関によって開発されました。

OSI モデルによれば、送信元から宛先に送信されるデータは 7つのレベル 。 各レベルで特定のタスクが実行され、最終的にはデータの最終宛先への配信が保証されるだけでなく、データの送信がそのために使用される手段から独立したものになります。 これにより、トポロジの異なるネットワークやネットワーク機器間での互換性が実現されます。

すべてのネットワーク ツールをレイヤーに分離すると、開発と使用が簡素化されます。 レベルが高くなるほど、解決する問題はより複雑になります。 OSI モデルの最初の 3 つの層 ( 物理、チャネル、ネットワーク) は、ネットワークおよび使用されるネットワーク機器と密接に関係しています。 最後の 3 つのレベル ( セッション、データ プレゼンテーション層、アプリケーション) は、オペレーティング システムとアプリケーション プログラムを使用して実装されます。 トランスポート層これら 2 つのグループ間の仲介者として機能します。

ネットワーク経由で送信される前に、データは次のように分割されます。 パッケージ 、つまり 受信デバイスと送信デバイスが理解できるように、特定の方法で編成された情報。 データを送信するとき、パケットはアプリケーションから物理まで、OSI モデルのすべてのレベルによって順次処理されます。 各レベルで、そのレベルの情報を制御します( パケットヘッダー )、これはネットワーク上でデータを正常に転送するために必要です。

その結果、このネットワーク メッセージは多層サンドイッチに似たものになり、それを受信するコンピュータにとっては「食べられる」ものでなければなりません。 これを行うには、ネットワーク コンピュータ間でデータを交換するための特定のルールに従う必要があります。 これらのルールは次のように呼ばれます プロトコル .

受信側では、パケットは OSI モデルのすべての層によって、物理層からアプリケーションで終わるまで、逆の順序で処理されます。 各レベルでは、層のプロトコルに従って、対応する手段がパケット情報を読み取り、送信側によって同じレベルでパケットに追加された情報を削除し、パケットを次のレベルの手段に送信します。 パケットがアプリケーション層に到達すると、すべての制御情報がパケットから削除され、データは元の形式に戻ります。

次に、OSI モデルの各層の動作を詳しく見てみましょう。

物理層 – 最下位のものは、その背後に情報が送信される通信チャネルが直接あります。 彼は、データ伝送媒体の特性を考慮して、通信の組織化に参加しています。 したがって、信号レベルと周波数、干渉の存在、信号減衰レベル、チャネル抵抗など、データ伝送媒体に関するすべての情報が含まれています。 さらに、情報の流れを送信し、既存のエンコード方法に従って変換する責任を負うのは彼です。 物理層の作業は、最初はネットワーク機器に割り当てられます。
有線および無線ネットワークが定義されるのは物理層の助けを借りてであることは注目に値します。 前者の場合はケーブルが物理媒体として使用され、後者の場合は電波や赤外線などの任意のタイプの無線通信が使用されます。

データリンク層 最も困難なタスクを実行します。物理層アルゴリズムを使用して保証されたデータ送信を保証し、受信データの正確性を検証します。

データ転送を開始する前に、伝送チャネルが利用可能かどうかが判断されます。 情報はブロックと呼ばれるブロックで送信されます。 人員 、 または フレーム 。 このような各フレームには、ブロックの終わりと始まりに一連のビットが提供され、チェックサムも追加されます。 このようなブロックをリンク層で受信する場合、受信者はブロックの整合性をチェックし、受信したチェックサムをその構成に含まれるチェックサムと比較する必要があります。 それらが一致する場合、データは正しいとみなされます。一致しない場合はエラーが記録され、再送信が必要になります。 いずれの場合も、信号は操作の結果とともに送信者に送信され、これは各フレームで発生します。 したがって、リンク層の 2 番目に重要なタスクは、データの正確性をチェックすることです。

データ リンク層は、ハードウェア (スイッチなどを使用) とソフトウェア (ネットワーク アダプター ドライバーなど) の両方で実装できます。

ネットワーク層 パケットが移動する最適な経路を事前に決定してデータ転送作業を実行するために必要です。 ネットワークは異なるトポロジのセグメントで構成される場合があるため、ネットワーク層の主なタスクは、最短パスを決定し、同時にネットワーク デバイスの論理アドレスと名前を物理表現に変換することです。 このプロセスはと呼ばれます ルーティング 、そしてその重要性を過大評価することはできません。 ネットワーク内のさまざまな「輻輳」の発生に応じて常に更新される経路設定を持ち、最短時間かつ最大速度でデータ転送を行います。

トランスポート層 信頼性の高いデータ送信を組織するために使用され、情報の損失、不正確さ、重複を排除します。 同時に、データの送受信時の正しいシーケンスの順守が監視され、情報の完全性を維持するためにデータを小さなパケットに分割したり、より大きなパケットに結合したりすることができます。

セッション層 データ全体の転送を完了するのに必要な時間、通信セッションを作成、維持、維持する責任があります。 さらに、パケットの配信と整合性をチェックすることで、パケットの送信を同期します。 データ転送プロセス中に、特別なコントロール ポイントが作成されます。 送受信中に障害が発生した場合、欠落したパケットが最寄りのコントロールポイントから再送信されるため、全量のデータを最短時間で転送でき、概ね良好な速度が得られます。

データプレゼンテーション層 (または、とも呼ばれます、 幹部レベル ) は中間的なものであり、その主なタスクは、データをネットワーク経由で送信するための形式からより高いレベルで理解できる形式に変換すること、またはその逆の変換を行うことです。 さらに、データを単一の形式にする責任もあります。異なるデータ形式を持つ 2 つのまったく異なるネットワーク間で情報が転送される場合、それらが処理される前に、両方のネットワークが理解できる形式に情報を変換する必要があります。受信者と送信者。 暗号化およびデータ圧縮アルゴリズムが使用されるのはこのレベルです。

アプリケーション層 – OSI モデルの最後で最高のもの。 ネットワークとユーザーの接続を担当します。アプリケーションは、あらゆるレベルでネットワーク サービスからの情報を必要とします。 その助けを借りて、データ転送プロセス中に発生したすべてのことや、転送プロセス中に発生したエラーに関する情報を見つけることができます。 さらに、このレベルでは、データベース、電子メール クライアント、ファイル ダウンロード マネージャーなど、ネットワーク アクセスを通じて実行されるすべての外部プロセスの動作が保証されます。

インターネット上で、作者不明の写真を見つけました OSIネットワークモデルバーガーの形で。 とても思い出に残る映像だと思います。 何らかの状況 (たとえば、就職面接中) で突然、OSI モデルの 7 つの層すべてを記憶した正しい順序でリストする必要がある場合は、この図を覚えておくだけで役立ちます。 便宜上、レベルの名前を英語からロシア語に翻訳しました。今日はここまでです。 次回の記事ではその続きとお話していきたいと思います。