Linux高危端口:Linux中的以太网 + 串行端口(serial over ethernet software)

我想在 Linux 中实现一个驱动程序,它有一个以太网堆栈,但硬件上的数据将是一个串行端口。基本上,我想将我的串行端口注册为以太网驱动程序。有人知道这是否可能吗?我希望能够将 IPv6 和 / 或 UDP 数据包从串行端口推出,并以类似的方式通过串行端口接收数据包并将其传递到以太网堆栈。

我不想使用串行到以太网转换器(将串行端口转换为以太网端口的外部硬件)的解决方案,但在我的 PC 本身。

我试过 PPP 在串行端口,它工作得很好。我也被告知,我可以做 FTP,HTTP 等使用 PPP。参考这个-http://www.faqs.org/docs/Linux-HOWTO/Serial-Laplink-HOWTO.html

我试图从 RealTek 以太网驱动程序中使用串行驱动代码,但无法获得太多成功。相反,我不知道任何一个堆栈实际上做任何有意义的事情。任何建议,指导或教程都会有所帮助。

感谢 Aditya

0

你需要回到网络的基础知识,我理解你的问题是:“我有一个串行端口,我想使用的是以太网链路。”抱歉粉碎你的梦想,但你没有真正的硬件来做到这一点,我会详细说明。

串行连接是一种物理连接,需要(至少)3 根 tx,rx 和地。在逻辑方面,您有一个 IC,可将二进制数据转换为由离散电压范围表示的信号。

以太网是第 2 层协议,第 1 层由用于传输信号(同轴,上行,光纤等)的技术提供。正如您现在可能看到的那样,您需要一组不同的硬件来将逻辑以太网帧转换为数字数字流,实际上这是呼叫帧。

由于以太网一直是一个易于使用的协议,它已被实现为许多网络的首选协议,当然最大的一个是 PPPoE,您可以通过以太网链路进行 PPP 会话。

如果你只是在学习,并拥有世界上所有的时间,你可以尝试通过串行线路编写自己的以太网成帧器。这意味着你需要将 IEEE802.3 实现到驱动程序中,然后你需要将数据序列化,以将其作为串行线路上的比特流推送。当然请注意以下缺点:

您的驱动程序将无法完全支持以太网,您需要硬件级别的一些支持来实现一些信号(例如,自动协商,CSMA / CD 等)

你的驱动程序将是非常无用的,除非你回到时间,其中 115.2 kbps 是数据传输的最高速度

最后,请记住,现在大多数以太网实现都是在硬件中完成的,因此除了在 MAC 和 voila 上填充几个寄存器之外,您不必做任何事情!

0

SLIPPPP已经做了你想要的。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(813)
Rebuilt:.pcm已过期 需要重建(pcm rebuild)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(28条)