「コンピュータネットワーク:トップダウンアプローチ」に関する研究ノート(2):アプリケーション層

アプリケーション層プロトコルの原則

キーは、ネットワークアプリケーションの開発を書き込むことができ、異なる端部にオペレーティングシステムに、ネットワークは、互いに通信手順。

为什么只在端系统开发程序呢?因为路由器及交换机等网络核心设备并没有应用层,只负责传输数据,我们没必要也不能基于它们开发程序。

ここに画像の説明を挿入

1ネットワークアプリケーションアーキテクチャ

アプリケーションアーキテクチャ(アプリケーションアーキテクチャ)は、ネットワークアーキテクチャ(ネットワークアーキテクチャ)とは異なります。ネットワークアーキテクチャは固定の5層または7層であり、物理層はデータビットストリームの送信のみを担当するなど、アプリケーションに特定のサービスセットを提供します。アプリケーションアーキテクチャは、エンドシステムのアプリケーション層でアプリケーションを編成する方法を指定します現在の主流のアプリケーションアーキテクチャは、クライアントサーバーアーキテクチャピアツーピアアーキテクチャです。

  • クライアント/サーバーアーキテクチャ(C / S)
    C / Sアーキテクチャでは、常に開いているホスト、つまり、他のホストからのサービス要求を受け入れるサーバーがあります。サービス要求を開始する対応するホストが呼び出されますクライアント。サービスが必要な場合、顧客は常にサーバーにアクセスする必要があります。つまり、顧客は互いに直接通信せず、サーバーにはアクセス用の既知の固定IPアドレスがあります。C / Sアーキテクチャを使用する一般的なアプリケーションは、Web、FTP、Telnet、および電子メールです。
    ここに画像の説明を挿入
  • ピアツーピアアーキテクチャ(P2P)
    P2Pアーキテクチャでは、ホストはサーバーにほとんどまたはまったく依存せずに直接通信でき、これらのホストはピアと呼ばれます。P2Pアーキテクチャにおけるサーバーとクライアントの関係は動的に変化します。サービス要求を開始するピアはクライアントと呼ばれ、サービスを提供する他のピアはサーバーと呼ばれます。P2Pアプリケーションレイヤーネットワークでは、各ピアがネットワークにワークロードを生成しますが、同時にサービス容量を増加させます。P2Pアーキテクチャを使用する一般的なアプリケーションには、ファイル共有(BitTorrentなど)、ダウンロードアシスタンス(Thunderなど)、インターネットテレフォニー(Skypeなど)があります。

2通信プロセス

ホスト間の通信の主体は、アプリケーションではなくプロセスです。ホストプロセス内パイプ、メッセージキューおよびセマフォ通信を有し、そして使用して、ネットワークを横切って、ホストコンピュータとの間でプロセスパケットを(メッセージ)が互いに連通しています。同様に、通信を開始したプロセスはクライアントプロセスとしてマークされ、セッションの開始時に接続を待機するプロセスはサーバープロセスと呼ばれます。ホストのIPアドレスと同様に、各プロセスは互いに区別するためのポート番号(ポート番号)保持しています

In the context of a communication session between a pair of processes, the process that initiates the communication (that is, initially contacts the other process at the beginning of the session) is labeled as the client. The process that waits to be contacted to begin the session is the server.


ここに画像の説明を挿入
ソケット(ソケット):コンピュータネットワークのソケットには、主に2つの概念が含まれます。1つはソケットの概念です。つまり、ソケット=(IPアドレス:ポート番号)、転送プロセスのデータには、宛先ホストを見つけるためにIPアドレスだけでなくまた、ポート番号は、ターゲットプロセスを見つけるために必要です。これは、データを実際に使用するプロセスです。1つは、レイヤーの概念です。つまり、アプリケーションレイヤーとトランスポートレイヤーの間の抽象レイヤーであり、TCP / IPレイヤーの複雑な操作をいくつかの単純なものに抽象化します。 APIインターフェース関数は、プロセスがネットワークで通信できるようにするために、アプリケーション層によって提供されます。

为什么应用层和传输层之间不直接传输数据,而要单独设置套接字(socket)层作为媒介?
套接字(socket)主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。应用层通过传输层进行数据通信时,多个应用程序进程可能需要通过同一个TCP/IP协议端口传输数据,使用套接字就可以根据参数找到目的主机和进程及使用的协议,并数据传输的并发控制交给套接字函数实现。


元の記事21件を公開 賞賛された8件 訪問1495件

おすすめ

転載: blog.csdn.net/K_Xin/article/details/105362266