BLOG POST
چیست LoRaWAN

LoRa و LoRaWAN چه هستند؟
LoRa یک تکنولوژی مدولاسیون RF برای شبکه‌های با توان پایین و مساحت وسیع است. واژه LoRa از عبارت Long Range به معنی برد بالا گرفته شده است. LoRa این قابلیت را ایجاد میکند که دیتا بین دو نقطه با فاصله زیاد از یکدیگر انتقال پیدا کند. LoRa توسط Semtech برای استاندارد کردن LPWAN ها ایجاد شده‌است و ارتباطات دوربرد را فراهم می‌کند، ارتباط ایجاد شده تا سه مایل (‏پنج کیلومتر) ‏درمناطق شهری، و تا ۱۰ مایل (‏۱۵ کیلومتر) ‏حتی بیشتر در مناطق روستایی در نظر گرفته شده است ( با در نظر گرفتن اینکه موانعی جلوی فرستنده و گیرنده نباشد )
یکی از ویژگی های کلیدی و دوست داشتنی راه حل های مبتنی بر LoRa نیاز به مصرف پایین انرژی میباشد که این قابلیت را ایجاد میکند که تجهیزات و سنسورها تنها با یک باطری تا 10 سال کار کنند. شبکه های مبتنی بر پروتکل LoRaWAN از توپولوژی ستاره ای (Star) برای ارتباط بلند یا عمیق برای دستگاه ها و سنسورهایی با توان پایین استفاده میکند تا داده های کوچک را جمع آوری کند.
در تصویر پایین میتوانید تفاوت‌های بین Lora و دیگر تکنولوژی‌های شبکه را که معمولا در IoT یا راه‌حل‌های اتصال سنتی ماشین به ماشین (‏M2M)‏ مورد استفاده قرار میگیرند را مشاهده کنید :

IoT تکنولوژی های
شکل ۱: تکنولوژی‌های IoT


نکته قابل ذکر: در اروپا، اپراتورهای شبکه تلفن همراه یک استراتژی دوگانه را برای رسیدگی به اندازه بسته (packet size) و تاخیر (latency) پیاده سازی کرده اند. آن‌ها قابلیت ها LoraWAN و  catM۱ را ارائه می‌دهند که تکنولوژی‌های مکمل هستند. LoraWAN نیاز به عمر باتری طولانی‌تر، با ارسال داده ها در فواصل زمانی بلند و اندازه بسته‌های کوچک‌تر را برآورده می‌کند. درحالی که Cat-M1 را می توان برای payloads های بزرگ‌تر با تاخیر کم‌تر نسبت به LoraWAN استفاده کرد.
شکل ۲ برخی از مزایای مهم استقرار یک شبکه LoraWAN را نشان می‌دهد:

IoT تکنولوژی های

شکل ۲: فواید پیاده سازی LoRaWAN

 

بیایید نگاهی عمیق‌تر به این مزایا بیندازیم.با توجه به محدوده، یک gateway مبتنی بر LoRa می‌تواند سیگنال‌ها را در فاصله بیش از ۱۰ مایل (‏۱۵ کیلومتر)‏ در مناطق روستایی دریافت و انتقال داد. حتی در محیط‌های شهری متراکم، پیام‌ها می‌توانند تا سه مایل (‏پنج کیلومتر)‏، بسته به اینکه سنسور ها و End node ها دقیقا کجای محیط واقع شده‌اند، منتقل کرد.اینکه مثلا دستگاه های انتهایی لب پنجره یک واحد مسکونی باشند یا اینکه آن دستگاه در گوشه یک سالن قرار گرفته باشد مسلما برد متفاوت خواهد شد.
با توجه به این که بسته‌های داده بسیار کوچک هستند و تنها چند بار در روز عملیات انتقال انجام میشود، انرژی مورد نیاز برای انتقال یک بسته داده بسیار کمینه است. علاوه بر این، هنگامی که دستگاه‌های نهایی (end-nodes) در خواب هستند، مصرف توان به صورت میلی وات (‏mW)‏اندازه‌گیری می‌شود، که به باتری دستگاه اجازه می‌دهد سال‌های سال دوام بیاورد.
وقتی بحث ظرفیت(Capacity) مطرح می‌شود، یک شبکه LoraWAN می‌تواند میلیون ها پیام را پشتیبانی کند. با این حال، تعداد پیام‌های پشتیبانی شده در هر استقرار به تعداد gateways نصب‌شده بستگی دارد. یک gateway هشت کاناله قابلیت پشتیبانی  چند صد هزار پیام را در طول یک دوره ۲۴ ساعته دارد. اگر هر دستگاه نهایی تنها ۱۰ پیام در روز ارسال کند، این gateway می‌تواند حدود ۱۰۰۰۰ دستگاه و سنسور را پشتیبانی کند. اگر این شبکه شامل ۱۰ دروازه باشد، شبکه می‌تواند تقریبا ۱۰۰ هزار دستگاه و یک میلیون پیام را پشتیبانی کند. اگر ظرفیت بیشتری مد نظر باشد، تمام چیزی که  نیاز است اضافه کردن gateway های اضافی به شبکه است.
حالا میرویم سراغ هزینه با توجه به قابلیت‌ دستگاه‌های نهایی و gateway های مبتنی بر Lora، تنها چند gateway که در یک شبکه ستاره‌ای پیکربندی شده‌اند - برای خدمت به تعداد زیادی از گره‌های نهایی مورد نیاز هستند. این بدان معنی است که سرمایه و هزینه‌های عملیاتی می‌توانند نسبتا پایین نگه‌داشته شوند. همچنین، هنگامی که ماژول های LoR RF  مقرون‌به‌صرفه در گره‌های انتهایی استفاده شوند،  بازگشت سرمایه قابل توجه ای خواهیم داشت.


مدولاسیون رادیویی و LoRa
تکنیک مدولاسیون طیف گسترده (spread - spectrum) اختصاصی از تکنولوژی Chirp Spread Spectrum (‏CSS) ‏نشات گرفته است. Lora یک بده بستان حساسیت (sensitivity) و نرخ داده (data rate) ارائه می‌دهد، در حالی که در یک کانال با پهنای باند ثابت ۱۲۵ KHz یا ۵۰۰ KHz (‏برای کانال‌های Uplink)‏و ۵۰۰ KHz (‏برای کانال‌های Downlink) استفاده میکند. علاوه بر این، لوراو از عوامل گسترش متعامد یا Spreading Factors استفاده می‌کند. این امر به شبکه این امکان را می‌دهد تا با بهینه‌سازی تطبیقی سطوح توان گره نهایی و نرخ داده، عمر باتری گره‌های نهایی متصل شده را حفظ کند. به عنوان مثال، یک دستگاه نهایی مثل سنسور واقع در نزدیکی یک gateway باید داده‌ها را در یک ضریب انتشار پایین یا Spreading Factor پایین انتقال دهد، زیرا بودجه لینک (link budget) بسیار کمی مورد نیاز است.وانتقال داده از یک وسیله نهایی کیلومترها دورتر از یک gateway، با یک spreading factor بالاتر صورت میگیرد. Spreading Factor بالاتر، افزایش بهره پردازش (processing gain) و حساسیت دریافت (reception sensitivity) بالاتر را فراهم می‌کند، درنتیجه نرخ داده (data rate) کم‌تر خواهد شد.
LoRa صرفا یک پیاده‌سازی لایه فیزیکی (‏PHY) ‏یا "bits" است، که توسط مدل شبکه هفت لایه OSI که در شکل ۳ نمایش داده شده‌است تعریف شده‌است. به جای کابل ، هوا به عنوان یک رسانه برای انتقال امواج رادیویی Lora از یک فرستنده RF در یک دستگاه IoT، به یک گیرنده RF در یک gateway و بالعکس استفاده می‌شود.
هیچ رابطه یک به یک بین دستگاه‌های مبتنی بر LoraWAN و gateways یک شبکه لوراون وجود ندارد؛ پیام های دستگاههای پایانی همچون سنسور ها به تمام gateway های که در آن رنج قرار دارند ارسال میشوند و داده های تکراری که امکان دارد از یک سنسور به چند gateway ارسال شده باشد توسط Network Server هندل و پاک میشوند.


شکل ۳ : مدل ۷ لایه شبکه OSI


همان طور که در شکل ۴ نشان‌داده شده‌است، در یک سیستم طیف گسترش توالی مستقیم (Direct Sequence Spread Spectrum) به اختصار (‏DSSS) یا سنتی‏، فاز حامل سیگنال فرستنده مطابق با توالی کد تغییر می‌کند. نرخ بسیار بالاتری که به عنوان کد انتشار(spreading code) ‏یا توالی تراشه ‏نیز شناخته می‌شود، نرخ بسیار بالاتری که به عنوان کد انتشار Spreading code (‏یا توالی تراشه chip sequence )‏نیز شناخته می‌شود، یک سیگنال "سریع‌تر" ایجاد می کندکه دارای مولفه‌های فرکانسی بالاتری نسبت به سیگنال داده اصلی است. در اصطلاحات RF، بیت‌ها از توالی کد، چیپ ها (chips ) نامیده می‌شوند (این کار ‏به منظور تمایز بین بیت‌هایی با طول بیشتر، کد نشده و سیگنال داده اصلی صورت میگیرد)‏. هنگامی که سیگنال منتقل‌شده به گیرنده RF می‌رسد، با یک کپی یک‌سان ازspreading code مورد استفاده در فرستنده RF ضرب می‌شود که منجر به یک کپی از سیگنال داده اصلی می‌شود.


شکل ۴: تغییرات سیگنال فرستنده فاز حامل سیستم DSSS


ممکن است از من بپرسید: چرا این همه خودمان رو به دردسر انداختیم و به جای عبور از این ضرب توالی کد، فقط سیگنال داده‌های اصلی را ارسال نکنیم؟ پاسخ ساده است: با استفاده از این ضرب توالی کد، یک بودجه لینک RF بالاتر برای شما خریداری می‌شود، بنابراین می‌توانید دیتا را در یک محدوده طولانی‌تر انتقال دهید.
نسبت Log10 نرخ تراشه توالی کد (code sequence’s chip rate) و نرخ بیت سیگنال داده، بهره پردازش (processing gain) یا به اختصار ‏Gp نامیده می‌شود این افزایش چیزی است که به گیرنده اجازه می‌دهد تا سیگنال داده اصلی را بازیابی کند، حتی اگر کانال دارای نسبت سیگنال به نویز منفی (‏SNR)‏باشد. Lora یک Gp عالی در مقایسه با مدولاسیون کلیدزنی تغییر فرکانس(frequency - shift keying) یا به اختصار‏FSK ‏دارد، که سطح توان خروجی فرستنده را کاهش می‌دهد در حالی که نرخ داده سیگنال مشابه و بودجه لینک مشابه را حفظ می‌کند.
یکی از جنبه‌های منفی یک سیستم DSSS این است که به یک ساعت مرجع (highly-accurate) ‏و گران‌قیمت نیاز دارد. تکنولوژی طیف گسترده (‏CSS) ‏فن‌آوری Semtech یک جایگزین کم‌هزینه و با توان مصرفی کم و در عین حال قوی برای DSSS ارائه می‌دهد که نیازی به ساعت مرجع بسیار دقیق (accurate reference clock) ندارد. همان طور که در شکل ۵ نشان‌داده شده‌است، گسترش طیف سیگنال با ایجاد یک سیگنال نویزدار که به طور مداوم در فرکانس تغییر می‌کند، به دست می‌آید.

 


شکل ۵: نمایش طیف گسترش Lora Chirp


یک مزیت این روش این است که افست‌های زمانی و فرکانسی بین فرستنده و گیرنده معادل هستند، که تا حد زیادی پیچیدگی طراحی گیرنده را کاهش می‌دهند. پهنای باند فرکانسی این نویزدار برابر با پهنای باند طیفی سیگنال است. سیگنال داده‌ای که داده‌ها را از یک گره نهایی به یک gateway حمل می‌کند، با یک نرخ داده بالاتر خرد شده و بر روی سیگنال حامل نویزدار مدوله می‌شود. مدولاسیون Lora همچنین شامل یک طرح تصحیح خطای متغیر است که قدرت سیگنال ارسالی را بهبود می‌بخشد. برای هر چهار بیت اطلاعات ارسالی، اطلاعات parity به عنوان بیت پنجم ارسال می‌شود.


ویژگی‌های مدل‌سازی کلیدی LoRa
همان طور که در بالا اشاره شد، بهره پردازش Lora در کانال RF با ضرب سیگنال داده با یک کد گسترده(spreading code) یا دنباله چیپ (chip sequence) معرفی می‌شود. با افزایش نرخ chip، مولفه‌های فرکانسی طیف سیگنال(signal spectrum) کل را افزایش می‌دهیم. به عبارت دیگر، انرژی کل سیگنال اکنون در محدوده وسیع‌تری از فرکانس‌ها پخش می‌شود که به گیرنده اجازه می‌دهد تا یک سیگنال با نسبت سیگنال به نویز کم‌تر (signal - to - noise ratio) یا SNR تشخیص دهد. در LoRa، مقدار کد گسترش(spreading code) اعمال‌شده به سیگنال داده اصلی، فاکتور گسترش(spreading factor ) یا به اختصار ‏SF ‏نامیده می‌شود. مدولاسیون ولتاژ دارای شش عامل انتشار می‌باشد (‏SF۷ تا SF۱۲)‏. هر چه ضریب گسترش (spreading factor ) بیشتری مورد استفاده قرار گیرد، سیگنال در فواصل دورتر و بدون خطا توسط گیرنده RF دریافت می‌شود.
جدول ۱ چهار عامل انتشار مختلف [‏ SF۷ … SF۱۰ ]‏ را نشان می‌دهد که می‌توانند برای پیام‌های ارتباط هوایی (‏UL)‏ بر روی یک کانال ۱۲۵ KHz  استفاده شوند. این شکل نرخ بیت معادل و همچنین محدوده برآورد شده را نشان می‌دهد (‏این به زمین بستگی دارد؛ فواصل طولانی تری در یک محیط روستایی نسبت به یک محیط شهری حاصل خواهد شد همچنین زمان توقف، یا زمان بر روی هوا (time on air) به اختصار TOA ‏، برای مقادیر دیتای ۱۱ بایتی برای هر یک از چهار عامل گسترش(spreading factors) را نشان می‌دهد.


۲ پیام‌ دانلود(Downlink) که در کانال های 500 کیلوهرتز پخش(Broadcast) می‌شوند می‌توانند از هر شش عامل انتشار(spreading factors ) از ‏SF۷ … SF۱۲ ‏استفاده کنند.


 


جدول ۱: عوامل بارگذاری


نکته مهم این است که عوامل انتشار ( spreading factors ) مدولاسیون Lora ذاتا متعامد هستند. این بدان معنی است که سیگنال‌های مدوله شده با عوامل انتشار(spreading factors ) مختلف و سیگنال های مدوله شده منتقل‌شده در کانال فرکانس یک‌سان در یک زمان با یکدیگر تداخل ندارند. در عوض، به نظر می‌رسد که سیگنال‌ها در عوامل انتشار(spreading factors) مختلف به یک دیگر نویز ارسال میکنند.
سیگنال‌های LoRa قوی و در مقابل مکانیزم تداخل باند های داخلی و خارجی (in - band و out - of - band)بسیار مقاوم هستند مدولاسیون Lora همچنین ایمنی را در برابر چند مسیره(orthogonal) و محوشدگی(fading) ارائه می‌دهد، که آن را برای استفاده در محیط‌های شهری و حومه‌ای ایده‌آل می‌سازد، جایی که هر دو مکانیزم غالب هستند. علاوه بر این، جابجایی‌های داپلر باعث یک تغییر فرکانس کوچک در محور زمانی سیگنال باندپایه می‌شوند. این تحمل افست فرکانس، نیاز به منابع ساعت مرجع با تحمل بالا را کاهش می‌دهد و بنابراین، Lora را برای ارتباطات داده‌ها از دستگاه‌هایی که متحرک هستند، ایده‌آل می‌سازد.


ویژگی‌های مدولاسیون LoRa
مشخصات مدولاسیون Lora برای هر منطقه، در سند پارامترهای منطقه‌ای LoraWAN، توسط اتحادیه LoraWAN به آدرس (https://lora-alliance.org/resource-hub/rp002-100-lorawanr-regional-parameters) موجود میباشد.
در آمریکای شمالی،کانال های آپلینک 64 و 125 کیلوهرتز تعریف شده‌ اند، که بر روی یک نوار ۲۰۰ کیلو هرتز مشابه شکل 5، متمرکز شده‌است. هشت کانال uplink (آپلینک) ۵۰۰ کیلو هرتز و همچنین هشت کانال ارتباط downlink (داون لینک) ۵۰۰ کیلو هرتز تعریف شده‌است. در آمریکای شمالی، gateway ها می‌توانند تا ۶۴، ۱۲۵ کیلو هرتز کانال‌های آپلینک و همچنین هشت کانال داون لینک 500 کیلو هرتز داشته باشند. این نوع از gateway به عنوان یک دروازه ماکرو درجه حامل(carrier grade macro gateway) شناخته می‌شود و تنها برای برنامه‌های فضای باز استفاده می‌شود.


شکل ۶: ویژگی‌های مدولاسیون LoRa

 

جدول ۲ روش دیگری را برای درک این ویژگی‌های مدولاسیون فراهم می‌کند.


جدول ۲: ویژگی‌های مدولاسیون قدرت

- لایه فیزیکی Lora برای کاربردهای با توان عملیاتی پایین، نرخ داده کم و بودجه لینک بالا در نظر گرفته شده‌است.  

- برای پهنای باند کانال ثابت، هرچه ضریب گسترش بیشتر باشد، بهره پردازش بیشتر خواهد بود که منجر به افزایش حساسیت و در نتیجه افزایش Link Budget می‌شود. متعاقبا، زمان بر روی هوا یا TOAنیز افزایش خواهد یافت.

- انطباق بین عوامل انتشار(spreading factors) امکان انتقال سیگنال‌های متعدد Lora را فراهم می‌کند که هر دو در یک فرکانس کانال و در یک بازه زمانی هستند.

- برای SF ثابت، با کاهش نرخ بیت، پهنای باند باریک( narrower bandwidth) حساسیت را افزایش خواهد داد.

- لوراون در آمریکای شمالی از آپلینک ۱۲۵ کیلو هرتز و داونلینک ۵۰۰ کیلو هرتز استفاده می‌کند.

- نرخ کد (Code Rate)، درجه افزونگی اجرا شده توسط تصحیح خطای رو به جلو(forward error correction ) به اختصار ‏FEC است که برای تشخیص خطاها و تصحیح آن‌ها استفاده می‌شود. این نرخ در ۴ / ۵ برای پروتکل LoraWAN ثابت شده‌است.

همانطور که استفان هنگستلر در کتاب خود بیان می‌کند، یک تکنیک طیف گسترش پیچیدگی(Chirp Modulation Spread Spectrum) جدید برای دسترسی چندگانه، " Lora یک مدولاسیون پوش ثابت است (‏هزینه بسیار پایین، پیاده‌سازی تقویت‌کننده توان کارآمد)‏… و‏ قوی‌ترین، کم‌مصرف ترین و بیشینه ترین برد RF میباشد." تحولات داده و عامل گسترش متعامد بودن


Data Collisions و Spreading Factor
با Lora، بسته‌هایی که از عوامل انتشار(spreading factors) مختلف استفاده می‌کنند متعامد هستند، به این معنی که آن‌ها به هم نامرئی هستند: همانطور که قبلا ذکر شد، آن‌ها به سادگی به شکل نویز روی هم دیگر ظاهر میشوند. بنابراین، دو بسته که همزمان به کانال دریافت یک‌سان در فاکتورهای انتشار(spreading factors) مختلف می‌رسند، با هم برخورد نمی‌کنند و هر دو توسط تراشه مدرن gateway دمدوله می‌شوند. با این حال، دو بسته با SF یک‌سان که به طور همزمان در یک کانال یک‌سان می‌رسند ممکن است منجر به یک برخورد یا collision شوند. با این حال اگر یکی از این دو بسته تا ۶ dB قوی‌تر باشد، بسته ها از بین نمیرند.
برای به حداکثر رساندن ظرفیت شبکه، استفاده از مکانیزم نرخ داده‌های تطبیقی(adaptive data rate) به اختصار ‏ADR ‏ضروری است. هدف اصلی ADR، ذخیره توان باتری گره‌های پایانی LoraWAN است. با داشتن نزدیک‌ترین گره‌های نهایی به یک gateway انتقال با استفاده از کم‌ترین SF، زمان آن‌ها در هوا(TOA) به حداقل می‌رسد، در نتیجه طول عمر باتری آن‌ها طولانی می‌شود. سنسورهای دورتر در یک SF بالاتر منتقل می‌شوند. یک موازنه بین توان مصرفی باتری و فاصله ایجاد می‌شود به این شکل که یک SF بالاتر اجازه اتصال به gateway ها که در فاصله دورتر هستند را میدهد ( هرچه SF بیشتر باشد برد انتقال داده بیشتر میشود و توان مصرف باتری بیشتر هرچه SF کمتر باشد برد انتقال کمتر به همان نسبت مصرف باطری کم میشود )


اصول شبکه LoraWAN
برای درک کامل شبکه‌های LoraWAN، نگاهی به مجموعه فن‌آوری های آن می اندازیم. همانطور که در شکل ۷ نشان‌داده شده‌است، لایه فیزیکی (‏PHY) ‏Lora یک مدولاسیون بی‌سیم مورد استفاده برای ایجاد لینک ارتباطی دوربرد میباشد . LoraWAN یک پروتکل شبکه باز است که ارتباطات دو طرفه ایمن، متحرک، و خدمات محلی استاندارد شده را ارائه می‌دهد و توسط انجمن لورا حمایت میشود .

شکل ۷: دسته فن‌آوری LoraWAN


عناصر شبکه LoRaWAN: مقدمه
اکنون که ما یه یک درک پایه از LoraWAN رسیدیم، معماری شبکه LoraWAN را بررسی خواهیم کرد. شکل ۸ پیاده‌سازی معمول شبکه LoraWAN را از دستگاه انتهایی نمایش می دهد.


شکل ۸: پیاده‌سازی معمول یک شبکه LoraWAN


بیایید این نمودار را در قطعات کوچک‌تر بررسی کنیم.


LoRa-based End Devices


شکل ۹: دستگاه‌های پایانی در پیاده سازی معمول شبکه LoraWAN


یک دستگاه انتهایی با قابلیت LoraWAN یک سنسور یا یک محرک است که به طور بی‌سیم از طریق دروازه‌های رادیویی با استفاده از مدولاسیون Lora RF به یک شبکه LoRaWAN متصل می‌شود.
در اکثر کاربردها، یک دستگاه نهایی یک سنسور مستقل است که اغلب با نیروی باتری کار می‌کند و شرایط فیزیکی و رویدادهای محیطی را میسنجد و به صورت دیجیتالی ارسال میکند. موارد استفاده معمول برای یک محرک عبارتند از: روشنایی خیابان، قفل بی‌سیم، قطع شیر آب، جلوگیری از نشت... میباشد
هنگامی که دستگاه انتهایی (End-Device) در حال تولید هستند، دستگاه‌های مبتنی بر Lora چندین شناسه منحصر به فرد به آن‌ها اختصاص میدهند. این شناسه‌ها برای فعال‌سازی ایمن و مدیریت دستگاه، برای اطمینان از انتقال ایمن بسته‌ها در یک شبکه خصوصی یا عمومی و برای تحویل داده‌های رمزگذاری شده به ابر مورد استفاده قرار می‌گیرند.


LoRaWAN gateways


شکل ۱۰: Gateways در پیاده سازی معمول شبکه LoraWAN


یک دروازه LoraWAN پیام‌های RF مدوله شده را از دستگاه انتهایی دریافت می‌کند و به سرور شبکه LoraWAN (‏LNS) ‏ارسال می‌کند، که از طریق IP متصل می‌شود. هیچ ارتباط ثابتی بین یک دستگاه نهایی(end device) و یک gateway خاص وجود ندارد. در عوض، همان سنسور می‌تواند توسط تمام gateway ها در منطقه  همان طور که در شکل ۱۰ نشان‌داده شده‌است مورد استفاده قرار گیرد. ، با LoraWAN، هر بسته uplink ارسال‌شده توسط دستگاه نهایی توسط تمام gateway ها دریافت خواهد شد. این عمل به طور قابل‌توجهی نرخ خطای بسته را کاهش می‌دهد (‏از آنجا که احتمال این که حداقل یک gateway پیام را دریافت کند بسیار بالا است)‏ و به طور قابل‌توجهی سربار باتری برای سنسورهای سیار / nomadic را کاهش می‌دهد، و اجازه مکان یابی جغرافیایی کم‌هزینه را می‌دهد (‏با فرض این که gateway مورد نظر قابلیت مکان یابی داشته باشد)‏.
ترافیک IP از یک gateway به سرور شبکه را می توان از طریق Wi - Fi، اترنت یا از طریق یک اتصال مخابراتی مخابره کرد. دروازه‌های LoraWAN به طور کامل در لایه فیزیکی عمل می‌کنند و، در اصل، چیزی جز ارسال پیام رادیویی Lora نیستند. آن‌ها تنها یکپارچگی داده ی هر پیام LoRa RF ورودی را بررسی می‌کنند. اگر یکپارچگی دست‌نخورده نباشد، یعنی اگر CRC نادرست باشد، پیام کنار گذاشته خواهد شد.و اگر CRC درست باشد gateway پیغام هارا به همراه برخی metadata که شامل سطح دریافت RSSI از پیام و همچنین یک مهر زمانی اختیاری است به Network Server لوراون منتقل میکند. برای لینک‌های کوچک LoraWAN، یک دروازه درخواست‌های انتقال حاصل از LNS را بدون هیچ تفسیری از payload اجرا می‌کند. از آنجا که gateways متعدد می‌توانند پیام LoRa RF یکسانی را از یک دستگاه تک انتها دریافت کنند، LNS  تکرار زدایی داده یا de - duplication را اجرا می‌کند و تمام کپی‌ها را پاک می‌کند. براساس سطوح RSSI پیام‌های یک‌سان، سرور شبکه به طور معمول gateway را انتخاب می‌کند که پیام را با بهترین RSSI هنگام انتقال یک پیام ارتباط رو به پایین دریافت کرده‌است، زیرا آن دروازه نزدیک‌ترین دروازه به دستگاه نهایی مورد نظر است.


شکل ۱۱: دریافت و انتقال پیام‌ها از دستگاه‌های پایانی توسط gateway


علاوه بر این، Lora امکان اجرای مقیاس پذیری(scalable ) و cost - optimized دروازه را بسته به اهداف استقرار فراهم می‌کند. برای مثال، در آمریکای شمالی، دروازه‌های ۸، ۱۶ و ۶۴ کانالی در دسترس هستند.
دروازه‌های ۸ کاناله ارزان‌تر هستند. نوع دروازه مورد نیاز به مورد استفاده بستگی دارد. gateway های 8 و 16 کاناله هم برای مصارف داخلی و مصارف خارجی استفاده میکنند.
gateways های 64 کاناله تنها در carrier - grade ها در دسترس هستند. این نوع دروازه برای استقرار در مکان‌هایی مانند برج‌های سلولی، پشت‌بام ساختمان‌های بسیار بلند و غیره در نظر گرفته شده‌است.


Network Server


شکل ۱۲: LoraWAN Network Server در یک استقرار معمول شبکه LoraWAN


LoraWAN Network Server یا به اختصار ‏LNS‏ وظیفه ی مدیریت کل شبکه را بر عهده دارند که طور پویا پارامترهای شبکه را برای انطباق سیستم با شرایطی که همیشه در حال تغییر است کنترل می‌کند، لوراون از اتصالات 128 بیتی امن AES  برای انتقال های نهایی (‏از دستگاه انتهایی LoraWAN تا برنامه کاربردی نهایی در ابر) استفاده میکند و همچنین برای کنترل ترافیکی که از دستگاه LoraWAN به LNS (‏و برعکس )‏جریان می‌یابد به کار میرود. سرور شبکه صحت هر حسگر در شبکه و یکپارچگی(integrity )هر پیام را تضمین می‌کند. در عین حال، سرور شبکه نمی‌تواند داده‌های برنامه را ببیند یا به آن دسترسی داشته باشد.
به طور کلی، تمام سرورهای شبکه LoraWAN ویژگی‌های زیر را به اشتراک می‌گذارند:
 - بررسی نشانی دستگاه
 - تایید اعتبار فریم و مدیریت متقابل فریم
 - تصدیق پیام‌های دریافتی
 - انطباق نرخ‌های داده با استفاده از پروتکل ADR

 - پاسخ به تمام درخواست‌های لایه MAC که از طرف دستگاه
 - ارسال payloads برنامه uplink به سرورهای برنامه کاربردی مناسب
 - صف‌بندی دیتای downlink آمده از هرApplication Server به هر دستگاه متصل به شبکه
 - ارسال پیغام‌های درخواست ورود(Join - request ) و پذیرش ورود(Join - accept ) بین دستگاه‌ها برای پیوستن به سرور


Application Servers
Application Servers مسئول کنترل ایمنی، مدیریت و تفسیر داده‌های برنامه کاربردی سنسور هسستند آن‌ها همچنین تمام بارگیری‌های downlink لایه برنامه را به دستگاه‌های انتهایی متصل تولید می‌کنند.


شکل ۱۳: LoRaWAN Application Server در یک استقرار معمول شبکه LoraWAN


Join Server
این سرور فرآیند فعال‌سازی Over The Air یا OTA را برای اضافه شدن دستگاه‌های نهایی به شبکه مدیریت می‌کند.
سرور اتصال یا Join Server حاوی اطلاعات مورد نیاز برای پردازش فریم های درخواست اتصال از uplink و تولید فریم های پذیرش اتصال از downlink است و به network server سیگنال ارسال میکند به این ترتیب کارگزار برنامه (Application Servers) به دستگاه نهایی متصل می شود و مشتقات کلید رمزگذاری شبکه و سشن کاربرد را انجام می‌دهد.
کلید سشن شبکه (Network Session Key) دستگاه پایانی را به سرور شبکه و کلید سشن برنامه(Application Session Key) با Application Server ارتباط برقرار میکند.


شکل ۱۴: LoRaWAN Join Server در یک استقرار معمول شبکه LoraWAN


برای این منظور، سرور اتصال(Join Server) باید حاوی اطلاعات زیر برای هر دستگاه تحت کنترل خود باشد:
 - I DevEUI (‏شناسه منحصر به فرد دستگاه نهایی)
 - Appkey (‏کلید رمزنگاری برنامه)‏
 - ‏Nwkkey (‏کلید رمزنگاری شبکه)‏
‏ - شناسه سرور برنامه
 - مجموعه تنظیمات سرویس دستگاه نهایی

عناصر شبکه LoraWAN: راه‌اندازی دستگاه

به خاطر امنیت، کیفیت خدمات، صدور صورت‌حساب، و نیازهای دیگر، دستگاه‌ها باید در ابتدای عملیات روی شبکه نصب و فعال شوند. فرآیند راه‌اندازی ایمن هر دستگاه و شبکه را با توجه به پارامترهای تامین ضروری (‏مانند شناسه‌ها، کلیدهای رمزگذاری، و مکان‌های سرور)‏تامین می‌کند.
LoraWAN امکان دو نوع فعال‌سازی را فراهم می‌کند: فعال‌سازی Over - the - Air Activation یا به اختصار ‏OTAA ‏و فعال‌سازی شخصی (Activation by Personalization) یا به اختصار ‏ABP. جدول ۲ ویژگی‌های مختلف هر یک از این انواع فعال‌سازی را نشان می‌دهد.


جدول ۳: انواع فعال‌سازی

 

عناصر شبکه LoRaWAN: امنیت

دو عنصر کلیدی برای امنیت یک شبکه LoraWAN وجود دارد: روش اتصال( join procedure ) و احراز هویت پیام(message authentication). روش اتصال(join procedure) , احراز هویت متقابل بین یک دستگاه نهایی و شبکه LoraWAN که به آن متصل است را ایجاد می‌کند. تنها دستگاه‌های مجاز اجازه پیوستن به شبکه را دارند.
 LoraWAN MAC و پیغام‌های برنامه، مبدا - تصدیق شده(origin - authenticated)، حفاظت از تمامیت و رمزنگاری شده انتها به انتها هستند (‏یعنی، از دستگاه پایانی به سرور برنامه و بالعکس)‏.
این ویژگی‌های امنیتی تضمین می‌کنند که:
 - ترافیک شبکه تغییر نکند
 - تنها دستگاه‌های مورد تایید ما به شبکه LoraWAN متصل شوند (فردی نتونه یک سنسور را بدون اجازه وارد شبکه کند)
 - ترافیک شبکه غیرقابل شنود میشود (جلوگیری از استراق‌سمع)
 - ترافیک شبکه غیر قابل ضبط کردن و بازپخش کردن (replayed) میشود
با این تفاصیر، ما نگاهی به اقدامات امنیتی LoraWAN با جزئیات بیشتر خواهیم انداخت.

روش اتصال (Join Procedure)
همانطور که در شکل ۱۵ نشان‌داده شده‌است، شروع کار با کلید های امنیتی است. کلیدهای تکی ریشه (root keys) به طور ایمن در دستگاه‌های پایانی (End Device) ذخیره می‌شوند، و کلیدهای تطبیقی(matching keys) به طور ایمن در سرور اتصال (Join Server) ذخیره می‌شوند.


شکل ۱۵: کلیدهای امنیتی تولید شده در طول روند پیوستن


همانطور که در شکل ۱۶ نشان‌داده شده‌است دستگاه نهایی یک پیام درخواست اتصال را به سرور اتصال ارسال می‌کند.


شکل ۱۶: ارسال پیغام درخواست اتصال به سرور اتصال


پس از اینکه سرور اتصال (Join Server)، دستگاه پایانی (End Device) درخواست‌کننده برای پیوستن به شبکه را تصدیق کرد،مطابق شکل ۱۷ پیام پذیرش اتصال را به دستگاه پایانی برمی گرداند.


شکل ۱۷: ارسال یک اتصال پذیرش پیام به یک دستگاه نهایی


سپس، کلیدهای جلسه (session keys)را به صورت محلی استخراج می‌کند، که براساس DevEUI، Join EUI ، DevNonce ، کلیدهای ریشه و زمینه‌ها در درخواست پیوستن(join request) و پیام‌های پذیرش پیوستن(join accept messages ) است. در پایان، سرور اتصال(Join Server) همچنین کلیدهای جلسه (Session keys) را از ID های سریال، کلیدهای ریشه و زمینه‌های در درخواست‌های اتصال(join requests) و پیام قبول پذیرش(join accept messages) استخراج می‌کند. در نهایت، همانطور که در شکل ۱۸ نشان‌داده شده‌است، سرور اتصال کلیدهای جلسه(Session keys)را با سرورهای شبکه و برنامه به اشتراک می‌گذارد.


شکل ۱۸: کلیدهای نشست با سرور شبکه و سرور برنامه به اشتراک گذاشته می‌شوند.


شکل ۱۹ امنیت انتقال بسته داده را نشان می‌دهد. ترافیک کنترلی بین دستگاه نهایی (End Device) و سرور شبکه (Lora Network Server) با یک کلید نشست شبکه AES ۱۲۸ بیتی (‏NwkSkey)‏ تضمین شده‌است. ترافیک داده‌ای که بین دستگاه نهایی و سرور برنامه (Application Server) حرکت می‌کند، با یک کلید نشست برنامه ۱۲۸ بیتی (‏AppSkey)‏تضمین شده‌است. این روش تضمین می‌کند که نه gateway و نه سرور شبکه نمی‌توانند داده‌های کاربر را بخوانند.


شکل ۱۹: انتقال امن بسته‌های داده


کلاس‌های دستگاه: B، A و C
دستگاه‌های انتهایی مبتنی بر LoRa ممکن است در یکی از سه حالت، بسته به کلاس دستگاه خود عمل کنند. همه این دستگاه‌ها باید از عملیات کلاس A پشتیبانی کنند. دستگاه‌های کلاس B باید هم حالت‌های کلاس A و هم حالت‌های کلاس B را پشتیبانی کنند و دستگاه‌های کلاس C باید هر سه حالت عملیات را پشتیبانی کنند. این حالت‌های عملیات نحوه ی چگونگی ارتباط دستگاه‌ با شبکه را مشخص میکند.


دستگاه‌های کلاس A
شکل ۲۰ نحوه عملکرد عملیات حالت کلاس A را نشان می‌دهد.


شکل ۲۰: عملیات کلاس A


دستگاه نهایی کلاس A بیشتر وقت خود را در حالت بی‌کار سپری می‌کنند (‏یعنی در حالت خواب)‏. دستگاهای پایانی این کلاس به منظور پایش محیط به گونه ای برنامه نویسی شده اند که در صورت تغییرات محیطی ، بیدار می‌شود و یک ارتباط uplink را آغاز می‌کند، و اطلاعات مربوط را به شبکه ‏ارسال می‌کند (‏Tx). سپس دستگاه برای یک پاسخ از شبکه، به طور معمول یک ثانیه گوش می‌دهد (‏اگرچه این مدت‌زمان قابل تنظیم است)‏. اگر در این مدت پنجره دریافت (‏Rx۱) لینک پایینی (Downlink) دریافت نکند ‏، به خواب می‌رود و  لحظه‌ای بعد بیدار می‌شود تا مجدد به پاسخ ارسالی از طرف سرور گوش می‌دهد (‏Rx۲)‏. اگر هیچ پاسخی در طول این پنجره Rx دوم دریافت نشود، دستگاه تا زمان گزارش بعدی به خواب می‌رود. تاخیر بین Rx۱ و Rx۲ از نظر تاخیر از انتهای انتقال uplink به بالا پیکربندی می‌شود.
توجه: هیچ راهی وجود ندارد که نرم افزار دستگاه نهایی قادر باشد یک دستگاه کلاس A را بیدار کند. با توجه به این محدودیت، دستگاه‌های کلاس A برای فعال‌کننده‌ها یا actuators مناسب نیستند. ( به عنوان مثال در یک زمین کشاورزی یک actuator مثل پمپ آب برای آبیاری قطره ای نمیتواند از نوع کلاس A باشد ، ولی یک سنسور رطوبت سنج خاک که به این شکل برنامه ریزی شده است که در صورتی که رطوبت خاک زیر 20 درصد رسید یک پیغام به سرور ارسال کند. )
شکل‌های ۲۱، ۲۲ و ۲۳ این الگوهای ارتباطی را نشان می‌دهند.


شکل ۲۱: عملیات کلاس A زمانی که هیچ چیز دریافت نمی‌شود


شکل ۲۲: عملیات کلاس A زمانی که یک بسته داده در اولین پنجره دریافت دریافت می‌شود.


شکل ۲۳: عملیات کلاس A زمانی که یک بسته داده در پنجره دریافت دوم دریافت می‌شود.


نکته: دستگاه سعی نخواهد کرد یک پیغام Uplink دیگر ارسال کند تا زمانی که:
دستگا در حین Rx1 یک downlink دریافت کند و دومین پنجره دریافت پس از آخرین ارسال پایان یابد.


برای توضیحات جامعتر در رابطه با دستگاهای کلاس A روی این متن کلیک فرمایید



دستگاه‌های کلاس B
کلاس B لوراون فرصت‌های زمانی ثابت و زمان‌بندی‌شده منظم (regularly - scheduled) را برای یک دستگاه نهایی برای دریافت downlinks از شبکه را ارائه می‌دهد، و باعث می‌شود که دستگاه‌های کلاس B هم برای سنسورهای نظارتی (Sensors) و هم برای فعال‌کننده‌ها (actuators) مناسب باشند. همه دستگاه‌های نهایی مبتنی بر LoRa در حالت کلاس A شروع می‌شوند؛ با این حال، دستگاه های پایانی در زمان تولید با کلاس B برنامه ریزی میشوند و این قابلیت برای آنها ایجاد میشود که بتوان مد آنها را توسط لایه اپلیکیشن از کلاس A به کلاس B تغییر داد.
دستگاه‌های انتهایی در حالت کلاس B برای پنجره‌های دریافت به طور منظم برنامه‌ریزی (scheduled) شده‌اند، به عبارتی uplink ها به صورت مکرر مثلا هر 1 ساعت 1 بار به استایل کلاس A به سمت سرور ارسال میشوند. (مثل یک سنسور رطوبت سنج که هر ساعت باید اطلاعات رطوبت خاک را به سرور ارسال کند.)


بیکون های کلاس B
و همان طور که در شکل ۲۵ نشان‌داده شده‌است، در اغلب موارد تنظیم مجدد در طول روز، تاثیر کمی برروی عمر باطری ها دارد


شکل ۲۵: بیکون دوره‌ای کلاس B برای همگام‌سازی دستگاه


براساس مرجع زمان‌بندی بیکون، دستگاه‌های نهایی می‌توانند به صورت دوره‌ای پنجره‌ها را باز کنند. همانطور که در شکل ۲۶ نشان‌داده شده‌است، هر یک از این اسلات‌ها ممکن است توسط زیرساخت شبکه برای آغاز یک ارتباط downlink مورد استفاده قرار گیرند. برای اینکه یک شبکه LoraWAN از دستگاه‌های کلاس B پشتیبانی کند، تمام دروازه‌های LoraWAN در این شبکه نیاز به داشتن یک منبع زمانبندی GPS داخلی دارند، بنابراین همه آن‌ها می‌توانند با زمانبندی دقیق بیکون هماهنگ شوند.


شکل ۲۶: شیارهای پینگ کلاس B


نکته: دستگاه‌های کلاس B می‌توانند در حالت کلاس A عمل کنند.


دستگاه‌های کلاس C
کلاس C همیشه "روشن" است؛ یعنی به توان باتری وابسته نیستند. دستگاه‌های کلاس C شامل چیزهایی مانند چراغ‌های خیابان، کنتورهای الکتریکی و غیره هستند. همیشه به پیام‌های downlink گوش می‌دهند، مگر اینکه در حال ارسال یک ارتباط رو به بالا(uplink) باشند. در نتیجه، آن‌ها کم‌ترین تاخیر را برای ارتباط از سرور به یک دستگاه نهایی ارائه می‌دهند.
دستگاه‌های نهایی کلاس C همانند دستگاه‌های کلاس A دو پنجره دریافت میکنند، اما پنجره Rx۲ را تا زمانی که ارسال بعدی را به سرور ارسال کنند، نمیبندد. بنابراین، آن‌ها می‌توانند تقریبا در هر زمانی یک لینک پایین در پنجره Rx۲ دریافت کنند. همانطور که در شکل ۲۷ نشان‌داده شده‌است، یک پنجره کوتاه در فرکانس و نرخ داده Rx۲ نیز بین انتهای انتقال و آغاز پنجره دریافت Rx۱ باز می‌شود.


شکل ۲۷: عملیات کلاس C

 

 

 

 

 

 

 

 

 

ارسال پیغام


نظرات

  • 4 months, 3 weeks  علی راهنیا

    متشکرم عالی بود