Constrained Application Protocol
আর. এফ. সি 7252-এ যেমন সংজ্ঞায়িত করা হয়েছে, কনস্ট্রেইনড অ্যাপ্লিকেশন প্রোটোকল (সি. ও. এ. পি) হল কনস্ট্রেইনড ডিভাইসের জন্য একটি বিশেষ ইন্টারনেট অ্যাপ্লিকেশন প্রোটোকল। এটি "নোড" নামক সীমাবদ্ধ ডিভাইসগুলিকে অনুরূপ প্রোটোকল ব্যবহার করে বৃহত্তর ইন্টারনেটের সাথে যোগাযোগ করতে সক্ষম করে। সি. ও. এ. পি একই সীমাবদ্ধ নেটওয়ার্কের ডিভাইসগুলির মধ্যে (যেমন, লো-পাওয়ার, লসি নেটওয়ার্ক), ইন্টারনেটে ডিভাইস এবং সাধারণ নোডগুলির মধ্যে এবং ইন্টারনেট দ্বারা সংযুক্ত বিভিন্ন সীমাবদ্ধ নেটওয়ার্কের ডিভাইসগুলির মধ্যে ব্যবহারের জন্য ডিজাইন করা হয়েছে। মোবাইল যোগাযোগ নেটওয়ার্কে এস. এম. এস-এর মতো অন্যান্য পদ্ধতির মাধ্যমেও সি. ও. এ. পি ব্যবহার করা হচ্ছে। সিওএপি একটি অ্যাপ্লিকেশন-স্তর প্রোটোকল যা সম্পদ-সীমাবদ্ধ ইন্টারনেট ডিভাইসে ব্যবহারের উদ্দেশ্যে, যেমন ওয়্যারলেস সেন্সর নেটওয়ার্ক নোড। সিওএপি মাল্টিকাস্ট সমর্থন, খুব কম ওভারহেড এবং সরলতার মতো বিশেষ প্রয়োজনীয়তাগুলি পূরণ করার পাশাপাশি ওয়েবের সাথে সরলীকৃত সংহতকরণের জন্য সহজেই এইচটিটিপিতে অনুবাদ করার জন্য ডিজাইন করা হয়েছে। মাল্টিকাস্ট, কম ওভারহেড এবং সরলতা ইন্টারনেট অফ থিংস (আইওটি) এবং মেশিন-টু-মেশিন (এম2এম) যোগাযোগের জন্য গুরুত্বপূর্ণ, যা এম্বেড করা থাকে এবং প্রচলিত ইন্টারনেট ডিভাইসের তুলনায় অনেক কম মেমরি এবং পাওয়ার সাপ্লাই থাকে। অতএব, দক্ষতা অত্যন্ত গুরুত্বপূর্ণ। সিওএপি বেশিরভাগ ডিভাইসে চলতে পারে যা ইউডিপি বা ইউডিপি অ্যানালগ সমর্থন করে। ইন্টারনেট ইঞ্জিনিয়ারিং টাস্ক ফোর্স (আই. ই. টি. এফ) কনস্ট্রেইনড রেস্টফুল এনভায়রনমেন্টস ওয়ার্কিং গ্রুপ (সি. ও. আর. ই) এই প্রটোকলের জন্য প্রধান মানসম্মতকরণের কাজ করেছে। প্রোটোকলকে আইওটি এবং এম2এম অ্যাপ্লিকেশনের জন্য উপযুক্ত করার জন্য, বিভিন্ন নতুন ফাংশন যুক্ত করা হয়েছে। নির্দিষ্টকরণ প্রটোকলের মূল অংশটি নির্দিষ্ট করা হয়েছে। বিভিন্ন সম্প্রসারণের প্রস্তাব দেওয়া হয়েছে, বিশেষতঃঃ (2015) কনস্ট্রেইন্ড অ্যাপ্লিকেশন প্রোটোকলে পর্যবেক্ষণ সংস্থান (2016) কনস্ট্রেইন্ড অ্যাপ্লিকেশন প্রোটোকলে (সিওএপি) ব্লক-ওয়াইজ ট্রান্সফার (2018) টিসিপি, টিএলএস এবং ওয়েবসকেটের মাধ্যমে সিওএপি (কনস্ট্রেইন্ড অ্যাপ্লিকেশন প্রোটোকল) (2021) কনস্ট্রেইন্ড অ্যাপ্লিকেশন প্রোটোকল (সিওএপি) বার্তা বিন্যাসে এক্সটেন্ডেড টোকেন এবং স্টেটলেস ক্লায়েন্ট সিওএপি একটি সহজ, বাইনারি হেডার বিন্যাস ব্যবহার করে দুটি বার্তা প্রকার, অনুরোধ এবং প্রতিক্রিয়া ব্যবহার করে। সি. ও. এ. পি ডিফল্টরূপে ইউ. ডি. পি এবং বিকল্পভাবে ডি. টি. এল. এস-এর সাথে আবদ্ধ, যা একটি উচ্চ স্তরের যোগাযোগ নিরাপত্তা প্রদান করে। যখন ইউডিপির সাথে আবদ্ধ থাকে, তখন পুরো বার্তাটি অবশ্যই একটি একক ডেটাগ্রামের মধ্যে ফিট করতে হবে। যখন আর. এফ. সি 4944-এ সংজ্ঞায়িত 6এল. ও. ডব্লিউ. পি. এ. এন-এর সাথে ব্যবহার করা হয়, তখন বার্তাগুলি একটি একক আই. ই. ই <আই. ডি1> ফ্রেমে ফিট করা উচিত যাতে বিভাজন হ্রাস করা যায়। সবচেয়ে ছোট সিওএপি বার্তাটি দৈর্ঘ্যে 4 বাইট হয়, যদি টোকেন, বিকল্প এবং পেলোড ক্ষেত্রগুলি বাদ দেওয়া হয়, অর্থাৎ। যদি এটি শুধুমাত্র সিওএপি হেডার নিয়ে গঠিত হয়। হেডারের পরে টোকেন মান (0 থেকে 8 বাইট) থাকে যা একটি অপ্টিমাইজড টাইপ-দৈর্ঘ্য-মান বিন্যাসে বিকল্পগুলির একটি তালিকা দ্বারা অনুসরণ করা যেতে পারে। হেডার, টোকেন এবং বিকল্পগুলির (যদি থাকে) পরে যে কোনও বাইটকে বার্তা পেলোড হিসাবে বিবেচনা করা হয়, যা এক-বাইট "পেলোড মার্কার" (0xFF) দ্বারা প্রিফিক্স করা হয়। পেলোডের দৈর্ঘ্য ডেটাগ্রামের দৈর্ঘ্য দ্বারা বোঝানো হয়। সি. ও. এ. পি ফিক্সড-সাইজ হেডার সমস্ত সি. ও. এ. পি ডেটাগ্রামে প্রথম 4টি বাইট বাধ্যতামূলক, এগুলি ফিক্সড-সাইজ হেডার গঠন করে। এই ক্ষেত্রগুলি এই ম্যাক্রোগুলির মাধ্যমে সি-তে এই 4টি বাইট থেকে বের করা যেতে পারেঃ #define COAP _ HEADER _ VERSION (ডেটা) ((0xC0 & (ডেটা) [0])>> 6) #define COAP _ HEADER _ TYPE (ডেটা) ((0x30 & (ডেটা) [0])>> 4) #define COAP _ HEADER _ TKL (ডেটা) ((0x0F & (ডেটা) [0]> 0) #define COAP _ HEADER _ CLASS (ডেটা) (((ডেটা) [1]>> 5) & 0x07 টাইপ করুন (2 বিট) এটি অনুরোধ এবং প্রতিক্রিয়ার দুটি বার্তা প্রকারের প্রেক্ষাপটের জন্য ডেটাগ্রামের বার্তা প্রকার বর্ণনা করে। অনুরোধ 0: নিশ্চিতকরণযোগ্যঃ এই বার্তাটি একটি সংশ্লিষ্ট স্বীকৃতি বার্তা আশা করে। 1: অ-নিশ্চিতকরণযোগ্যঃ এই বার্তাটি কোনও নিশ্চিতকরণ বার্তা আশা করে না। প্রতিক্রিয়া 2: স্বীকৃতিঃ এই বার্তাটি এমন একটি প্রতিক্রিয়া যা একটি নিশ্চিতকরণযোগ্য বার্তা স্বীকার করে 3: পুনরায় সেট করুনঃ এই বার্তাটি ইঙ্গিত দেয় যে এটি একটি বার্তা পেয়েছে কিন্তু এটি প্রক্রিয়া করতে পারেনি। টোকেনের দৈর্ঘ্য (4 বিট) পরিবর্তনশীল-দৈর্ঘ্যের টোকেন ক্ষেত্রের দৈর্ঘ্য নির্দেশ করে, যা দৈর্ঘ্যে 0-8 বিট হতে পারে। অনুরোধ/প্রতিক্রিয়া কোড (8 বিট) তিনটি সবচেয়ে গুরুত্বপূর্ণ বিট "শ্রেণী" নামে পরিচিত একটি সংখ্যা গঠন করে, যা এইচটিটিপি স্ট্যাটাস কোডের শ্রেণীর অনুরূপ। পাঁচটি সর্বনিম্ন উল্লেখযোগ্য বিট একটি কোড গঠন করে যা অনুরোধ বা প্রতিক্রিয়া সম্পর্কে আরও বিশদ যোগাযোগ করে। পুরো কোডটি সাধারণত class.code আকারে যোগাযোগ করা হয়। আপনি এখানে সর্বশেষতম সিওএপি অনুরোধ/প্রতিক্রিয়া কোডগুলি খুঁজে পেতে পারেন, যদিও নীচের তালিকাটি কিছু উদাহরণ দেয়ঃ পদ্ধতিঃ 0. এক্সএক্স সাফল্যঃ 2. এক্সএক্স ক্লায়েন্ট ত্রুটিঃ 4. এক্সএক্স সার্ভার ত্রুটিঃ 5. এক্সএক্স সিগন্যালিং কোডঃ 7. এক্সএক্স বার্তা আইডি (16 বিট) বার্তার অনুলিপি সনাক্ত করতে এবং নিশ্চিতকরণযোগ্য/অ-নিশ্চিতকরণযোগ্য ধরণের বার্তাগুলির সাথে স্বীকৃতি/রিসেটের ধরণের বার্তাগুলির মিল খুঁজে পেতে ব্যবহৃত হয়। প্রতিটি অনুরোধে একটি টোকেন থাকে (তবে এটি শূন্য দৈর্ঘ্য হতে পারে) যার মান ক্লায়েন্ট দ্বারা তৈরি করা হয়েছিল। সার্ভারকে অবশ্যই সংশ্লিষ্ট প্রতিক্রিয়ায় ক্লায়েন্টের কাছে কোনও পরিবর্তন ছাড়াই প্রতিটি টোকেন মান প্রতিধ্বনিত করতে হবে। এটি ক্লায়েন্ট-স্থানীয় শনাক্তকারী হিসাবে অনুরোধ এবং প্রতিক্রিয়াগুলির সাথে মেলে, বিশেষত সমবর্তী অনুরোধগুলির জন্য। মেলানো অনুরোধ এবং প্রতিক্রিয়াগুলি বার্তা আইডির সাথে করা হয় না কারণ একটি প্রতিক্রিয়া স্বীকৃতির চেয়ে আলাদা বার্তায় পাঠানো হতে পারে (যা মেলানোর জন্য বার্তা আইডি ব্যবহার করে)। উদাহরণস্বরূপ, যদি ফলাফল পেতে কিছুটা সময় লাগে তবে পুনঃপ্রসারণ রোধ করার জন্য এটি করা যেতে পারে। এই ধরনের বিচ্ছিন্ন প্রতিক্রিয়াকে "পৃথক প্রতিক্রিয়া" বলা হয়। বিপরীতে, স্বীকৃতিতে সরাসরি প্রতিক্রিয়া প্রেরণকে "পিগিব্যাকড রেসপন্স" বলা হয় যা দক্ষতার কারণে পছন্দ করা হবে বলে আশা করা হয়। বিকল্প ডেল্টাঃ 0 থেকে 12 পর্যন্তঃ 0 থেকে 12 এর মধ্যে ব-দ্বীপের জন্যঃ শেষ বিকল্প আইডি এবং পছন্দসই বিকল্প আইডির মধ্যে সঠিক ডেল্টা মান উপস্থাপন করে, কোনও বিকল্প ডেল্টা বর্ধিত মান ছাড়াই 13: ব-দ্বীপের জন্য 13 থেকে 268 পর্যন্তঃ বিকল্প ডেল্টা বর্ধিত একটি 8-বিট মান যা বিকল্প ডেল্টা মান বিয়োগ 13 14 উপস্থাপন করেঃ ব-দ্বীপের জন্য 269 থেকে 65,804 পর্যন্তঃ বিকল্প ডেল্টা বর্ধিত একটি 16-বিট মান যা বিকল্প ডেল্টা মান বিয়োগ 269 15 উপস্থাপন করেঃ পেলোড মার্কারের জন্য সংরক্ষিত, যেখানে বিকল্প ডেল্টা এবং বিকল্প দৈর্ঘ্য একসাথে 0xFF হিসাবে সেট করা হয়। বিকল্পের দৈর্ঘ্যঃ 0 থেকে 12: বিকল্পের দৈর্ঘ্য 0 থেকে 12 এর মধ্যেঃ কোনও বিকল্প দৈর্ঘ্য বর্ধিত মান ছাড়াই সঠিক দৈর্ঘ্যের মান উপস্থাপন করেঃ বিকল্পের দৈর্ঘ্য 13 থেকে 268 পর্যন্তঃ বিকল্পের দৈর্ঘ্য বর্ধিত একটি 8-বিট মান যা বিকল্পের দৈর্ঘ্যের মান বিয়োগ 13 14 উপস্থাপন করেঃ বিকল্পের দৈর্ঘ্য 269 থেকে 65,804 পর্যন্তঃ বিকল্পের দৈর্ঘ্য বর্ধিত একটি 16-বিট মান যা বিকল্পের দৈর্ঘ্যের মান বিয়োগ 269 15 উপস্থাপন করেঃ ভবিষ্যতের ব্যবহারের জন্য সংরক্ষিত। বিকল্প দৈর্ঘ্যের ক্ষেত্রটি 0xFF-এ সেট করা একটি ত্রুটি। বিকল্প মানঃ বিকল্প মান ক্ষেত্রের আকার বাইটে বিকল্প দৈর্ঘ্যের মান দ্বারা সংজ্ঞায়িত করা হয়। শব্দার্থ এবং বিন্যাস এই ক্ষেত্রটি সংশ্লিষ্ট বিকল্পের উপর নির্ভর করে। বাস্তবায়ন প্রক্সি বাস্তবায়ন স্বচ্ছ এইচ. টি. টি. পি-সি. ও. এ. পি ম্যাপিং মডিউল সহ স্কুইড 3.1.9 জে. সি. ও. এ. পি প্রক্সি ক্যালিফোর্নিয়াম সি. এফ-প্রক্সি2 সি. ও. এ. পিথন ফ্রিকোএ. পি সি. ও. এ. পি গ্রুপ যোগাযোগ অনেক সি. ও. এ. পি অ্যাপ্লিকেশন ডোমেইনে প্রতিটি সংস্থানকে পৃথকভাবে সম্বোধন করার পরিবর্তে একটি গোষ্ঠী হিসাবে বেশ কয়েকটি সি. ও. এ. পি সংস্থানকে সম্বোধন করার ক্ষমতা থাকা অপরিহার্য। আলোর সুইচ টগল করে একটি একক সিওএপি অনুরোধ সহ একটি ঘরে সমস্ত সিওএপি-সক্ষম আলো চালু করা)। এই প্রয়োজন মেটাতে, আই. ই. টি. এফ একটি পরীক্ষামূলক আর. এফ. সি আকারে সি. ও. এ. পি-র জন্য একটি ঐচ্ছিক সম্প্রসারণ তৈরি করেছেঃ সি. ও. এ. পি-র জন্য গ্রুপ কমিউনিকেশন-আর. এফ. সি 7390 এই সম্প্রসারণটি সমস্ত গ্রুপের সদস্যদের কাছে সি. ও. এ. পি অনুরোধ পৌঁছে দেওয়ার জন্য আই. পি মাল্টিকাস্টের উপর নির্ভর করে। মাল্টিকাস্ট ব্যবহারের কিছু সুবিধা রয়েছে যেমন সদস্যদের কাছে অনুরোধ পৌঁছে দেওয়ার জন্য প্রয়োজনীয় প্যাকেটের সংখ্যা হ্রাস করা। তবে, মাল্টিকাস্টের দুর্বল নির্ভরযোগ্যতা এবং ক্যাশ-বান্ধব হওয়ার মতো সীমাবদ্ধতাও রয়েছে। সিওএপি গোষ্ঠী যোগাযোগের জন্য একটি বিকল্প পদ্ধতি যা মাল্টিকাস্টের পরিবর্তে ইউনিকাস্ট ব্যবহার করে যেখানে গোষ্ঠীগুলি তৈরি করা হয় সেখানে মধ্যস্থতাকারী থাকার উপর নির্ভর করে। ক্লায়েন্টরা তাদের গ্রুপ অনুরোধ মধ্যস্থতাকারীর কাছে পাঠায়, যা গ্রুপের সদস্যদের কাছে পৃথক ইউনিকাস্ট অনুরোধ পাঠায়, তাদের কাছ থেকে উত্তর সংগ্রহ করে এবং ক্লায়েন্টকে একটি সামগ্রিক উত্তর ফেরত পাঠায়। নিরাপত্তা সিওএপি চারটি নিরাপত্তা মোড সংজ্ঞায়িত করেঃ নোসেক, যেখানে ডিটিএলএস প্রিশেয়ার্ডকি নিষ্ক্রিয় করা আছে, যেখানে ডিটিএলএস সক্রিয় করা আছে, সেখানে প্রাক-ভাগ করা কীগুলির একটি তালিকা রয়েছে এবং প্রতিটি কীতে কোন নোডের সাথে যোগাযোগ করতে ব্যবহার করা যেতে পারে তার একটি তালিকা রয়েছে। যন্ত্রগুলিকে অবশ্যই এইএস সাইফার স্যুট সমর্থন করতে হবে। র 'পাবলিককি, যেখানে ডিটিএলএস সক্রিয় করা আছে এবং যন্ত্রটি শংসাপত্র ছাড়াই একটি অসম কী জোড়া ব্যবহার করে, যা ব্যান্ডের বাইরে বৈধ। যন্ত্রগুলিকে অবশ্যই কী বিনিময়ের জন্য এইএস সাইফার স্যুট এবং উপবৃত্তাকার বক্ররেখা অ্যালগরিদম সমর্থন করতে হবে। শংসাপত্র, যেখানে ডিটিএলএস সক্রিয় করা আছে এবং যন্ত্রটি বৈধতার জন্য X.509 শংসাপত্র ব্যবহার করে। সি. ও. এ. পি ট্র্যাফিকের জন্য সুরক্ষা মোড়ক হিসাবে ডি. টি. এল. এস ব্যবহার করার পরিবর্তে সি. ও. এ. পি সম্পদ হিসাবে সুরক্ষা সহযোগীদের প্রয়োগ করে ডি. টি. এল. এস-কে অনুকূল করার উপর গবেষণা পরিচালিত হয়েছে। এই গবেষণাটি ইঙ্গিত দিয়েছে যে 6.5 গুণ পর্যন্ত উন্নতির কোনও অনুকূল বাস্তবায়ন নেই। ডি. টি. এল. এস ছাড়াও, আর. এফ. সি. 8613 অবজেক্ট সিকিউরিটি ফর কনস্ট্রেইনড রেস্টফুল এনভায়রনমেন্ট (ও. এস. সি. ও. আর. ই) প্রটোকলকে সংজ্ঞায়িত করে যা অ্যাপ্লিকেশন স্তরে সি. ও. এ. পি-এর জন্য নিরাপত্তা প্রদান করে। যদিও প্রোটোকল স্ট্যান্ডার্ডে ডি. ডি. ও. এস পরিবর্ধন আক্রমণের হুমকি প্রশমিত করার বিধান অন্তর্ভুক্ত রয়েছে, তবে এই বিধানগুলি বাস্তবে প্রয়োগ করা হয় না, যার ফলে প্রাথমিকভাবে চীনে অবস্থিত 580,000 এরও বেশি লক্ষ্যের উপস্থিতি এবং 320 গিগাবাইট/সেকেন্ড পর্যন্ত আক্রমণ হয়। আরও দেখুন ইন্টারনেট অফ থিংস ওএমএ লাইটওয়েট এম2এম ওয়েব অফ থিংস স্ট্যাটিক কনটেক্সট হেডার কম্প্রেশন (এসসিএইচসি) রেফারেন্স এক্সটার্নাল লিঙ্ক আরএফসি 7252 "দ্য কনস্ট্রেইন্ড অ্যাপ্লিকেশন প্রোটোকল (সিওএপি)" coap.me-ব্রেমেন বিশ্ববিদ্যালয় হাইপারটেক্সট ট্রান্সফার প্রোটোকল অ্যাপ্লিকেশন লেয়ার প্রোটোকল দ্বারা পরিচালিত সিওএপি টেস্ট সার্ভার ইন্টারনেট অফ থিংস