LoRa یک فناوری مدولاسیون بیسیم برد بلند (Long Range) است که با مصرف انرژی بسیار پایین، دادهها را از طریق باندهای فرکانسی آزاد و بدون مجوز منتقل میکند. اساس آن بر تکنیک Chirp Spread Spectrum (CSS) بنا شده که مقاومت بالایی در برابر نویز و تداخل دارد و برای کاربردهای نظامی و فضایی توسعه یافته بوده. LoRa در نقش لایه فیزیکی عمل میکند، در حالی که LoRaWAN یک پروتکل کامل شبکه است که بر بستر LoRa اجرا میشود و وظیفه مدیریت ارتباطات، امنیت و ساختار شبکه را بر عهده دارد. ترکیب این دو، یک راهکار ایدهآل برای اینترنت اشیاء با برد طولانی، مصرف انرژی کم و توان کارکرد در شرایط سخت فراهم میکند.
LoRa کوتاهشدهی عبارت Long Range هست و در واقع یک فناوری مدولاسیون بیسیم اختصاصی محسوب میشه که توسط شرکت Semtech توسعه داده شده. این فناوری مبتنی بر تکنیک Chirp Spread Spectrum (CSS) کار میکنه؛ روشی که در ابتدا برای کاربردهای نظامی و فضایی ساخته شده بود تا ارتباطی با برد بسیار طولانی و مقاومت بالا در برابر نویز فراهم کنه. LoRa به دستگاهها اجازه میده دادهها رو با مصرف انرژی بسیار کم در باندهای فرکانسی آزاد (مثل ۴۳۳، ۸۶۸ یا ۹۱۵ مگاهرتز، بسته به منطقه) ارسال و دریافت کنن.
ترکیب ویژگیهایی مثل برد زیاد، مصرف کم و قابلیت کارکرد در شرایط محیطی دشوار باعث شده LoRa تبدیل به ستون پایهای بسیاری از شبکههای اینترنت اشیاء بشه. البته LoRa به تنهایی یک پروتکل کامل ارتباطی نیست و بیشتر به عنوان لایه فیزیکی عمل میکنه که وقتی با لایههای بالاتر مثل پروتکل LoRaWAN ترکیب میشه، به یک راهکار کامل برای ارتباط برد بلند و کممصرف تبدیل میشه.
LoRaWAN در واقع یک پروتکل اختصاصی برای ارتباطات LPWAN هست که توسط شرکت Semtech توسعه داده شده. چیزی که LoRaWAN رو خاص میکنه مصرف فوقالعاده کم انرژی و برد خیلی بالای اون هست حتی وقتی با بقیه فناوریهای LPWAN مقایسه بشه.
یکی دیگه از ویژگیهای جالبش مقاومت بالاست در برابر نویز و تداخله. دلیلش هم اینه که شیوهی مدولاسیون بیسیم LoRaWAN بر پایه تکنولوژیای طراحی شده که در اصل برای صنایع نظامی و فضایی ساخته شده بود. برای اینکه بزرگی ماجرا رو حس کنی: سال ۲۰۱۷ یک بستهی LoRaWAN تونست مسافتی حدود ۷۰۲ کیلومتر رو طی کنه و رکوردهای قبلی رو بشکنه!
همین ویژگیهای منحصربهفرد باعث میشه LoRaWAN گزینهی ایدهآلی برای طیف گستردهای از کاربردهای اینترنت اشیاء باشه. مدیریت و توسعه این پروتکل هم بر عهدهی LoRa Alliance هست؛ یک انجمن باز و غیرانتفاعی که اعضاش ترکیبی از تولیدکنندههای معتبر تجهیزات، ارائهدهندههای سرویس و حتی مؤسسات عمومی هستن.
تفاوت LoRa و LoRaWAN
خیلی وقتها LoRa و LoRaWAN با هم قاطی میشن، در حالی که هر کدوم معنی و کاربرد مشخص خودشون رو دارن. برای اینکه از این راهکار ارتباطی خاص استفاده کنی، به هر دو نیاز داری!، در واقع LoRa بخشی از LoRaWAN هست.
LoRa در واقع همون لایه فیزیکی شبکهست؛ یعنی مسئول مدولاسیون بیسیم که باعث میشه دستگاهها بتونن ارتباطی با برد خیلی طولانی برقرار کنن. بیشتر سیستمهای بیسیم معمولی از مدولاسیونهای سنتی مثل FSK (Frequency Shift Keying) استفاده میکنن. اما LoRa بر پایهی مدولاسیونی به نام CSS یا Chirp Spread Spectrum ساخته شده؛ همون تکنولوژیای که برای صنایع نظامی و فضایی توسعه داده شده بود تا یک شبکه LPWAN بسازه که هم برد خیلی زیادی داشته باشه و هم در برابر تداخل مقاوم باشه.
نکته جالبه اینجاست: هم CSS و هم FSK مصرف انرژی کمی دارن، ولی CSS توانایی برد ارتباطی دستگاهها رو به شکل چشمگیری افزایش میده.
LoRa رو میشه یه نسخه اختصاصی و بهبودیافته از CSS دونست که به اپراتورهای شبکههای IoT اجازه میده با توجه به نیازشون، نرخ داده رو فدای برد بیشتر کنن(این نکته حیاتی هست)! یا مصرف انرژی رو مدیریت کنن؛ یعنی یک جور انعطاف برای بهینهسازی عملکرد شبکه بسته به شرایط و الزامات.
معماری LoRa و LoRaWAN
LoRa وظیفه مدولاسیون سیگنال بیسیم را بر عهده دارد و با استفاده از تکنیک Chirp Spread Spectrum (CSS) امکان ارسال دادهها را در فاصلههای طولانی (حتی در شرایط محیطی پر نویز) فراهم میکند. این لایه پایهای است که بر بستر آن ارتباط برد بلند و مقاوم شکل میگیرد.
LoRaWAN به عنوان لایه بالاتر، مدیریت ارتباطات میان گرهها (Nodes)، گیتویها و سرور شبکه را انجام میدهد. این پروتکل معمولاً با توپولوژی ستارهای (Star) پیادهسازی میشود؛ به این ترتیب هر نود داده را به تمام گیتویهای در محدوده خود ارسال میکند و گیتویها بدون تغییر این دادهها را به سرور شبکه منتقل میکنند.
جداسازی وظایف بین لایه فیزیکی و لایه شبکه باعث میشود عملیات پیچیده مانند پردازش، امنیت و حذف بستههای تکراری به سرور منتقل شود؛ جایی که منابع انرژی و توان محاسباتی کافی وجود دارد.
این معماری با قابلیت خواب طولانی نودها و بیداری مقطعی، مصرف انرژی را به حداقل میرساند و عمر باتریها را بهطور چشمگیری افزایش میدهد، در حالی که برد ارتباطی در مقیاس شهری و روستایی قابلاعتماد باقی میماند.
خیلی از شبکهها معمولاً با معماری مش (Mesh) پیادهسازی میشن. نمونه معروفش پروتکل Zigbee هست که توی سیستم روشنایی Philips Hue استفاده میشه. توی این معماری، نودهای انتهایی (یعنی همون سنسورها، عملگرها و … در دنیای IoT) اطلاعات رو به نودهای دیگه مثل گیتویها میفرستن و همین باعث میشه برد ارتباطی افزایش پیدا کنه.
اما این مدل معماری دردسرهایی هم داره: ظرفیت کمتر، عمر باتری کوتاهتر (چون هر نود باید هم داده بفرسته و هم دریافت کنه) و نقشه شبکهای که خیلی پیچیدهتر میشه و نگهداری و عیبیابی رو سختتر میکنه.
LoRaWAN اما یه رویکرد متفاوت داره. اینجا از معماری ستارهای (Star) استفاده میشه. یعنی گیتویها الزاماً به نود خاصی وصل نیستن. در عوض، دادهای که توسط یه نود ارسال میشه میتونه همزمان توسط چندین گیتوی دریافت بشه. بعد هم هر گیتوی بدون هیچ پیشپردازشی همون بسته داده رو به سرور شبکه میفرسته.
خودت تصور کن: همه پیچیدگیها مثل حذف بستههای تکراری، بررسی صحت داده و چکهای امنیتی، همگی به سرور شبکه منتقل میشه جایی که معمولاً محدودیت انرژی نداره و میتونه به راحتی این کارها رو انجام بده.
یه مزیت مهم دیگه هم این معماری داره؛ نودها لازم نیست مدام گوش به زنگ پیامهای بقیه نودها باشن. بیشتر وقتها میتونن توی حالت خواب (Sleep Mode) بمونن و فقط موقع نیاز بیدار شن. همین موضوع مصرف انرژی رو به طرز چشمگیری کاهش میده و باعث میشه باتریها خیلی بیشتر عمر کنن.
شبکههای عمومی LoRaWAN معمولاً توسط اپراتورهای تلفن یا ارائهدهندههای خدمات ارتباطی راهاندازی میشن. این شرکتها از زیرساخت موجود خودشون و همینطور جامعه کاربریای که از قبل دارن استفاده میکنن تا شبکه LoRaWAN خودشون رو ارائه بدن و مثل بقیه پروتکلهای ارتباطی، دسترسی به این شبکه رو به شکل اشتراکی (Subscription-based) بفروشن.
این نوع شبکهها معمولاً در سطح ملی در دسترس کاربرها هستن و شرکتهای فعال در حوزه اینترنت اشیاء میتونن در صورت بهصرفه بودن، مشترک این سرویس بشن. برای نمونه، توی کشور سوئیس، شرکت ملی مخابرات Swisscom یک شبکه LoRaWAN سراسری راهاندازی کرده تا از توسعه راهکارهای هوشمند کممصرف پشتیبانی کنه. البته متاسفانه در ایران همچین زیرساختی وجود نداره! ولی همچنان میشه به شکل محلی شبکه خودمون رو راه اندازی کنیم و یا از شبکههای خاص مثل هلیوم استفاده کنیم.
شبکه هلیوم که بعضی وقتا بهش People’s Network هم میگن، در واقع یه شبکه غیرمتمرکز برای اینترنت اشیاء هست که روی LoRaWAN سوار شده. ایدهی اصلیش اینه که به جای اینکه اپراتورهای بزرگ مثل مخابرات یا شرکتهای مخابراتی زیرساخت رو بسازن، خود مردم گیتویها (یا همون هاتاسپاتها) رو نصب میکنن و در ازاش پاداش میگیرن.
یعنی هر کسی میتونه با خریدن و راهاندازی یک Helium Hotspot، تبدیل بشه به بخشی از این شبکه جهانی. این هاتاسپاتها هم نقش گیتوی LoRaWAN رو دارن و هم به عنوان یک نود بلاکچین کار میکنن. نتیجه این میشه که هم شبکه LoRaWAN گستردهتر میشه، هم دادهها بهصورت امن منتقل میشن و هم کاربرهایی که هاتاسپات رو به شبکه وصل کردن، توکن HNT (رمزارز شبکه Helium) دریافت میکنن.
از نظر کارکرد، دستگاههای IoT (مثل سنسور دما، ردیاب حیوانات، کنتور هوشمند و …) دادهها رو با استفاده از LoRaWAN به نزدیکترین هاتاسپات Helium میفرستن. اون هاتاسپات هم بدون دستکاری، داده رو به سرورهای شبکه Helium منتقل میکنه تا به مقصد نهایی برسه (مثلاً اپلیکیشن یا سرور یک شرکت).
به زبان ساده، Helium با ترکیب LoRaWAN و بلاکچین یه مدل اقتصادی جدید ساخته: هم شبکه ارزان و گسترده برای اینترنت اشیاء ایجاد کرده، هم انگیزه مالی برای مردمی که در ساخت این شبکه مشارکت میکنن.
توی ایران این شبکه قبلا خیلی پر طرفدار بود و افراد زیادی Helium Hotspot رو به امید درآمد نصب و روشن میکردن (بهشون میگفتن ماینر ارز هلیوم) که با تغییر سیاست های پرداخت و نبود دستگاه فعال (سنسور lorawan) این شبکه توی ایران تقریبا غیرفعال شده.
همونطور که توی نقشه بالا می بیند توی ایران هیچ نقطه سبز رنگی نمی بینید(هاب های فعال) در حالی که در پایین تصور که دبی و امارت رو نشون میده کلی هاب فعال این شبکه وجود دارد. البته غیر از هلیوم شبکه های دیگه ای هم هست مثل The Things Network که در واقع شبکه مشارکت محور بدون درآمد هست که متن باز هم هست.
Lorawan Gateway
گیتویهای LoRaWAN در واقع دستگاههای فیزیکی هستن که هم سختافزار و هم نرمافزار (Firmware) لازم رو در خودشون دارن تا بتونن دستگاههای انتهایی IoT رو به فضای ابری وصل کنن. به بیان سادهتر، گیتویها ستون فقرات هر شبکه IoT مبتنی بر LoRaWAN محسوب میشن.
گیتوی مثل یک هاب مرکزی عمل میکنه؛ جایی که سنسورها و دستگاههای IoT دادههای جمعآوریشدهشون رو تحویل میدن. بعد گیتوی این دادهها رو از طریق امواج RF دریافت میکنه و اونها رو به سرور روی شبکه(مثلا اینترنت ، اینترانت) منتقل میکنه.
به این ترتیب، گیتوی نقش واسط حیاتی بین دنیای فیزیکی (سنسورها) و دنیای دیجیتال (سرور شبکه و کلاد) رو ایفا میکنه. بدون وجود گیتوی، عملاً هیچ شبکه LoRaWAN قابل استفاده نخواهد بود.
یکی از مهمترین چالشهای LoRaWAN همین محدودیت پهنای باند و الگوی ارتباطی اون هست. چون LoRaWAN از باندهای فرکانسی آزاد و بدون مجوز یا ISM (مثل ۴۳۳، ۸۶۸ یا ۹۱۵ مگاهرتز بسته به منطقه) استفاده میکنه، قوانین سختگیرانهای برای این باندها وجود داره. مثلاً توی اروپا قانون Duty Cycle میگه یک دستگاه توی باند ۸۶۸ مگاهرتز فقط میتونه درصد خیلی کمی از زمان (مثلاً ۱٪ یا حتی کمتر) رو به ارسال سیگنال اختصاص بده.
این یعنی:
به همین خاطر LoRaWAN بیشتر برای ارتباطهای دورهای و کمحجم ساخته شده؛ مثل ارسال دمای هوا هر چند دقیقه یکبار، گزارش سطح مخزن آب روزی چند بار، یا موقعیتیابی حیوانات. ولی برای چیزهایی مثل ویدئو استریم یا انتقال فایلهای بزرگ عملاً به درد نمیخوره.
از طرف دیگه، در ارتباط downlink هم محدودیت بیشتره. چون سرور نمیتونه هر لحظه پیام رو به دستگاهها برسونه؛ دستگاه باید خودش هر از گاهی بیدار بشه و گوش بده. همین باعث میشه اگر بخوای یک سناریوی دوطرفهی همزمان طراحی کنی، به مشکل خواهی خورد.
اما محدودیت مهم بعدی بحث اختصاصی بودن (Proprietary) LoRa هست. مدولاسیون LoRa یک فناوری ثبتشده توسط Semtech به حساب میاد. در عمل یعنی:
پس در کل میشه گفت LoRaWAN برای کاربردهای کممصرف و با دادههای کوچک طراحی شده، اما اگه نیاز به پهنای باند بالا، ارتباط دائمی یا استقلال کامل از یک شرکت خاص داشته باشی، گزینههای دیگه مثل NB-IoT یا حتی شبکههای Mesh میتونن انتخاب بهتری باشن.
برد LoRaWAN یک عدد ثابت نیست و کاملاً به محیط و شرایط بستگی دارد. در مناطق شهری، به خاطر وجود ساختمانها، دیوارها و موانع متعدد، برد معمولاً در حد چند کیلومتر است و معمولاً چیزی حدود پنج کیلومتر است. اما وقتی از شهر فاصله میگیریم و به مناطق روستایی یا فضاهای باز میرسیم، جایی که دید مستقیم میان آنتنها برقرار است و موانع کمتری وجود دارد، این برد میتواند تا پانزده کیلومتر هم افزایش پیدا کند. حتی در شرایط آزمایشی و با تجهیزات خاص، رکوردهای عجیب و غریبی مثل ارسال بسته LoRaWAN تا بیش از هفتصد کیلومتر هم ثبت شده که بیشتر برای نشان دادن توانایی تکنولوژی بوده تا استفاده عملی.
این برد تحت تأثیر عوامل مختلفی است؛ برای مثال توان فرستنده نقش مستقیم در افزایش برد دارد، البته قوانین فرکانسی در هر کشور اجازه نمیدهند که توان بیش از حد بالا برود. نوع آنتن نیز اهمیت زیادی دارد و یک آنتن با کیفیت میتواند تفاوت بزرگی در کیفیت ارتباط ایجاد کند. شرایط محیطی هم اثرگذار است؛ ساختمانهای بلند، درختان متراکم، تپهها و حتی وضعیت جوی مثل باران یا رطوبت میتوانند برد را کاهش دهند. از طرف دیگر پارامترهای فنی LoRa مثل Spreading Factor هم مؤثر هستند؛ هرچه این عدد بزرگتر انتخاب شود، برد افزایش پیدا میکند اما در عوض نرخ انتقال داده کاهش مییابد.
ویژگی مهم دیگر LoRaWAN مصرف انرژی فوقالعاده پایین آن است. دستگاههای IoT که روی این پروتکل کار میکنند، بیشتر زمان خود را در حالت خواب میگذرانند و فقط هر چند دقیقه یا هر چند ساعت برای ارسال داده بیدار میشوند. همین مسئله باعث میشود طول عمر باتری آنها به شکل چشمگیری افزایش پیدا کند، تا جایی که بعضی دستگاهها میتوانند نزدیک به ده سال با یک باتری ساده کار کنند، بدون اینکه نیاز به شارژ یا تعویض مداوم داشته باشند.
ترکیب این دو ویژگی برد طولانی و مصرف انرژی بسیار کم LoRaWAN را به یک گزینه بیرقیب برای اینترنت اشیاء در مقیاس بزرگ تبدیل کرده است. کافی است تصور کنیم هزاران سنسور در یک مزرعه کشاورزی هوشمند، روی خطوط لوله آب یا در یک شهر هوشمند در حال جمعآوری داده هستند؛ هیچکدام از این دستگاهها نمیتوانند دائم به برق متصل باشند یا هر چند روز یکبار باتریشان عوض شود. اینجاست که LoRaWAN با همان ارتباطهای دورهای و کمحجم خودش بهترین راهحل را ارائه میدهد.
ایمن نگهداشتن یک استقرار از اینترنت اشیاء فقط به انتخاب پروتکل درست خلاصه نمیشود؛ امنیت به روند پیادهسازی و رعایت بهترین روشها و استانداردهای صنعتی هم وابسته است.
LoRaWAN ذاتاً بسیار امن طراحی شده است؛ چون احراز هویت و رمزنگاری در آن اجباری هستند. با این حال، شبکهها و دستگاهها همچنان میتوانند آسیبپذیر باشند اگر کلیدهای امنیتی بهدرستی محافظت نشوند، برای همه دستگاهها به شکل تصادفی تولید نشوند یا اگر اعداد رمزنگاری که فقط یک بار باید استفاده شوند (Nonce) دوباره مورد استفاده قرار بگیرند. همانطور که در بسیاری از گزارشها و وبلاگها نشان داده شده، این نقاط ضعف میتوانند امنیت را به خطر بیندازند.
از همون روز اول، اتحادیه LoRa Alliance امنیت رو گذاشته وسط میز و با جدیت کامل دنبال کرده. هیچ چیزی پشت پرده نبوده و همیشه شفاف درباره ویژگیهای امنیتی LoRaWAN حرف زده. این پروتکل از پایه جوری طراحی شده که امنیت بخشی جداییناپذیرش باشه، نه یه گزینهی اضافه. همین باعث شده LoRaWAN بتونه ویژگیهای امنیتی پیشرفتهای ارائه بده که دقیقاً به درد شبکههای اینترنت اشیاء بزرگ و کممصرف میخوره.
نکته جذابش اینه که بر خلاف خیلی از فناوریهای IoT دیگه، LoRaWAN به صورت پیشفرض رمزنگاری سرتاسری (end-to-end) رو برای اپلیکیشنها فراهم کرده. یعنی دادهای که توی دستگاه تولید میشه، همونطور قفلشده و امن تا مقصد نهایی حرکت میکنه.
امنیت LoRaWAN
استاندارد LoRaWAN دو لایه رمزنگاری رو تعریف کرده که نقش اصلی رو در امنیت ایفا میکنن. اولی یک کلید ۱۲۸ بیتی به نام Network Session Key هست که بین دستگاه انتهایی و سرور شبکه به اشتراک گذاشته میشه. این کلید وظیفه داره اعتبارسنجی و یکپارچگی بستهها رو برای سرور تضمین کنه. دومی هم یک کلید ۱۲۸ بیتی دیگه به نام Application Session Key (AppSKey) هست که به صورت سرتاسری بین دستگاه و سرور اپلیکیشن به اشتراک گذاشته میشه تا دادهها در مسیر رمزنگاری کامل داشته باشن.
برای پیادهسازی این لایهها از الگوریتم AES استفاده شده که یکی از مطمئنترین و شناختهشدهترین استانداردهای رمزنگاریه. همین ترکیب باعث میشه شبکه بتونه حتی به شکل multi tenant کار کنه؛ یعنی چندین کاربر بتونن از یک شبکه مشترک استفاده کنن بدون اینکه اپراتور شبکه امکان دیدن محتوای دادههای اونها رو داشته باشه.
فعالسازی دستگاهها هم انعطافپذیر طراحی شده. میشه دستگاه رو همون موقع تولید یا در زمان راهاندازی اولیه شخصیسازی کرد (Activation by Personalization)، یا اینکه به شکل Over-The-Air Activation (OTAA) توی محیط فعالش کرد. مزیت OTAA اینه که اگه نیاز باشه، جلسههای ارتباطی دستگاه میتونن دوباره کلیدگذاری (rekey) بشن و امنیت همچنان حفظ بشه.
LoRaWAN تمام اجزای اساسی و پایهای رو که توی هر فناوری ارتباط بیسیم مدرن نیاز داریم، در خودش داره و همه اینها رو هم با قدرت رمزنگاری AES-128 پیادهسازی کرده. امنیت ذاتیای که توی مشخصات LoRaWAN تعریف شده، فقط وقتی حفظ میشه که پیادهسازی و استقرار دستگاهها و شبکهها هم بهدرستی و با رعایت اصول امنیتی انجام بشه. در واقع این موضوع محدود به LoRaWAN نیست؛ هر فناوری ارتباطی دیگهای هم اگر درست پیادهسازی نشه، نقاط ضعف خودش رو نشون میده.
همونطور که قبلاً گفتیم، LoRaWAN بر پایه رمزنگاری متقارن کار میکنه و این یعنی کلیدهای امنیتی باید به شکل امن بین اجزای مختلف به اشتراک گذاشته بشن. برای اینکه این کار سادهتر و مطمئنتر بشه، اعضای اتحادیه LoRa Alliance چند راهکار مهم توسعه دادن: یکی طراحی رابطهای بکاند LoRaWAN هست که ذخیرهسازی کلیدهای ریشه (Root Keys) رو به سرور Join منتقل میکنه. این باعث میشه سرور Join نقش یک عنصر قابل اعتماد رو ایفا کنه، مستقل از اینکه شبکه چه کسی باشه. راهکار دوم استفاده از Secure Elementهاست؛ تراشههایی سختافزاری که لایه محافظ فیزیکی اضافهای ایجاد میکنن و جلوی دستکاری یا استخراج غیرمجاز کلیدها رو میگیرن.
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.