LoRaWAN1.1-OTA漫游激活流程(10)

這一章節(jié)描述當(dāng)終端設(shè)備超出他的hNS的覆蓋而在訪問的NS覆蓋之內(nèi)的情況下,激活一個新的LoRa會話的流程。NS

假設(shè)hNS意識到所訪問的NS的漫游功能,并且hNS決定執(zhí)行哪種類型的漫游。

切換漫游激活

下面的處理流程適用于LoRaWAN1.0和LoRaWAN1.1協(xié)議的終端設(shè)備。

切換漫游開始


切換漫游激活流程圖

Step 1:

終端設(shè)備將傳輸一個Join-request消息。

Step 2:

當(dāng)NS2接收這個Join-request消息,NS2將通過DevEUI決定是否作為hNS對于該終端。在這個流程中,假定NS2不是hNS服務(wù)對于該終端。

NS2將通過JoinEUI來決定是否被配置成和JS一起工作。如果沒有配置,然后NS2將終止這個流程。

如果NS2沒有配置額外的機制去配置JS的Ip 地址,NS2將基于接收到的報文里面的JoinEUI去尋找JS的IP地址,如果DNS查找失敗,NS2將終止處理流程。

Step 3:

如果NS2已經(jīng)知道了終端設(shè)備的hNS的標(biāo)識,Step3和4將被跳過。否則,NS2將發(fā)送一個HomeNSReq消息到JS,攜帶著接收到的Join-request消息中的DevEUI。

Step 4:

如果NS2沒有在JS的漫游激活的授權(quán)網(wǎng)絡(luò)列表中,JS服務(wù)將發(fā)送一個攜帶Result=NoRoamingAgreement的HomeNSAns消息到NS2,并且終止流程。

Step 5:

如果NS2已經(jīng)知道終端的Device Profile,并且NS2和NS1只有漫游協(xié)議,然后Step 5和6被跳過。否則,如果NS2沒有通過額外的機制配置NS1的IP地址,NS2將基于Join-request報文中的NetID使用DNS去查找NS1的IP地址。如果DNS查詢失敗,NS2將終止流程。

NS2將發(fā)送ProfileReq消息到NS1,并攜帶DevEUI。

Step 6:

如果在NS1和NS2之間沒有商業(yè)協(xié)議,NS1將發(fā)送一個ProfileAns消息,并攜帶Result=NoRoamingAgreement。如果NS1沒有找到DevEUI對應(yīng)的終端設(shè)備,NS1將發(fā)送一個ProfileAns消息,并攜帶Result=UnknownDevEUI。如果終端設(shè)備沒有被允許執(zhí)行漫游激活,NS1將發(fā)送一個Result=RoamingActDisallowed消息,并攜帶Result=RoamingActDisallowed。否則,假定NS1決定使能切換漫游激活,NS1將發(fā)送ProfileAns消息,并攜帶Result=Success、RoamingActivationType=Handover、 Device Profile和 Device Profile Timestamp。(該時間戳是Device Profile最后修改的時間戳)

下面的流程是當(dāng)漫游激活方式為切換漫游時的流程。

Step 7:

如果收到的ProfileAns消息指示成功,或者如果Step 5和6被跳過,然后NS2將發(fā)送ProfileAns到NS1并攜帶Join-Request的PHYPayload、MACVersion、ULMetadata、DevAddr、DLSettings、RxDelay以及可選項CFList和Device Profile Timestamp。NS2將MACVersion值設(shè)置為最高的通用版本在終端設(shè)備和NS2之間。

Step 8:

如果NS1和NS2之間沒有簽署協(xié)議或者NS1基于DevEUI沒有辨別出終端設(shè)備或者終端設(shè)備不允許執(zhí)行漫游激活,當(dāng)Step 5和6被跳過時,NS1將執(zhí)行Step 10。

如果NS1確定自接收到的設(shè)備概要時間戳所指示的時間以來設(shè)備概要發(fā)生了更改,NS1斷定NS2的Device? Profile信息過于陳舊。在這種情況下,NS1將執(zhí)行Step10.否則,NS1將發(fā)送一個JoinReq到JS,并攜帶Join-request的PHYPayload,和來自NS2的MACVersion、 DevEUI、DevAddr、DLSettings、RxDelay、和CFList。

Step 9:

JS將按照MACVersion去處理Join-request消息,發(fā)送JoinAns到NS1并攜帶Result=Success,帶有Join-accept消息的PHYPayload,網(wǎng)絡(luò)會話密鑰組,加密后的AppSKey或SessionKeyID或者兩者都含有、Lifetime;在失敗的情況下,返回Result=UnknownDevEUI 或MICFailed。

Step 10:

如果NS1和NS2沒有商業(yè)協(xié)議,然后NS1將發(fā)送HRStartAns消息給NS2,并攜帶Result=NoRoamingAgreement。如果NS1不能夠通過DevEUI辨別出終端設(shè)備,NS1將返送一個HRStartAns消息到NS2,并攜帶Result=UnknownDevEUI。如果終端設(shè)備不允許執(zhí)行漫游激活NS1將發(fā)送一個HRStartAns消息到NS2,并攜帶Result= RoamingActDisallowed.

如果NS1認定NS2的Device Profile是陳舊的版本,NS將發(fā)送一個HRStartAns消息到NS2,并攜帶Result=StaleDeviceProfile、最新的Device Profile和它的Device Profile Timestamp。在這種情況下,NS2將跳過Step7去使用它剛剛接收到的新的Device Profile。

否則,NS1將發(fā)送HRStartAns到NS2。這個HRStartAns消息將包含在Step 9中描述的相同的對象和終端設(shè)備的Service Profile。

對于LoRaWAN1.1終端設(shè)備,NS1將緩存接收到的SNwkSIntKey,以便與NS1在轉(zhuǎn)發(fā)報文到JS服務(wù)前,就可以驗證MIC以及后續(xù)的Rejoin-Type 0 的消息的正確。

Step 11:

如果HRStartAns消息指示成功,NS1將轉(zhuǎn)發(fā)接收到的Join-accept的PHYPayload到終端設(shè)備,終端設(shè)備基于Join-accept消息將生成網(wǎng)絡(luò)會話密鑰組、AppSKey。

如果由JS到AS生成的加密的AppSKey不可用,然后NS將使用OTA本地激活流程中的Step8中定義的方法,直接從JS服務(wù)中恢復(fù)該AppSKey。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這個處理流程應(yīng)用在LoRaWAN1.1的終端設(shè)備和網(wǎng)絡(luò)中。 9.1 切換漫游開始流程 下圖說明一個終端設(shè)備的持續(xù)的...
    GoSnail閱讀 1,076評論 0 1
  • Lora 的漫游存在兩種,分別是被動漫游和切換漫游。被動漫游是在多個網(wǎng)關(guān)的情況下,網(wǎng)關(guān)是由不同的NS控制,而在兩個...
    GoSnail閱讀 1,313評論 0 2
  • 下圖是OTA本地激活的流程圖。 Step 1: 終端設(shè)備發(fā)送Join-request消息。 Step 2: 當(dāng)NS...
    GoSnail閱讀 1,418評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,653評論 19 139
  • 小A和小B是一對好朋友,作為果粉小A為了自己的快感和欲望,每次有新品都會不顧一切搶入,享受一段就會為自己的沖動而后...
    快嘴張閱讀 229評論 0 0

友情鏈接更多精彩內(nèi)容