طبقات الجلسة والتقديم والتطبيقات
وظائف طبقة الحاسب والتي تشمل مايلي:
- التحكم بالحوار
- إدارة الجلسة
الطبقة الخامسة من معيار OSI هي طبقة الجلسة والتي تصنف كطبقة أولى من الطبقات الموجودة في جهة المستخدم ( User Layers). تسمح هذه الطبقة لبرنامجين موجودين على حاسبين مختلفين أن يؤسسا اتصال بينهما يسمى "جلسة Session". يتم ذلك باستخدام آليات تساعد على تأسيس جلسة بين الجهاز المرسل والجهاز المستقبل ومن ثم المحافظة على استمرارية هذه الجلسة.
كما تقوم هذه الطبقة أيضا بضبط عملية التزامن بينهما وذلك بوضع علامات محددة (Checkpoints) في البيانات المرسلة بحيث إذا تعطلت الشبكة فسيتم إعادة إرسال البيانات بداء من تلك العلامات. إضافة إلى ذلك تقوم هذه الطبقة بالتحكم بنوعية الحوار (Dialog Control) الموجودة بينهما. تستخدم هذه الطبقة عدد من الطرق للتأكد من ذلك منها ما يلي:
هناك ثلاث أنواع من الحوارات التي يمكن تأسيسها بين الجهاز المرسل والجهاز المستقبل والتي تعرف اتجاه نقل البيانات وهي كما يلي:
في هذا النوع يتم نقل البيانات في اتجاه واحد فقط. جهاز واحد فقط يمكنه الإرسال بينما البقية في حالة استماع. يستطيع الجهاز المرسل أن يستخدم سعة القناة كاملة لا يمكن للجهاز المرسل أن يستقبل ولا يمكن للجهاز المستقبل أن يرسل. الإرسال التلفزيوني والإذاعي مثالين لهذا النوع من أنواع الحوار. أهم مميزات هذا النوع عدم وجود تنافس على القناة, إضافة إلى كثرة المستقبلين . أهم عيوبه أن الاتصال يتم في اتجاه واحد.
في هذا النوع يمكن لأي من الجهازين أن يؤديا دور المرسل أو المستقبل ولكن ليس في نفس الوقت فمثلا إذا بدأ أي من الجهازين بالارسال, فإن الآخر لا يستطيع أن يرسل حتى ينتهي الأول. سعة القناة تكون متوفرة كاملة للجهاز المرسل. أجهزة الشرطة وبعض الشبكات المحلية , مثل الانترنت تستخدم هذا النوع . أهم مميزات هذا النوع هو الحاجة لقناة واحدة فقط للإرسال والاستقبال إضافة إلى إمكانية الإرسال في الاتجاهين. أكبر عيوبه أن هناك جهاز واحد فقط يمكنه الإرسال إضافة إلى عدم الاستفادة من سعة القناة أثناء التبديل في الإرسال.
في هذا النوع يمكن لأي من الجهازين أن يرسل ويستقبل في نفس الوقت. يحتاج هذا النوع إلى قناتي اتصال, الأولى تستخدم للإرسال والأخرى للاستقبال, من أمثلة هذا النوع نظام الهاتف. أهم مميزاته إمكانية الإرسال والاستقبال في نفس الوقت. أكبر عيوبه غلاء ثمنه مقارنة بالنوعين السابقين إضافة إلى الحاجة إلى قناتي اتصال.
كما ذكرنا سابقا, طبقة الجلسة تسهل الاتصال بين حاسب آلي وحاسب آلي آخر مربوطين على الشبكة وذلك بتأسيس أو فتح جلسة بينهما ومن ثم المحافظة على استمراريتها. يمكن تقسيم الجلسة إلى ثلاث مراحل :
تشمل هذه المرحلة جميع المهام الواجب تنفيذها لجعل الجهاز المرسل والجهاز المستقبل يتعرفا على بعضهما البعض ويسمحا بالاتصال. هذه المهام تشمل
في هذه المرحلة يتم المحافظة على استمرارية الجلسة ونقل البيانات بين الجهازين. أيضا يتم التأكد من إرسال الإشعارات عند استقبال البيانات إضافة إلى استئناف الجلسة عند تعطلها لأي سبب.
 في هذه المرحلة يتم إنهاء الجلسة حسب موافقة الطرفين أو عندما ينقطع الاتصال بسبب ضياع رقم الاتصال (Connection Identification Number).
يتم معرفة ذلك إذا لم يتم استقبال إشعار بعد مرور فترة من الزمن فيفترض أي من الجهازين أن الاتصال قد تعطل.
في هذه الوحدة سوف نركز باختصار على أهم الوظائف التي التي تقوم بها طبقة التقديم مع معرفة التقنيات لتي تستخدم فيها. في نهاية هذه الوحدة سوف تكون قادرا على معرفة وظائف طبقة التقديم والتي تشمل مايلي:
الطبقة السادسة من معيار OSI هي طبقة التقديم والتي تصنف كطبقة ثانية من الطبقات الموجودة في جهة المستخدم (User Layers). تعتبر هذه الطبقة مترجم الشبكة حيث تقوم بتحويل شكل البيانات الموجودة في الجهاز المرسل إلى شكل آخر يفهمه الجهاز المستقبل وبالعكس. يمكن لهذه الطبقة أيضا أن تقوم بضغط البيانات (Data Compression) وتشفيرها (Data Encryption). من التقنيات التي تعمل في هذه الطبقة تقنية "إعادة التوجيه Redirector" والتي تقوم بتوجيه عمليات قراءة وكتابة الملفات من جهاز العميل إلى جهاز الخادم بحيث يستطيع المستخدم أن يصل إلى الأسطوانة الصلبة الموجودة في جهاز الخادم من خلال جهاز العميل .
تستخدم الحاسبات الآلية الأرقام الثنائية ( الأصفار والآحاد I's and 0's)لتمثيل البيانات. الشركات المصنعة لأجهزة الحاسب الالي قد تضع قواعد متعارضة لعملية تمثيل بيانات وبالتالي عند الحاجة لعمل اتصال بين حاسبين آليين يستخدمان طرق مختلفة لتمثيل البيانات فإنه يجب عمل ترجمة بين طرق تمثيل البيانات في الجهازين. هناك عدة أنواع من الترجمة منها مايلي:
في الحاسبات الشخصية المبنية على وحدة المعالجة المركزية من شركة أنتل يتم تمثيل الأرقام بحيث أول بت هو البت صاحب أقل قيمة عدديه ( Least Significant Bit-MSB) بينما في الحاسبات الشخصية المبنية على وحدة المعالجة المركزية من شركة موتورولا يكون أول بت هو صاحب أعلى قيمة عددية (Most Significant Bit-MSB) لكي يتم اتصال بين حاسب آلي من شركة أنتل مع حاسب آلي من شركة موتورولا يجب أن يتم عمل ترجمة من طبقة التقديم.
المبدأ الأساسي لعملية التشفير. يتم إدخال رسالة غير مشفرة إلى آلية أو عملية التشفير فينتج عنها رسالة مشفرة. تتم هذه العملية بواسطة مفتاح التشفير (Encryption Key). في الجهاز المستقبل تتم العملية العكسية حيث يستخدم نفس مفتاح التشفير لفك الرسالة المشفرة وتحويلها إلى رسالة غير مشفرة. التحدي الكبير في هذه العملية هو كيفية نقل مفتاح التشفير إلى الجهاز المستقبل بطريقة آمنة. إذا كان المستقبل في الغرفة المجاورة أو في نفس المبنى. فيمكن ارساله إليه بطريقة آمنة .ولكن عندما يكون الجهازالمستقبل في مدينة أو قارة أخرى. فهنا يكمن التحدي.
أنواع التشفير:
تاريخيا يمكن تصنيف طرق التشفير التقليدية إلى نوعين:
في هذا النوع من التشفير يتم إحلال حرف أو عدة حروف بحرف أو عدة حروف أخرى. في أول طريقة من هذا النوع . تسمى تشفير Caesar. يتم إحلال الحرف a بالحرف D والحرف b بالحرف E والحرف C بالحرف F وهكذا حتى الحرف Z بالحرف C. أي أن هناك إزاحة لموقع الحرف بالعدد 3. فمثلا الكلمة attack يتم تشفيرها بحيث ترسل DWWDFN. 
بعد ذلك تم تحسين طريقة Caesar بحيث تكون الإزاحة أي عدد K. هذا العدد يسمى مفتاح التشفير(Encryption Key). التحسين التالي هو وضع حرف مقابل كل حرف من حروف الهجاء.
في هذا النوع من التشفير يتم تغيير موضع كل حرف من الحروف الموجودة في الرسالة المراد تشفيرها. أي أن الحرف المراد إرساله لا يتم تغييره بحرف آخر كما في طريقة التشفير الإبدالي. ولكن فقط يتم تغيير مكانه أو موقعة في الرسالة. الشكل العام لهذا النوع كما يلي:
يتم استخدام كلمة معينة كمفتاح تشفير بحيث لاتحتوي على أي حرف متكرر مثل كلمة MEGABUCK. يتم كتابة كلمة التشفير, وتحت كل حرف فيها يتم وضع رقم يوضح ترتيبه في الأبجدية أو أقرب موضع بحيث تكون الحروف متسلسلة , فالحرف A له الرقم 1, والحرف B له الرقم 2, والحرف C له الرقم 3, والحرف E له الرقم 4 (أقرب موقع بعد حرف C) والحرف G له الرقم 5, وهكذا.بعد ذلك يتم كتابة الرسالة المراد تشفيرها وهي:
This is my credit card number 5432 6600 4522 it is master card 
بدأ من العمود الأول من اليسار بحيث كل حرف من الرسالة يتم وضعه في خلية, لتشفير الرسالة يتم إرسالها بحيث يتم قراءة العمود الأول رأسيا ( أي العمود الذي له الرقم 1 أو A). ثم العمود الثاني ثم الثالث وهكذا. الرسالة المشفرة تكون كالتالي:
SDU29SAIIM64MRMCE02SHRD46TRIEN39ICYAR02TTCR53IESTB65ED
لاحظ أنه لم يتم تغيير الحروف الموجودة في الرسالة الأصلية ولكن فقط تم تغيير مكان الحرف. وهكذا عكس النوع السابق والذي تم فيه تغيير حروف الرسالة الأصلية وإبدالها بحروف أخرى.
في الطرق التقليدية لتشفير عادة يتم استخدام طريقة سهلة وسرية لآلية التشفير (Simple and secrete Algorithm) ولكن باستخدام مفتاح تشفير طويل بحيث تصبح عملية اكتشاف النص المشفر صعبة, بوجود الحاسب الآلي أصح هناك معايير حديثة للتشفير تعتمد اعتمادا كليا على استخدام طريق معقدة للتشفير (Complicated Algorithm) ولكنها غير سرية حيث أن آلية التشفير منشورة على شبكة الإنترنت كما أنها موجودة في معظم لغات البرمجة. لكن التغيير الجديد مقارنة بالطرق القديمة هو استخدام مفتاح تشفير طويل جدا بحيث يصعب على أجهزة الحاسب الآلي محاولة جميع الإحتمالات الممكنة لمعرفة مفتاح التشفير.
من أهم هذه المعايير هو معيار –DES(Data Encryption Standard) والذي تم اختراعه بواسطة شركة IBM في عام1977م حيث تبنته الحكومة الأمريكية كمعيار محلي لتشفير البيانات باستخدام الدوائر المتكاملة. واجه معيار DES الكثير من الجدل على إمكانية فك شفرته وبالتالي تم تبني معيار آخر هو 3DES حيث يستخدم DES ثلاث مرات بمفتاحي أو ثلاثة مفاتيح تشفير بطول 112 بت و 168بت.
من المعايير الجديدة أيضا معيار (International Data Encryption IDEA Algorithm) والذي تم اختراعه بواسطة عالمين سويسريين. يستخدم هذا المعيار مفتاح تشفير بطول 128بت.
سعة القناة (Channel Bandwidth) تعتبر مورد حيوي يجب استخدامه بعناية. تقوم شركات الاتصالات بمحاسبة الزبائن على كمية الوقت وكمية المعلومات التي يتم نقلها عبر القناة. لذا جاء الاهتمام بعملية تقليل البيانات التي يتم نقلها وذلك بضغط تلك البيانات قدر المستطاع. أيضا يوفر ضغط البيانات حماية للبيانات حيث يصعب قراءتها. من أهم الطرق المستخدمة لضغط البيانات هو ترميز هوفمان. في حروف الهجاء الإنجليزية , وبعد عمل دراسات إحصائية وجدوا أن ظهور الحروف في أي نص له احتمالات مختلفة. حيث أن أكثر الحروف ظهورا في أي رسالة هو حرف e ثم حرف t ثم حرف q وأقل الحروف ظهورا هو حرف z . أيضا هناك حرفان يظهران أكثر من غيرهما. فمثلا الحرف th يظهر أكثر من الحرفين in والذي بدوره أكثر ظهورا من الحرفين er. أيضا هناك كلمات تظهر أكثر من غيرها . فمثلا الكلمةThe . تعتبر من أكثر الكلمات ظهورا يليها كلمة ing ثم and ثم ion الخ. لذا إذا تم ترميز الحروف والكلمات الأكثر ظهورا بعدد قليل من البت وبالتالي فان العدد الكلي من البت الذي نحتاجه لترميز الرسالة كلها سوف يقل وبالتالي أمكن ضغط البيانات.
في هذه الوحدة سنركز باختصار على أهم الوظائف التي تقوم بها طبقة التطبيق مع معرفة التقنيات التي تستخدم فيها. في نهاية هذه الوحدة سوف تكون قادرا على معرفة وظائف طبقة التقديم والتي تشمل ما يلي:
الطبقة السابعة والأخيرة من معيار OSI هي طبقة التطبيقات والتي تصنف كطبقة ثالثة من الطبقات الموجودة في جهة المستخدم (User Layers). تقوم هذه الطبقة بتقديم خدمات الشبكة (Network Serviecs) التي تم شرحها في الوحدة الأولى من الفصل الثاني وهي خدمات : الملفات, الطباعة, الرسائل, التطبيقات, وقواعد البيانات (لا تشمل وظائف هذه الطبقة البرامج الخاصة بالمستخدم مثل برامج معالجة النصوص والجداول الإلكترونية). يجب الإعلان عن الخدمات الموجودة في هذه الطبقة ومن ثم تحديد طريقة لاستخدامها, سيتم شرح ذلك في ما يلي:
عادة يتم تقديم خدمات الشبكة من أجهزة حاسب آلي تعرف بالخادم (Server). عادة يقوم هذا الخادم بالإعلان الدوري عن خدمات الشبكة المتوفرة في الوقت الحالي. يتم ذلك باستخدام عنوان الخدمة أو رقم المنفذ (Service Address/Port Number) والذي تم شرحه في طبقة النقل. هناك عدة طرق للإعلان عن خدمات الشبكة المتوفرة في خادم معين وهي كما يلي:
في هذه الطريقة يقوم الخادم بتسجيل جميع خدمات الشبكة وعناوينها في دليل (Directory). عندما يريد أي جهاز عميل (Clients) أن يحدد أي من خدمات الشبكة متوفرة الآن فإنه يقوم بسؤال الدليلز بعد ذلك يقوم الدليل بإرسال عنوان الخدمة إلى العميل.
في هذه الطريقة يقوم الخادم بإرسال رسالة دورية (Periodic Message) تشتمل على عنوان الخدمة, لتعلن عن توفر خدمة معينة من خدمات الشبكة. يمكن أيضا لأجهزة العميل المرتبطة بالشبكة أن تقوم بسؤال جهاز معين مثل الطابعة عن توفر خدمة الطباعة . باستخدام الرسائل الصادرة من الخادم تقوم أجهزة العميل ببناء جدول نشط يحتوي على جميع خدمات الشبكة التي تم الإعلان عنها وبالتالي هي متوفرة في الوقت الحالي. عادة يتم تحديد فترة زمنية محددة لتوفر أي خدمة من خدمات الشبكة. إذا انتهت هذه الفترة فإن أجهزة العميل تقوم بإلغاء خدمة الشبكة من الجدول وتعتبرها غير متوفرة حتى يتم الإعلان عنها مرة أخرى.
بعد معرفة توفر خدمة شبكة معينة عن طريق الإعلان عنها يمكن الآن استخدامها. ولكن قبل استخدامها يجب أن تكون متوفرة لنظام التشغيل المحلي الخاص بجهاز العميل. هناك عدة طرق لعمل ذلك وهي كما يلي:
في هذه الطريقة , نظام التشغيل الموجود في جهاز العميل غير مدرك لوجود أي خدمة شبكة وبالتالي عند محاولة الحصول على الخدمة (مثلا قراءة ملف من جهاز الخادم – خدمة الملفات) فإن برامج معينة يتم تركيبها في جهاز العميل تقوم باعتراض أمر القراءة قبل أن يصل إلى نظام التشغيل ومن ثم تحول الأمر وإرساله إلى خدمة الشبكة الموجودة في جهاز الخادم. نظام نوفل نتوير الذي يعمل في بيئة دوس يعمل بهذه الطريقة
في هذه الطريقة, نظام التشغيل الموجود في جهاز العميل مدرك تماما لوجود خدمات الشبكة وبالتالي هو مسئول عن إرسال الأمر إلى خدمة الشبكة الموجودة على جهاز الخادم. الخادم غير مدرك لوجود أجهزة العملاء وبالتالي بالنسبة له فان جميع أوامر طلب الخدمة تبدو له نفس الشيء سواء كان الأمر صادرا من العميل أو داخليا. نظام ويندوز إن تي يعمل بهذه الطريقة.
في هذه الطريقة, نظام التشغيل الموجود في جهاز العميل مدرك تماما لوجود خدمات الشبكة في جهاز الخادم, والخادم مدرك تماما لوجود أجهزة العملاء وبالتالي يعملان مع بعضهما البعض لتنسيق استخدام خدمة معينة من خدمات الشبكة. الشبكة مجموعات العمل (Peer-to- Peer Network) تعمل بهذه الطريقة.
كتاب المدخل إلى شبكات الحاسب الآلي .
د.م ناصر بن زيد المشاري .