مفاهيم نموذج التفاعل

لا يكون نموذج البيانات (DM) للعقدة ذا صلة إذا لم نتمكن من إجراء عمليات. عليها. يحدِّد نموذج التفاعل (IM) علاقة نموذج البيانات (DM) للعقدة بنموذج البيانات للعقد الأخرى: وهي لغة شائعة للتواصل بين نماذج البيانات.

تتفاعل العُقد مع بعضها البعض من خلال ما يلي:

  • قراءة السمات والأحداث والاشتراك فيها
  • الكتابة إلى السمات
  • استدعاء الأوامر

عندما تنشئ عقدة تسلسل اتصال مشفر مع عقدة، تشكل علاقة تفاعل. قد تكون التفاعلات تتكون من معاملة واحدة أو أكثر، وتتكون "المعاملات" من واحد أو أكثر من الإجراءات التي يمكن فهمها باعتبارها رسائل على مستوى الرسائل الفورية بين العُقد.

التسلسل الهرمي لنموذج التفاعل
الشكل 1: التسلسل الهرمي لنموذج التفاعل

يمكن اتّخاذ إجراءات متعددة بشأن المعاملات، مثل "إجراء طلب القراءة" تطلب سمة أو حدث من عقدة أخرى، أو استجابتها، إجراء بيانات التقرير، الذي ينقل المعلومات مرة أخرى من الخادم إلى البرنامج.

الجهات التي بدأت تنفيذ السياسات والأهداف

العقدة التي تبدأ أي معاملة هي المبدئ، في حين أن العقدة التي هي الهدف. يكون بادئ التشغيل هو عادةً مجموعة العملاء الهدف هو مجموعة خادم. ومع ذلك، هناك استثناءات لهذا النمط، مثل كما هو الحال في تفاعلات الاشتراكات التي تم تحليلها بالتفصيل في هذا القسم

Groups

قد تنتمي العُقد في Matter إلى مجموعة. مجموعة من الأجهزة هي آلية لمعالجة الرسائل وإرسالها إلى أجهزة متعددة نفس الإجراء في وقت واحد. تشترك جميع العُقد في مجموعة في المجموعة نفسها ID، وهو عدد صحيح 16 بت.

لإجراء اتصالات على مستوى المجموعة (البثّ الجماعي)، يستفيدMatter من رسائل IPv6 Multicast ، ويحصل جميع أعضاء المجموعة على عنوانMulticast نفسه.

المسارات

عندما نرغب في التفاعل مع أي سمة أو حدث أو أمر، يجب علينا تحديد المسار لهذا التفاعل: موقع السمة أو الحدث أو Command في التسلسل الهرمي لنموذج البيانات للعقدة. التنبيه هو أن المسارات قد أيضًا استخدام المجموعات أو عوامل تشغيل حرف البدل لمعالجة عدة عُقد أو في الوقت نفسه، تجميع هذه التفاعلات وبالتالي تقليل عدد الإجراءات.

هذه الآلية مهمة لتحسين استجابة المراسلات. بالنسبة على سبيل المثال، عندما يريد المستخدم إيقاف تشغيل كل الأضواء، يمكن للمساعد الصوتي إنشاء تفاعل منفرد مع العديد من المصابيح داخل مجموعة بدلاً من تسلسل التفاعلات الفردية. إذا أنشأ المُبدئ بيانات فردية ويمكن أن تؤدي التفاعلات مع كل ضوء إلى حدوث وقت استجابة ملحوظ للبشر سرعة استجابة الجهاز ويتسبب هذا التأثير في تفاعل الأجهزة المتعددة مع مع وجود تأخيرات مرئية بينهما. ويُشار إلى ذلك غالبًا باسم "تأثير الفشار".

يمكن تجميع مسار في Matter باستخدام أحد الخيارات أدناه:

<path> = <node> <endpoint> <cluster> <attribute | event | command>
<path> = <group ID>        <cluster> <attribute | event | command>

وضمن الوحدات الأساسية للمسار، قد يتضمّن endpoint وcluster أيضًا عوامل تشغيل أحرف البدل لاختيار أكثر من مثيل واحد للعقدة

المحتوى المحدَّد زمنيًا وغير المحدَّد زمنيًا

هناك طريقتان لتنفيذ معاملة كتابة أو استدعاء: مُحدَّدة بوقت و غير محدَّدة بوقت. تُحدِّد المعاملات المحدَّدة زمنيًا الحدّ الأقصى للمهلة. كتابة/استدعاء الإجراء المراد إرساله. الغرض من هذه المهلة هو منع هجوم اعتراضي على المعاملة. وهو صالح بشكل خاص للأجهزة التي بوابة الوصول إلى الأصول، مثل فتحات المرآب والأقفال

من المفيد فهم طريقة التعامل مع المعاملات المحدَّدة زمنيًا يمكن أن تحدث فيه وأهمية المعاملات المحددة زمنيًا.

هجوم الاعتراض

يتبع هجوم الاعتراض النمط التالي:

  1. ترسل نبيلة رسالة أولية إلى يوسف، مثل "إجراء طلب كتابة".
  2. يعترض طريق Eve الرسالة وتمنع يوسف من تتلقاها، مثلاً من خلال نوع من أنواع التشويش الإذاعي.
  3. يتم إرسال رسالة ثانية عندما لا تتلقى نبيلة ردًّا من خالد.
  4. اعترضت "إيفا" الرسالة مرة أخرى ومنعت "بوب" من تلقّيها.
  5. ترسل Eve أول رسالة تم اعتراضها إلى خالد، كما لو كانت واردة من أليس.
  6. يرسل أمجد الرد إلى نبيلة (وغير ذلك).
  7. تحمل Eve الرسالة الثانية التي تم اعتراضها لإعادة التشغيل في وقت لاحق. نظرًا لأن يوسف لم يسبق له فعل ذلك تم استلام الرسالة الثانية الأصلية التي تم اعتراضها من نبيلة، فسيتم قبول بها. تمثّل هذه الرسالة اختراقًا أمنيًا عندما ترمّز الرسالة مثل "فتح القفل".

لمنع هذه الأنواع من الهجمات، تحدّد "الإجراءات الزمنية" حدًا أقصى للمعاملة. المهلة في بداية المعاملة. حتى إذا تمكنت Eve من تنفيذ الخطوات الست الأولى من متجه الهجوم، فلن يتمكن من إعادة تشغيل الرسالة في الخطوة 7 بسبب انتهاء مهلة المعاملة.

تؤدي المعاملات المحدَّدة بوقت إلى زيادة مستوى التعقيد وعدد الإجراءات. ومن ثم فهي لكل معاملة، وإنما للعمليات المهمة فقط على الأجهزة التي تتحكّم في مواد العرض المتعلّقة بالأمان والخصوصية المادية أو الافتراضية

الرسومات التجريدية لحزمة تطوير البرامج (SDK)

تتضمن أقسام الاطّلاع على المعاملات كتابة المعاملات المعاملات التي تم استدعاءها نظرة عامة عالية المستوى على إجراءات نموذج التفاعل التي ينفذها SDK.

لا يُجري المطوّر الذي ينشئ منتجًا يستخدم حزمة Matter SDK عادةً عمليات طلب لتنفيذ الإجراءات مباشرةً، بل يتم تجميع الإجراءات من خلال وظائف حزمة SDK التي ستضمّنها في تفاعل. ومع ذلك، فإن فهم إجراءات الرسائل الفورية مهم لتزويد المهندس بتجربة الكفاءة في استخدام إمكانات "Matter" بالإضافة إلى والتحكم في تنفيذ حزمة تطوير البرامج (SDK).