■ 最上位のレイヤ
さて、いよいよ最後のレイヤ。レイヤ7だ。
ついにたどり着きましたね。
あぁ。長かったな。
えぇ、色んなことがありましたね。
しみじみ。
しみじみ。
…。
こう、回想してみると、なんか腹立ってきた。
なんですか、そりゃ?
いやな。
神は何故ネット君を我に使わしたもうたか考えてな。
神って、おおげさな。
これも試練なのかもしれないな。
うむ、ネット君。試練なのだよ。そう考えれば君のナイスな記憶力にも理解できる。
えへへ。ナイスですか?
褒めてねぇ。
はぅっ。
ともかく、最後のレイヤだ。
今までのレイヤは上に他のレイヤがいて、上のレイヤにネットワーク・サービスを提供してきたが、レイヤ7は上にユーザアプリケーションしかいない。
ははぁ。
ということは、レイヤ7は上のレイヤの代わりにユーザアプリケーションにネットワーク・サービスを提供するレイヤってことになるんですか?
ほほぅ。なかなか察しがいいな。
その通りだ。
やりぃ。
ということで、レイヤ7の説明は以上。終了。
えぇっ。もう終わりですか?
■ クライアント・サーバ
終わってもいいが、まぁ、もうちょっと説明しよう。
ほとんどのネットワーク対応アプリケーションはクライアント・サーバ型だ。クライアントとサーバについては前にちょっと話したな。
えぇ〜っと。
サービスを要求するのがクライアントで、サービスを提供するのがサーバでしたっけ。
うむ、その理解は間違ってない。
つまりクライアントとサーバ間のデータ転送という形なわけだな。これを行うのがレイヤ7の役割というわけだ。
ははぁ、なんかピンときませんけど。
つまり、レイヤ6以下ではどちらが要求する側で、どちらが応答する側などまったく関係ないわけだ。
どちらでも同じようにTCPかUDPを使い、どちらでもIPを使い、どちらでもイーサネットを使う。
う〜ん、TCP・UDPやIPは確かにどちらでも使いますけど、要求側と応答側ってレイヤ6以下でもあるじゃないですか、ほらTCPのスリーウェイハンドシェイクとか、確認応答とか。
スリーウェイハンドシェイクは「どちらから接続を要求したか」で確かに違うが、その後のデータ転送そのものには「どちらから接続を要求したか」はまったく影響しない。
じゃあ、確認応答は?
確認応答は名前のとおり、データを受け取った「確認」のために使うもので、サーバだろうがクライアントだろうがデータを送ってもらったら確認応答を返すことになる。
う〜ん。ICMPのEcho要求・応答とか、ARP要求・応答もですか?
そうだ。「要求」がきたから「応答」を返す。それだけだ。
だが、クライアント・サーバ型はもとから「クライアント」「サーバ」という役割が割り振られている。
「要求する側」と「要求される側」ですね。
うむ。多くの場合、「クライアント」のアプリケーションと「サーバ」のアプリケーションは別物だ。
一番使われている例としては、Webサイトの閲覧があるな。「クライアント」はブラウザで…。
Internet Explorerとかですね。
「サーバ」はWebサーバアプリケーションって奴ですよね。
そうだ。ApacheやIISがよく使われるサーバアプリケーションだな。
TelnetやFTP、電子メールなどでも「クライアント」アプリケーションと「サーバ」アプリケーションは明確に区別されている。
へへぇ。他のはどんなサーバアプリケーションなんです?
まぁ、それは個々の時に説明しよう。
ともかく、このようにクライアント要求とサーバ応答という形でデータ転送が行われる、ということだ。
[Figure52-01:クライアントとサーバ]
なるほどです。
ただし、注意して欲しいのは、あくまでも「クライアント」と「サーバ」という役割はアプリケーションの役割であって、ホストの役割ではないということだ。
どういうことです?
つまり「A」というホストでWebサーバアプリケーションが実行されていて「サーバ」となっていたとしても、「B」というホストのWebサーバアプリケーションに対してブラウザで要求した場合は「クライアント」になる、ということだ。
アプリケーション単位での役割ってことですか?
うむ。そういうことだ。
レイヤ4より上はアプリケーション単位で考える、という話はしたな。
そうでした。エンドツーエンド、アプリケーション間の接続でしたよね。
■ リダイレクタ
さて、もう1つ話しておこう。
Webや電子メールはネットワーク対応アプリケーションだ。もとからネットワークが前提で考えられている。
ネットワークのない電子メールってなんか寂しいですね。
だが、その成立にネットワークが関係ないアプリケーションだってある。例えばワープロや表計算ソフト、さらに言えばOSのファイル操作もそうだ。
これらのソフトでもネットワークが必要なことがある。
ワープロソフトっていうと、ワードとかですよね。
ネットワークって必要ですっけ?
例えば、ネット君のPCから、私のPCにあるワードのファイルを開くこととかあるだろう?
あぁ、ありますね。
博士のPCの共有フォルダにある文書とか、データとか必要なときがありますから。
そうだろう。つまりこの時はワードがクライアントアプリケーションになるわけだな。
あ、あぁ。なるほど。そういうことですか。
うむ、だがもちろんワードはネットワークに対応していない。
このような時に登場するのが、リダイレクタだ。
りだいれくた?
redirecter。つまりredirect(転送)する者、だな。
そういえば、第34回のICMPで「ICMPリダイレクトメッセージ」ってのがありましたね。
うむ。ICMPリダイレクトメッセージはパケットの転送先を変更する通知だったな。
このリダイレクタは、通常ネットワークを使えないワープロソフトなどにネットワーク機能を提供して、クライアントになれるようにするという役割を持っている。
ネットワーク機能を提供…。
一番わかりやすい例は、Windowsのファイル共有だな。
[Figure52-02:リダイレクタ] ▼
ファイルを自分のハードディスクや、他のホストに転送するんですね。
うむ。なので「転送するもの」でリダイレクタ、だ。
例ではファイル共有だったが、プリンタへの出力などもリダイレクタの役目だ。
ははぁ。
この場合は、「クライアント」はワープロソフトなどのアプリケーション + リダイレクタ、という形になる。
「サーバ」はOSが持つのサーバ・ドライバというプログラムになる。
受け取ったサーバは「応答」を返さないんですか?
いや、「データを保存・プリントしてください」というクライアントの要求に対して、サーバは「データを保存しました(失敗しました)・プリントしました(できませんでした)」という応答を返している。露骨に結果がわからないだけで、ちゃんと応答は返している。
■ ネットワークアプリケーション
さて、元からネットワーク対応のアプリケーション、リダイレクタを使った間接的にネットワークを利用するアプリケーション、どちらも説明したわけだ。
はい。
というわけで、これからしばらくはより詳細な話をしていこうと思う。
主にネットワーク対応のアプリケーションの話だ。
というと、Webとか、FTPとかの話ですか?
うむ。
それらのアプリケーションで使われているプロトコルの話を中心にやってく。HTTPやFTP、SMTP、Telnetなどだな。
なんか実践的な話になりそうですね。
うむ、目に見える形の話が多くなることは間違いない。
というわけで、次回は…。
やはり一番人気のHTTPですかっ?
OSIレイヤのまとめを話すことにする。
…。
あれ? ネットワークアプリケーションの話じゃなかったんですか?
焦るな、ネット君。それはその次だ。
うぅぅ、肩透かし食わされた気分…。
3分間ネットワーキングでした〜♪
- ユーザアプリケーション
-
[User Application]
ネットワークを必要とするアプリケーションのこと。ワープロやスプレッドシート、ファイルサービス(WindowsではExplorer)などが当てはまる。
- ブラウザ
-
[Browser]
Microsoft社のInternet Explorer、Netscape社のNetscape Navigator、Opera Software社のOperaなどがメジャー。
- Apache
-
読みは「アパッチ」。
フリーのサーバアプリケーションで、UNIX系OSでよく使われている。(Windows版もある)
Webサーバとしてはもっとも使われている。
- IIS
-
[Internet Information Service]
Windows2000サーバ以降がデフォルトでもつサーバアプリケーション。
Web、FTP、SMTPが統合したサーバアプリでもある。
なお、Windows NTでは同じIISでもInternet Information [Server]なので注意(中身は変わらんけど)。
- ワード
-
[Word]
Microsoft Officeのワープロソフト。
- リダイレクタ
- [redirecter]
- ファイルシステムドライバ
-
ファイルの処理を行うドライバ(プログラム)。
Windowsの場合、NT系列のNTFS、9x系列のFATなど。CDに対してはCDFSが使われる。
- ネット君の今日のポイント
-
- レイヤ7はユーザアプリケーションにネットワークサービスを提供する。
- クライアント・サーバ型のデータ転送を行う。