我正在使用 PPP 与设备通信。到目前为止,我一直在做的是在我的机器(Fedora 29)和设备(Yocto Linux)上实例化 PPP。然后我打开 TCP/UDP 套接字并与设备通信。我的串行链路(这就是我使用 PPP 的原因)的波特率较低,准确地说是 4800。我无法更改它,这是项目要求。我一直在阅读一些有关 PPP 的内容,据我所知,我不能只是实例化它并直接使用它。我必须使用 TCP/IP/UDP。我对么?换句话说,一旦我建立了 PPP 连接,唯一的使用方法就是打开套接字(UDP 或 TCP)并通过它与设备通信。我不能只创建应用程序级数据包并告诉 PPP 发送它,我必须经过 TCP/IP 层(传输层)。
答案1
PPP可以运行IP以外的协议;最常见的当然是IPv6。但还有许多其他国家已经(也许仍然是)通过 PPP 运行。维基百科甚至有一个通过 PPP 运行的协议列表,尽管我不确定有多少在 Linux 上工作。
另外,您通过串行链路运行 PPP 的原因是您想运行 IP 等更高级别的协议。如果您想避免这种开销,只需直接使用串行链路即可。串行链路不需要 PPP;您可以使用您想要的任何特定于应用程序的协议通过 RS232 发送原始二进制数据。