■ プレゼンテーション
またもやネットワークモデルの復習からだ。
む〜。
レイヤ5〜7 | アプリケーション層 | HTTP | FTP | DHCP | DNS |
レイヤ4 | トランスポート層 | TCP | UDP | ||
レイヤ3 | インターネット層 | IP | |||
レイヤ1〜2 | ネットワークインタフェース層 | Ethernet |
[Table48-01:TCP/IPモデル]
おや、ネット君。「またですか、博士?」とか言わないのかね。
墓穴る気がするのでやめておきます。
「墓穴る」とはなかなか斬新な響きだな。
ともかく、今回はレイヤ6、プレゼンテーション層だな。
プレゼンテーションっていうとアレですよね。
お客を相手に新製品の発表なんかをパワーポイントでやったりするやつ。
まぁ、そうだ。presentationには発表とか紹介とか提示とかいう意味がある。
ははぁ。「顧客はどこにいるんだね」という専務に対して、「世界中に」と提示すると。
また古いCMの話だな、それは。
つまりネットワークにデータを提示する層ということだ。
ネットワークにデータを提示する?
どういうことです、それは?
つまり、アプリケーション層から渡されたデータを、ネットワークに適した形に変えてくれる層だということだ。
ネットワークに適した形…。
例えば?
先に言っておくが、TCP/IPモデルはレイヤ6の役割をきっちりこなしていない。
本来ならばレイヤ6で行う処理を、なんか適当にごまかしているのが現状だ。
ふむむ。理想と実装の違いって奴ですか。
まぁ、そうだ。レイヤ7とレイヤ6をまとめているせいか、レイヤ6の部分がアプリケーション依存になってしまっている。本来のレイヤ6の役割を使っていないことになる。
ははぁ。
というわけで、曖昧な説明になってしまうが、そこらへんは我慢するように。
了解です。
■ データ・フォーマット
さまざまなアプリケーションが存在して、その目的にあったデータ形式がある。
アプリケーションの目的にあったデータ形式っていうと。
文字とか、画像とか、動画とか、音声とかですか。
そうだ。
例えば文字でいこう。文字はASCIIというのが最も一般的だ。
アスキー?
あの雑誌の? ▼ link
アルファベットも読みもまったく同じだが、別物だ。
一方、IBM汎用機で使われているEBCDICというものがある。
汎用機って、メインフレームって奴ですよね。名前だけしか聞いたことないですけど。
実は私もだ。
ともかく、例えば数字の「1」はASCIIでは「0110001」、EBCDICでは「11110001」だ。
うぅ? 全然違いますね。
ビットの並びも違うし、それにASCIIは7ビットだけど、EBCDICは8ビットだし。
うむ。よって、ASCIIを使うコンピュータと、EBCDICを使うコンピュータ間では文字が送れなくなってしまう。
はぁ。
でも「異なるベンダ間での相互通信」がOSI参照モデルのうたい文句ですよね。
その通り。なので、このレイヤ6で変換する。
[Figure50-01:フォーマットの変換]
このように変換をかけることにより、ハードウェアやOSによる差異をなくしたデータ交換が可能になる。
なるほど。
ほかにも圧縮や暗号化も行うことができる。
このように、アプリケーションから乖離したデータ形式による転送の変換を行うということだ。
アプリケーションから乖離…。
実際に「通信に適した形」ってどんなんです?
そうだな、特別なコードを使う場合もあるし、使わない場合もある。例えばそのままASCIIを使ったりすることもある。
先ほどの例でいえば、「送信元ASCII」「送信データASCII」「受信側はASCIIをEBCDICに変換」という形になるわけだ。
特別なコードを使うこともあるんですか?
うむ、SNMPではBERというものを使う。
サンマイクロシステムズのRPCではXDRという符号化方式だな。 ▼ link
へへぇ。じゃあHTTPとかFTPとかのSNMP以外のTCP/IPプロトコルだと?
それは個々のアプリケーションで異なる。
…。
乖離してないじゃないですか。
だから最初にいっただろう。「レイヤ6の部分がアプリケーション依存になってしまっている」と。
うぅ〜ん。
■ TCP/IPでのプレゼンテーション層
さて、TCP/IPではプレゼンテーション層というものはない。
なので、近い例をあげて説明しよう。まずFTPだ。
ファイル転送プロトコルですね。よく例に使われますよね。
うむ、インターネットの前段階から使われていたプロトコルで、シンプルなので説明しやすいのだよ。
細かくは後の回で行うが、FTPでのデータ転送には、ASCIIモードとバイナリモードがある。
ASCIIはさっきでてきた奴ですよね、
バイナリって、2進数?
うむ。ビット列そのままという意味だ。
FTPではテキストデータはASCIIとその他はバイナリで転送する。
テキストデータっていうと、.txtの拡張子のやつですか?
いや、それ以外でもHTMLファイル(.htmlや.htm)、CGIなどのコード(.cgiや.pl)もテキストデータだ。
これらのファイルはOSに依存したファイル形式で作成されるので、転送時に変換される。
[Figure50-02:FTPでのフォーマット変換]
ははぁ。
OSの違いを無視したデータ交換ができるわけですね。
そういうことだ。
FTPではTELNETでも使われている専用のASCIIを使って、データを変換してから転送する。
なるほどです。
TCP/IPではこのように、アプリケーションプロトコルごとにどのようなデータ形式を使って転送するかが決められている。
OSIでは異なるアプリケーションでも同じデータ形式で転送することを前提としてプレゼンテーション層を決めたのだが、TCP/IPではそうはなっていない。
レイヤ7・6・5がTCP/IPではまとまってますものね。
うむ、だが少なくともハードウェアやOSの違いを無視した転送は可能だ。
なので通常レイヤ6の説明では、こちらの文字コードなどの変換という形で語られるな。
へへぇ。
ちなみに他のTCP/IPのアプリケーションプロトコルではどんな感じなんです?
うむ。例えばメールで使われる
マイムマイム。
なんつって。
あぁ、あれはイスラエル(ユダヤ)民謡で、歌詞はヘブライ語らしいな。
あ〜、そうなんですか。それは初耳です。
まぁ、好きな人の前で歌が終わるような人生を歩んできたネット君には、フォークダンスなどは忌避すべきものだろうから、詳しくは知らなくて当然だ。
そのやけにリアルな比喩はやめてください、博士。見たんですか?
見なくてもわかる。そういう星まわりだからな。
うぅぅ。
で、MIMEとはどんなのなんです?
まぁ、大雑把に言えばすべてのデータをテキスト(英語)に変換して送るというかなり力技なプロトコルだ。
ここで説明してもいいが、長くなるので先の回でじっくりと説明しよう。
じゃ、その時まで楽しみにしてます。
うむ、今日はこんなところで終わりにしよう。
はい。次はいよいよレイヤ7ですね。
そうだな、ようやっとだな。
思った以上に時間がかかってしまったものだ。
今回が第50回ですものねぇ。
うむ。なんかこのままず〜っとこれを続けねばならん気がしてきたよ。
ともかく、また次回。
了解です。
3分間ネットワーキングでした〜♪
- プレゼンテーション層
- [Presentation Layer]
- パワーポイント
-
[PowerPoint]
Microsoft Officeのプレゼンテーション用のソフト。
- 古いCM
-
IBMのCM。大好きだったになぁ、このCM。またやってくれないかな。
かっこよすぎ。地平線の見えるような何もない場所に呼び出される専務と社長(らしき人)。
「土地が安いんですよ」とここに店舗をつくることを提言する社員。
「顧客はどこにいるんだねっ!!」
「世界中に」
「インターネットかっ!!」
- ASCII
-
[American Standard Code for Information Interchange]
読みは「アスキー」。
この国際規格のISO-646、ISO-8859が標準的。
- EBCDIC
-
[Extended Binary Coded Decimal Interchange Code]
拡張2進化10進数交換符号。読みは「エビシディック」。
- BER
-
[Basic Encoding Rule]
基本符号化規則。
OSI-8824であるASN.1[Abstract Syntax Notation 1]で記述されたデータを変換する規則。
SNMPはASN.1で記述するため、BERを使う。
- サンマイクロシステムズ
-
[Sun Microsystems]
アメリカのハードウェア・ソフトウェアの総合ベンダ。
UNIX系OSのSolarisや、Javaなどが有名。
- XDR
-
[eXternal Data Representation]
サンマイクロシステムズが開発したデータ符号化方式。
- 前段階
-
ARPANET[Advanced Reserch Projects Agency Network:アーパネット]と呼ばれたネットワーク。
このネットワークで使われていたプロトコルがTCP/IPの原型となり、インターネットの元となった。
- 専用のASCII
- NVT-ASCII[Network Virtual Terminal ASCII]という仮想端末用で使用されるASCII。
- MIME
-
[Multipurpose Internet Mail Extensions encoding]
インターネットメールの拡張機能。
テキストデータ以外の、日本語や画像などのデータを添付するときに使用する。
- ネット君の今日のポイント
-
- レイヤ6はデータの変換、圧縮、暗号化を行う。
- レイヤ6の機能により、異なるハードウェアやOSでのデータ形式の違いを考えなくてもよいデータ転送が可能になる。
- 参考リンク
-
- アスキーhttp://www.ascii.co.jp/▲
- サンマイクロシステムズhttp://jp.sun.com/▲