Constrained Application Protocol
محدود ایپلیکیشن پروٹوکول (سی او اے پی) محدود آلات کے لیے ایک خصوصی انٹرنیٹ ایپلیکیشن پروٹوکول ہے، جیسا کہ آر ایف سی 7252 میں بیان کیا گیا ہے۔ یہ "نوڈس" نامی ان محدود آلات کو اسی طرح کے پروٹوکول کا استعمال کرتے ہوئے وسیع تر انٹرنیٹ کے ساتھ بات چیت کرنے کے قابل بناتا ہے۔ سی او اے پی ایک ہی محدود نیٹ ورک (مثال کے طور پر، کم طاقت، نقصان دہ نیٹ ورک) پر آلات کے درمیان، انٹرنیٹ پر آلات اور عام نوڈس کے درمیان، اور مختلف محدود نیٹ ورک پر آلات کے درمیان استعمال کے لیے ڈیزائن کیا گیا ہے جو دونوں انٹرنیٹ سے جڑے ہوئے ہیں۔ سی او اے پی کا استعمال دیگر میکانزم کے ذریعے بھی کیا جا رہا ہے، جیسے موبائل مواصلاتی نیٹ ورک پر ایس ایم ایس۔ سی او اے پی ایک ایپلیکیشن لیئر پروٹوکول ہے جس کا مقصد وسائل سے محدود انٹرنیٹ ڈیوائسز، جیسے وائرلیس سینسر نیٹ ورک نوڈس میں استعمال کرنا ہے۔ سی او اے پی کو ویب کے ساتھ آسان انضمام کے لیے آسانی سے ایچ ٹی ٹی پی میں ترجمہ کرنے کے لیے ڈیزائن کیا گیا ہے، جبکہ ملٹی کاسٹ سپورٹ، بہت کم اوور ہیڈ، اور سادگی جیسی خصوصی ضروریات کو بھی پورا کرتا ہے۔ ملٹی کاسٹ، کم اوور ہیڈ، اور سادگی انٹرنیٹ آف تھنگز (آئی او ٹی) اور مشین ٹو مشین (ایم 2 ایم) مواصلات کے لیے اہم ہیں، جو سرایت شدہ ہوتے ہیں اور روایتی انٹرنیٹ آلات کے مقابلے میں بہت کم میموری اور بجلی کی فراہمی رکھتے ہیں۔ اس لیے کارکردگی بہت ضروری ہے۔ سی او اے پی زیادہ تر آلات پر چل سکتا ہے جو یو ڈی پی یا یو ڈی پی اینالاگ کو سپورٹ کرتے ہیں۔ انٹرنیٹ انجینئرنگ ٹاسک فورس (آئی ای ٹی ایف) کانسٹرینڈ ریسٹ فل انوائرمنٹ ورکنگ گروپ (سی او آر ای) نے اس پروٹوکول کے لیے معیاری بنانے کا بڑا کام کیا ہے۔ پروٹوکول کو آئی او ٹی اور ایم ٹو ایم ایپلی کیشنز کے لیے موزوں بنانے کے لیے مختلف نئے افعال شامل کیے گئے ہیں۔ وضاحتیں پروٹوکول کا بنیادی حصہ میں متعین کیا گیا ہے۔ مختلف توسیعات تجویز کی گئی ہیں، خاص طور پر: (2015) کنسٹرائنڈ ایپلیکیشن پروٹوکول (2016) میں وسائل کا مشاہدہ کنسٹرائنڈ ایپلیکیشن پروٹوکول (سی او اے پی) میں بلاک وائز ٹرانسفر (2018) سی او اے پی (کنسٹرائنڈ ایپلیکیشن پروٹوکول) ٹی سی پی، ٹی ایل ایس، اور ویب ساکٹ پر (2021) کنسٹرائنڈ ایپلیکیشن پروٹوکول (سی او اے پی) میسج فارمیٹس میں ایکسٹینڈڈ ٹوکن اور اسٹیٹ لیس کلائنٹس سی او اے پی ایک سادہ، بائنری ہیڈر فارمیٹ کا استعمال کرتے ہوئے پیغام کی دو اقسام، درخواستوں اور جوابات کا استعمال کرتا ہے۔ سی او اے پی ڈیفالٹ طور پر یو ڈی پی اور اختیاری طور پر ڈی ٹی ایل ایس کا پابند ہے، جو اعلی سطح کی مواصلاتی سیکیورٹی فراہم کرتا ہے۔ جب یو ڈی پی سے منسلک ہوتا ہے، تو پورے پیغام کو ایک ہی ڈیٹاگرام کے اندر فٹ ہونا چاہیے۔ جب 6 ایل او ڈبلیو پی اے این کے ساتھ استعمال کیا جاتا ہے جیسا کہ آر ایف سی 4944 میں بیان کیا گیا ہے، تو ٹکڑے ٹکڑے کو کم کرنے کے لیے پیغامات کو ایک واحد آئی ای ای ای 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 نہیں ہے: ڈیلٹا کے لیے 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.1.9 شفاف ایچ ٹی ٹی پی-سی او اے پی میپنگ ماڈیول کے ساتھ جکواپ پراکسی کیلیفورنیایم سی ایف-پراکسی 2 سی او اے پی تھون فری سی او اے پی گروپ مواصلات بہت سے سی او اے پی ایپلی کیشن ڈومینز میں یہ ضروری ہے کہ ہر وسائل کو انفرادی طور پر خطاب کرنے کے بجائے کئی سی او اے پی وسائل کو ایک گروپ کے طور پر خطاب کرنے کی صلاحیت ہو (مثال کے طور پر۔ لائٹ سوئچ کو ٹگل کرنے سے شروع ہونے والی واحد سی او اے پی درخواست کے ساتھ کمرے میں سی او اے پی سے چلنے والی تمام لائٹس کو آن کرنا)۔ اس ضرورت کو پورا کرنے کے لیے، آئی ای ٹی ایف نے تجرباتی آر ایف سی کی شکل میں سی او اے پی کے لیے ایک اختیاری توسیع تیار کی ہے: سی او اے پی کے لیے گروپ کمیونیکیشن-آر ایف سی 7390 یہ توسیع گروپ کے تمام اراکین کو سی او اے پی کی درخواست فراہم کرنے کے لیے آئی پی ملٹی کاسٹ پر انحصار کرتی ہے۔ ملٹی کاسٹ کے استعمال کے کچھ فوائد ہیں جیسے اراکین کو درخواست پہنچانے کے لیے درکار پیکٹوں کی تعداد کو کم کرنا۔ تاہم، ملٹی کاسٹ کی اپنی حدود بھی ہیں جیسے کہ ناقص وشوسنییتا اور کیش غیر دوستانہ ہونا۔ سی او اے پی گروپ مواصلات کے لیے ایک متبادل طریقہ جو ملٹی کاسٹ کے بجائے یونیکاسٹ کا استعمال کرتا ہے اس کا انحصار ایک انٹرمیڈیٹری پر ہوتا ہے جہاں گروپ بنائے جاتے ہیں۔ کلائنٹ اپنی گروپ کی درخواستیں انٹرمیڈیٹری کو بھیجتے ہیں، جو بدلے میں گروپ کے اراکین کو انفرادی یونیکاسٹ کی درخواستیں بھیجتا ہے، ان سے جوابات اکٹھا کرتا ہے، اور کلائنٹ کو مجموعی جواب واپس بھیجتا ہے۔ سیکیورٹی سی او اے پی چار حفاظتی طریقوں کی وضاحت کرتا ہے: نوسیک، جہاں ڈی ٹی ایل ایس کو پری شیئرڈکی سے غیر فعال کیا جاتا ہے، جہاں ڈی ٹی ایل ایس کو فعال کیا جاتا ہے، وہاں پہلے سے شیئر کی جانے والی چابیاں کی ایک فہرست ہوتی ہے، اور ہر کلید میں ایک فہرست شامل ہوتی ہے کہ اسے کن نوڈس کے ساتھ بات چیت کرنے کے لیے استعمال کیا جا سکتا ہے۔ آلات کو اے ای ایس سائفر سوٹ کو سپورٹ کرنا چاہیے۔ را پبلک کی، جہاں ڈی ٹی ایل ایس فعال ہے اور آلہ بغیر سرٹیفکیٹ کے ایک غیر متناسب کلیدی جوڑی کا استعمال کرتا ہے، جس کی بینڈ سے باہر توثیق کی جاتی ہے۔ کلیدی تبادلے کے لیے آلات کو اے ای ایس سائفر سوٹ اور ایلیپٹک وکر الگورتھم کی حمایت کرنی چاہیے۔ سرٹیفکیٹ، جہاں DTLS فعال ہے اور آلہ توثیق کے لیے X.509 سرٹیفکیٹ استعمال کرتا ہے۔ سی او اے پی ٹریفک کے لیے ڈی ٹی ایل ایس کو سیکیورٹی ریپر کے طور پر استعمال کرنے کے بجائے سیکیورٹی ایسوسی ایٹس کو سی او اے پی وسائل کے طور پر لاگو کرکے ڈی ٹی ایل ایس کو بہتر بنانے پر تحقیق کی گئی ہے۔ اس تحقیق نے اشارہ کیا ہے کہ 6.5 گنا تک کی بہتریوں میں کوئی بہتر عمل درآمد نہیں ہوا۔ ڈی ٹی ایل ایس کے علاوہ، آر ایف سی 8613 آبجیکٹ سیکیورٹی برائے محدود آرام دہ ماحول (او ایس سی او آر ای) پروٹوکول کی وضاحت کرتا ہے جو درخواست کی پرت پر سی او اے پی کے لیے تحفظ فراہم کرتا ہے۔ حفاظتی مسائل اگرچہ پروٹوکول کے معیار میں ڈی ڈی او ایس امپلیفیکیشن حملوں کے خطرے کو کم کرنے کے لیے دفعات شامل ہیں، لیکن ان دفعات کو عملی طور پر نافذ نہیں کیا جاتا ہے، جس کے نتیجے میں بنیادی طور پر چین میں واقع 580,000 سے زیادہ اہداف کی موجودگی ہوتی ہے اور 320 جی بٹ/سیکنڈ تک کے حملے ہوتے ہیں۔ انٹرنیٹ آف تھنگز او ایم اے لائٹ ویٹ ایم 2 ایم ویب آف تھنگز اسٹیٹک کانٹیکسٹ ہیڈر کمپریشن (ایس سی ایچ سی) حوالہ جات بیرونی لنکس آر ایف سی 7252 "دی کنسٹرینڈ ایپلیکیشن پروٹوکول (سی او اے پی)" coap.me-سی او اے پی ٹیسٹ سرور جو یونیورسٹی آف بریمن ہائپر ٹیکسٹ ٹرانسفر پروٹوکول ایپلیکیشن لیئر پروٹوکول انٹرنیٹ آف تھنگز کے ذریعے چلایا جاتا ہے