我相信我的问题是:
PC 操作系统上是否有一个简单的用户模式 TCP 堆栈,可用于通过有损串行链路与基于 Linux 的设备交换数据?
这是更多上下文:
我有一个基于 Linux 的设备通过串行链路连接到 PC。串行链路是有损的,因此在两个设备之间发送的数据有时需要重新传输。目前,该系统使用自定义协议,其中包括帧、寻址(用于路由到 Linux 设备内的不同进程)和不那么健壮的重传算法。
在 Linux 设备端,可以方便地替换自定义协议,通过串行链路实现 SLIP,并使用 TCP 进行所有通信。问题是在 PC 端,如果不引入我们不需要的通用 IP 路由,我们不确定如何使用主机的 TCP 堆栈。如果有可用的用户模式 TCP 堆栈,我似乎可以将其集成到 PC 应用程序中。到目前为止,我发现的唯一 TCP 堆栈是用于微控制器的。它们可以被移植,但如果有更现成的东西就好了。或者是否有一些特殊的方法可以使用操作系统的内置 TCP 堆栈,而无需管理权限或冒着与真实以太网接口发生 IP 地址冲突的风险。
最后,只是为了让解决方案专注于 TCP,是的,还有其他解决方案可以解决这个问题,例如使用 HDLC 或只是修复我们的自定义协议。但是,我们想进一步探索 TCP 路由,以防万一。