アプリケーション情報層。 アプリケーションリソース

30.07.2019 ウィンドウズ

プロトコル コンピュータが情報を交換する際に従う一連のルールです。 これらのルールには、データ送信の形式、時間と順序、制御方法、およびエラー訂正が含まれます。

アプリケーション プログラムが相互に通信するためのさまざまなプロトコルのセット。

アプリケーション層プロトコル HTTP , FTP , SMTP , IMAP , ポップ 3, TELNET .

クライアント/サーバー アーキテクチャに従って、プログラムは 2 つの部分 (1 つはサーバー上で実行され、2 つ目はユーザーのコンピュータ上で実行されます) に分割され、全体として 1 つとして機能します。 アプリケーション レベルのプロトコルは、プログラムのクライアント部分とサーバー部分の間の対話を記述します。 最もよく知られているアプリケーション プロトコルは次のとおりです。

HTTP (ハイパーテキスト転送プロトコル) - ハイパーテキスト転送プロトコル、ポート 80 で実行されます。 WWW でハイパーテキスト HTML ページを転送するために使用されます。 このプロトコルを使用して作業する場合、HTML ページの各要素は個別にダウンロードされ、ダウンロード間の接続は中断され、接続に関する情報は保存されません。 これは、Web ページの各ユーザーが「一般的なキューの順序で少しずつ」受け取るようにするために行われます。 そうしないと、ある人が高解像度の描画が多数含まれるページをダウンロードし、他の全員がその人がそれを完了するのを待つという状況が発生する可能性があります。

FTP (ファイル転送プロトコル。) - ファイル転送プロトコル。ポート 20 および 21 で動作します。 コンピュータ間でファイルをコピーするために設計されています。 ファイルが受信されるまでチャネルを完全に占有し、接続情報を保存します。 失敗した場合でも、失敗したところからダウンロードを再開することが可能です。

SMTP , IMAP -4、ロルツ - 郵便プロトコル (電子メール)。 SMTP - ポート 25、IMAP-4 - ポート 143、POP3 - ポート 110。 違い: SMTP は特定の受信者にメールを配信するために設計されたプロトコルであり、POP3 と IMAP-4 はユーザーがサーバー上のメールボックスと対話するためのプロトコルです。 SMTP を使用する場合、電子メール アドレスは最終受信者のコンピュータを指しており、メールを受信して​​処理する特別なプログラムがこのコンピュータ上で実行されていると想定されます。 ただし、ほとんどの場合、メールは各ユーザーのコンピュータに配信されるのではなく、別のメール サーバーで集中的に処理されます。 この場合、各ユーザーはメール サーバー上に自分のメールボックスを持ちます。 メールは SMTP プロトコル経由でサーバーに配信され (最終受信者はサーバーです)、ユーザーのメールボックスに配置されます。 その後、ユーザーは POP3 または IMAP-4 を使用してメールボックスに接続し、メールを取得します。 POP3 プロトコルでは、すべてのメールを完全にダウンロードしてから、それが必要かどうかを判断する必要があります。 IMAP-4 プロトコルを使用すると、サーバー上のレターのヘッダーを表示し (新規、返信済みなど、レターのステータスが表示されます)、必要なレターだけ、またはレターの一部だけをサーバーからダウンロードできます。 IMAP4 は、ユーザーのメール プログラムの機能を複製します。

4.TELNET - リモート コンピュータの接続と制御に使用され、ポート 23 で動作します。 接続すると、ローカル マシンで入力された各文字は、リモート マシンで入力されたかのように処理されます。 どちらでも使用できます コマンドモード- 特別なコマンドを使用したリモート マシンの制御。

ソケットプログラミング。

ここで、クライアント プログラムとサーバー プログラム間の対話プロセスをさらに詳しく見てみましょう。 クライアントの機能はサーバーとの接続を開始することであり、サーバーは接続を確立する準備ができている必要があります。 これは、第 1 に、クライアントが接続を確立しようとする前にサーバー プログラムを開始する必要があり、第 2 に、接続を確立するためのソケットがサーバーに必要であることを意味します。

サーバー プロセスの実行中、クライアントはサーバーとの TCP 接続の確立を開始できます。 クライアント プログラムの最初のアクションはソケットを作成することであり、プログラムはプロセスの IP アドレスとポート番号で構成されるサーバー プロセスのアドレスを指定します。 ソケットを作成した後、TCP プロトコルのクライアント側はサーバーとのトリプル ハンドシェイクを実行し、接続の確立で終了します。 ハンドシェイク手順はアプリケーションの動作にはまったく影響を与えないことに注意してください。

トリプル ハンドシェイクでは、クライアント プロセスがサーバー プロセスの玄関をノックします。 サーバーはノックの音を聞くと、現在のクライアントに関連する新しいドア (つまり、新しいソケット) を作成します。

次の例では、 正面玄関は、welcomeSocket という名前の ServerSocket オブジェクトです。 クライアントがそのドアをノックすると、welcomeSocket オブジェクトの accept() メソッドが呼び出され、クライアントに新しいドアが作成されます。 ハンドシェイクの最後に、クライアント ソケットと接続ソケットと呼ばれる新しいサーバー ソケットの間に TCP 接続が確立されます。

アプリケーションの観点から見ると、TCP 接続はクライアントとサーバーの接続ソケット間の直接の仮想チャネルです。 クライアントはソケットを介して任意のバイトを送信できます。TCP プロトコルは、サーバーがソケットを介してこれらのバイトを歪みなく、送信されたのと同じ順序で受信することを保証します。 人々が同じドアから出入りできるのと同じように、クライアントとサーバーはソケットを使用して情報を送受信できます。

インターネットのサービスとサービス。

この時点で私たちは与える 簡単な説明多かれ少なかれ最新のグローバル ネットワークの一部として動作する基本的なサービス。 次の段落では、ネットワークの「主要」サービスである World Wide Web (WWW) を個別に検討します。

Telnet。この用語は、サービスを提供するプロトコルとプログラムを指します。 リモートアクセスクライアントからサーバーコンピュータへ。 接続を確立した後、ユーザーはリモート コンピュータのオペレーティング システム環境に入り、あたかも自分のコンピュータであるかのように、リモート コンピュータにインストールされているプログラムを操作します。

FTP。これは、リモート マシン上のディレクトリとファイルを操作するプロトコル (ファイル転送プロトコル) とプログラムの名前です。 FTP ツールを使用すると、サーバーのディレクトリとファイルを参照したり、あるディレクトリから別のディレクトリに移動したり、ファイルをコピーしたり更新したりすることができます。

アーチー。コンテンツに関する検索情報を収集して保存する特別なサーバー (Archie サーバー) の名前です。 FTPサーバーインターネットのサイトで。 名前 (または名前の一部) がわかっているファイルを探している場合は、Archie クライアントを起動する必要があります。これにより、対応する FTP サーバーのアドレスが表示されます。

ワイズ。 Wide Area Information Servers は、ネットワーク データベースおよびライブラリ内の情報検索を行う分散情報システム (データベースおよびソフトウェア) です。 特に、WAIS は、インターネット上の非構造化ドキュメントのインデックスを作成し、ドキュメント内の検索を整理するために使用されます。

Eメール。これは英語での呼称です Eメール- メインタイプ ネットワークサービスインターネット。 を使用することで Eメールすべての大陸に住む人々は電子メッセージやファイルを交換します。

インターネット電話。現在急速に発展中 新しい種類のインターネット電話サービス。 インターネット上の音声通信の原理はオリジナルとは言えません。そのような通信は単なるものです。 特別なケース TCP/IP プロトコルを介した任意の電子メッセージの交換。 人間の音声は次のように変換されます。 デジタルファイルは (オーディオ ファイルが作成されるのと同じ方法で) 作成され、通常の電子パケットのセットとしてネットワーク上で送信されます。 確かに、これまでのところ、通常の電話と比較したインターネット電話の唯一の利点は、(会話 1 分あたりの) コストが異常に安いことです。 多くの技術的問題 (通信チャネルの過負荷、音声伝送の遅延など) はまだ解決されていません。

26. クライアントサーバーアーキテクチャ、クライアントサーバーテクノロジー。分散型情報処理。データベースサーバーの管理。ウェブ技術。 ハイパーテキストドキュメント。 ハイパーテキスト言語 HTMLマークアップ。 Web サーバーのインストールと構成。 スクリプト言語とデータベースを使用した Web プログラミング。

クライアントサーバーアーキテクチャ。

一般的に、クライアント/サーバー システムは、相互作用する 2 つの独立したプロセス (クライアントとサーバー) が存在することを特徴とし、通常、これらのプロセスは異なるコンピュータ上で実行され、ネットワーク経由でデータを交換できます。 この仕組みにより、DBMSやメールなどをベースとしたデータ処理システムを構築することができます。 もちろん、データベースとそれに基づくシステムについても説明します。 そして、ここでは、クライアントサーバーアーキテクチャを考慮するだけでなく、別のファイルサーバーと比較する方が便利です。

ファイル サーバー システムでは、データはファイル サーバー (Novell NetWare や Windows NT Server など) に保存され、その処理は通常、いわゆる「デスクトップ DBMS」のいずれかを操作するワークステーションで実行されます。 ” - Access、FoxPro、Paradox など。

アプリケーションオン ワークステーション「すべてに責任を負う」 - ユーザーインターフェイスの形成、論理データ処理、および直接データ操作に責任を負います。 ファイルサーバーサービスのみを提供する 低レベル- ファイルを開いたり、閉じたり、変更したりすることは、データベースではなくファイルであることを強調します。 データベースはワークステーションの「頭脳」にのみ存在します。

したがって、データの直接操作には、いくつかの独立した一貫性のないプロセスが関与します。 さらに、何らかの処理 (検索、変更、合計など) を実行するには、すべてのデータをネットワーク経由でサーバーからワークステーションに転送する必要があります ( 図を参照してください。 ファイルサーバーモデルとクライアントサーバーモデルの比較)

クライアント サーバー システムには、クライアントとサーバーという (少なくとも) 2 つのアプリケーションがあり、ファイル サーバー アーキテクチャではワークステーション上のアプリケーションによって完全に実行される機能を相互に共有します。 データの保存と直接操作はデータベース サーバーによって実行されます。 SQLサーバー、オラクル、サイベースなど。

形成 ユーザーインターフェースクライアントとやり取りして、使用できるものを構築します 全行特別なツール、およびほとんどのデスクトップ DBMS を使用できます。 データ処理ロジックはクライアントとサーバーの両方で実行できます。 クライアントは、通常は次のように定式化されたリクエストをサーバーに送信します。 SQL言語。 サーバーはこれらのリクエストを処理し、結果をクライアントに送信します (もちろん、クライアントが多数存在する可能性があります)。

したがって、1 つのプロセスがデータの直接操作を担当します。 同時に、データ処理はデータが保存されている同じ場所、つまりサーバー上で行われるため、ネットワーク経由で大量のデータを転送する必要がなくなります。

分散データ処理

時系列の観点から見ると、プログラム間の相互作用は次のような形で次々と行われました。

Exchange: 異なるシステムのプログラムが相互にメッセージ (通常はファイル) を送信します。

共有: 複数のマシンのリソースに直接アクセスできます (ファイルの共有など)。

連携: マシンはプログラムの実装において補完的な役割を果たします。

この進化を説明する例を見てみましょう。 力学分野のデザインについてお話します。 従来のアプローチは次のとおりです。

ワークステーション上での「ワイヤー モデル」(マイラージ)(物理モデルの形状のグラフィック表現)の構築。

計算コードを入力したモデルファイルを Cray コンピュータに転送します。

Cray コンピュータで実行された計算結果はワークステーションに転送され、グラフィック ポストプロセッサによって処理されます。

この方法には次のような欠点があります。

データ交換は、あるマシンから別のマシンにファイルを転送することによって実行されます。

ファイル処理は順次に行われますが、Cray コンピュータでの計算は、ワークステーションのグラフィカルおよび人間工学的機能を使用したユーザー インタラクションの恩恵を受けることができ、ワークステーションで実行される一部の計算は、Cray マシンで実行した方が適切です。

これらの不都合を取り除くためには、上記の問題解決の選択肢から、「透明性」の概念に基づいた共同作業手法の使用に移行する必要があります。 ユーザーには 1 つのマシン (自分のステーション) と 1 つのアプリケーション プログラムだけが表示されます。 したがって、分散データ処理は、ネットワークに接続された複数のシステムによって実行されるプログラムです。 通常、プログラムの計算部分は強力なプロセッサーで実行され、視覚的な表示は人間工学が改善されたワークステーションに表示されます。 この分離はクライアント/サーバー モデルに依存していますが、これについては後で説明します。 このタイプのデータ処理は、三角形の原則に従って編成されます (図 2.4.)。

ユーザーはワークステーションを持っています。

問題を解決するには、データ処理デバイス (特殊なプロセッサなど) とデータ サーバーにアクセスする必要がありますが、これはすべてユーザーにとって透過的です。

図2.4。 コンピューティングプロセスの三角組織

分散データ処理の目標

分散データ処理の目標は、リソースの使用を最適化し、ユーザーの作業を簡素化することです (これにより、開発者はさらに複雑になる可能性があります)。 どうやって?

リソースの使用を最適化します。

この場合のリソースという用語は、処理能力 (プロセッサ)、ストレージ容量 (メモリまたはディスク)、グラフィックス機能 (ラスター ディスプレイおよび共有メモリと組み合わせた 2 次元または 3 次元グラフィックス プロセッサ) などの最も広い意味で使用されます。 、 周辺機器紙(プリンタ、プロッタ)に出力します。 これらのリソースが 1 台のマシンに収集されることはほとんどありません。Cray コンピュータには強力なコンピューティング機能がありますが、 グラフィック機能、データを効果的に管理する機能も備えています。 したがって、さまざまなシステムの共同作業の原理は、 最高の品質それらはそれぞれにあり、ユーザーは 1 つのプログラムのみを実行するときにそれらを自由に使用できます。

ユーザーエクスペリエンスの簡素化。

実際、分散データ処理により次のことが可能になります。

データと処理を複数のマシン間で分散することで効率を向上させます。 一番いい方法それらを管理します。

効率の向上により新たな機会を提供します。

使いやすさを向上させます。 ユーザーは、さまざまなシステムを理解してファイルを転送する必要はもうありません。

このアプローチの主な欠点は次のとおりです。 - ネットワークの特性と可用性に依存します。 ネットワークが損傷している場合、プログラムは動作しません。 ネットワークが過負荷になると、効率が低下し、システムの応答時間が増加します。 - セキュリティの問題。 複数のシステムを使用する場合、ネットワーク上で最も信頼性の低いマシンに依存することになるため、リスクが増加します。

一方で、次のような利点も非常に顕著です。

リソース使用の分散と最適化。 これが分散データ処理を実装する主な理由です。

新しい機能と問題解決の効率の向上。

柔軟性とアクセシビリティ。 マシンの 1 つが故障すると、同じ機能を実行できる別のマシンに置き換えようとします。

SMTPプロトコル

SMTP(英語) 単純 郵便 移行 プロトコル-- 単純なメール転送プロトコル) は ネットワークプロトコル、TCP/IP ネットワーク経由で電子メールを送信するために設計されています。

SMTP は、ユーザーからサーバーへ、またはサーバー間でメールを送信し、さらに受信者に転送するために使用されます。 メールを受信するには メールクライアント POP3 または IMAP プロトコルを使用する必要があります。

データは TCP を使用して送信され、通常はポート 25 または 587 を使用します。サーバー間でメッセージを送信する場合、通常はポート 25 が使用されます。

メッセージを受信者に配信するには、受信者が存在するドメインのメール サーバーにメッセージを転送する必要があります。 この目的には、通常、MX タイプのレコードが使用されます。 郵便 交換-- メール交換) DNS システム。 MX レコードがない場合、SMTP サーバーの一部の最新の実装では、A レコードを同じ目的に使用できます。 エクシム) 受信者のドメインでメールを提供するサーバーを決定するために、SRV レコード (RFC 2782) を使用することもできます。

SMTPサーバー内部状態を持つステートマシンです。 クライアントはコマンド文字列をサーバーに送信します<пробел>オプション<перевод строки>。 サーバーは、応答コードを含む行で各コマンドに応答します。 メール、スペースで区切ります。 応答コードは 100 ~ 999 の数値であり、文字列として表示され、次のように解釈されます。

  • · 2ХХ - コマンドが正常に完了しました
  • · 3XX -- クライアントからの追加データが期待されています
  • · 4ХХ -- 一時的なエラー、クライアントはしばらくしてから再試行する必要があります
  • · 5ХХ - 致命的なエラー

回答のテキスト部分は参考用であり、プログラムではなく個人を対象としています。

SMTP セキュリティとスパム

当初、SMTP は単一の認証スキームをサポートしていませんでした。 その結果、メッセージの実際の送信者が誰であるかを判断することが不可能になったため、スパムはほとんど手に負えない問題になりました。実際、誰に代わって手紙を送信することも可能でした。 現在、SPF、Sender ID、Yahoo ドメイン キーの仕様を使用してこの問題を解決する試みが行われています。 の統一仕様 現在存在しない。

POP3プロトコル

ポップ3(英語) 役職 オフィス プロトコル バージョン3-- プロトコル 郵便局、バージョン 3) は、サーバーから電子メール メッセージを受信するために使用されるネットワーク プロトコルです。 通常は SMTP プロトコルと組み合わせて使用​​されます。

米。 10. スキーム「POP3 プロトコルを介したクライアント/サーバー」

POPZプロトコルの説明

図に示されているものを考えてみましょう。 10. 「POP3 プロトコルを介したクライアント/サーバー」スキーム。 POP3 プロトコルの設計により、ユーザーはメール サーバーに接続して、蓄積されたメールを取得できます。 ユーザーは、任意のインターネット アクセス ポイントから POP サーバーにアクセスできます。 この場合、彼は特別なコマンドを起動する必要があります 郵便局員(UA)、POP3 プロトコルを使用して動作し、メール サーバーで動作するように構成します。 したがって、POP モデルの先頭には別の パソコン、メール システム (サーバー) のクライアントとしてのみ動作します。 また、メッセージは POP プロトコルを使用してクライアントに配信されますが、依然として SMTP を使用して送信されることも強調します。 つまり、ユーザーのコンピュータには 2 つの別個のエージェント インターフェイスがあり、 郵便制度- 配信 (POP) および送信 (SMTP)。 POP3 プロトコルの開発者は、この状況を「スプリット エージェント」(スプリット UA) と呼んでいます。 個別のエージェントの概念は、POP3 仕様で簡単に説明されています。

POP3 プロトコルでは、メール受信プロセスの 3 つの段階 (承認、トランザクション、および更新) を指定します。 POP3 サーバーとクライアントが接続を確立すると、認証段階が始まります。 認可段階では、クライアントはサーバーに対して自分自身を識別します。 認証が成功すると、サーバーはクライアントのメールボックスを開き、トランザクション段階が始まります。 その中で、クライアントはサーバーから情報 (リストなど) を要求します。 メールメッセージ)、または彼にそうするように頼みます 具体的な行動(たとえば、メールメッセージを発行します)。 最後に、更新フェーズ中に、通信セッションが終了します。 以下に、インターネット上で動作する最小構成の実装に必要な POP3 プロトコル コマンドをリストします。

チーム POPプロトコルバージョン 3 (最小構成の場合)

USER 指定された名前でユーザーを識別します

PASS クライアントとサーバーのペアのパスワードを指定します。

QUIT TCP接続を閉じます

STAT サーバーは、メールボックス内のメッセージ数にメールボックス サイズを加えたものを返します。

LIST サーバーは、メッセージ ID とメッセージ サイズを返します (コマンド パラメーターはメッセージ ID である場合があります)。

RETR メールボックスからメッセージを取得します (メッセージ ID 引数が必要です)

DELE メッセージに削除のマークを付けます (メッセージ ID 引数が必要です)

NOOP サーバーは肯定的な応答を返しますが、何もアクションを実行しません。

最後のサーバーが返す 最高の数字すでにアクセスされている方からのメッセージ

RSET 以前に DELE コマンドでマークされたメッセージの削除をキャンセルします。

POP3 プロトコルではいくつかのコマンドが定義されていますが、それらに対する応答は +OK (肯定、ACK 確認メッセージと同様) と -ERR (否定、「未確認」NAK メッセージと同様) の 2 つだけです。 どちらの応答も、サーバーに接続されていること、およびサーバーがコマンドに応答していることを確認します。 原則として、各回答の後には、それについて意味のある口頭での説明が続きます。 RFC 1225 には、いくつかの典型的な POP3 セッションの例が記載されています。 ここでは、サーバーとクライアント間の交換における一連のコマンドをキャプチャできるようにするそれらのいくつかを見ていきます。

プログラムが POP3 プロトコル ポートへの TCP 接続を確立した後 ( 正式な番号 110)、パラメータとしてユーザー名を指定して USER コマンドを送信する必要があります。 サーバーの応答が +OK の場合は、このユーザーのパスワードを指定して PASS コマンドを送信する必要があります。

CLIENT: USER kcope ERVER: +OK CLIENT: PASS Secret SERVER: +OK kcope "のメールドロップには 2 つのメッセージ (320 オクテット) があります (kcope メールボックスには 2 つのメッセージ (320 バイト) があります ...)

POPZトランザクション

STAT コマンドは、メッセージの数とメッセージ内のバイト数を返します。

サーバー: +OK 2 320

LIST コマンド (パラメーターなし) は、メールボックス内のメッセージとそのサイズのリストを返します。

NOOP コマンドは何も返しません 有用な情報ただし、サーバーからの肯定的な応答は例外です。 ただし、肯定的な応答は、サーバーがクライアントに接続され、リクエストを待っていることを意味します。

次の例は、POP3 サーバーがアクションを実行する方法を示しています。 たとえば、RETR コマンドは次のようなメッセージを取得します。 指定された番号そしてそれをローカル UA バッファーに置きます。

クライアント: RETR 1 サーバー: +OK 120 オクテット サーバー: (POP3 サーバーはメッセージ全体を送信します) サーバー: 。 。 。 。 。 。

DELE コマンドは、メッセージを削除するようにマークします。

サーバー: +OK メッセージ 1 が削除されました ... (メッセージ 1 が削除されました) クライアント: DELE 2 サーバー: -ERR メッセージ 2 はすでに削除されました メッセージ 2 はすでに削除されました)

RSET コマンドは、以前にマークされたすべてのメッセージから削除マークを削除します。

(メールボックスには 2 つのメッセージ (320 バイト) があります)

ご想像のとおり、QUIT コマンドはサーバーへの接続を閉じます。

クライアント: サーバーを終了: +OK デューイ POP3 サーバーがサインオフしています クライアント: サーバーを終了: +OK デューイ POP3 サーバーがサインオフしています (メールドロップが空です) クライアント: サーバーを終了します: +OK デューイ POP3 サーバーがサインオフしています (残り 2 メッセージ)

削除対象としてマークされたメッセージは、QUIT コマンドが発行されて更新フェーズが開始されるまで、実際には削除されないことに注意してください。 セッション中いつでも、クライアントは RSET コマンドを発行でき、削除対象としてマークされたすべてのメッセージが復元されます。

IMAPプロトコル

IMAP(英語) インターネット メッセージ アクセス プロトコル) は、電子メールにアクセスするためのアプリケーション層インターネット プロトコルです。

IMAP はユーザーに豊富な作業機会を提供します メールボックス中央サーバー上にあります。 メールプログラムこのプロトコルを使用すると、この通信が受信者のコンピュータ上にあるかのように、サーバー上の通信ストレージにアクセスします。 メールでレターの完全な内容を含むファイルをサーバーとの間で常に転送する必要がなく、ユーザー (クライアント) のコンピューターから操作できます。

POP に対する利点

IMAP は、より多くのものを置き換えるために開発されました。 単純なプロトコル POP3 には、後者に比べて次の利点があります。

  • · メッセージはクライアントではなくサーバーに保存されます。 異なるクライアントから同じメールボックスにアクセスすることが可能です。 こちらもサポート 同時複数のクライアントからのアクセス。 このプロトコルには、他のクライアントによって行われた変更をクライアントに通知できるメカニズムがあります。
  • · 複数のメールボックス (またはフォルダー) をサポートします。 クライアントはサーバー上でメールボックスを作成、削除、名前変更したり、あるメールボックスから別のメールボックスにレターを移動したりできます。
  • ・作成可能です 共有フォルダ、複数のユーザーがアクセスできます。
  • · レターのステータスに関する情報はサーバーに保存され、すべてのクライアントが利用できます。 メッセージには既読、重要などのマークを付けることができます。
  • · サーバー検索のサポート。 必要なメッセージを見つけるためにサーバーから多くのメッセージをダウンロードする必要はありません。
  • ・オンライン作業のサポート。 クライアントはサーバーとの常時接続を維持でき、サーバーは新しい手紙を含むメールボックスの変更をリアルタイムでクライアントに通知します。
  • · プロトコルの機能を拡張するメカニズムが提供されます。

最初の段階では、電子メールはユーザー エージェントを介してローカル サーバーに渡されます。 その時点ではメールが利用できない可能性があるため、メールはリモート サーバーにすぐには送信されない場合があります。 したがって、メールは送信できるようになるまでローカル サーバーに蓄積されます。 ユーザー エージェントは SMTP クライアント ソフトウェアを使用し、ローカル サーバーは SMTP サーバー ソフトウェアを使用します。

第2段

第 2 ステップでは、電子化 メールが来ていますを使用して ローカルサーバー、SMTP クライアントとして機能するようになりました。 電子メールはリモート サーバーには配信されますが、リモート ユーザー エージェントには配信されません。 SMTP が受け入れられるサーバーであれば、いつでも受信メールを処理できます。 ただし、一日が終わる前にコンピューターの電源を切る人が多く、ミニ コンピューターやラップトップ コンピューターが正常に動作しないことがよくあります。 通常、組織は電子メールを受信するために自分のコンピュータを指定し、 恒久的な仕事として ソフトウェアサーバー 。 電子メールはこのようなサーバーを使用して受信され、将来の使用に備えてメールボックスに保存されます。

第三段階

第 3 段階では、リモート ユーザーエージェント POP3 または IMAP4 プロトコル (両方のプロトコルについては次のセクションで説明します) を使用して、メールボックスを開始し、メールを受信します。

メールアクセスプロトコル

メール配信の第 1 段階と第 2 段階では SMTP を使用します。 ただし、SMTP は、受信者が望まない場合でも、STMP が送信者から受信者にメッセージを「プッシュ」するため、第 3 段階には含まれません。 SMTP は受信者ではなく送信者によって開始されます。 一方、第 3 段階ではメッセージを「プル」するプロトコルが必要であり、この操作は受信者で開始する必要があります。 第 3 段階では、プロトコルを使用します。 メールアクセス.

現在、ポスト オフィス プロトコル バージョン 3 - POP3 とインターネット メールの 2 つのプロトコルが使用されています。 アクセスプロトコル、バージョン 4 - IMAP4。

ポップ3

ポスト オフィス プロトコル バージョン 3 (POP3) - プロトコルはシンプルですが、機能が制限されています。 POP3 クライアント ソフトウェアは受信者のコンピュータにインストールされます。 メールサーバーにはPOP3サーバーソフトがインストールされています。

メール アクセスは、ユーザーがメールボックスからメール サーバーに電子メールをダウンロードする必要があるときにクライアントから開始されます。 クライアント ( ユーザーエージェント) サーバーとのポート 110 を確立し、メールボックスにアクセスするための名前とパスワードをサーバーに送信します。 ユーザーは、電子メール メッセージを 1 つずつ一覧表示して検索できます。 図14.13。 に、POP3 を使用したブートの例を示します。


米。 14.13。ポップ3

POP3 には削除モードと保存モードの 2 つのモードがあります。 削除モードでは、リクエストのたびにメールがメールボックスから削除されます。 保存モードでは、メッセージが表示された後もメールはメールボックスに残ります。 削除モードは通常、ユーザーが常にコンピュータで作業しており、読んで返信した後にメールを保存して整理できる場合に使用されます。 保存モードは、ユーザーがプライマリ コンピュータ (ラップトップなど) を介してメールにアクセスできる場合に使用されます。 メールは読み取られますが、後でクエリや整理を行うためにシステムに保存されます。

IMAP4

インターネット メッセージにメール アクセスするためのもう 1 つのプロトコルは、Internet Mail Access Protocol バージョン 4 (IMAP4) です。 IMAP4 は POP3 に似ていますが、次のようないくつかの特徴があります。IMAP4 はより強力で、より複雑です。

POP3 にはいくつかの理由から欠陥があります。 ユーザーがサーバー上でメールを整理することはできません。 ユーザーは異なる「フォルダー」を持つことはできません。 (もちろん、ユーザーが自分のコンピュータ上でフォルダを整理することも可能です。) また、POP3 では、ダウンロード前にメールの内容を部分的に確認することはできません。

IMAP4 は次の追加機能を提供します。

  • ユーザーはダウンロードする前に電子メールのヘッダーを確認できます。
  • ユーザーは、ダウンロードする前に、電子メールのコンテンツで特殊な文字列を検索できます。
  • ユーザーは電子メールを部分的にダウンロードできます。 これは、リソースが限られており、電子メールにメッセージが含まれている特別な場合に役立ちます。 さまざまな種類、大量のリソースを必要とします。
  • ユーザーはメールボックスを作成、削除、または名前変更できます。 メールサーバー.
  • ユーザーはフォルダー内にメールボックスの階層を作成して電子メールを蓄積できます。

WEBメール

現在、Web サイト (Yahoo、Yandex など) のユーザーに電子メール サービスを提供できます。

このような接続の考え方は単純です。文字は HTTP プロトコルを使用して送信されます (次の講義を参照)。 メッセージは、SMTP プロトコルを使用して送信サーバーから受信メール サーバーに転送されます。 結局のところ、あなたからのメッセージは、 受信サーバー(別名 WEBサーバー) は、HTTP プロトコルを使用してユーザー B のサーバーに到達します。 ユーザー B がこのメッセージを受信したい場合は、Web サイト (YANDEX など) にリクエストを送信します。 WEB サイトは、ログイン(登録ユーザー名)とパスワードを要求するフォームを送信し、ユーザー B のコンピュータに HTML 形式でメッセージを送信します。

簡単な概要

  • TCP/IP ネットワーク上で電子メールをサポートするプロトコルは、Simple Mail Transfer Protocol (SMTP) と呼ばれます。
  • クライアントと SMTPサーバー特別なインストールが必要です ソフトウェアユーザーエージェント ( ユーザーエージェント- UA) およびメール転送エージェント (Mail Transfer Agent - MTA)。
  • UA はメッセージを準備し、エンベロープを作成し、メッセージをエンベロープに入れます。
  • 住所には次の 2 つの部分が含まれます。 ローカルアドレス(ユーザーメールボックス) および ドメイン名。 形式はローカル名@ドメイン名です。
  • メールゲートウェイはメール形式を変換します。
  • SMTP メッセージは、送信者側と受信者側、または中間サーバーで遅延する可能性があります。
  • エイリアスを使用すると、1 人のユーザーが複数のエイリアスを持つことができます メールアドレスまたは多くのユーザーのアドレスが グループアクセス同じアドレスに。
  • MTA は、インターネット上を移動するメールを変換します。
  • 送信者のメールは通常、UNIX を使用して MTA を構築します。
  • SMTP はコマンドと応答を使用して、クライアント MTA とサーバー MTA の間でメッセージを転送します。
  • メールメッセージを転送する手順:
  • MultiPurpose Internet Mail Extension (MIME) は、転送を可能にする SMTP 拡張機能です。 マルチメディアメッセージ(テキスト、音声、静止画、動画など)。
  • ポスト オフィス プロトコル バージョン 3 - POP3 およびインターネット メール アクセス プロトコル バージョン 4 (IMAP4) は、メール サーバーを使用して SMTP から受信者に接続し、メールをホストに保持します。

タスクと演習

  1. 1 対多エクスパンダが役立つ状況の例を示します。 多対 1 エクスパンダに対してもこの手順を繰り返します。
  2. HELLO と FROM TO の 2 つのコマンドは一度に必要ですか? 「はい」または「いいえ」で答えを正当化してください。
  3. TCP がすでに接続を確立しているのに、レターを送信するために接続を確立する必要があるのはなぜですか?
  4. 接続確立を表示 [メールで保護されています][メールで保護されています].
  5. からのメッセージ送信フェーズを表示します。 [メールで保護されています][メールで保護されています]。 メッセージは「健康でいてね」。
  6. からの接続完了フェーズを表示します [メールで保護されています][メールで保護されています].
  7. ユーザー [メールで保護されています]ユーザーにメッセージを送信します [メールで保護されています]に転送します。 [メールで保護されています]。 SMTP コマンドと応答を表示します。
  8. ユーザー [メールで保護されています]ユーザーにメッセージを送信します [メールで保護されています]誰が彼に答えますか。 SMTP コマンドと応答を表示します。
  9. SMTP を使用して 1 行のメッセージを送信する場合、コマンドと応答には何行かかりますか?
  10. 送信機はフォーマットされていないテキストを送信します。 MIMEヘッダーを表示します。
  11. 送信機は JPEG メッセージを送信します。 MIMEヘッダーを表示します。
  12. メッセージは 1000 バイトのコード (非 ASCII) で、Base 64 を使用してエンコードされています。 エンコードされたメッセージには何バイトが含まれますか? 冗長バイトは何バイトありますか? メッセージの総バイト数に対する超過バイトの比率は何ですか?
  13. 1000 バイトのメッセージは、印刷に適したコードでエンコードされます。 メッセージには 90 パーセントの ASCII 文字と 10 パーセントの非 ASCII 文字が含まれています。 エンコードされたメッセージには何バイトが含まれますか? 冗長バイトは何バイトありますか? メッセージの総バイト数に対する超過バイトの比率は何ですか?
  14. 演習 12 と 13 の結果を比較してください。メッセージに ASCII 文字と非 ASCII 文字が含まれている場合、効率はどのように向上しますか?
  15. 次のメッセージを Base 64 でエンコードします。

    0101 0111 0000 1111 1111 0000 1010 1111 01111 0001 0101 0100.

講義のテスト用の追加資料をダウンロードできます .

1. 分散型情報システム。 定義、特徴、例. –

RSoi は、ユーザーには単一の IS のように見える独立したコンピューターのセットです。 特徴 – 1) コンピュータ間の違いはユーザーには隠されます 2) ユーザーとアプリケーションは一貫したエクスペリエンスを体験します 分散システムああ 3) PC は拡張しやすいものでなければなりません。 例 – Web サービス、会社の部門内のワークステーション ネットワーク

2. 分散システムの要件: 透明性、オープン性、スケーラビリティ - 1) 透明性– rsoi。単一の CS の形式で表示されます。 2) 開放性– システムサービスを実装するための標準構文とセマンティクスの使用。 オープン PC は柔軟性があり、以下から構成されるシステムを簡単に構成できます。 さまざまなコンピュータ. 3) スケーラビリティ– 3 つの方向で測定されます: 1. サイズに関して 2. 地理的 3. 管理上の意味で

3. 分散システムの使用に関連する機会と問題。

4. クライアントサーバーテクノロジー。 クライアントとサーバーの責任。 2 層および複数層のクライアント/サーバー モデル。 –

1 つのプログラムが一連のアクションの実行を要求し、別のプログラムがそれを実行する対話テクノロジは、クライアントサーバーテクノロジと呼ばれます。 クライアントとサーバーの対話モデルは、主にクライアントとサーバー間の責任の配分によって決まります。 論理的に 3 つのレベルを区別できます: 1) ユーザー インターフェイス レベル 2) 処理レベル (アプリケーション レベル) 3) データ レベル (データ管理)。

2 層アーキテクチャ - アプリケーションとユーザー サービスがクライアント ワークステーションに実装され、データがサーバーに集中的に保存されるアーキテクチャ

階層化アーキテクチャ – ユーザー サービス、アプリケーション サービス、データ サービスを分散するアーキテクチャ

5. アプリケーションサーバーとアプリケーションプロトコル. – アプリケーションサーバーアプリケーションの処理を実行するために設計されたソフトウェアです。 アプリケーションサーバーはクライアントと対話し、データベースと対話します。

プロトコルコンピュータ ネットワーク上のコンピュータ間で何らかの通信が実行される方法を管理する一連の規則と技術手順です。

アプリケーション プロトコル – FTP ファイル転送プロトコル、Telnet プロトコル、http プロトコル、SMTP POP3 プロトコル (メール プロトコル)、NNTP プロトコル

6. リモート通話手順RPC。 実装原則、実行手順、非同期呼び出しRPC。 – RPC テクノロジーは、分散システムの構築に広く使用されています。 リモート プロシージャ コールは、次のことを可能にするテクノロジーのクラスです。 コンピュータプログラム別のアドレス空間 (リモート コンピューター上) で関数またはプロシージャを呼び出します。

原則– 呼び出されたプロシージャが別のマシン上で実行されていること、およびその逆のことを呼び出し側プロシージャに通知すべきではありません。これが透過性です。 リモート プロシージャを実行するには、クライアント スタブと呼ばれるそのプロシージャの特別なバージョンがライブラリに配置されます。

実行ステップ– 1) クライアント プロシージャは通常の方法でクライアント スタブを呼び出します。 2) クライアント スタブはメッセージを作成し、ローカル OS を呼び出します。 3) クライアント OS はメッセージをリモート OS に転送します。 4) リモート OS はメッセージをサーバーに渡します。スタブ 5) サーバー スタブはメッセージからパラメータを取得します 6) サーバーは呼び出しを行います 7) サーバー スタブは結果をメッセージにパックします 8) サーバー OS はメッセージをクライアント OS に転送します 9) クライアント OS はメッセージを受信し、それをクライアント スタブに渡します

7. 基本概念ウェブ-プログラミング。– Web ドキュメント – さまざまなリンクへのハイパーリンクを含むハイパーテキスト ドキュメント 情報リソース。 Web サイトは、意味が統一され、ハイパーリンクを介してリンクされた Web ドキュメントの集合です。 リソースの公開とは、サーバー上にハイパーテキスト ドキュメントを配置する機能です。 ハイパーテキストは情報オブジェクトの表現形式です

8. HTML言語。 基本的なタグ。 HTML ドキュメントの構造。 例。 html - ドキュメントは アスキーテキストファイル、テキストと html タグが含まれています。 タグには 2 つのグループ (コンテナー) があります<имя тега [список атрибутов]>文章およびスタンドアロン (単一) タグ( )。 メタデータは、ドキュメントを識別し、Web ページの表示モードを示すことを目的とした生の情報です。 最新バージョン HTMLはHTML4.01です。

9. HTML言語。 テキスト書式タグ: 段落、見出し、フォント スタイル。 例。 – body タグの属性は、bgcolor (背景色)、text、link (ハイパーリンクの色) です。 見出し - 1 が最大、6 が最小です。 段落 -

10. HTML言語。 テーブルの形成。 HTMLでテーブルを作成する例です。メインテーブルのタグ -

..
テーブルの開始と終了 ..- 行頭と行末 - テーブルのタイトル

SMTP (Simple Mail Transfer Protocol) は、TCP/IP ネットワーク上で電子メールを送信するために設計された、広く使用されているネットワーク プロトコルです。

SMTP は RFC 821 (1982) で最初に説明されました。 最後の更新 RFC 5321 (2008) には、スケーラブルな拡張機能である ESMTP (English Extended SMTP) が含まれています。 現在、「SMTP プロトコル」というと、その拡張版を指すことが一般的です。 SMTP プロトコルは、TCP ポート 25 を使用して送信メールを送信するように設計されています。

電子メール サーバーや他のメッセージ転送エージェントは SMTP を使用してメール メッセージを送受信しますが、クライアント レベルのエージェントはユーザー レベルで動作します。 電子メールアプリケーション通常、SMTP は中継のためにメール サーバーにメッセージを送信する場合にのみ使用されます。 メッセージを受信するために、クライアント アプリケーションは通常、POP (ポスト オフィス プロトコル)、IMAP (インターネット メッセージ アクセス プロトコル)、または独自のプロトコル ( Microsoft Exchange Lotus Notes/Domino) にアクセスするには アカウントサーバー上のメールボックス。

ポップ3

POP3 (Post Office Protocol Version 3) は、電子メール クライアントがメールを受信するために使用する標準のインターネット アプリケーション プロトコルです。 リモートサーバー TCP/IP接続経由で。

標準の POP3 ポートは 110 です。

POP と IMAP (インターネット メッセージ アクセス プロトコル) は、メールを取得するための最も一般的なインターネット プロトコルです。 最新の電子メール クライアントとサーバーのほぼすべてが両方の標準をサポートしています。 POP プロトコルはいくつかのバージョンで開発されており、3 番目のバージョン (POP3) が現在の標準です。 ほとんどの電子メール サービス プロバイダー (Hotmail、Gmail、Yahoo! Mail など) は IMAP と POP3 もサポートしています。 以前のバージョンプロトコル (POP、POP2) は廃止されました。

メール サーバーからメッセージを収集するための代替プロトコルは IMAP です。

IMAP

IMAP (Internet Message Access Protocol) は、電子メールにアクセスするためのアプリケーション レベルのプロトコルです。

に基づく トランスポートプロトコル TCP でポート 143 を使用します。

IMAP は、中央サーバー上にあるメールボックスを操作するための広範な機能をユーザーに提供します。 このプロトコルを使用する電子メール プログラムは、あたかも受信者のコンピュータ上に通信があるかのように、サーバー上の通信ストレージにアクセスします。 電子メールの完全な内容を含むファイルをサーバーとの間で常に送受信することなく、ユーザー (クライアント) のコンピュータから電子メールを操作できます。