TCP/IP の階層では OSI参照モデルの上位3階層の セッション層,プレゼンテーション層,アプリケーション層は 一つの階層になり,「アプリケーション層」と呼ばれる. いずれもアプリケーションソフトウェアの仕事だからである. このため,アプリケーションのプログラムの中で プレゼンテーション層の仕事などが実装されている.
TCP/IP のアプリケーション層とトランスポート層の境目は アプリケーションプログラムの仕事かOSの仕事かで判断するとよい.
セッションをいつ,いくつ確立するかという OSI参照モデルのセッション層の仕事はアプリケーションプログラムで実装するので 最上位層からここまでがTCP/IPのアプリケーション層となる. アプリケーションは下位層である OSにコネクション確立の依頼を出す(インターフェース) それに応じてセッションを実際に確立するOSI参照モデルの トランスポート層の仕事はOSが行うのでここから TCP/IPでもトランスポート層になる.
クライアント/サーバーモデルではサーバープログラムは常に動作して クライアントから要求がくるのを待機している.
WWW が爆発的に普及したのはリンクが張れることやマルチメディアが 扱えることが大きな理由である.個人による情報発信ができる ツールとして普及した.
WWW のアプリケーションの内部で実現されている 機能とOSI参照モデルとの対応を考える. HTTP はウェブサーバとブラウザの通信プロトコルなので アプリケーション特有の機能を実現している部分だから OSI参照モデルでいうアプリケーション層に相当する. HTML はウェブ上のコンテンツの表現形式の指定なので OSI参照モデルのプレゼンテーション層にあたる.
教科書p.80図2.13 では A さんのホストから B さんのホストへ直接 メールを送信しているが,現在は普通このような送信は行わない. このような方式は教科書p.306 図8.9のような問題があるためで, 現在は教科書p.306 図8.10 のように常に稼働している メールサーバを介してメールの読み書きを行なっている.
メールに限らず,インターネットのアプリケーションプロトコルは ほとんどテキストデータのやりとりで行われる.マルチメディアを メールで扱うときも,何らかの符号化を用いてマルチメディアデータ をテキストデータに変換して送信する.受信側はどんな符号化を 行ったデータかわからないと正しく復元できないのでMIMEでは ヘッダにどんな符号化でデータが符号化されているかを 相手に知らせるようになっている.このことからMIMEはデータの 表現形式を扱うOSI参照モデルのプレゼンテーション層だということが わかる.
電子メールの送受信のプロトコルはアプリケーション層のプロトコルで これが守られていればスマートフォンでもPCのメーラーでもWebで読む 形式でも利用できる.
FTPのどの機能がプレゼンテーション層でどの機能がセッション層かが 教科書p.81注釈に書いてあるので理解しておくこと.
TELNET では通信内容が暗号化されないが SSH では暗号化される. TELNET で外部からパスワードを入力してログインすると パスワードが平文で傍受される可能性がある.
「エージェント」の概念を教科書p.82図1.16を使って説明する. 管理者は左側のSNMPマネージャで,管理される対象が 右側のパソコン,ルータ、スイッチである. 管理者(SNMPマネージャ)は管理対象の機器に エージェントと呼ばれるプログラムを設置する. エージェントプログラムは自動的に情報を収集し, マネージャに報告を行なったり マネージャからの指示を実行したりする.
このようにエージェントは相手の機器に送り込んでマネージャと通信しながら マネージャのためにある程度自律的に動作するプログラム, というイメージをもつとよい.
本文に書かれている,何がアプリケーションプロトコルで 何がプレゼンテーション層かを理解せよ.
TCP/IP の各階層の働きをメールを送るという具体例について 処理の順に説明する.
ヘッダとしてどんな情報をもつかを理解することが その階層の働きを理解する鍵である.
教科書p.83 図2.17 は,送信者の処理だとすると 下から上に処理されていくことに注意する. TCPプロトコルによってデータにTCP(4層)ヘッダが付けられる(一番下). これが次の階層のIPに渡されるとTCPヘッダとデータを合わせて IPのデータとし,IPでの処理方法を指示するIP(3層)ヘッダを 付加して下位層に渡す.次の階層のイーサーネットではIPのヘッダと データを合わせたものをデータとし, イーサネット(2層)のヘッダを付加して(2層では最後にトレイラも付加する) ネットワーク接続機器に送る
このように上位階層のヘッダとデータを下位階層のデータとして 新たにヘッダを付加する,ということを繰り返すので,階層が低いほど 多くの階層のヘッダを含んだデータを扱う.