首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上实现x.224 OSI COTS协议的最佳方式是什么

在Linux上实现x.224 OSI COTS协议的最佳方式是什么
EN

Stack Overflow用户
提问于 2015-04-25 09:12:32
回答 1查看 277关注 0票数 2

我需要让运行2.6.12.1内核的旧Linux机器与使用以下命令的旧计算机进行通信:

ISO 8602数据报(无连接服务) 1987 12 15 (第一版)

ISO 8073 4类(面向连接的服务)

这些都是使用“非活动网络层”子集。(我非常确定这意味着我不必担心路由问题。这两个端点正在使用它们的mac地址互相攻击。)

我有一个实现无连接部分的内核模块。为了使面向连接的服务可操作,最佳方法是什么?我已经采取了一种方法,通过引用proto_ops实现将.connect,.accept,.listen函数添加到我现有的无连接驱动程序中。

也许有更好的方法?我花了很多时间来决定tcp代码在做什么,然后决定这是否与我的需求相关。例如,不需要Nagle算法,因为我没有要传输的少量数据。此外,可能还有许多我不需要的错误恢复和流控制内容,因为我知道两个端点正在传输的数据以及它们传输数据的频率。我的计划是首先通过任何简单的(如果有的话)包重新传输、排序等来实现这一点。直到我的wireshark看起来与我从实时系统中捕获的wireshark类似。然后在真正的东西上尝试我的,然后添加任何必要的错误恢复/重传内容。换句话说,试图确定我想要复制的tcp/stream实现的核心是什么,而不是我可能永远不需要的额外的纠错/流控制东西,这是一件痛苦的事情。

我找到了\net\core\stream.c,上面写着:

*通用流处理例程。这些对于大多数人来说都是通用的

*协议。甚至是IP。今晚8-)。

*这是因为TCP、LLC (其他也是)层都有大部分

*相同的sendmsg()和recvmsg()代码。

*所以我们(将)在这里分享它。

这向我暗示,也许有一种更简单的流东西可以让我开始。有人能推荐一个更基本的streams驱动程序,我应该从它开始而不是tcp吗?

有没有提供基本流实现的示例代码?

EN

回答 1

Stack Overflow用户

发布于 2016-01-09 10:28:41

我做了一个用户级库来实现这个协议,提供了我自己的打开/读/写/选择等版本。如果其他人关心,你可以在http://pnwsoft.com上找到我

请勿尝试使用openss7。这完全是浪费时间。

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

https://stackoverflow.com/questions/29859881

复制
相关文章

相似问题

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