মিথস্ক্রিয়া মডেল ধারণা

একটি নোডের ডেটা মডেল (DM) প্রাসঙ্গিক নয় যদি আমরা তাদের উপর অপারেশন করতে না পারি। ইন্টারঅ্যাকশন মডেল ( আইএম ), অন্যান্য নোডের ডিএম-এর সাথে একটি নোডের ডিএম সম্পর্ককে সংজ্ঞায়িত করে: ডিএম-এর মধ্যে যোগাযোগের জন্য একটি সাধারণ ভাষা।

নোড একে অপরের সাথে যোগাযোগ করে:

  • গুণাবলী এবং ঘটনা পড়া এবং সদস্যতা
  • গুণাবলী লেখা
  • আদেশ আহ্বান

যখনই একটি নোড অন্য নোডের সাথে একটি এনক্রিপ্ট করা যোগাযোগের ক্রম স্থাপন করে, তখন তারা একটি ইন্টারঅ্যাকশন সম্পর্ক গঠন করে। মিথস্ক্রিয়াগুলি এক বা একাধিক লেনদেনের সমন্বয়ে গঠিত হতে পারে এবং লেনদেনগুলি এক বা একাধিক ক্রিয়া দ্বারা গঠিত যা নোডের মধ্যে IM-স্তরের বার্তা হিসাবে বোঝা যায়।

ইন্টারঅ্যাকশন মডেলের অনুক্রম
চিত্র 1: ইন্টারঅ্যাকশন মডেলের শ্রেণিবিন্যাস

লেনদেনে বেশ কিছু অ্যাকশন সমর্থিত, যেমন একটি রিড রিকোয়েস্ট অ্যাকশন যা অন্য নোড থেকে একটি অ্যাট্রিবিউট বা ইভেন্টের জন্য অনুরোধ করে, অথবা এর প্রতিক্রিয়া, রিপোর্ট ডেটা অ্যাকশন, যা সার্ভার থেকে ক্লায়েন্টের কাছে তথ্য ফিরিয়ে আনে।

সূচনাকারী এবং লক্ষ্য

যে নোডটি একটি লেনদেন শুরু করে সেটি হল ইনিশিয়েটর , আর যে নোডটি সাড়া দেয় সেটি হল টার্গেট । সাধারণত ইনিশিয়েটর হল একটি ক্লায়েন্ট ক্লাস্টার এবং টার্গেট হল একটি সার্ভার ক্লাস্টার। যাইহোক, এই প্যাটার্নের ব্যতিক্রম আছে, যেমন সাবস্ক্রিপশন ইন্টারঅ্যাকশন এই বিভাগে আরও নিচে বিশ্লেষণ করা হয়েছে।

গোষ্ঠী

নোড ইন Matter একটি গ্রুপের অন্তর্গত হতে পারে। ডিভাইসের একটি গ্রুপ হল একই অ্যাকশনে একাধিক ডিভাইসে বার্তা পাঠানো এবং পাঠানোর একটি প্রক্রিয়া। একটি গ্রুপের সমস্ত নোড একই গ্রুপ আইডি ভাগ করে, একটি 16-বিট পূর্ণসংখ্যা।

গ্রুপ-লেভেল কমিউনিকেশন ( গ্রুপকাস্ট ) সম্পন্ন করতে, Matter আইপিভি6 Multicast মেসেজ ব্যবহার করে এবং গ্রুপের সকল সদস্যদের একই Multicast ঠিকানা থাকে।

পথ

যখনই আমরা একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের সাথে ইন্টারঅ্যাক্ট করতে চাই, তখন আমাদের অবশ্যই এই মিথস্ক্রিয়াটির জন্য পাথ নির্দিষ্ট করতে হবে: একটি নোডের ডেটা মডেল হায়ারার্কিতে একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের অবস্থান। সতর্কতা হল যে পাথগুলি একই সাথে একাধিক নোড বা ক্লাস্টারগুলিকে সম্বোধন করতে গ্রুপ বা ওয়াইল্ডকার্ড অপারেটর ব্যবহার করতে পারে, এই মিথস্ক্রিয়াগুলিকে একত্রিত করে এবং এইভাবে ক্রিয়াগুলির সংখ্যা হ্রাস করে।

যোগাযোগের প্রতিক্রিয়াশীলতা বাড়ানোর জন্য এই প্রক্রিয়াটি গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী সমস্ত লাইট বন্ধ করতে চায়, তখন একজন ভয়েস সহকারী পৃথক ইন্টারঅ্যাকশনের একটি ক্রমের পরিবর্তে একটি গ্রুপের মধ্যে কয়েকটি আলোর সাথে একটি একক মিথস্ক্রিয়া স্থাপন করতে পারে। যদি ইনিশিয়েটর প্রতিটি আলোর সাথে স্বতন্ত্র মিথস্ক্রিয়া তৈরি করে, তবে এটি ডিভাইসের প্রতিক্রিয়াশীলতায় মানব-বোধগম্য লেটেন্সি তৈরি করতে পারে। এই প্রভাবের কারণে একাধিক ডিভাইস তাদের মধ্যে দৃশ্যমান বিলম্ব সহ একটি কমান্ডে প্রতিক্রিয়া দেখায়। এটি প্রায়ই "পপকর্ন প্রভাব" হিসাবে উল্লেখ করা হয়।

Matter একটি পথ নীচের বিকল্পগুলির মধ্যে একটি ব্যবহার করে একত্রিত করা যেতে পারে:

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

এবং এই পাথ বিল্ডিং ব্লকগুলির মধ্যে, endpoint এবং cluster একাধিক নোড উদাহরণ নির্বাচন করার জন্য ওয়াইল্ডকার্ড অপারেটর অন্তর্ভুক্ত থাকতে পারে।

টাইমড এবং আনটাইমড

একটি লিখুন বা আমন্ত্রণ লেনদেন সম্পাদন করার দুটি উপায় আছে: টাইমড এবং আনটাইমড । টাইমড লেনদেনগুলি পাঠানোর জন্য লিখতে/আমন্ত্রণ জানানোর জন্য সর্বাধিক সময়সীমা নির্ধারণ করে। এই টাইমআউটের উদ্দেশ্য হল লেনদেনের উপর একটি ইন্টারসেপ্ট অ্যাটাক প্রতিরোধ করা। গ্যারেজ ওপেনার এবং লকগুলির মতো সম্পদগুলিতে গেট অ্যাক্সেস করে এমন ডিভাইসগুলির জন্য এটি বিশেষভাবে বৈধ৷

টাইমড লেনদেন বোঝার জন্য কীভাবে ইন্টারসেপ্ট অ্যাটাক ঘটতে পারে এবং কেন টাইমড লেনদেনগুলি গুরুত্বপূর্ণ তা বোঝা দরকারী।

দ্য ইন্টারসেপ্ট অ্যাটাক

একটি ইন্টারসেপ্ট অ্যাটাক নিম্নলিখিত প্যাটার্ন আছে:

  1. এলিস ববকে একটি প্রাথমিক বার্তা পাঠায়, যেমন একটি লেখার অনুরোধ অ্যাকশন।
  2. ইভ, একজন ম্যান-ইন-দ্য-মিডল, বার্তাটি আটকায় এবং ববকে এটি গ্রহণ করতে বাধা দেয়, উদাহরণস্বরূপ কিছু ধরণের রেডিও জ্যামিংয়ের মাধ্যমে।
  3. অ্যালিস, ববের কাছ থেকে কোনও প্রতিক্রিয়া না পেয়ে, একটি দ্বিতীয় বার্তা পাঠায়।
  4. ইভ আবার বাধা দেয় এবং ববকে এটি গ্রহণ করতে বাধা দেয়।
  5. ইভ ববকে প্রথম বাধা দেওয়া বার্তা পাঠায়, যেন এটি এলিস থেকে আসছে।
  6. বব অ্যালিস (এবং ইভ) কে প্রতিক্রিয়া পাঠায়।
  7. পরবর্তী রিপ্লে করার জন্য ইভ দ্বিতীয় আটকানো বার্তাটি ধরে রেখেছে। যেহেতু বব কখনই অ্যালিসের কাছ থেকে আসল দ্বিতীয় বাধাপ্রাপ্ত বার্তা পায়নি, তাই এটি গ্রহণ করবে। এই বার্তাটি একটি নিরাপত্তা লঙ্ঘনের প্রতিনিধিত্ব করে যখন বার্তাটি "ওপেন লক" এর মতো একটি কমান্ড এনকোড করে।

এই ধরনের আক্রমণ প্রতিরোধ করার জন্য, Timed Actions লেনদেনের শুরুতে সর্বোচ্চ লেনদেনের সময়সীমা সেট করে। এমনকি যদি ইভ আক্রমণ ভেক্টরের প্রথম ছয়টি ধাপ কার্যকর করতে পারে, তাহলে লেনদেনের সময়সীমা শেষ হওয়ার কারণে এটি 7 ধাপে বার্তাটি পুনরায় চালাতে সক্ষম হবে না।

সময়োপযোগী লেনদেন জটিলতা এবং কর্মের সংখ্যা বৃদ্ধি করে। এইভাবে প্রতিটি লেনদেনের জন্য এগুলি সুপারিশ করা হয় না, তবে শুধুমাত্র সেই ডিভাইসগুলির সমালোচনামূলক ক্রিয়াকলাপগুলি যা শারীরিক বা ভার্চুয়াল নিরাপত্তা এবং গোপনীয়তা সম্পদের উপর নিয়ন্ত্রণ করে৷

SDK বিমূর্ততা

লেনদেন পড়ুন , লেনদেন লিখুন এবং লেনদেন আহ্বান করুন বিভাগগুলি SDK দ্বারা সম্পাদিত ইন্টারঅ্যাকশন মডেল অ্যাকশনগুলির একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে।

Matter এসডিকে ব্যবহার করে এমন একটি পণ্য তৈরি করা ডেভেলপার সাধারণত সরাসরি অ্যাকশন চালানোর জন্য কল করে না; অ্যাকশনগুলিকে SDK ফাংশন দ্বারা বিমূর্ত করা হয় যা সেগুলিকে একটি ইন্টারঅ্যাকশনে আবদ্ধ করবে। যাইহোক, IM অ্যাকশন বোঝা গুরুত্বপূর্ণ Matter ক্ষমতা, সেইসাথে SDK বাস্তবায়নের উপর সূক্ষ্ম নিয়ন্ত্রণ প্রকৌশলীকে একটি ভাল দক্ষতা প্রদান করতে।

,

একটি নোডের ডেটা মডেল (DM) প্রাসঙ্গিক নয় যদি আমরা তাদের উপর অপারেশন করতে না পারি। ইন্টারঅ্যাকশন মডেল ( আইএম ), অন্যান্য নোডের ডিএম-এর সাথে একটি নোডের ডিএম সম্পর্ককে সংজ্ঞায়িত করে: ডিএম-এর মধ্যে যোগাযোগের জন্য একটি সাধারণ ভাষা।

নোড একে অপরের সাথে যোগাযোগ করে:

  • গুণাবলী এবং ঘটনা পড়া এবং সদস্যতা
  • গুণাবলী লেখা
  • আদেশ আহ্বান

যখনই একটি নোড অন্য নোডের সাথে একটি এনক্রিপ্ট করা যোগাযোগের ক্রম স্থাপন করে, তখন তারা একটি ইন্টারঅ্যাকশন সম্পর্ক গঠন করে। মিথস্ক্রিয়াগুলি এক বা একাধিক লেনদেনের সমন্বয়ে গঠিত হতে পারে এবং লেনদেনগুলি এক বা একাধিক ক্রিয়া দ্বারা গঠিত যা নোডের মধ্যে IM-স্তরের বার্তা হিসাবে বোঝা যায়।

ইন্টারঅ্যাকশন মডেলের অনুক্রম
চিত্র 1: ইন্টারঅ্যাকশন মডেলের শ্রেণিবিন্যাস

লেনদেনে বেশ কিছু অ্যাকশন সমর্থিত, যেমন একটি রিড রিকোয়েস্ট অ্যাকশন যা অন্য নোড থেকে একটি অ্যাট্রিবিউট বা ইভেন্টের জন্য অনুরোধ করে, অথবা এর প্রতিক্রিয়া, রিপোর্ট ডেটা অ্যাকশন, যা সার্ভার থেকে ক্লায়েন্টের কাছে তথ্য ফিরিয়ে আনে।

সূচনাকারী এবং লক্ষ্য

যে নোডটি একটি লেনদেন শুরু করে সেটি হল ইনিশিয়েটর , আর যে নোডটি সাড়া দেয় সেটি হল টার্গেট । সাধারণত ইনিশিয়েটর হল একটি ক্লায়েন্ট ক্লাস্টার এবং টার্গেট হল একটি সার্ভার ক্লাস্টার। যাইহোক, এই প্যাটার্নের ব্যতিক্রম আছে, যেমন সাবস্ক্রিপশন ইন্টারঅ্যাকশন এই বিভাগে আরও নীচে বিশ্লেষণ করা হয়েছে।

গোষ্ঠী

নোড ইন Matter একটি গ্রুপের অন্তর্গত হতে পারে। ডিভাইসের একটি গ্রুপ হল একই অ্যাকশনে একাধিক ডিভাইসে বার্তা পাঠানো এবং পাঠানোর একটি প্রক্রিয়া। একটি গ্রুপের সমস্ত নোড একই গ্রুপ আইডি ভাগ করে, একটি 16-বিট পূর্ণসংখ্যা।

গ্রুপ-লেভেল কমিউনিকেশন ( গ্রুপকাস্ট ) সম্পন্ন করতে, Matter আইপিভি6 Multicast মেসেজ ব্যবহার করে এবং গ্রুপের সকল সদস্যদের একই Multicast ঠিকানা থাকে।

পথ

যখনই আমরা একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের সাথে ইন্টারঅ্যাক্ট করতে চাই, তখন আমাদের অবশ্যই এই মিথস্ক্রিয়াটির জন্য পাথ নির্দিষ্ট করতে হবে: একটি নোডের ডেটা মডেল হায়ারার্কিতে একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের অবস্থান। সতর্কতা হল যে পাথগুলি একই সাথে একাধিক নোড বা ক্লাস্টারগুলিকে সম্বোধন করতে গ্রুপ বা ওয়াইল্ডকার্ড অপারেটর ব্যবহার করতে পারে, এই মিথস্ক্রিয়াগুলিকে একত্রিত করে এবং এইভাবে ক্রিয়াগুলির সংখ্যা হ্রাস করে।

যোগাযোগের প্রতিক্রিয়াশীলতা বাড়ানোর জন্য এই প্রক্রিয়াটি গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী সমস্ত লাইট বন্ধ করতে চায়, তখন একজন ভয়েস সহকারী পৃথক ইন্টারঅ্যাকশনের একটি ক্রমের পরিবর্তে একটি গ্রুপের মধ্যে কয়েকটি আলোর সাথে একটি একক মিথস্ক্রিয়া স্থাপন করতে পারে। যদি ইনিশিয়েটর প্রতিটি আলোর সাথে স্বতন্ত্র মিথস্ক্রিয়া তৈরি করে, তবে এটি ডিভাইসের প্রতিক্রিয়াশীলতায় মানব-বোধগম্য লেটেন্সি তৈরি করতে পারে। এই প্রভাবের কারণে একাধিক ডিভাইস তাদের মধ্যে দৃশ্যমান বিলম্ব সহ একটি কমান্ডে প্রতিক্রিয়া দেখায়। এটি প্রায়ই "পপকর্ন প্রভাব" হিসাবে উল্লেখ করা হয়।

Matter একটি পথ নীচের বিকল্পগুলির মধ্যে একটি ব্যবহার করে একত্রিত করা যেতে পারে:

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

এবং এই পাথ বিল্ডিং ব্লকগুলির মধ্যে, endpoint এবং cluster একাধিক নোড উদাহরণ নির্বাচন করার জন্য ওয়াইল্ডকার্ড অপারেটর অন্তর্ভুক্ত থাকতে পারে।

টাইমড এবং আনটাইমড

একটি লিখুন বা আমন্ত্রণ লেনদেন সম্পাদন করার দুটি উপায় আছে: টাইমড এবং আনটাইমড । টাইমড লেনদেনগুলি পাঠানোর জন্য লিখতে/আমন্ত্রণ জানানোর জন্য সর্বাধিক সময়সীমা নির্ধারণ করে। এই টাইমআউটের উদ্দেশ্য হল লেনদেনের উপর একটি ইন্টারসেপ্ট অ্যাটাক প্রতিরোধ করা। গ্যারেজ ওপেনার এবং লকগুলির মতো সম্পদগুলিতে গেট অ্যাক্সেস করে এমন ডিভাইসগুলির জন্য এটি বিশেষভাবে বৈধ৷

টাইমড লেনদেন বোঝার জন্য কীভাবে ইন্টারসেপ্ট অ্যাটাক ঘটতে পারে এবং কেন টাইমড লেনদেনগুলি গুরুত্বপূর্ণ তা বোঝা দরকারী।

দ্য ইন্টারসেপ্ট অ্যাটাক

একটি ইন্টারসেপ্ট অ্যাটাক নিম্নলিখিত প্যাটার্ন আছে:

  1. এলিস ববকে একটি প্রাথমিক বার্তা পাঠায়, যেমন একটি লেখার অনুরোধ অ্যাকশন।
  2. ইভ, একজন ম্যান-ইন-দ্য-মিডল, বার্তাটি আটকায় এবং ববকে এটি গ্রহণ করতে বাধা দেয়, উদাহরণস্বরূপ কিছু ধরণের রেডিও জ্যামিংয়ের মাধ্যমে।
  3. অ্যালিস, ববের কাছ থেকে কোনও প্রতিক্রিয়া না পেয়ে, একটি দ্বিতীয় বার্তা পাঠায়।
  4. ইভ আবার বাধা দেয় এবং ববকে এটি গ্রহণ করতে বাধা দেয়।
  5. ইভ ববকে প্রথম বাধা দেওয়া বার্তা পাঠায়, যেন এটি এলিস থেকে আসছে।
  6. বব অ্যালিস (এবং ইভ) কে প্রতিক্রিয়া পাঠায়।
  7. পরবর্তী রিপ্লে করার জন্য ইভ দ্বিতীয় আটকানো বার্তাটি ধরে রেখেছে। যেহেতু বব কখনই অ্যালিসের কাছ থেকে আসল দ্বিতীয় বাধাপ্রাপ্ত বার্তা পায়নি, তাই এটি গ্রহণ করবে। এই বার্তাটি একটি নিরাপত্তা লঙ্ঘনের প্রতিনিধিত্ব করে যখন বার্তাটি "ওপেন লক" এর মতো একটি কমান্ড এনকোড করে।

এই ধরনের আক্রমণ প্রতিরোধ করার জন্য, Timed Actions লেনদেনের শুরুতে সর্বোচ্চ লেনদেনের সময়সীমা সেট করে। এমনকি যদি ইভ আক্রমণ ভেক্টরের প্রথম ছয়টি ধাপ কার্যকর করতে পারে, তাহলে লেনদেনের সময়সীমা শেষ হওয়ার কারণে এটি 7 ধাপে বার্তাটি পুনরায় চালাতে সক্ষম হবে না।

সময়োপযোগী লেনদেন জটিলতা এবং কর্মের সংখ্যা বৃদ্ধি করে। এইভাবে প্রতিটি লেনদেনের জন্য এগুলি সুপারিশ করা হয় না, তবে শুধুমাত্র সেই ডিভাইসগুলির সমালোচনামূলক ক্রিয়াকলাপগুলি যা শারীরিক বা ভার্চুয়াল নিরাপত্তা এবং গোপনীয়তা সম্পদের উপর নিয়ন্ত্রণ করে৷

SDK বিমূর্ততা

লেনদেন পড়ুন , লেনদেন লিখুন এবং লেনদেন আহ্বান করুন বিভাগগুলি SDK দ্বারা সম্পাদিত ইন্টারঅ্যাকশন মডেল অ্যাকশনগুলির একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে।

Matter এসডিকে ব্যবহার করে এমন একটি পণ্য তৈরি করা ডেভেলপার সাধারণত সরাসরি অ্যাকশন চালানোর জন্য কল করে না; অ্যাকশনগুলিকে SDK ফাংশন দ্বারা বিমূর্ত করা হয় যা সেগুলিকে একটি ইন্টারঅ্যাকশনে আবদ্ধ করবে। যাইহোক, IM অ্যাকশন বোঝা গুরুত্বপূর্ণ Matter ক্ষমতা, সেইসাথে SDK বাস্তবায়নের উপর সূক্ষ্ম নিয়ন্ত্রণ প্রকৌশলীকে একটি ভাল দক্ষতা প্রদান করতে।

,

একটি নোডের ডেটা মডেল (DM) প্রাসঙ্গিক নয় যদি আমরা তাদের উপর অপারেশন করতে না পারি। ইন্টারঅ্যাকশন মডেল ( আইএম ), অন্যান্য নোডের ডিএম-এর সাথে একটি নোডের ডিএম সম্পর্ককে সংজ্ঞায়িত করে: ডিএম-এর মধ্যে যোগাযোগের জন্য একটি সাধারণ ভাষা।

নোড একে অপরের সাথে যোগাযোগ করে:

  • গুণাবলী এবং ঘটনা পড়া এবং সদস্যতা
  • গুণাবলী লেখা
  • আদেশ আহ্বান

যখনই একটি নোড অন্য নোডের সাথে একটি এনক্রিপ্ট করা যোগাযোগের ক্রম স্থাপন করে, তখন তারা একটি ইন্টারঅ্যাকশন সম্পর্ক গঠন করে। মিথস্ক্রিয়াগুলি এক বা একাধিক লেনদেনের সমন্বয়ে গঠিত হতে পারে এবং লেনদেনগুলি এক বা একাধিক ক্রিয়া দ্বারা গঠিত যা নোডের মধ্যে IM-স্তরের বার্তা হিসাবে বোঝা যায়।

ইন্টারঅ্যাকশন মডেলের অনুক্রম
চিত্র 1: ইন্টারঅ্যাকশন মডেলের শ্রেণিবিন্যাস

লেনদেনে বেশ কিছু অ্যাকশন সমর্থিত, যেমন একটি রিড রিকোয়েস্ট অ্যাকশন যা অন্য নোড থেকে একটি অ্যাট্রিবিউট বা ইভেন্টের জন্য অনুরোধ করে, অথবা এর প্রতিক্রিয়া, রিপোর্ট ডেটা অ্যাকশন, যা সার্ভার থেকে ক্লায়েন্টের কাছে তথ্য ফিরিয়ে আনে।

সূচনাকারী এবং লক্ষ্য

যে নোডটি একটি লেনদেন শুরু করে সেটি হল ইনিশিয়েটর , আর যে নোডটি সাড়া দেয় সেটি হল টার্গেট । সাধারণত ইনিশিয়েটর হল একটি ক্লায়েন্ট ক্লাস্টার এবং টার্গেট হল একটি সার্ভার ক্লাস্টার। যাইহোক, এই প্যাটার্নের ব্যতিক্রম আছে, যেমন সাবস্ক্রিপশন ইন্টারঅ্যাকশন এই বিভাগে আরও নীচে বিশ্লেষণ করা হয়েছে।

গোষ্ঠী

নোড ইন Matter একটি গ্রুপের অন্তর্গত হতে পারে। ডিভাইসের একটি গ্রুপ হল একই অ্যাকশনে একাধিক ডিভাইসে বার্তা পাঠানো এবং পাঠানোর একটি প্রক্রিয়া। একটি গ্রুপের সমস্ত নোড একই গ্রুপ আইডি ভাগ করে, একটি 16-বিট পূর্ণসংখ্যা।

গ্রুপ-লেভেল কমিউনিকেশন ( গ্রুপকাস্ট ) সম্পন্ন করতে, Matter আইপিভি6 Multicast মেসেজ ব্যবহার করে এবং গ্রুপের সকল সদস্যদের একই Multicast ঠিকানা থাকে।

পথ

যখনই আমরা একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের সাথে ইন্টারঅ্যাক্ট করতে চাই, তখন আমাদের অবশ্যই এই মিথস্ক্রিয়াটির জন্য পাথ নির্দিষ্ট করতে হবে: একটি নোডের ডেটা মডেল হায়ারার্কিতে একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের অবস্থান। সতর্কতা হল যে পাথগুলি একই সাথে একাধিক নোড বা ক্লাস্টারগুলিকে সম্বোধন করতে গ্রুপ বা ওয়াইল্ডকার্ড অপারেটর ব্যবহার করতে পারে, এই মিথস্ক্রিয়াগুলিকে একত্রিত করে এবং এইভাবে ক্রিয়াগুলির সংখ্যা হ্রাস করে।

যোগাযোগের প্রতিক্রিয়াশীলতা বাড়ানোর জন্য এই প্রক্রিয়াটি গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী সমস্ত লাইট বন্ধ করতে চায়, তখন একজন ভয়েস সহকারী পৃথক ইন্টারঅ্যাকশনের একটি ক্রমের পরিবর্তে একটি গ্রুপের মধ্যে কয়েকটি আলোর সাথে একটি একক মিথস্ক্রিয়া স্থাপন করতে পারে। যদি ইনিশিয়েটর প্রতিটি আলোর সাথে স্বতন্ত্র মিথস্ক্রিয়া তৈরি করে, তবে এটি ডিভাইসের প্রতিক্রিয়াশীলতায় মানব-বোধগম্য লেটেন্সি তৈরি করতে পারে। এই প্রভাবের কারণে একাধিক ডিভাইস তাদের মধ্যে দৃশ্যমান বিলম্ব সহ একটি কমান্ডে প্রতিক্রিয়া দেখায়। এটি প্রায়ই "পপকর্ন প্রভাব" হিসাবে উল্লেখ করা হয়।

Matter একটি পথ নীচের বিকল্পগুলির মধ্যে একটি ব্যবহার করে একত্রিত করা যেতে পারে:

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

এবং এই পাথ বিল্ডিং ব্লকগুলির মধ্যে, endpoint এবং cluster একাধিক নোড উদাহরণ নির্বাচন করার জন্য ওয়াইল্ডকার্ড অপারেটর অন্তর্ভুক্ত থাকতে পারে।

টাইমড এবং আনটাইমড

একটি লিখুন বা আমন্ত্রণ লেনদেন সম্পাদন করার দুটি উপায় আছে: টাইমড এবং আনটাইমড । টাইমড লেনদেনগুলি পাঠানোর জন্য লিখতে/আমন্ত্রণ জানানোর জন্য সর্বাধিক সময়সীমা নির্ধারণ করে। এই টাইমআউটের উদ্দেশ্য হল লেনদেনের উপর একটি ইন্টারসেপ্ট অ্যাটাক প্রতিরোধ করা। গ্যারেজ ওপেনার এবং লকগুলির মতো সম্পদগুলিতে গেট অ্যাক্সেস করে এমন ডিভাইসগুলির জন্য এটি বিশেষভাবে বৈধ৷

টাইমড লেনদেন বোঝার জন্য কীভাবে ইন্টারসেপ্ট অ্যাটাক ঘটতে পারে এবং কেন টাইমড লেনদেনগুলি গুরুত্বপূর্ণ তা বোঝা দরকারী।

দ্য ইন্টারসেপ্ট অ্যাটাক

একটি ইন্টারসেপ্ট অ্যাটাক নিম্নলিখিত প্যাটার্ন আছে:

  1. এলিস ববকে একটি প্রাথমিক বার্তা পাঠায়, যেমন একটি লেখার অনুরোধ অ্যাকশন।
  2. ইভ, একজন ম্যান-ইন-দ্য-মিডল, বার্তাটি আটকায় এবং ববকে এটি গ্রহণ করতে বাধা দেয়, উদাহরণস্বরূপ কিছু ধরণের রেডিও জ্যামিংয়ের মাধ্যমে।
  3. অ্যালিস, ববের কাছ থেকে কোনও প্রতিক্রিয়া না পেয়ে, একটি দ্বিতীয় বার্তা পাঠায়।
  4. ইভ আবার বাধা দেয় এবং ববকে এটি গ্রহণ করতে বাধা দেয়।
  5. ইভ ববকে প্রথম বাধা দেওয়া বার্তা পাঠায়, যেন এটি এলিস থেকে আসছে।
  6. বব অ্যালিস (এবং ইভ) কে প্রতিক্রিয়া পাঠায়।
  7. পরবর্তী রিপ্লে করার জন্য ইভ দ্বিতীয় আটকানো বার্তাটি ধরে রেখেছে। যেহেতু বব কখনই অ্যালিসের কাছ থেকে আসল দ্বিতীয় বাধাপ্রাপ্ত বার্তা পায়নি, তাই এটি গ্রহণ করবে। এই বার্তাটি একটি নিরাপত্তা লঙ্ঘনের প্রতিনিধিত্ব করে যখন বার্তাটি "ওপেন লক" এর মতো একটি কমান্ড এনকোড করে।

এই ধরনের আক্রমণ প্রতিরোধ করার জন্য, Timed Actions লেনদেনের শুরুতে সর্বোচ্চ লেনদেনের সময়সীমা সেট করে। এমনকি যদি ইভ আক্রমণ ভেক্টরের প্রথম ছয়টি ধাপ কার্যকর করতে পারে, তাহলে লেনদেনের সময়সীমা শেষ হওয়ার কারণে এটি 7 ধাপে বার্তাটি পুনরায় চালাতে সক্ষম হবে না।

সময়োপযোগী লেনদেন জটিলতা এবং কর্মের সংখ্যা বৃদ্ধি করে। এইভাবে প্রতিটি লেনদেনের জন্য এগুলি সুপারিশ করা হয় না, তবে শুধুমাত্র সেই ডিভাইসগুলির সমালোচনামূলক ক্রিয়াকলাপগুলি যা শারীরিক বা ভার্চুয়াল নিরাপত্তা এবং গোপনীয়তা সম্পদের উপর নিয়ন্ত্রণ করে৷

SDK বিমূর্ততা

লেনদেন পড়ুন , লেনদেন লিখুন এবং লেনদেন আহ্বান করুন বিভাগগুলি SDK দ্বারা সম্পাদিত ইন্টারঅ্যাকশন মডেল অ্যাকশনগুলির একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে।

Matter এসডিকে ব্যবহার করে এমন একটি পণ্য তৈরি করা ডেভেলপার সাধারণত সরাসরি অ্যাকশন চালানোর জন্য কল করে না; অ্যাকশনগুলিকে SDK ফাংশন দ্বারা বিমূর্ত করা হয় যা সেগুলিকে একটি ইন্টারঅ্যাকশনে আবদ্ধ করবে। যাইহোক, IM অ্যাকশন বোঝা গুরুত্বপূর্ণ Matter ক্ষমতা, সেইসাথে SDK বাস্তবায়নের উপর সূক্ষ্ম নিয়ন্ত্রণ প্রকৌশলীকে একটি ভাল দক্ষতা প্রদান করতে।

,

একটি নোডের ডেটা মডেল (DM) প্রাসঙ্গিক নয় যদি আমরা তাদের উপর অপারেশন করতে না পারি। ইন্টারঅ্যাকশন মডেল ( আইএম ), অন্যান্য নোডের ডিএম-এর সাথে একটি নোডের ডিএম সম্পর্ককে সংজ্ঞায়িত করে: ডিএম-এর মধ্যে যোগাযোগের জন্য একটি সাধারণ ভাষা।

নোড একে অপরের সাথে যোগাযোগ করে:

  • গুণাবলী এবং ঘটনা পড়া এবং সদস্যতা
  • গুণাবলী লেখা
  • আদেশ আহ্বান

যখনই একটি নোড অন্য নোডের সাথে একটি এনক্রিপ্ট করা যোগাযোগের ক্রম স্থাপন করে, তখন তারা একটি ইন্টারঅ্যাকশন সম্পর্ক গঠন করে। মিথস্ক্রিয়াগুলি এক বা একাধিক লেনদেনের সমন্বয়ে গঠিত হতে পারে এবং লেনদেনগুলি এক বা একাধিক ক্রিয়া দ্বারা গঠিত যা নোডের মধ্যে IM-স্তরের বার্তা হিসাবে বোঝা যায়।

ইন্টারঅ্যাকশন মডেলের অনুক্রম
চিত্র 1: ইন্টারঅ্যাকশন মডেলের শ্রেণিবিন্যাস

লেনদেনে বেশ কিছু অ্যাকশন সমর্থিত, যেমন একটি রিড রিকোয়েস্ট অ্যাকশন যা অন্য নোড থেকে একটি অ্যাট্রিবিউট বা ইভেন্টের জন্য অনুরোধ করে, অথবা এর প্রতিক্রিয়া, রিপোর্ট ডেটা অ্যাকশন, যা সার্ভার থেকে ক্লায়েন্টের কাছে তথ্য ফিরিয়ে আনে।

সূচনাকারী এবং লক্ষ্য

যে নোডটি একটি লেনদেন শুরু করে সেটি হল ইনিশিয়েটর , আর যে নোডটি সাড়া দেয় সেটি হল টার্গেট । সাধারণত ইনিশিয়েটর হল একটি ক্লায়েন্ট ক্লাস্টার এবং টার্গেট হল একটি সার্ভার ক্লাস্টার। যাইহোক, এই প্যাটার্নের ব্যতিক্রম আছে, যেমন সাবস্ক্রিপশন ইন্টারঅ্যাকশন এই বিভাগে আরও নীচে বিশ্লেষণ করা হয়েছে।

গোষ্ঠী

নোড ইন Matter একটি গ্রুপের অন্তর্গত হতে পারে। ডিভাইসের একটি গ্রুপ হল একই অ্যাকশনে একাধিক ডিভাইসে বার্তা পাঠানো এবং পাঠানোর একটি প্রক্রিয়া। একটি গ্রুপের সমস্ত নোড একই গ্রুপ আইডি ভাগ করে, একটি 16-বিট পূর্ণসংখ্যা।

গ্রুপ-লেভেল কমিউনিকেশন ( গ্রুপকাস্ট ) সম্পন্ন করতে, Matter আইপিভি6 Multicast মেসেজ ব্যবহার করে এবং গ্রুপের সকল সদস্যদের একই Multicast ঠিকানা থাকে।

পথ

যখনই আমরা একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের সাথে ইন্টারঅ্যাক্ট করতে চাই, তখন আমাদের অবশ্যই এই মিথস্ক্রিয়াটির জন্য পাথ নির্দিষ্ট করতে হবে: একটি নোডের ডেটা মডেল হায়ারার্কিতে একটি অ্যাট্রিবিউট, ইভেন্ট বা কমান্ডের অবস্থান। সতর্কতা হল যে পাথগুলি একই সাথে একাধিক নোড বা ক্লাস্টারগুলিকে সম্বোধন করতে গ্রুপ বা ওয়াইল্ডকার্ড অপারেটর ব্যবহার করতে পারে, এই মিথস্ক্রিয়াগুলিকে একত্রিত করে এবং এইভাবে ক্রিয়াগুলির সংখ্যা হ্রাস করে।

যোগাযোগের প্রতিক্রিয়াশীলতা বাড়ানোর জন্য এই প্রক্রিয়াটি গুরুত্বপূর্ণ। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী সমস্ত লাইট বন্ধ করতে চায়, তখন একজন ভয়েস সহকারী পৃথক ইন্টারঅ্যাকশনের একটি ক্রমের পরিবর্তে একটি গ্রুপের মধ্যে কয়েকটি আলোর সাথে একটি একক মিথস্ক্রিয়া স্থাপন করতে পারে। যদি ইনিশিয়েটর প্রতিটি আলোর সাথে স্বতন্ত্র মিথস্ক্রিয়া তৈরি করে, তবে এটি ডিভাইসের প্রতিক্রিয়াশীলতায় মানব-বোধগম্য লেটেন্সি তৈরি করতে পারে। এই প্রভাবের কারণে একাধিক ডিভাইস তাদের মধ্যে দৃশ্যমান বিলম্ব সহ একটি কমান্ডে প্রতিক্রিয়া দেখায়। এটি প্রায়ই "পপকর্ন প্রভাব" হিসাবে উল্লেখ করা হয়।

Matter একটি পথ নীচের বিকল্পগুলির মধ্যে একটি ব্যবহার করে একত্রিত করা যেতে পারে:

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

এবং এই পাথ বিল্ডিং ব্লকগুলির মধ্যে, endpoint এবং cluster একাধিক নোড উদাহরণ নির্বাচন করার জন্য ওয়াইল্ডকার্ড অপারেটর অন্তর্ভুক্ত থাকতে পারে।

টাইমড এবং আনটাইমড

একটি লিখুন বা আমন্ত্রণ লেনদেন সম্পাদন করার দুটি উপায় আছে: টাইমড এবং আনটাইমড । টাইমড লেনদেনগুলি পাঠানোর জন্য লিখতে/আমন্ত্রণ জানানোর জন্য সর্বাধিক সময়সীমা নির্ধারণ করে। এই টাইমআউটের উদ্দেশ্য হল লেনদেনের উপর একটি ইন্টারসেপ্ট অ্যাটাক প্রতিরোধ করা। গ্যারেজ ওপেনার এবং লকগুলির মতো সম্পদগুলিতে গেট অ্যাক্সেস করে এমন ডিভাইসগুলির জন্য এটি বিশেষভাবে বৈধ৷

টাইমড লেনদেন বোঝার জন্য কীভাবে ইন্টারসেপ্ট অ্যাটাক ঘটতে পারে এবং কেন টাইমড লেনদেনগুলি গুরুত্বপূর্ণ তা বোঝা দরকারী।

দ্য ইন্টারসেপ্ট অ্যাটাক

একটি ইন্টারসেপ্ট অ্যাটাক নিম্নলিখিত প্যাটার্ন আছে:

  1. এলিস ববকে একটি প্রাথমিক বার্তা পাঠায়, যেমন একটি লেখার অনুরোধ অ্যাকশন।
  2. ইভ, একজন ম্যান-ইন-দ্য-মিডল, বার্তাটি আটকায় এবং ববকে এটি গ্রহণ করতে বাধা দেয়, উদাহরণস্বরূপ কিছু ধরণের রেডিও জ্যামিংয়ের মাধ্যমে।
  3. অ্যালিস, ববের কাছ থেকে কোনও প্রতিক্রিয়া না পেয়ে, একটি দ্বিতীয় বার্তা পাঠায়।
  4. ইভ আবার বাধা দেয় এবং ববকে এটি গ্রহণ করতে বাধা দেয়।
  5. ইভ ববকে প্রথম বাধা দেওয়া বার্তা পাঠায়, যেন এটি এলিস থেকে আসছে।
  6. বব অ্যালিস (এবং ইভ) কে প্রতিক্রিয়া পাঠায়।
  7. পরবর্তী রিপ্লে করার জন্য ইভ দ্বিতীয় আটকানো বার্তাটি ধরে রেখেছে। যেহেতু বব কখনই অ্যালিসের কাছ থেকে আসল দ্বিতীয় বাধাপ্রাপ্ত বার্তা পায়নি, তাই এটি গ্রহণ করবে। এই বার্তাটি একটি নিরাপত্তা লঙ্ঘনের প্রতিনিধিত্ব করে যখন বার্তাটি "ওপেন লক" এর মতো একটি কমান্ড এনকোড করে।

এই ধরনের আক্রমণ প্রতিরোধ করার জন্য, Timed Actions লেনদেনের শুরুতে সর্বোচ্চ লেনদেনের সময়সীমা সেট করে। এমনকি যদি ইভ আক্রমণ ভেক্টরের প্রথম ছয়টি ধাপ কার্যকর করতে পারে, তাহলে লেনদেনের সময়সীমা শেষ হওয়ার কারণে এটি 7 ধাপে বার্তাটি পুনরায় চালাতে সক্ষম হবে না।

সময়োপযোগী লেনদেন জটিলতা এবং কর্মের সংখ্যা বৃদ্ধি করে। এইভাবে প্রতিটি লেনদেনের জন্য এগুলি সুপারিশ করা হয় না, তবে শুধুমাত্র সেই ডিভাইসগুলির সমালোচনামূলক ক্রিয়াকলাপগুলি যা শারীরিক বা ভার্চুয়াল নিরাপত্তা এবং গোপনীয়তা সম্পদের উপর নিয়ন্ত্রণ করে৷

SDK বিমূর্ততা

লেনদেন পড়ুন , লেনদেন লিখুন এবং লেনদেন আহ্বান করুন বিভাগগুলি SDK দ্বারা সম্পাদিত ইন্টারঅ্যাকশন মডেল অ্যাকশনগুলির একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে।

Matter এসডিকে ব্যবহার করে এমন একটি পণ্য তৈরি করা ডেভেলপার সাধারণত সরাসরি অ্যাকশন চালানোর জন্য কল করে না; অ্যাকশনগুলিকে SDK ফাংশন দ্বারা বিমূর্ত করা হয় যা সেগুলিকে একটি ইন্টারঅ্যাকশনে আবদ্ধ করবে। যাইহোক, IM অ্যাকশন বোঝা গুরুত্বপূর্ণ Matter ক্ষমতা, সেইসাথে SDK বাস্তবায়নের উপর সূক্ষ্ম নিয়ন্ত্রণ প্রকৌশলীকে একটি ভাল দক্ষতা প্রদান করতে।