یکی از اصطلاحات رایجی که امروزه به عنوان یک hot topic در بین محققان زیاد شنیده می شود، وب اشیا می باشد. امروزه ایده های بسیاری در این زمینه در حال مطرح شدن هستند. از جمله ماشین های هوشمندی که قادر به صحبت کردن با یکدیگر هستند(M2M). همچنین مفاهیمی نظیر شهرهوشمند و هوشمندسازی ساختمان ها که زیرمجموعه ای از اینترنت اشیا می باشند به طور گسترده ای مطرح گردیده اند.
مهمترین ویژگی اینترنت اشیا داشتن توانایی برقراری ارتباط بین دستگاه های مختلف می باشد. اینترنت اشیا به عنوان یک شبکه گسترده WAN محسوب می شود که قادر خواهد بود هرچیزی را در هرزمان و هرمکان به شبکه جهانی اینترنت متصل کند.
آینده اینترنت اشیا و سرنوشت وب امروزی:
از زمانی که اینترنت و وب جهانی بوجود آمده است همواره شاهد تغییرات گسترده و سریعی در این عرصه بوده ایم. بسیاری از کارشناسان فناوری اطلاعات معتقدند سرنوشت وب به طور ویژه ای به آینده اینترنت اشیا پیوند خورده است. آنها این پیوند را با نام وب اشیا یا Web of Things معرفی می کنند و آن را به طور مختصر WoT می نامند.
در حقیقت با توسعه اینترنت اشیا دیگر چیزی به نام وب امروزی معنای چندانی نخواهد داشت. زیرا که تمامی اشیا می توانند به آسانی با یکدیگر و با انسانها ارتباط برقرار کنند. اینترنت اشیا به دنبال کنترل هر آنچه که بر روی زمین قراردارد می باشد. چنین کنترلی، قدرتی عظیم برای اینترنت اشیا پدید خواهد آورد.
آیا اینترنت اشیا ، وب را به سیطره خود در خواهد آورد؟
اینترنت اشیا بزودی خواهد توانست هر احساسی را درک کند. در واقع اشیایی که در آینده بوجود می آیند جزئی جدایی ناپذیر از جامعه مدنی خواهند بود. این واقعیت باعث خواهد شد اینترنت اشیا به مراتب جایگاهی بالاتر از اینترنت امروزی و صفحات وب داشته باشد.
اینترنت اشیا سعی دارد تا به عنوان یک همراه نامرئی در تمامی سطوح زندگی انسان ها حضور پیداکند. اشیا هوشمند به دنبال برقراری ارتباط و تعامل با انسان ها هستند. آنها سعی می کنند اطلاعات را به شیوه های گوناگون جمع آوری کرده و در اختیار بشر قرار دهند. بدون تردید اینترنت اشیا به شدت بر روی آینده موتورهای جستجو و سئو تاثیر خواهد گذاشت. اینترنت اشیا ما را از خواندن، نوشتن، دیدن یا شنیدن محتواها از بستر وب بی نیاز خواهد کرد.
مبحثی نو در اینترنت اشیا : معرفی یک موتور جستجو مخصوص اکوسیستم اینترنت اشیا
انواع ارتباطات در بستر اینترنت اشیا:
- ارتباطات ماشین با ماشین (M2M) : فناوری به ماشین های گوناگون امکان برقراری ارتباط با یکدیگر را بدون هرگونه دخالت انسانی می دهد. معمولا چنین ماشین هایی از سنسورهای WiFi، تگ های RFID یا سیم کارت های تلفن همراه بهره می برند.
- شبکه های حسگر بی سیم (WSN) : Wireless Sensor Network یک محیط شبکه ای از دستگاه های کم قدرت می باشند. معمولا این شبکه ها متشکل از سنسورها و حسگرهای کوچکی هستند که داده ها را از محیط فیزیکی اطراف خود جمع آوری می کنند.
- اشیا هوشمند (Smart Object) : تمامی اشیای موجود در فضای فیزیکی و حتی فضای مجازی قابلیت هوشمندشدن را دارند. این اشیا می توانند با استفاده از حسگرها و قابلیت های محاسباتی که دارند با انسان ها و دیگر اشیا ارتباط برقر کنند. همچنین اشیا هوشمند قابلیت یادگیری دارند و عملکرد آنها به مرور زمان بهبود خواهد یافت.
شاید به دنبال تکمیل دانش خود درباره RFID باشید پس این پست را مطالعه کنید : RFID چیست؟
وب اشیا چیست ؟
اینترنت اشیا برروی لایه شبکه متمرکز است. اینترنت اشیا سعی دارد تا همه چیز را به یکدیگر متصل کند. این در حالی است که بسیاری از ارتباطات در بستر اینترنت از طریق وب و پروتکل های مرتبط با آن نظیر HTTP ،FTP و POP صورت می پذیرد.
وب اشیا یک مفهومی است که در بالای IoT قرار می گیرد. هدف وب اشیا همگام سازی و ترکیب داده های دریافتی از جهان اشیاء می باشد. وب اشیا در لایه کاربرد حضور دارد و سعی می کند با ارائه رابط های مناسب به اشیا ، اکان استفاده از استانداردهای وب را به آنها بدهد.
نگاهی به ساختار وب امروزی :
پروتکل استاندارد و قدرتمند وب یعنی HTTP علیرغم سادگی به راحتی می تواند انتقالات موردنیاز در سطح وب را انجام دهد. این پروتکل برپایه مدل کلاینت/سرور می باشد. هنگامی که مشتری یک درخواست را به سرور ارسال می کند، سرور پاسخ متناسب با درخواست مشتری را به سوی او می فرستد. این شیوه ارتباطی، دائمی نمی باشد. بلکه با پایان ارسال پیام از سوی طرفین ارتباط قطع می شود. همین موضوع باعث می شود تا کمترین اشغال پهنای باند را شاهد باشیم.
آشنایی با انواع پروتکل های مورد استفاده در اینترنت
خود پروتکل HTTP براساس پروتکل کنترل انتقال (TCP) کار می کند. پروتکل TCP یک پروتکل سه جانبه می باشد. در واقع مشتری در ابتدا یک پیام Syn به سوی سرور می فرستد. سپس سرور یک پیام Syn-Ack را برای مشتری می فرستد. مشتری هم پیام Ack را به سرور ارسال می کند. از آنجا که پروتکل HTT|P در درون پروتکل TCP قرار دارد، می توان از برقراری ارتباط مطمئن بود.
مشکل اینترنت اشیا با وب امروزی :
اینترنت اشیا برای برقراری ارتباط نیاز به ارتباطات سبک وزن دارد. بنابراین ضرورت دارد تا پرونکل های سبکتری به جای TCP و HTTP استفاده گردد. پروتکل های جدید در اینترنت اشیا نیاز به ترجمه دارند تا بتوانند با پروتکل های رایج اینترنت امروزی ارتباط برقرار کنند.
وب اشیا باید بتواند اینترنت اشیا را با استفاده از سرویس های تحت وب به معماری استاندارد وب متصل کند. چنین معماری های تحت وبی به REST معروف هستند. RESTful یا REST-style یک معماری نرم افزاری است که در سال ۲۰۰۰ مطرح شد. این معماری سبک هیبریدی مجموعه ای از محدودیت های را در شبکه های توزیع شده برطرف می کند.
REST یک سیستم مبتنی بر منابع است که به دنبال اهداف زیر می باشد:
- معرفی یک سیستم جدید در معماری کلاینت/مشتری: به طوری که سرور و مشتری قادر به تکامل ارتباطات مستقل از یکدیگر خواهند بود.
- بی طرفی: درخواست مشتری باید اطلاعات کافی را در درون خود داشته باشد تا سرور بتواند درک درستی از درخواست مشتری را بدست آورد.
- ذخیره سازی: این قابلیت برای بهبود کارآیی شبکه می باشد. این اطلاعات در درخواست های جدید مورد استفاده قرار می گیرند. این موضوع باعث کاهش زمان تاخیر می شود.
- مکانیسم لایه ای: پروتکلREST با داشتن لایه های مختلف باعث کاهش پیچیدگی می شود.
- رابط کاربری متناسب: در RESTful شاهد یک رابط کاربری مشترک بین داده ها و منابع می باشیم.این رابط کاربری باعث سادگی استخراج دانش از داده های خام می شود. همچنین باعث می شود تا امکان پردازش هر نوع داده ای وجود داشته باشد.
- سفارشی سازی کدها: امکان سفارشی سازی و گسترش ویژگی های سرویس پذیرنده وجود دارد. این موضوع امکان مانیتورینگ را تسهیل می کند. همچنین امکان ایجاد تغییرات بعد از نصب یک سیستم را به مدیران می دهد.
معرفی پروتکل درخواست محدود یا CoAP (Constrained Application protocol) :
پروتکل CoAP یک پروتکل انتقال وب نسبتا جدید است که برای دستگاه های محدود الکترونیکی عرضه شده است. این پروتکل سطح وب به دنبال ارائه سادگی است. همچنین CoAP یک بهینه سازی از پروتکل HTTP نیز محسوب می شود. CoAP به راحتی ارتباطات ماشین به ماشین را پیاده سازی می کند. در ادامه به معرفی چند ویژگی مهم در پروتکل CoAP که به عنوان مهمترین پروتکل موجود در وب اشیا می باشد می پردازیم :
- فراهم کردن الزامات مورد نیاز برای ارتباطات M2M در محیط های محدود.
- ارائه پروتکل UDP با امکان یکپارچه سازی درخواست های چندرسانه ای.
- مبادلات پیام های نامتقارن.
- سربار کم و کاهش پیچیدگی آنالیزی.
- ارائه URL و پشتیبانی از انواع محتوا.
- قابلیت ارائه پروکسی و ذخیره سازی اطلاعات.
- دسترسی آسان به HTTP از طریق CoAP با ارائه یک رابط کاربری ساده.
- تامین امنیت با استفاده از لایه انتقال امن داده (DTLS)
معرفی انواع گره های موجود در اینترنت اشیا:
قبل از آنکه به بررسی مدل CoAP به عنوان یک پروتکل سبک وزن بپردازیم جا دارد به بررسی انواع گره های موجود در اکوسیستم اینترنت اشیا بپردازیم. باید توجه داشت که پروتکل سبک وزن یک اصطلاح کلی می باشد . این مفهوم اشاره به پروتکل هایی دارد که داده ها را با کمترین سربار پردازش می کنند و همزمان با کمترین مصرف انرژی وظایف خود را انجام می دهند. چنین پروتکل هایی باید ساده باشند و مدیریت آنها آسان باشد.
کلاس بندی سه گانه اشیا در اکوسیستم اینترنت اشیا:
- کلاس ۰ (C0) : در این کلاس شاهد حضور دستگاه های محدود از لحاظ انرژی و قدرت پردازشی هستیم . بنابراین احتمال ارتباط مستقیم آنها با شبکه (اینترنت) بسیار پایین است. قطعا چنین تجهیزاتی با کمک Reader ها، ایستگاه های پایه، پروکسی ها، سرورهای back end و دروازه ها به اینترنت متصل می شوند.
- کلاس ۱ (C1) : این دستگاه ها هم مانند دسته قبلی دارای محدودیت هایی در الگوریتم ها و پردازش های محاسباتی می باشند. امّا آنها می توانند به صورت مستقیم به اینترنت متصل شوند. دستگاه های این دسته دارای IP منحصربفرد هستند که با کمک آن در شبکه حضور فعال خواهند داشت. این تجهیزات به شدت نیازمند کنترل محدودیت های خود می باشند.
- کلاس ۲ (C2) : این دستگاه ها کمترین محدودیت را دارند. دستگاه های موجود در این دسته قادر به استفاده از پروتکل های رایج اینترنت می باشند. هرچند که توصیه می شود در چنین دستگاه هایی هم از پروتکل های سبک وزن و کارآمد استفاده شود. بهینه بودن برای چنین دستگاه هایی هم از اهمیت بالایی برخوردار است.
ارائه یک پروتکل تعاملی متناسب با محیط اینترنت اشیا:
محدودیت ها و چالش ها :
تجهیزات موجود در اینترنت اشیا معمولا دستگاه های کوچکی هستند. این تجهیزات دارای محدودیت های بسیاری در پردازش و انرژی می باشند. بنابراین نیاز دارند تا پروتکل های ارتباطی در آنها بسیار ساده و البتّه کارآمد باشند. پروتکل CoAP یک پروتکل انتقال داده در سطح وب می باشد. این پروتکل داده ها را از سطح گره های موجود در شبکه اشیا جمع آوری می کند. سپس با پردازش اولیه بر روی داده ها ، اطلاعات استخراج شده را به یک پروتکل رایج امروزی (نظیر HTTP) تحویل می دهد.
در شبکه اینترنت اشیا هر شی هوشمند دارای یک IP منحصربفرد خواهد بود. این IP منحصربفرد باعث می شود تا هر شی به راحتی شناسایی شود. طبق پیش بینی ها تا پایان سال ۲۰۲۰ چیزی در حدود ۵۰ میلیارد دستگاه هوشمند متصل به اینترنت وجود خواهد داشت. در حال حاضر IP V4 با محدودیت آدرس دهی مواجه است (در حدود ۴ میلیارد دستگاه) . برای توسعه اینترنت اشیا ضرورت دارد تا به سراغ IP V6 برویم. با کمک IP V6 در حدود ۳۴۰ تریلیون دستگاه را می توانیم به اینترنت متصل کنیم.
ساختار مدل تعاملی CoAP :
مدل CoAP مانند مدل کلاینت/سرور عمل می کند. این مدل می تواند به راحتی تعاملات M2M را پیاده سازی کند. در CoAP به عنوان یک پروتکل مختص وب اشیا هر ماشین دارای یک URL مختص خود است. این URL باعث تشخیص منابع از یکدیگر می شود. در شکل مقابل یک لایه انتزاعی از مدل CoAP را مشاهده می کنید.