首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速开发路由协议原型的环境

快速开发路由协议原型的环境
EN

Stack Overflow用户
提问于 2011-03-29 05:00:40
回答 3查看 1.6K关注 0票数 2

我正在研究路由协议。目前,我正在执行用Python编写的新协议的模拟。下一步是构建一个真正的原型,它可以真正运行在基于Linux的操作系统之上(作为路由守护进程,比如ospfd)。

哪种编程环境/语言适合快速构建路由协议的原型?有人有构建分布式协议原型的经验吗?

我希望尽可能多地关注高级协议逻辑,而不是低级机器相关指令。我愿意学习新的语言(如Erlang或Haskell),以防它们能更好地适应这样的任务。或者,我读过Python中提供的扭曲框架(它可能允许重用一些代码),但我不清楚这是否仅在我编写基于客户端/服务器的协议的情况下对我有帮助。

有没有人知道(分布式)协议实现的优雅教程或示例实现?

EN

回答 3

Stack Overflow用户

发布于 2011-03-29 05:21:25

如果您主要对协议如何与自身交互感兴趣,而不想考虑实现细节,比如数据包是什么样子,那么您可能对Erlang很感兴趣。通过(真实或虚构的)网络发送任意消息是该语言的一个基本特性。因此,如果你真的只想在信息层面上工作,它有很好的支持。

我对Erlang的想法是让你得到一些对生产更不有用的东西,但可能比Scapy花的时间要少得多。

由于节点可以是具有IP地址的主机,而消息可以包含几乎任何内容,因此使用Erlang模拟协议将非常简单。如果你感兴趣,This将帮助你开始学习这门语言。

票数 3
EN

Stack Overflow用户

发布于 2011-03-29 05:02:51

Scapy将是一个很好的工具。你可以在高层次上创建数据包,它对添加协议有很好的支持。您可能不想将其用作生产实现,但它将成为一个很好的原型平台。

它是用Python编写的,这是值得的。

票数 1
EN

Stack Overflow用户

发布于 2011-03-29 21:40:31

Erlang非常适合于没有具体实现的逻辑原型,以及实现协议的真实实现。

你不需要任何其他的框架,只需要Erlang和OTP就足够了。

即使您必须向下工作到数据包级,Erlang也会帮助您处理其二进制模式,即gread,用于处理协议数据包。

即使你想要高性能,你也可以把最需要时间的东西转移到Erlang中被称为“端口”的东西中,用C或其他低级语言实现它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5465010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档