طبقة الشبكة

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

طبقة الشبكة

هي ثالث طبقة من الطبقات السبعة لنموذج ال OSI model (Open Systems Interconnection) تقع فوق الطبقة الفيزيائية Physical Layer وطبقة ربط المعطيات Data Link Layer، وهي طبقة التوجيه والمسؤولة عن عنونة الشبكة بشكل عام واتصال الشبكات ببعضها ونقل البيانات، تدعى أيضا بـ internetwork layer لأنها تزود بوظائف تسمح بأنماط مختلفة من الشبكات.. و ثاني طبقة من الطبقات الخمسة لنموذج DoD (Department of Defense) وتدعى في هذا النوذج بـ طبقة الإنترنت Internet Layer. تعتبر هذه الطبقة مسؤولة عن عنونة الرسائل وترجمة العناوين المنطقية إلى عناوين فيزيائية، وحل المشاكل المرتبطة بكثافة تدفق الشبكة (تبديل الرزم، التوجيه وزيادة التحميل)، وتعيين (إعداد، إيجاد) مسارات مناسبة بين العقد في الشبكة.(توجيه الرسائل لأهدافها النهائية (Destinations) باستخدام المسار الأفضل).... إذاً بعبارة أخرى طبقة الشبكة تدير حركة الرزم (Packets) عبر الشبكة وتحرص على وصولها إلى مكانها المطلوب وفي حال لم تصل تلك الحزم تستقبل تقريرا بالخطأ..

الترابط (Connectivity)[عدل]

طبقة الشبكة تؤمن الترابط (Connectivity)بين جهازين مختلفين على الشبكة..ترابط نهاية لـ نهاية (end to end). يتطلب الترابط أمرين مهميـن :

  • العنونة (Addressing)
  • التوجيه والإرسال (Routing & Forwording) (سنتحدث عنهما لاحقا..)

هناك طريقتين مختلفتين لتأمين الترابط بين جهازين :

  1. شبكات الدارات الافتراضية.(Virtual Circuits Networks)
  2. شبكات حزم المعلومات.(Datagrams Networks)
      • أولاً : الدارات الافتراضية (VC) :

    الاتصال بين جهازين يملك مسار واحد ثابت يعني بوجود عدة موجهات يمكن من خلالها الوصل بين جهازين على الشبكة، يتم اختيار مسار واحد عبر الشبكة يجري من خلاله الترابط وعمليات الإرسال والاستقبال الخاصة بأمر معين

        • كيف يتم ذلك ؟

    يقوم المرسل بتقسيم البيانات إلى طرود ويرتبها بشكل معين، معطيا كل طرد عنوانه وعنوان المستقبل. عند وصول الطرد الأول إلى أحد الموجهات يقوم هذا الموجه بإعطائه رقم خاص VCn ليحدد له الوجهة الجديدة وبالتالي عندما ينتقل من موجه إلى موجه تتغير قيمة ال VCn..وهكذا تسلك باقي الطرود نفس المسار الذي سلكه الطرد الأول.. إذا بإمكاننا القول أن هذا النوع من الشبكات (VC) يؤمن الوثوقية ووصول الطرود بشكل مرتب ونوعا ما يتم حجز دارة منطقية ثابتة للإرسال.

      • ثانياً : حزم المعلومات (Datagram) :

    في هذا النوع يكون للطرود (Packets) استقلالية تامة في اختيار المسار، حيث يملك كل طرد مجموعة خاصة من معلومات التحكم. الإرسال لا يكون محصور في مسار واحد وإنما عبر عدة مسارات. من مساوئ هذه الطريقة إمكانية ضياع الطرود ووصول الطرود بشكل غير مرتب..WIKIPEBIA.ORG


    وظائف طبقة الشبكة[عدل]


    - التوجيه (Routing)[عدل]


    إيجاد مسار مناسب للبيانات من المرسل إلى المستقبل. يعني نقل المعطيات عبر سلسلة من الشبكات المترابطة.. وهذه هي مهمة الوظائف والخوارزميات - الموجودة في طبقة الشبكة – والتي تقوم بمهمة استقبال الرزم القادمة من مصادر مختلفة وتحدد أهدافها النهائية (Destination) وبعد ذلك تقرر إلى أين يجب أن ترسل هذه الرزم والتي من المفترض أن تذهب له...
    · خوارزميات التوجيه
    هي منطق يستخدمه الموجه (Router) ليقرر من أجل كل رزمة قادمة إلى أي منفذ (خط) خرج يجب أن تنقل له هذه الرزمة، الخوارزمية توضح كيف أن التوجيه يطبق عند نهاية كل محطة ومن قبل الموجه، هذه الخوارزمية تكون محدودة بوظيفة التوجيه من طبقة الشبكة متجاهلة باقي وظائف هذه الطبقة (التجزئة، التحكم بالتدفق)...
    يوجد خوارزميتان أساسيتان للتوجيه :

    1. distance-vector

      كل موجه يتبادل معلومات الشبكة الداخلية مع الموجه المجاور له (المتصل معه بشكل مباشر) في فترات منظمة(كل 45 ثانية مثلاً)..
      آلية عمل الخوارزمية كل موجه يرسل معلوماته الخاصة عن شبكته المنتمي إليها إلى جيرانه (اتصال مباشر معهم) وكل موجه يقوم بإضافة هذه المعلومات لمعلوماته الخاصة ومن ثم يرسل المعلومات المحدثة (الجديدة) لجيرانه...و بالتالي أول موجه سيتعرف على جيران جيرانه...
      لكن ما هي هذه المعلومات ؟!!
      كل موجه يضيف المعلومات لجدول التوجيه (Routing Tabel)الخاص به..

      Network ID

      Cost

      Next Hop

        

       

       

       

       

       

      Network ID المستقبل النهائي للرزمة..(final destination) Cost عدد العقد من الموجه لحالي إلى المستقبل النهائي.. Next Hop الموجه التالي التي يجب على الرزمة التوجه إليه..

    2. Link-State
    كل موجه يتبادل المعلومات مع كافة الموجهات في الشبكة عندما يوجد تغيير(مثلا لم يستقبل أحد الموجهات المجاورة رد بحالة إحدى الرسائل)...

    هنا كلفة الرابط (Link Cost) تكون عدد هو مجموع عدد من العوامل (traffic level, security level, packet delay,)... كلفة الرابط تكون من الموجه إلى شبكة تصله بموجه آخر.

    Advertiser

    Network ID

    Cost

    Neighbour:

     

      

     

     

     

     

     

     

    Advertiser : الموجه المرسل.
    Network :عنوان الشبكة المستقبلة.
    Cost : كلفة الرابط إلى الجار.
    Neighbour :عنوان الجار الموجه.
    ما الفرق بين التوجيه (Routing)و الإرسال (Forwarding) ؟؟!!
    الإرسال: نقل الطرود من مداخل الموجه إلى مخارجه. خوارزمية الإرسال تقوم بتحديد عنوان خط الخرج الواجب إرسال الطرود إليه.
    التوجيه :يحدد المسار المسلوك من قبل الطرد الذي يصل بين المرسل والمستقبل.
    بروتوكولات التوجيه في الإنترنت :

    1. RIP (Route Information Protocol)

      وهو أحد خوارزميات التوجيه المستخدمة سابقا في الإنترنت يعتمد على التوجيه (Distance Vector) غير آمن (weak security) لكنه ما زال مستخدما بشكل واسع في الشبكات الصغيرة

    2. OSPF (Open Shortest Path First)

      وهو خوارزمية توجيه مستخدمة الآن في الإنترنت يعتمد على التوجيه (Link State). يقوم بتقسيم الشبكة لعدة أقسام :

      • Autonomous Systems (AS): مجموعات من الsubnets
      • Areas: مجموعات من الموجهات المتضمنة في AS.
      • Backbone Areas مجموعات من الموجهات المتصلة بـ(Areas).

      يتميز عن ال RIP بـ
      1. الأمان (Security)جميع الرسائل تتميز بالوثوقية والسرية.
      2. السماح بمسارات متعددة (multi same-cost Path)
      3. دعم للـ (unicast & multicast)
      4......

    3. BGP (Border Gateway Protocol)

    يعطي صلاحيات أوسع للـ AS.


    - العنونة المنطقية (Logical Addressing)[عدل]


    تعتبر هذه الوظيفة من أهم وظائف هذه الطبقة. عند إنشاء اتصال بين أي حاسبين فيجب أن يكون لكل منهما عنوان فريد في العالم.
    هذا العنوان اسمه بروتوكول الإنترنت ال IP address(RFC 791)المؤلف من 32 بت أي 4 بايت.
    يكتب على الشكل التالي بالنظام العشري : 123.223.3.16 IP:
    وهذا يكافئ بالتظام الثنائي :.00000011.0001000011011111.11110110 IP:
    كما ذكرت في بداية الموضوع أن مهمة طبقة الشبكة عنونة الرسائل وترجمة العناوين المنطقية إلى فيزيائية..لذلك العنوان الفيزيائي
    يكون بالشكل : 5A.01.60.8c.01.03
    كل حاسب في العالم يملك آي بي IP مختلف عن الآخر... بل وحتى كل طرفية (طابعة، ماسح...)
    إذا فهذا الرقم هو في النهاية عنوان يستخدم للوصول إلى أي جهاز أو موجه أو...
    عنوان الIP مؤلف من جزئين :
    1- جزء لعنوان الشبكة NetID
    2- جزء لعنوان الحاسب على الشبكة HostID
    يوجد عدة طرق لتقسيم هذه البتات الـ 32 على الجزئين منها ال Classes, و SubnetMask.


    IPv6 و RFC 2460 : يتميز هذا الإصدار عن سابقه ال IP (IPv4) بعدة ميزات من أهمها :

    1. يستخدم هذا النوع بروتوكولات عناوين تسمح بفضاء عناوين كبير يكفي لعنونة كل متر مربع من سطح الكرة الأرضية. هذا البروتوكول مكون من 128 بت.
    2. وضع خيارات منفصلة في ترويسات اختيارية (تسريع عمل الموجه)
    3. إمكانية إعطاء عنوان IPv6 ديناميكيا
    4. يؤمن مرونة أكبر (Anycast)
    5. ميزات تدعم التوثيق والسرية
    6. .....

    - التجزئة والتجميع (Fragmentation & Reassembly)[عدل]


    أسلاك (كبلات) الشبكة تملك ما يسمى بـ (حجم النقل الأعظمي) MTU وRFC 3988 وهي اختصار لـ(Max Transfer size Unit) يعني أعظم كمية من المعلومات التي من الممكن أن تمر عبر السلاك دفعة واحدة وبالتالي عندما يتم إرسال طرد معين حجمه أكبر من ال MTU فإن طبقة الشبكة هي المسؤوولة عن تجزئة هذه الطرد إلى أكثر من جزء.. حيث يتم إرسال هذه الأجزاء على التوالي الوحد تلو الآخر..وهذه ما يدعى بالتجزئة لننتقل إلى المستقبل الذي يقوم باستقبال هذه الأجزاء الجزء تلو الآخر.. وبالتالي طبقة الشبكة عند وصول هذه الأجزاء هي المسؤولة عن تجميعها في طرد واحد..

    ملاحظة 1 : إذا تم إرسال طرد معين من جهاز لآخر ولنفرض أن الطرد سيمر بعدة موجهات (routres) فإنه ليس من الضروري إذا تم تجزئة الطرد عند موجه معين أو عند الإرسال أن يبقى مجزءا حتى يصل للمستقبل لأنه من الممكن أن تختلف أنواع الكبلات التي تصل بين الموجهات وبالتالي يختلف حجم النقل الأعظمي (MTU) من رابط لآخر.

    ملاحظة 2 : عندما يقوم موجه معين بتجزئة طرد معين فهل من المعقول أن يستمر بتجزئة كل الطرود القادمة ؟؟!! بالتأكيد لا، فهو عندما يطبق عملية التجزئة على طرد معين يقوم بإرسال رسالة ICMP إلى الهوست أو الموجه الذي قدم منه الطرد ويخبره بهذه الرسالة بحجم النقل الأعظمي الذي لديه وبالتالي سيقوم من وصلت له هذه الرسالة في المستقبل عند إرسال أي طرد بالأخذ بعين الاعتبار حجم النقل الأعظمي عند ذلك الموجه..


    - معالجة الأخطاء[عدل]


    للحديث عن معالجة الأخطاء يجب الحديث عن الICMP (Internet Control Message Protocol)
    ICMP RFC 792
    يستخدم من قبل الموجهات والحواسيب لكي تبقى على تواصل مع معلومات مستويات الشبكة.
    إن أي خطأ يحدث في الشبكة عند أي موجه من شأنه أن يولد رسائل ICMP.
    رسائل الـ ICMP ترسل فقط لمصدر الطرود التي ولدت الأخطاء(وبالتالي ولدت الرسائل) حيث تحمل هذه الرسائل مع ال IP.

    ترويسة رسالة الICMP

    0 --> Type  -->7bit

    8 -->  Code   -->15bit

    ICMP Message

    Rest  Of  ICMP  Header

    ICMP Data (Orginal IP Header + 8 bytes Datagrams)

    على سبيل المثال عند وصول طرد حجمه كبير أكبر من حجم النقل الأعظمي يقوم الموجه الذي تولد الخطأ عنده بإرسال رسالة ICMP إلى المرسل
    معلما إياه بالخطأ الحاصل ويخبره بحجم النقل الأعظمي، وبالتالي يقوم المرسل في المرات القادمة بإرسال طرود متناسبة مع هذه ال MTU.

    كما يستخدم هذا البروتوكول في تعليمات ال Ping.


    الإرسال المتعدد[عدل]


    هنا يتم استخدام بوتوكول يسمى بـ IGMP وموجود في (RFC 2236) في هذه الطبقة وهو اختصار لInternet Group Management Protocol تنفذ عملية الإرسال المتعدد التوجيه وفق موجهات خاصة والتي قد لا يمكن جمعها مع الموجهات العادية. تقوم هذه الموجهات ببث متعدد مرة كل دقيقة عبر طبقة ربط المعطيات لكل الأجهزة الموجودة في شبكتها المحلية (عنوان 224.0.0.1) طالبة منها تقريراً عن المجموعات التي تنتمي إليها إجراءاتها حالياً ويعيد كل جهاز تقريراً يحوي كل عناوين (الصف D) التي تهمه. تستخدم رزم الاستفسارات والأجوبة هذه بروتوكول يسمى IGMP(internet group management protocol) و له فقط نوعين من الرزم : رزمة سؤال ورزمة جواب ولكل منهما شكل بسيط وثابت يحوي بعض المعطيات التحكمية في البايت الأولى من حقل المعطيات الفعلية فيه وعنوان (الصف D) في البايت الثانية.


    مراجع[عدل]