QNX 网络模型

QNX为黑莓提供的支持多虚拟机主机模型的汽车电子系统,整体采用微内核架构配置为RTOS系统。其中QNX提供了独立的网络模型,以运行在userspace的网络协议栈搭配相应的网卡驱动为整个系统提供网络服务。

目前QNX支持两种协议栈,分别为io-sock和io-pkt. io-sock默认集成在8.0以上版本的qnx系统;io-pkt则集成在7.1系统之前。其中io-sock不向前兼容io-pkt且不向前兼容任何io-pkt配套的组件如:ping、sshd、tcpdump、iperf、ssh等。下边是io-sock的大体结构:

io-sock协议栈目前仅支持以太网以及以usb、pcie、phy三种形式物理转换的以太网接口,但是目前不会支持所有类型的厂商。

启动io-sock

集成io-sock可以参考qnx官方原文档,这里介绍如何启动io-sock(仅限arm架构,x86架构下的qnx会有一定区别),启动指令如下:

复制代码
io-sock -m phy -m pci -usb -d dwceqos -d em -d axge

其中m表示协议栈依赖的module,如使用phy作为以太网物理接口需要依赖对应的phy驱动。同理如果使用pci转换以太网的物理接口需要依赖pci驱动以及pci-server服务。

其中d表示对应网卡驱动类型,如em为pci转换网卡对应的winyao驱动。axge为usb转换网卡对应的Asix驱动。

上网功能配置

QNX系统中设备通过以太网访问internet需要配置ip,这里QNX提供了dhclient用于作为DHCP client提供dhcp服务。用于分配ip地址,网关 mask dns等。

默认运行方案:./dhclient

QNX提供了ssh服务组件,可以通过ssh协议与外部设备通过网络交换数据,这里需要启动sftp-server以及sshd服务。同时配置sshd_config提供相应的ssh key. 这里给一个参考配置:生成类型为ed25519以及ecdsa两种类型的key。

复制代码
ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ''
ssh-keygen -t ecdsa -b 521 -f ssh_host_ecdsa_key -N ''

虚拟机上网模型

QNX支持多虚拟运行,如linux 、android、类linux系统等。QNX提供qvm服务提供虚拟机运行环境的支持,且可以控制虚拟机的运行状态。那么虚拟机想要通过以太网上网仅需要打开虚拟网络配置,如linux的virtio_net ->y,就可以使用以太网服务eth0.

QNX作为主机端,需要单独为某个虚拟机提供网络,需要设定一个独立的桥(bridge0)为虚拟机提供路由服务。为了网络的隔离足够从分,每个虚拟机需要额外配置一个虚拟网卡(vp)作为桥接的中继。

如上图,实际上host是给虚拟机分配了一个vp0作为虚拟网但是vp0严格来说是工作在主机测的,如果直接让虚拟机的eth0和vp0通信,那么主机与虚拟机中间网络的隔离就会显的不那么彻底。所以host额外在虚拟机的空间配分配了一个p2p接口与vp0进行数据的完全接受。这里p2p是虚拟网卡的节点,并不是任何类型的网卡设备。

参考虚拟网络配置如下:

复制代码
vdev virtio-net
  loc 0x1c0c0000
  intr gic:40
  mac **:**:**:**:**:**
  name p2p
  peer /dev/vdevpeers/vp0

上网配置参考qnx8.0官方文档:Guest-to-host

相关推荐
Linux-lucky5 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默6 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81636 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
爱莉希雅&&&8 小时前
GitLab 完整学习笔记
linux·运维·服务器
风笙9788 小时前
[文件系统]文件系统挂载与卸载详解
linux
GeW9 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
博客zhu虎康9 小时前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
吴声子夜歌10 小时前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
陈希12310 小时前
Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位
linux·服务器·网络
国科安芯11 小时前
从遥控到自治:ASP4644S2B支撑星载电源健康管理与容错配电
网络·单片机·嵌入式硬件·安全·dcdc·低轨卫星·商业航天