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

相关推荐
暮云星影10 小时前
全志linux开发屏幕适配(一)屏幕参数设置说明
linux·arm开发
swordbob12 小时前
NIO 的 Channel 里有多个 BIO 吗?
linux·网络·nio
天天讯通12 小时前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别
Fcy64812 小时前
Linux下 信号的保存与捕捉
linux·中断·信号的捕捉·信号的保存
A_humble_scholar13 小时前
Linux(九) 进程管理完全指南:从入门到实战
linux·运维·chrome
江华森13 小时前
Linux 操作命令完全指南
linux·运维
rjszcb14 小时前
Linux,sensor调试笔记1,修改帧率,以及曝光上不去问题
linux
leo_yu_yty14 小时前
Go语言分布式计算(RPC入门)
网络·网络协议·rpc
C++ 老炮儿的技术栈14 小时前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
2301_7807896614 小时前
零信任架构中,身份感知防火墙(IAFW)的部署要点与最佳实践
linux·运维·服务器·人工智能·tcp/ip·架构