奇葩传奇:一对一和一对多

客户询盘

今天旺旺上遇到一位女客,打得一手好繁体字,宝岛风。问我 交付的固件里是否支持一对多。我一开始好慌张,要LoRaWAN?我还没有开发完毕呢!后来发现她问得是我交付的自组网固件是否支持一对多。但是接下来推送过来一张友商的图,却是无线通讯的安利科普图:如果LoRa配置的相同,那么覆盖范围内的所有节点都可以接收解码。

什么是一对多

我后来才发现这位客人可能是代为采购的,话说工程师直接采购比较合理。而且我的思路被她的这个问题给限制住了。实际上,一对多是无线电的普遍情况,一对一是一对多的特例,即1:N,N=1的情况。而不是说需要额外的什么设计。

百度知道中找到一个回答:

  1. 点对点的传输通讯实现方式是事务的方式,从一个用户发起,到另一个用户成功接收,为一个完整的事务。简单地说,如果这个过程中任何一个环节失败,则整个环节失败.从技术上说,点对点的事务中,消息发送分为MO/MT两类。MO即消息上行,也就是人们常说的发信,MT即下行,也就是人们常说的收信。
  2. 点对多点传输通讯同点对点的传输基本相同,只是传输方以会议主持者的身份进入,逐个呼叫个用户;或者以会议主持者的身份进入,各用户呼叫会议主持者进入。换而言之,就是分时调度进行一对一传输

究竟是那个层的一对多

我们常见的无线网络拓扑主要是:星型(Star),簇状(Cluster),Adhoc和网状(Mesh)。这个拓扑概念应该是包含了ISO的下面四层形成的逻辑拓扑。但就LoRa这种LPWAN和简单的WSN来说,最常见的就是星型拓扑了。

就普通的无线电物理层收发角度来说,大部分无线电技术都可以实现一对多的收发,所谓一对一只有在定向天线这种特定情况下才会出现。但是需要在媒体访问层加入防碰撞的算法,比如ALOHA+RTS/CTS,同时还需要规划设备地址和中心节点的调度,实现真正意义上的多点收发。

我推测她所谓的一对多可能更多地是类似RS485这种Polling的调度。这一点,或许看看TI的开源SimpliciTI堆栈可以更加清楚。他推荐了四种演示代码和工作模式:

  1. 简单点对点:两个连接终端直接互相通讯;
  2. AP Polling:一个终端通过AP发送到另一睡眠的终端,AP做报文缓冲;
  3. 终端级联:三个未连接的终端连续不断地广播报警信息;
  4. AP as Hub:两个终端将数据发送至AP Data Hub,带调频。

我的意见

  1. 无线电通讯的物理层(PHY)天生就是一对多的,和RS232之类的有区别;
  2. 实现逻辑层面(MAC+LLC/NWL/TPL)的一对多需要声明具体的实现方式。比如竞争型的MAC还是TDD/FDD等调度型MAC,LLC子层驱动的实现,网络层是否需要IPv4/IPv6,传输层的实现需求。
  3. 话说这么多,其实固件里只有最基本的PingPong,需要客户自己去扩展一对多的MAC和LLC。

原来我才是奇葩。

参考

  • 百度知道:点对点传输/一点对多点

你可能感兴趣的:(奇葩传奇:一对一和一对多)