3 Minutes NetWorking
No.50

3Minutes NetWorking

第50回レイヤ6 概要

■ プレゼンテーション

インター博士

またもやネットワークモデルの復習からだ。

ネット助手

む〜。

レイヤ5〜7アプリケーション層HTTPFTPDHCPDNS
レイヤ4トランスポート層TCPUDP
レイヤ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(マイム)などはかなりレイヤ6の役割に近いプロトコルだ。

ネット助手

マイムマイム
なんつって。

インター博士

あぁ、あれはイスラエル(ユダヤ)民謡で、歌詞はヘブライ語らしいな。

ネット助手

あ〜、そうなんですか。それは初耳です。

インター博士

まぁ、好きな人の前で歌が終わるような人生を歩んできたネット君には、フォークダンスなどは忌避すべきものだろうから、詳しくは知らなくて当然だ。

ネット助手

そのやけにリアルな比喩はやめてください、博士。見たんですか?

インター博士

見なくてもわかる。そういう星まわりだからな。

ネット助手

うぅぅ。
で、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でのデータ形式の違いを考えなくてもよいデータ転送が可能になる。

3 Minutes NetWorking No.50

管理人:aji-ssz(at)selene.is.dream.jp