- 締切済み
セッション層のことで
最近ネットワークについて学び始めた者です。ある本に、OSI参照モデルのセッション層の説明として――実際にデータのやり取りを行う前段階として、通信を行う双方の間で論理的な接続状態を作り出す役割を果たす――というように記述されていました。この、「論理的な接続状態」を作り出す為には、やはりノード間でなんらかのデータのやり取りが行われるのでしょうか? もしそうであるなら、その時のデータのやり取りがどういった形で行われるのか知りたいのですが?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
> ――ということであるなら、 > その、コネクションの確立を行うためのデータというのは、 > コネクションが確立されていない状態でも送受信が可能ということになり、 > なにかこう、鶏が先か卵が先か的なジレンマを感じてしまう……。 ただデータを流すためのコネクションは、 1つ下のトランスポート層で確立されていますから。 セッション層のコネクション確立とは、 例えばPOPとかFTPで言うとユーザ認証を含んだ話です。 つまり、ユーザ名とパスワードを使って正規ユーザであることを確認し、 データ送受信が許可される、というところまでで、 コネクション確立と呼んでいるのではないでしょうか。
- Sarukan
- ベストアンサー率55% (41/74)
何度も申し訳ありません。 実際に第五層がデータを送信するかしないかについてですが、SMTPやtelnet、ftp等のアプリケーションはコネクションを確立したり、データを実際に交換したり、コネクションを終了する際に、それぞれアプリケーションごとに規定されたコマンドを発行します。しかしこれらのアプリケーションプロトコルは通信経路情報を持ちませんし(通信経路情報は第三層が制御)、そのままではデータの送受信の信頼性がありません(データの分割/再構築、パケットのエラー処理/再送処理は第四層が制御)ので結果的にコマンドは第四層で圧縮され、第四層以下(TCP/IP等)のヘッダーが付けられて送信される事になります。 簡単に言うと、コネクション開始時やデータ交換時、コネクション終了時などに各アプリケーションが第五層レベルにてコマンドデータを発行し、第四層のレベルでパケット化されて運ばれ、相手側が第四層レベルでパケットを解凍し、それを第五層レベルで受け取るという処理行程を辿る為、実際にデータを送受信しているのは第四層の機能であるという風に理解していただければ結構だと思います。 #第三層~第七層の機能は別々に覚えるより一括して覚えた方が分りやすいです。 以上、多少分かりにくいかもしれませんが、追加で参考になりましたら幸いです。
お礼
度々ありがとうございます。 私がひどく理解力が乏しいゆえに、おっしゃらんとすることを正確に受け止めるこ とはできてないように思えますが、イメージとしてはかなり鮮明になってきたよう に思えます。 で、以後は独り言のような感じのものです。 >簡単に言うと、コネクション開始時やデータ交換時、 >コネクション終了時などに各アプリケーションが第五層レベルにて >コマンドデータを発行し、 あるノードからあるノードへデータを送信するには、 ノード間でコネクションが確立されている状態でなければならない。 ゆえに、実データとは別のコネクションの確立を行うためのデータが、 まず最初に送信され、コネクションが確立された後に初めて、実データの送受信が始まる。 ――ということであるなら、 その、コネクションの確立を行うためのデータというのは、 コネクションが確立されていない状態でも送受信が可能ということになり、 なにかこう、鶏が先か卵が先か的なジレンマを感じてしまう……。
- Sarukan
- ベストアンサー率55% (41/74)
一部誤りがありましたので再度書き込ませていただきます。 TCP等をデータリンク層と書きましたが、これはトランスポート層の誤りです。 なお、セッション層ではコネクションの通信の順序の制御である、同期制御も行っています(書き忘れ申し訳ありません)。 以上、訂正と追加いたします。
- Sarukan
- ベストアンサー率55% (41/74)
OSI参照モデルですか、かつて頭を抱えて覚えたのを思い出します。 覚えたのが昔の事なので多少うろ覚えに近くなってきているのですが…。 さて、セッション層についてですが、この層で行われる事はデータ送受信の確立/開始/切断/継続等の通信制御(管理)だけであり、この層でデータ交換を行うということはありません。実際にはこの層の機能がデータリンク層を呼び出し、データリンク層が実際にデータの交換を行います。 また、セッション層はtelnetやftp、http等の各アプリケーションがハンドリングを行っている層であるため、TCPやNetBEUIといった通信プロトコルはこの層の機能を実装しません(なお、ちなみに通信機器が全二重、半二重の通信方式を認識/制御するのもセッション層で行われています)。 といった内容で覚えておけばよかったはずです。 以上、読みにくい回答ですみませんが、何かの参考になりましたら幸いです。
補足
ありがとうございました。大変参考になりました。 ただ、ちょっと私の疑問点を整理させてもらえるならば、 >>この、「論理的な接続状態」を作り出す為には、 >>やはりノード間でなんらかのデータのやり取りが行われるのでしょうか? ここが疑問の核であり、 私が参照した本には、 >>実際にデータのやり取りを行う前段階として >>通信を行う双方の間で論理的な接続状態を作り出す役割を果たす と記述されていたので、 実際のデータ(例えばメールなど)のやり取りをする前に、 論理的な接続状態を作り出すための手続きをする目的のデータが、 2つのノード間を行き来するのではないかと思った次第でした。 >実際にはこの層の機能がデータリンク層を呼び出し、 >データリンク層が実際にデータの交換を行います。 ここの所は、実際に相手に送信したいデータを指しているのではなく、 論理的な接続状態を作り出すために必要なデータを指している、 と捉えてよろしいのでしょうか?
お礼
ようするに認証が必要ないデータのやり取りには、 セッション層は絡んでこないということなんですね。 なるほどなるほど、それなら納得がいきます。 ありがとうございました。