我正在着手开始在软件中实现一些专有通信协议栈,但不确定从何处开始。这是我以前从未做过的工作,我正在寻找资源方面的帮助,以获得最佳/推荐方法。
我将使用c / c ++,可以自由使用库(BSD / BOOST / Apache),但不使用GPL。我广泛使用了C ++,因此使用C ++的特性不是问题。
协议栈有三层,已经完全指定并经过正式验证。因此,我需要做的就是在指定的语言中完全实现和测试它。还应该提到的是,协议非常简单,但可以在可靠的物理传输层上运行在不同的设备上。我了解协议状态机的事件,输入,输出,副作用和行为。通常,接收到中断以读取从物理层接收到的消息并将其发送到等待设备。接收设备可以处理并将响应消息传递到协议层以通过物理层发送出去。
任何关于参考文献/建议的帮助都将不胜感激。如果只是为了帮助我了解如何实现它们,我愿意使用其他语言,但我最终必须使用选择的语言。
更新:我希望实现的示例协议类似于SNEP。
我不需要担心连接管理。我们可以假设连接已经建立,而协议所做的就是数据交换,其中协议消息已在规范中定义良好。