Constrained Application Protocol
कन्स्ट्रेन्ड एप्लीकेशन प्रोटोकॉल (सी. ओ. ए. पी.), आर. एफ. सी. 7252 में परिभाषित, कन्स्ट्रेन्ड उपकरणों के लिए एक विशेष इंटरनेट एप्लीकेशन प्रोटोकॉल है। यह "नोड्स" नामक उन बाधित उपकरणों को समान प्रोटोकॉल का उपयोग करके व्यापक इंटरनेट के साथ संवाद करने में सक्षम बनाता है। सी. ओ. ए. पी. को एक ही सीमित नेटवर्क (जैसे, कम-शक्ति, हानि नेटवर्क) पर उपकरणों के बीच, इंटरनेट पर उपकरणों और सामान्य नोड्स के बीच, और इंटरनेट से जुड़े विभिन्न सीमित नेटवर्क पर उपकरणों के बीच उपयोग के लिए डिज़ाइन किया गया है। सी. ओ. ए. पी. का उपयोग अन्य तंत्रों के माध्यम से भी किया जा रहा है, जैसे कि मोबाइल संचार नेटवर्क पर एस. एम. एस। सी. ओ. ए. पी. एक अनुप्रयोग-परत प्रोटोकॉल है जिसका उपयोग संसाधन-बाधित इंटरनेट उपकरणों, जैसे कि वायरलेस संवेदक नेटवर्क नोड्स में उपयोग के लिए किया जाता है। सी. ओ. ए. पी. को वेब के साथ सरलीकृत एकीकरण के लिए आसानी से एच. टी. टी. पी. में अनुवाद करने के लिए डिज़ाइन किया गया है, जबकि विशेष आवश्यकताओं जैसे कि मल्टीकास्ट समर्थन, बहुत कम ओवरहेड और सरलता को भी पूरा करता है। मल्टी कास्ट, लो ओवरहेड और सरलता इंटरनेट ऑफ थिंग्स (आईओटी) और मशीन-टू-मशीन (एम2एम) संचार के लिए महत्वपूर्ण हैं, जो पारंपरिक इंटरनेट उपकरणों की तुलना में बहुत कम स्मृति और बिजली की आपूर्ति करते हैं। इसलिए दक्षता बहुत महत्वपूर्ण है। सी. ओ. ए. पी. अधिकांश उपकरणों पर चल सकता है जो यू. डी. पी. या यू. डी. पी. एनालॉग का समर्थन करते हैं। इंटरनेट इंजीनियरिंग टास्क फोर्स (आई. ई. टी. एफ.) कन्स्ट्रेन्ड आर. ई. एस. टी. फुल एनवायरनमेंट वर्किंग ग्रुप (सी. ओ. आर. ई.) ने इस प्रोटोकॉल के लिए प्रमुख मानकीकरण कार्य किया है। प्रोटोकॉल को आईओटी और एम2एम अनुप्रयोगों के लिए उपयुक्त बनाने के लिए, विभिन्न नए कार्यों को जोड़ा गया है। विनिर्देशन प्रोटोकॉल का मूल में निर्दिष्ट किया गया है। विभिन्न विस्तारों का प्रस्ताव किया गया है, विशेष रूप सेः (2015) सीमित अनुप्रयोग प्रोटोकॉल में संसाधनों का अवलोकन (2016) सीमित अनुप्रयोग प्रोटोकॉल (सी. ओ. ए. पी.) में ब्लॉक-वाइज हस्तांतरण (2018) टी. सी. पी., टी. एल. एस. और वेबसॉकेट्स पर सी. ओ. ए. पी. (सीमित अनुप्रयोग प्रोटोकॉल) (2021) सीमित अनुप्रयोग प्रोटोकॉल (सी. ओ. ए. पी.) संदेश प्रारूपों में विस्तारित टोकन और राज्यविहीन ग्राहक सी. ओ. ए. पी. एक सरल, द्विआधारी शीर्षक प्रारूप का उपयोग करते हुए दो संदेश प्रकारों, अनुरोधों और प्रतिक्रियाओं का उपयोग करता है। सी. ओ. ए. पी. डिफ़ॉल्ट रूप से यू. डी. पी. और वैकल्पिक रूप से डी. टी. एल. एस. के लिए बाध्य है, जो उच्च स्तर की संचार सुरक्षा प्रदान करता है। यू. डी. पी. से बंधे होने पर, पूरा संदेश एक ही डेटाग्राम के भीतर फिट होना चाहिए। जब आर. एफ. सी. 4944 में परिभाषित 6एल. ओ. डब्ल्यू. पी. ए. एन. के साथ उपयोग किया जाता है, तो विखंडन को कम करने के लिए संदेशों को एकल आई. ई. ई. ई. 802.15.4 फ्रेम में फिट होना चाहिए। सबसे छोटा सी. ओ. ए. पी. संदेश लंबाई में 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 से 268 तकः विकल्प डेल्टा विस्तारित एक 8-बिट मूल्य है जो विकल्प डेल्टा मूल्य माइनस 13 14 का प्रतिनिधित्व करता हैः डेल्टा के लिए 269 से 65,804 तकः विकल्प डेल्टा विस्तारित एक 16-बिट मूल्य है जो विकल्प डेल्टा मूल्य माइनस 269 15 का प्रतिनिधित्व करता हैः पेलोड मार्कर के लिए आरक्षित, जहां विकल्प डेल्टा और विकल्प लंबाई को 0xFF के रूप में एक साथ सेट किया जाता है। विकल्प की लंबाईः 0 से 12: विकल्प की लंबाई के लिए 0 से 12: सटीक लंबाई मूल्य का प्रतिनिधित्व करता है, जिसमें कोई विकल्प लंबाई विस्तारित मूल्य नहीं है 13: विकल्प की लंबाई के लिए 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-यूनिवर्सिटी ऑफ ब्रेमेन हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल एप्लीकेशन लेयर प्रोटोकॉल इंटरनेट ऑफ थिंग्स द्वारा संचालित सी. ओ. ए. पी. परीक्षण सर्वर देखें।