Ppp
使用沒有 TCP/IP 的 PPP
我正在使用 PPP 與設備進行通信。到目前為止,我一直在做的是在我的機器(Fedora 29)和設備(Yocto Linux)上實例化 PPP。然後我打開一個 TCP/UDP 套接字並與設備通信。我的串列鏈路(這就是我使用 PPP 的原因)的波特率很低,確切地說是 4800。我無法更改它,這是項目要求。我一直在閱讀有關 PPP 的內容,據我所知,我不能只實例化它並直接使用它。我必須使用 TCP/IP/UDP。我對麼?換句話說,一旦我有了 PPP 連接,唯一的使用方法就是打開一個套接字(UDP 或 TCP)並通過它與設備通信。我不能只創建我的應用程序級數據包並告訴 PPP 發送它,我必須通過 TCP/IP 層(傳輸層)。
PPP可以執行IP以外的協議;最常見的當然是 IPv6。但是許多其他人已經(並且可能仍然是)在 PPP 上執行。Wikipedia 甚至有一個執行在 PPP 上的協議列表,儘管我不確定有多少在 Linux 上工作。
另外——你在串列鏈路上執行 PPP 的原因是你想執行一個更高級別的協議,比如 IP。如果您想避免這種成本,只需直接使用串列連結即可。串列連結不需要 PPP;您可以使用任何您喜歡的特定於應用程序的協議通過 RS232 發送原始二進制數據。