Packet forward 介绍与配置


下面给出github上的地址。
https://github.com/Lora-net/packet_forwarder

1 架构介绍

1.1 系统总体

在这里插入图片描述

  • 上行链路:网关收到的无线电数据包以及网关添加的元数据转发到服务器。可能还包括网关状态。

  • 下行链路:服务器生成的带有附加元数据的数据包,将由网关在无线电信道上进行传输。可能还包括网关的配置数据。

  • concentrator集中器:基于Semtech多通道调制解调器的无线电RX / TX模块(SX130x),收发器(SX135x)和低功耗独立调制解调器(SX127x)。

  • Host:运行包转发器的嵌入式计算机。驱动通过SPI链接的集中器。

  • GPS:GNSS接收器,“每秒1脉冲”发送包含时间和时间的NMEA帧地理坐标数据。可选

  • 网关:由至少一个无线电集中器,主机,一些设备组成的设备 ,连接到互联网或专用网络(以太网,3G,Wifi, 微波链接),以及可选的用于同步的GPS接收器。

1.2 上行协议

在这里插入图片描述

PUSH_DATA packet
这个包被网关用于打包收到的RF包还有相关的数据,然后发送给服务器。

PUSH_ACK packet
这个包类型被服务器用于立即确认所有收到的PUSH_DATA/

1.3 下行协议

在这里插入图片描述

PULL_DATA packet
网关使用该数据包类型来轮询来自服务器的数据。网关必须定期发送PULL_DATA数据包以确保网络
路由保持开放状态,确保数据包能双向流动。

PULL_ACK数据包
服务器使用该数据包类型来确认网络路由为 打开,服务器可以随时发送PULL_RESP数据包。

PULL_RESP
下行的数据包,服务器发给网关的。

TX_ACK
网关对PULL_RESP的应答信息。

2 packer forward(数据包转发器)功能介绍

官方是这么描述packer forward的

LoRa数据包转发器是在LoRa网关的主机上运行的程序,该程序将集中器接收的RF数据包通过IP / UDP链接转发到服务器,并发出服务器发送过来的的RF数据包。它还可以发出网络范围的GPS同步信标信号,用于协调网络的所有节点。

关键在这4个文件,下面我们解释以下这4个文件的作用,其中第一个项目包是核心。

在这里插入图片描述

3 辅助程序

3.1 util_sink

数据包接收器是一个简单的帮助程序,它在单个端口上侦听UDP数据报,并在每次接收到该消息时显示一条消息。数据报本身的内容将被忽略。

3.2 util_ack

数据包确认器是一个简单的帮助程序,它在单个UDP端口上侦听并使用PUSH_ACK响应PUSH_DATA数据报,并使用PULL_ACK响应PULL_DATA数据报。

3.3 util_tx_test

网络数据包发送器是一个简单的帮助程序,用于通过网关到服务器的下行链路路由发送数据包。
该程序首先等待网关向其发送PULL_DATA数据报。之后,它将把指定数量的PULL_RESP数据报发送回网关,每个数据报都包含要立即发送的数据包和可变有效负载。

4 核心程序lora_pkt_fwd

这个文件夹下的文件是核心,然后我们主要是配置globlal_conf_json这个配置文件。通过配置这个文件,我们可以连上AS,还有配置频点。cfg给出了拥有不同功能需求的示例。
在这里插入图片描述

因为我们是中国频段,CN470-510.下面是一位行业大佬配置的

https://github.com/twowinter/packet_forwarder/blob/master/lora_pkt_fwd/cfg/global_conf.json.CN470.basic

有一个地方是我们自己要根据自己部署的服务器而修改的。

  • gateway_id:chirpstack应用服务器生成的那个。
    server_address:自己服务器部署主机的ip,这里我是部署在腾讯云服务器上的。
    在这里插入图片描述

另外根据自己网关的设备情况,修改自己的交叉编译器。

### 如何在Packet Tracer中配置和使用DNS #### 配置DNS服务器 在Packet Tracer中,可以通过模拟路由器或专用DNS设备来实现DNS服务的功能。以下是有关如何设置DNS的关键点: 为了使DNS功能正常工作,在Packet Tracer环境中需要定义DNS记录并将其关联到特定的域名解析地址。通常情况下,这涉及编辑虚拟DNS服务器上的区域文件或者通过命令行界面CLI完成必要的配置[^2]。 具体操作如下: 1. **启动CLI环境** 如果使用的是支持CLI模式的设备(如Router 1841),双击该设备图标进入其属性窗口,并选择“CLI”选项以打开命令提示符界面。 2. **创建正向和反向查找区** 使用`ip dns server`启用DNS服务之后,可以利用`dns zone forward`指令指定要管理的域名称及其对应的IP映射关系。例如: ```bash Router(config)# ip dns server Router(config)# dns zone example.com forward Router(dns-zone-config)# add record www A 192.168.0.1 ``` 3. **验证配置结果** 完成上述步骤后,可通过测试工具确认是否能够成功查询目标主机名所指向的实际IP地址。比如执行ping命令尝试访问已注册的服务端口扫描网站链接[^3]。 #### 设置客户端请求DNS解析 除了搭建自己的内部DNS外,还需要确保终端用户的PC或其他联网装置能正确地发送询问至预设好的权威性名字服务器那里去处理。这就意味着每台机器都需要手动输入首选备用DNS服务器参数值;当然也可以借助DHCP协议动态分配这些信息给各个节点计算机们自动填写好相应的字段位置处即可生效运行起来啦! ```python import os os.system('ipconfig /release') os.system('ipconfig /renew') ``` 以上脚本展示了怎样运用Python语言编写简单的批处理程序来释放当前连接状态下的所有租约资源然后再重新申请新的可用实例版本号等等情况之下才会触发更新动作发生改变哦~[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值