بروتوكول تسليم مخطط البيانات_DDP في شبكات الحاسوب

اقرأ في هذا المقال


بروتوكول تسليم مخطط البيانات (DDP) هو عضو في مجموعة بروتوكولات شبكة (AppleTalk) وتتمثل مسؤوليتها الرئيسية، في تسليم مخططات البيانات عبر شبكة (AppleTalk) من مأخذ إلى آخر.


ما هو بروتوكول تسليم مخطط البيانات_DDP؟

بروتوكول تسليم مخطط البيانات (Datagram Delivery Protocol) (DDP): هو بروتوكول توجيه طبقة الشبكة الأساسي في مجموعة بروتوكولات (AppleTalk) التي توفر أفضل خدمة مخطط بيانات بدون اتصال بين مآخذ توصيل (AppleTalk)، كما هو الحال مع البروتوكولات مثل (TCP)، لا يتم إنشاء دائرة افتراضية أو اتصال بين اثنين من الأجهزة وبدلاً من ذلك، تتم معالجة طلب ضمان التسليم من خلال بروتوكولات الطبقة العليا لمجموعة بروتوكولات (AppleTalk).

ما هي وظائف بروتوكول تسليم مخطط البيانات_DDP؟

إرسال الحزم:

يستقبل (DDP) البيانات من عملاء مأخذ التوصيل، أيضاً يقوم بإنشاء رأس بروتوكول تسليم مخطط البيانات باستخدام عنوان الوجهة المناسب، ثم يمرر الحزمة إلى بروتوكول طبقة ارتباط البيانات.

استقبال الحزم:

يستقبل (DDP) الإطارات من طبقة ارتباط البيانات، ثم يفحص رأس بروتوكول تسليم مخطط البيانات للعثور على عنوان الوجهة ويوجه الحزمة إلى مأخذ التوصيل الوجهة.

ما هي استخدامات بروتوكول تسليم مخطط البيانات_DDP؟

لاستخدام (DDP) بشكل صريح، يمكنك فتح نقطة نهاية لهذا البروتوكول وربطها ويمكنك بعد ذلك استخدام نقطة النهاية هذه لإرسال أو استقبال البيانات في حزم منفصلة، أما بالنسبة للحزم الصادرة يقوم بروتوكول تسليم مخطط البيانات بتشكيل رأس الحزمة وتسليم الحزمة إلى ارتباط البيانات المناسب، وبالنسبة للحزم الواردة ويفحص هذا البروتوكول رأس الحزمة ويحاول تسليم أي حزمة إلى نقطة النهاية المحددة طالما أن الحزمة تفي بالمعايير التالية:

  • عنوان الجهة الصالحة.
  • النوع الافتراضي للحزمة يطابق تلك الخاصة بنقطة النهاية المستقبلة.
  • يتطابق طول الحزمة مع الطول المحدد في رأس الحزمة ولا يتجاوز الحد الأقصى لحزمة DDP.
  • تطابق المجاميع الاختبارية (إذا تم تمكين المجموع الاختباري).

إذا لم يتم استيفاء أي من هذه الشروط، يتجاهل (DDP) الحزمة دون إخطار المرسل أو المستلم بالحزمة وبالإضافة إلى ذلك، لا يحتوي بروتوكول تسليم مخطط البيانات على شرط لمطالبة المرسل بإعادة إرسال حزمة مفقودة أو تالفة.

كيفية ربط نقطة نهاية بروتوكول تسليم مخطط البيانات_DDP:

كما هو الحال مع أي نقطة نهاية قبل أن تتمكن من استخدامها لإرسال البيانات أو تلقيها، يجب عليك إقرانها بعنوان مادي وتأخذ وظيفة (OTBind) ثلاثة مطاليب وهي واحدة تحدد نقطة النهاية المراد ربطها وواحدة تطلب عنوانًا محددًا والأخرى تعيد العنوان الفعلي تم ربط (Open Transport) بنقطة النهاية.
عند ربط نقطة نهاية (DDP)، يمكنك طلب عنوان بروتوكول تسليم مخطط البيانات معين، بما في ذلك عنوان مأخذ التوصيل الثابت ويمكنك أيضًا اختيار تحديد نوع لهذا البرتوكول فقط لنقطة النهاية، وفي هذه الحالة تقوم بتعيين الحقول الأخرى لبنية عنوان (DDP) على 0 وتسمح لـ بروتوكول تسليم مخطط البيانات بتعيين مأخذ توصيل ديناميكيًا، ثم يصف الفصل “عنونة AppleTalk” تنسيقات العناوين المختلفة التي يمكنك استخدامها لتحديد عنوان نقطة النهاية.
عند ربط نقطة نهاية (DDP)، هناك بعض الاعتبارات التي يجب وضعها في الاعتبار فعلى سبيل المثال، ليس عليك تحديد مقبس نقطة النهاية ونوع بروتوكول تسليم مخطط البيانات، لكن هذا البروتوكول يتصرف بشكل مختلف بناءً على ما إذا كنت تحددهما أم لا وفيما يلي النقاط التي يجب تذكرها:

  • إذا قمت بالربط دون تحديد مأخذ توصيل، يستخدم (DDP) واحدًا معينًا ديناميكيًا؛ إذا قمت بتحديد مأخذ توصيل ويحاول بروتوكول تسليم مخطط البيانات استخدامه (مقبس مخصص بشكل ثابت).
  • إذا قمت بالربط عن طريق تحديد نوع (DDP) من 0 بمقبس معين، فإن (Open Transport) يعيّن نوع بروتوكول تسليم مخطط البيانات الخاص بنقطة النهاية إلى قيمة 11 ويمنحك هذا وصولاً خاصًا إلى المقبس، مما يعني أنه لا يمكن لأي نقطة نهاية أخرى الارتباط به.
  • إذا قمت بالربط باستخدام نوع (DDP) معين، يقوم (Open Transport) بتعيين نوع بروتوكول تسليم مخطط البيانات الخاص بنقطة النهاية إلى تلك القيمة، إذا قمت بربط نقطة نهاية بروتوكول تسليم مخطط البيانات أخرى بهذا المقبس، فيجب أن تعطيه نوعًا مختلفًا.
  • إذا قمت بالربط بعنوان (DDP-NBP) مدمج، فإن (Open Transport) تستخدم جزء (DDP) من العنوان كما هو موضح في النقطتين السابقتين وإذا نجح الربط، يقوم (Open Transport) بتسجيل اسم (NBP) على مأخذ توصيل نقطة النهاية.
  • إذا قمت بالربط بعنوان (NBP) فقط، فلا يوجد رقم مأخذ بهذا الشكل من العنوان، لذلك يستخدم (DDP) مقبسًا معينًا ديناميكيًا وإذا نجح الربط، يقوم بروتوكول تسليم مخطط البيانات بتسجيل اسم (NBP) الخاص بنقطة النهاية على هذا المأخذ ولا تحتوي نقطة النهاية على نوع هذا البروتوكول افتراضي، لذا يقوم (Open Transport) بتعيين نوع بروتوكول تسليم مخطط البيانات إلى قيمة 11وهذا له نفس التأثير كما هو موضح في الرموز النقطية السابقة.

كيفية استخدام حقل نوع DDP لتصفية تسليم الحزم:

يمكنك اختيار تصفية خدمة تسليم الحزم الخاصة بك باستخدام حقل نوع (DDP) في بنية عنوان بروتوكول تسليم مخطط البيانات الخاصة بنقطة النهاية، ثم يتم تجاهل حقل نوع هذا البروتوكول من قبل جميع البروتوكولات بخلاف بروتوكول تسليم مخطط البيانات، لذلك لا تحدد نوع (DDP) عند تمرير عنوان إلى نقطة نهاية (AppleTalk) لجميع طبقات البروتوكول فوق هذا البروتوكول.
إذا قمت بتحديد قيمة نوع (DDP) صالحة غير صفرية عند ربط نقطة نهاية، فإن (Open Transport) يستخدم هذه القيمة كنوع بروتوكول تسليم مخطط البيانات الافتراضي لنقطة النهاية هذه وذلك باستخدامها في جميع الحزم المرسلة من نقطة النهاية هذه وإذا لم تحدد قيمة نوع هذا البروتوكول أو تستخدم قيمة 0 فإن (Open Transport) تستخدم قيمة نوع (DDP) من 11 كنوع لهذا البروتوكول الافتراضي لنقطة النهاية هذه، أيضاً إذا قمت بتحديد قيمة نوع بروتوكول تسليم مخطط البيانات مختلفة لأي حزمة فردية ترسلها، فإن (Open Transport) يتجاوز نوع (DDP) الافتراضي الخاص بنقطة النهاية ويستخدم نوع (DDP) للحزمة.
عند تلقي الحزم الواردة، يعمل نوع (DDP) المحدد كعامل تصفية، لا تتلقى سوى الحزم من هذا النوع ومع ذلك، إذا قمت بربط نقطة نهاية بدون نوع بروتوكول تسليم مخطط البيانات أو بنوع هذا البروتوكول من 0، فستتلقى جميع الحزم الواردة.

كيفية استخدام خياري الإرسال الذاتي والمجموع الاختباري:

يمكنك استخدام خيار (OPT_SELFSEND) مع (DDP) لتشغيل الأوتوكلاف، مما يعني أنه عند إرسال حزمة البث، سيتم أيضًا تمرير الحزمة إلى نفس العقدة للمعالجة ولتشغيل هذا الخيار، يمكنك ضبط هذا الخيار على 1 ويكون هذا الخيار قيد التشغيل افتراضيًا.
يمكنك استخدام خيار (OPT_CHECKSUM) عند إرسال الحزم لتمكين حساب المجاميع الاختبارية ويتم احتساب القيمة عند إرسال الحزمة، أيضاً عند استلام الحزمة، يحسب (DDP) المجموع الاختباري للحزمة وإذا لم يتطابق المجموع الاختباري المحسوب مع المجموع الاختباري للحزمة، يفترض بروتوكول تسليم مخطط البيانات أن الحزمة تالفة ويتجاهل الحزمة دون إخطار المرسل أو المستلم.

كيفية استخدام حزم الصدى:

يمكنك استخدام بروتوكول (AppleTalk Echo Protocol)هو (AEP) وهو عميل (DDP)، لقياس أداء شبكة (AppleTalk) أو لاختبار وجود عقدة معينة وإن معرفة السرعة التقريبية التي يوفر بها إنترنت (AppleTalk) الحزم مفيد في ضبط سلوك تطبيق يستخدم بروتوكول (AppleTalk) عالي المستوى، مثل (ATP) و (ADSP).
يتم تنفيذ (AEP) في كل عقدة كعملية عميل (DDP) يشار إليها باسم (AEP Echoer) ولاستخدام، يمكنك استخدام وظيفة (OTSndUData) لإرسال حزمة، تسمى حزمة طلب الارتداد، إلى العقدة الهدف ويمكنك استخدام وظيفة (OTRcvUData) لتلقي حزمة استجابة، تسمى حزمة رد echo.
يستخدم (AEP) المقبس المحدد ثابتًا رقم 4 والمعروف باسم مقبس (echoer)، للاستماع إلى حزم الصدى، أيضاً عندما تتلقى نقطة النهاية المرتبطة بهذا المقبس حزمة، يفحص (AEP) نوع (DDP) للحزمة وتحدد القيمة 4 أنها حزمة (AEP)، ثم تقوم (AEP) بفحص البايت الأول من جزء بيانات الحزمة وتحدد القيمة 1 الحزمة كحزمة طلب صدى (تم إرسالها من نقطة النهاية الخاصة بك) وتحدد القيمة 2 الحزمة كحزمة رد صدى (يتم إرجاعها إلى نقطة النهاية الخاصة بك من العقدة البعيدة).
لاختبار وجود عقدة معينة، يمكنك التكرار من خلال سلسلة من العناوين إرسال عدة حزم وفي حالة وجود عقدة، يرسل (AEP) حزمة مرة أخرى؛ إذا كانت العقدة غير موجودة، فلن يتم إرجاع أي حزمة وتأكد من إرسال عدة حزم لكل عنوان عقدة في حالة فقد واحدة أو أكثر في الإرسال.
لقياس أداء الشبكة، تحتاج إلى معرفة وقت الرحلة ذهابًا وإيابًا لحزمة بين عقدتين على إنترنت (AppleTalk) ويعتمد هذا على عوامل مثل تكوين الشبكة وعدد أجهزة التوجيه والجسور التي يجب أن تتجاوزها الحزمة ومقدار حركة المرور على الشبكة ومع تغير هذه التغييرات، يتغير وقت إرسال الحزمة وتتيح لك خيارات بروتوكول (ATP) تحديد عدد مرات إعادة المحاولة وأرقام الفواصل الزمنية التي يمكنك تقييم قيمها المثلى بشكل أفضل إذا كنت تعرف متوسط وقت الرحلة ذهابًا وإيابًا للحزمة على شبكة التطبيق الخاص بك.

فيما يلي بعض الإرشادات العامة لاستخدام (AEP Echoer) لقياس أداء الشبكة:

  • استخدم الحد الأقصى لحجم الحزمة الذي تخطط لاستخدامه في تطبيقك.
  • اقبل حزم رد الصدى فقط من العقدة الهدف وقم بتعيين حقل نوع (DDP) لنقطة النهاية الخاصة بك على 4 لتصفية جميع الحزم باستثناء حزم (AEP).
  • أرسل أكثر من حزمة واحسب متوسط وقت الذهاب والإياب وعادةً، يجب أن تتلقى حزمة رد صدى في غضون بضعة أجزاء من الثانية على شبكة LAN وفي غضون ثوانٍ قليلة على شبكة WAN وإذا لم تحصل على رد بعد حوالي 10 ثوانٍ، فيمكنك افتراض أن (DDP) قد أسقط أو فقد حزمة طلب الارتداد ويمكنك إعادة إرسال الحزمة.
    تحتوي حزمة رد الارتداد على نفس البيانات التي أرسلتها في حزمة طلب الارتداد وإذا قمت بإرسال حزم متعددة لتحديد متوسط الوقت المستغرق وللتعويض عن احتمالية فقدان الحزم أو فقدها، فيجب عليك تضمين بيانات مختلفة في جزء البيانات لكل حزمة، ثم يتيح لك ذلك التمييز بين الردود على حزم الطلبات المختلفة في حالة عدم تسليم بعض الردود بنفس الترتيب الذي أرسلته بها أو في حالة إسقاط بعض الحزم.
  • ضع بين قوسين الكود الذي يرسل ويستقبل حزم الصدى باستدعاء وظيفة (OTGetTimeStamp) وهذه الوظيفة تعطي دقة أفضل بكثير من وظيفة (TickCount).

المصدر: Using DDPDatagram Delivery Protocol OverviewDatagram Delivery Protocol (DDP)


شارك المقالة: