关于xenomai3 RTnet的一点记录

简介: Xenomai3的RTnet协议栈支持TCP和UDP,但不包括IGMP,且ARP支持有限,可能导致延迟或错误。服务端仅允许单个客户端连接。启用`CONFIG_XENO_DRIVERS_NET_ADDON_PROXY_ARP`时,RTnet与rtproxy MAC相同,否则rtproxy不支持ARP。TCP/IP的实时性不足,但Xenomai4的EVL核聚焦二层实时网络。更多详情见链接。
  1. xenomai3协议栈RTnet支持TCP、UDP,但不支持IGMP;
  2. 对ARP支持有限制:地址解析的延迟会影响数据包传输延迟,RTnet为实时性考虑,路由表设计静态的,只在设置期间配置,或者接收到其他机器A发出的的ARP请求才会将A的路由信息添加到路由表。如果我们访问的IP是未知目标MAC地址,不会发出解析请求,直接报错。如果我们不能配置路由表,这会影响我们作为客户端去连接服务端时,出现找不到服务端。
  3. RTnet TCP作为服务端时,每个服务端端口同时只允许一个客户端连接,这算是什么服务端!!!!
  4. 关于CONFIG_XENO_DRIVERS_NET_ADDON_PROXY_ARP配置说明:
  • CONFIG_XENO_DRIVERS_NET_ADDON_PROXY_ARP启用时:

    • rtproxy 与rtnet设备MAC地址相同

    • RTnet接收的ARP请求由linux接收处理,但rtnet接收到ARP回复会记录到rtroute表中

      即若没有启用rtproxy ,无法ping通rtnet的IP

    • linux路由表

    • rtping不能使用,只能使用linux ping

    • linux发送时,直接通过rtnet网卡发送

    • 对于每一个IP帧,先检查rtnet是否接收,rtnet不接收才转发给rtproxy ,对于rtnet不支持的ip协议,直接转发

  • CONFIG_XENO_DRIVERS_NET_ADDON_PROXY_ARP关闭后:

    • rtproxy 设备MAC地址为 0:0:0:0:0:0,且不支持ARP(dev->flags |= IFF_NOARP),rtproxy 设备不支持组播。
    • RTnet接收的ARP请求由RTnet处理并回复
    • linux发送时,先查询rtroute,然后修改linux发送的数据包,源MAC修改为rtnet设备的MAC,目的MAC为路由表中获取(缺点是rtroute的路由表是静态的)
  1. TCP/IP本就不是实时的,xenomai3全部用rtnet实现可用性太低,但在实际实时以太网应用中,基本只用到二层实时网络收发,不涉及三层及以上协议,所以xenomai4中evl核中基于linux扩展,实时只支持raw packet是非常正确的做法!

更多信息参见:https://source.denx.de/Xenomai/xenomai/-/wikis/RTnet_Basics

目录
相关文章
|
Cloud Native Go 项目管理
敏捷项目管理解锁:2023年使用YouTrack的全面指南
敏捷项目管理解锁:2023年使用YouTrack的全面指南
4236 0
|
传感器 网络协议 Linux
在Linux中使用libmodbus库进行Modbus TCP通信
Modbus TCP是一种常见的工业通信协议,用于在自动化系统中传输数据。libmodbus是一个流行的C库,用于在Linux系统上实现Modbus TCP通信。本文将介绍如何使用libmodbus库在Linux上创建Modbus TCP通信的示例代码。
5023 0
|
传感器 网络协议 物联网
华为鸿蒙OS尖刀武器之分布式软总线技术
华为鸿蒙OS尖刀武器之分布式软总线技术
华为鸿蒙OS尖刀武器之分布式软总线技术
|
12月前
|
人工智能 安全 云计算
|
9月前
|
IDE Linux 开发工具
Qt Creator 18.0.2 发布 - Qt、QML 与 C++ 的 跨平台 IDE
Qt Creator 18.0.2 (macOS, Linux, Windows) - Qt、QML 与 C++ 的 跨平台 IDE
682 2
Qt Creator 18.0.2 发布 - Qt、QML 与 C++ 的 跨平台 IDE
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
1329 2
全网首发:gstreamer如何接入RTSP流(IP摄像头)的代码范例
全网首发:gstreamer如何接入RTSP流(IP摄像头)的代码范例
1987 0
|
缓存 算法 Linux
xenomai /PREEMPT-RT 实时性优化指南
xenomai /PREEMPT-RT 实时性优化指南
1877 0
xenomai /PREEMPT-RT 实时性优化指南
|
网络协议 物联网 调度
《探秘鸿蒙分布式软总线:开启无感发现与零等待传输新时代》
鸿蒙系统的分布式软总线技术是实现设备互联互通的核心,通过融合Wi-Fi、蓝牙、NFC等通信技术,实现设备无感发现与零等待传输。该技术具备自发现、自组网、高带宽低时延特性,支持多设备协同工作,如智能家居中手机与音箱、空调的无缝连接,办公场景中的文件共享与多屏协同,以及工业互联网中的实时通信。其极简协议、流式传输和智能调度机制大幅提升效率,为用户带来便捷体验,推动智能生态发展。
1100 6
|
传感器 存储 iOS开发
【HarmonyOS NEXT调试全攻略】设备连接+运行环境一站式指南
本文提供HarmonyOS调试全面指南,涵盖设备连接与运行环境配置。包括模拟器操作、真机调试方法,及环境配置、功能模拟、故障排除等内容。核心覆盖Win/Mac双平台配置、真机级功能模拟、50+故障解决技巧等,助开发者高效调试。适合教育科普学习,错误之处欢迎指出。
1317 0

热门文章

最新文章