サービスプリミティブはどのようにレイヤーを接続しますか?つまり、各レイヤーがその上のレイヤーにサービスを提供することを知っています。しかし、私はそれがどのように機能するのか理解していません。単純な「接続、送信」サービスがあり、それらがどのように機能し、何の間で機能するかを考えてみましょう。ほとんどの本では、レイヤーではなく2つの異なるマシン間で作業しているように見えます。サーバーとクライアント間の接続を確立するようなものです。
1 に答える
ネットワークリンクには常に2つのアクティブなパーティがあり、それぞれがOSIモデルに従ってネットワークスタックを独立して実装します(このネットワークアーキテクチャを参照していると思います)。
参加者ごとに、ネットワークスタックは上記のリンクで説明されているレイヤーで構成されます。各レイヤーは、(仕様に従って)その上のレイヤーにサービスを提供する必要があり、(仕様に従って)下のレイヤーのサービスを使用できます。
各層は、2番目の参加者の対応する層へのリンクを維持するために異なるプロトコルを実装します。たとえば、とMAC layer
話し、MAC layer
とtransport layer
話しtransport layer
ます。
パケット送信は、application layer
(ネットワークスタックの上位層)から始まり、トランスポート層、ネットワーク層、というように物理層まで続きます。各レイヤーは、レイヤーに関連する特定のデータを追加します。Physical layer
媒体(ケーブル、空気など)を介して相手にデータを送信します。受信すると、プロセスが逆になります。受信者の物理層は、アプリケーション層に到達するまでデータをスタックに伝播します。データを受信すると、各レイヤーはレイヤー関連データ(送信者のネットワークスタック内の対応するレイヤーによって追加された)を取り除き、アプリケーションレイヤーに到達するまでパケットをスタックに伝播します。