لایه پنجم مدل OSI: لایه نشست | Session Layer

0 219

لایه نشست یا Session Layer، لایه پنجم از مدل OSI می‌باشد. همانطور که از پست “بررسی مدل OSI” بخاطر داریم، این لایه در بالای لایه انتقال (Transport) و در زیر لایه نمایش (Presentation) قرار دارد.

در زیر می‌توانید دیگر مقالات مربوط به مدل OSI و لایه‌های آن را مطالعه کنید:

وظیفه اصلی این لایه مدیریت نشست‌هایی (Session) است که که در یک ارتباط ممکن است بین دو پراسس از دو سیستم، ایجاد شود. پس یک ارتباط داریم که ممکن است درون آن نشست‌های مختلفی وجود داشته باشد. لایه Session، مدیریت این نشست‌ها را به عهده دارد.

کاربرد لایه نشست چیست؟

در پست‌های قبلی در مورد نشست‌ها صحبت کردیم. همانطور که گفتیم، به طور کلی در دنیای کامپیوتر، نشست به بازه‌ای گفته می‌شود که در آن “دو یا چند دستگاه” و یا “یک کاربر با یک برنامه” تعامل دارند. هدف از ایجاد نِشَست این است که اطلاعات به صورت Stateful نگه‌داری و استفاده شوند. یعنی برای مثال، اگر کاربری درخواستی ارسال می‌کند، مشخص باشد که قبلا چه درخواست‌هایی ارسال کرده است. به عبارت دیگر تاریخچه عملیات آن مشخص باشد.

در پست‌های قبلی در مورد نشست‌ها صحبت کردیم. همانطور که گفتیم، به طور کلی در دنیای کامپیوتر، نشست به بازه‌ای گفته می‌شود که در آن “دو یا چند دستگاه” و یا “یک کاربر با یک برنامه” تعامل دارند. هدف از ایجاد نِشَست این است که اطلاعات به صورت Stateful نگه‌داری و استفاده شوند. یعنی برای مثال، اگر کاربری درخواستی ارسال می‌کند، مشخص باشد که قبلا چه درخواست‌هایی ارسال کرده است.به عبارت دیگر تاریخچه عملیات آن مشخص باشد.

اما چرا به نشست (Session) نیاز است؟

یک مثال میزنیم! پروتکل HTTP، یک پروتکل Stateless می‌باشد. یعنی State هر کانکشن در ارتباط HTTP نگهداری نمی‌شود. یعنی در یک ارتباط HTTP، هر بار که درخواستی را به سرور ارسال می‌کنید، انگار یک کاربر جدید (در اصل یک مرورگر جدید) درخواست را ارسال کرده است. این یعنی همان مفهوم Stateless بودن! یعنی State را نگهداری نمی‌کند و هیچ وقت اطلاع ندارد که کاربری که الان در حال ارسال درخواست هست، آیا قبلا هم درخواستی ارسال کرده یا خیر.

Statless بودن پروتکل HTTP این نتیجه را خواهد داشت که اگر شما داخل یک فروشگاه اینترنتی باشید و جنس اول را به سبد خرید اضافه کنید، و سپس صفحه را رفرش کنید، خواهید دید که سبد خالی هست! چراکه HTTP خاطرش نیست که شما چه کاربری هستید و قبلا چه درخواستی‌هایی را به سرور ارسال کردید. هر بار که شما صفحه را رفرش می‌کنید، گویی شخص جدیدی وارد سایت شده است! اما راه حل چیست؟ مرسوم‌ترین روش برای حل این مشکل استفاده از Session یا نِشَست می‌باشد. راه‌حل‌های دیگری نظیر کوکی نیز وجود دارد که قبلا مورد بررسی قرار دادیم. پس می‌توان گفت لایه Session گفت‌وگوی بین پراسس‌ها را از طریق نشست‌ها مدیریت می‌کند.

وظایف لایه نشست

سرویس‌هایی که در لایه نشست ارائه می‌شوند عموما برای مدیریت RCPها (Remote Procedure Call) در محیط‌های نرم‌افزاری کاربرد دارند. چرا که به هنگام بکارگیری RPCها باید تاریخچه عملیاتی که انجام شده است حفظ شود. یک نمونه از پروتکل‌های این لایه X.225 می‌باشد که در صورت قطع شدن ارتباط، سعی می‌کند آن را بازیابی کند.

این لایه هم‌چنین در دو حالت FULL-Duplex و Half-Duplex کار می‌کند و در همین حین پیام‌هایی که رد و بدل می‌شوند را همگام‌سازی (Sync) می‌کند.

در همین حین وظایف دیگری نیز بر عهده این لایه می‌باشد. برای مثال در شرایطی که دو کاربر بطور همزمان یک عملیات حیاتی را درخواست می‌کنند، لایه نشست وظیفه مدیریت درخواست‌های آن‌ها را دارد.

از وظایف مهم دیگری که جلوتر نیز به آن اشاره کردیم، بازیابی ارتباطات می‌باشد. عملیاتی تحت عنوان Session Checkpointing در لایه نشست انجام می‌شود که بوسیله آن Checkpointهایی در نظر گرفته می‌شود تا اگر به هنگام ارسال یک جریان طولانی از داده‌ها ارتباط قطع شد، مجبور نباشد از ابتدا آن را ارسال کند و فقط از آخرین Checkpoint شروع به ارسال مجدد کند. برای مثال در یک وب‌کنفرانس، باید هماهنگی لازم میان صدا و تصویر و هم‌چنین عدم تداخل میان داده‌های ارسال شده از کاربران مختلف، وجود داشته باشد. لایه نشست که مسئول مدیریت نشست‌ها می‌باشد، از طریق همین نشست‌ها این وظایف را انجام می‌دهد.

پروتکل‌های لایه نشست

پروتکل‌های این لایه را شاید کمتر شنیده باشیم اما پروتکل‌های زیادی در این لایه وجود دارند. بسیاری از آن‌ها در برنامه‌های کاربردی که عموما برای برقراری تماس میان افراد هستند، مورد استفاده قرار می‌گیرند.

ADSP: Apple-Talk Data Stream Protocol

• ASP: Apple-Talk Session Protocol

H.245: Call Control Protocol for Multimedia •

درباره ما

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence 

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.