DFP 數據轉發協議 規則說明
DFP 是什么?
穩控科技編寫的一套數據轉發規則, 取自“自由轉發協議 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解為 Datas Forward(數據轉發)的縮寫。DF 協議是與硬件接口無關的數據鏈路層協議,規定了數據流如何在不同設備之間、不同接口之間的傳輸方向。
DF 協議一般用于延長數字接口的傳輸距離(數據中繼),它與硬件接口類型無關,可以基于 UART、 LoRA、TCP 等異步數據傳輸介質。
網關中繼器DFP 數據轉發協議
數據轉發規則
(1) 處于同一區域內的每臺設備均有唯一的地址(同一區域不得有相同地址的的設備)。合法的設備地址為0x01~0xFE。 0xFF 等效于任意地址值, 0x00 等效于不存在的地址值。
(2)每臺設備均有多個數字接口(如: UART、 LoRA 等),各端口均有獨立的通訊參數(不同參數可形成不同的數據區域)。每臺設備均有與數字接口對應數量的群組 ID 碼(GroupA_ID/GroupB_ID 等)。
(3)被傳輸的數據包均帶有協議前綴 FP(ForwardPrefix), FP 包含有數據包的發送起始設備地址、數據包目的設備地址、數據包群組 ID、數據包轉發路徑記錄等信息。
(4) 當 DFP 設備通過某個數字接口接收到無 FP 的數據包(干數據) 時會自動為其添加。添加規則為:群組號=接收到數據的端口對應的群組 ID 號(接收數據的端口為 xxxxA 時為 GAID,接收數據的端口為 xxxxB 時為 GBID)。
起始設備地址=0xFF。 目標設備地址=0xFF。
注:其它設備使用 LoRA 發來的數據包僅可被 NLM5 的 LORA-A 接收到。
(5) 無論哪個數字接口,當接收到數據包后會判斷 FP 中的群組 ID 是否與自身的兩個群組 ID 之一相同(匹配),若不同則丟棄處理,若相同則會首先判斷數據包是否是用于自身的指令,若是則執行指令然后丟棄數據包,若不是則按照轉發規則對數據包進行轉發。
數據包轉發規則為:每個數字接口均可指定在收到數據后將數據轉發到哪個(或者哪幾個)數字端口以及是否輸出數據時帶有 FP。轉發數據前會根據數據輸出的端口自動更新 FP 中的群組 ID 值。
(6)當接收到的數據包 FP 中的目的地址與本設備地址相同時,在轉發前會修改 FP 中的目標設備地址為0x00。其它設備在接收到數據包后會判斷 FP 中的目的地址是否為 0x00,是則立即丟棄數據包(即:數據包轉發終止)。
(7)數據映射
DFP 設備用一個參數來啟用或者禁止數據映射,參數作用說明如下:當某臺 DFP 設備的多個數字接口處于同一數據區域時,會同時接收到數據包,按照上述規則,若數據映射參數為未啟用狀態時,每個端口均為按照預設轉發規則和轉發方向進行數據處理和轉發。若數據映射參數為啟動狀態時, DFP 設備會進行如下處理:檢查數據包是否帶有正確的 FP 前導符號(默認為“@#@#” )
有:繼續檢查 FP 中的群組碼是否適用于本設備
是:則將數據包映射到與群組號對應的 LoRA-x。
否:維持現狀(不進行映射處理)。
無: 將接收到的 LoRA 數據包映射到 LoRA-A。
DFP 數據轉發協議應用實例
LoRA 接收到的數據映射的意思是:無論 LoRA 數據包是由 LoRA-A 或者 LoRA-B 接收到的, 強制的將接收到的數據包按照上述規則更新到 LoRA-A 或者 LoRA-B 的接收緩存,然后進一步按照數據轉發規則處理。
DFP 協議的數據映射功能以上述數據轉發規則,可以實現單線型、樹杈型、十字交叉型數據傳輸網絡。
-
網關
+關注
關注
9文章
4306瀏覽量
50945 -
數據轉發
+關注
關注
0文章
10瀏覽量
7200 -
DFP
+關注
關注
0文章
26瀏覽量
3847
發布評論請先 登錄
相關推薦
評論