基于Qcom QNX虚拟化平台的Android14与QNX间的Vlan通信配置

1. 什么是VLAN

VLAN(Virtual Local Area Network),即虚拟局域网,他可以将物理的LAN在逻辑上划分为多个广播域的技术。

VLAN内主机之间可以相互通信,VLAN与VLAN之间无法通信。当以太网中主机数量过多时,会导致性能下降等问题,此时可以将整个局域网划分为多个VLAN,从而降低维护成本。

1.1 VLAN原理

例如在下面的交换机中,各个主机在发送广播包的时候,其他主机都可以收到数据包,不仅占用带宽,同时浪费其他主机性能去解析相关的数据包:

在这里插入图片描述

为了避免上面发生的情况,通过配置VLAN的形式从而将主机划分为多个VLAN域,使其仅在VLAN内部通信,VLAN间无法互相收发数据包。图中分配了两个VLAN,分别是VLAN0和VLAN1,VLAN0内部主机间可以相互通信,但VLAN0与VLAN1的主机无法通信。

在这里插入图片描述

1.2 VLAN间通信

VLAN间如果需要进行通信,可以使用路由器来实现,不同的VLAN数据包通过交换机发送到路由器上,并最终通过路由器将消息转发到其他VLAN上

在这里插入图片描述

2. QCOM HPY(QNX<=>Android)间VLAN通信配置

为了测试解析VLAN间的通信数据包,需要将Host和Guest之间的以太网络配置到VLAN中去,需要通过以下手顺来完成。

2.1 Android侧VLAN配置

安卓侧以太网接口为eth0,ip为192.168.1.3,需要使用以下命令创建vlan并将eth0与其绑定,这里设置vlan id为5。

ip link add link eth0 name eth0.5 type vlan id 5
ifconfig eth0.5 192.168.5.10 up
ip rule add from all lookup main 
  1. 创建一个新的 VLAN 接口 eth0.5,它基于物理接口 eth0,VLAN ID 为 5。
  2. 为新创建的 VLAN 接口 eth0.5 分配 IP 地址 192.168.5.10,并将接口状态设置为“up”(启用状态)。
  3. 添加一条 IP 路由规则,将所有来自所有源地址的流量路由到主路由表中。

安卓侧设置好vlan后可以通过ifconfig进行查看,这里的vlan ip设置为192.168.5.10。

2.2 QNX侧VLAN配置

为了通过vlan与安卓进行通信,QNX侧需要同样设置vlan,并将vlan id设置为与安卓侧相同,保证两侧分配在同一个vlan中,否则之间无法正常通信。

QNX侧以太网接口为emac0,ip为192.168.1.1。

 ifconfig vlan5 create
 ifconfig vlan5 vlan 5 vlandev bridge0
 ifconfig vlan5 up
 ifconfig vlan5 vlanpcp 5
 ifconfig vlan5 192.168.5.1 up
 emacmedia -i emac0 -o 5
  1. 创建一个新的 VLAN 接口 vlan5。
  2. 配置 VLAN 接口 vlan5,指定 VLAN ID 为 5,并将它绑定到名为 bridge0 的设备上。
  3. 将 VLAN 接口 vlan5 的状态设置为“up”(启用状态)。
  4. 设置 VLAN 接口 vlan5 的 VLAN 优先级代码点(VLAN PCP)为 5。
  5. 为 VLAN 接口 vlan5 分配 IP 地址 192.168.5.1,并将接口状态设置为“up”(启用状态)。
  6. 配置网络接口 emac0 的媒体类型,将 VLAN ID 设置为 5。

QNX侧配置好vlan后可以通过ifconfig查看,这里的vlan ip设置为192.168.5.1。

3. VLAN通信测试

3.1 QNX与Adnroid间VLAN通信

在配置好VLAN以后,可以使用ping命令或者iperf命令来进行通信测试,这里以iperf举例:

Android侧:

Android tcpdump:
tcpdump -i eth0 -e -w /data/local/tmp/tcpdump.pcap &

Android iperf:
iperf3 -s -B 192.168.5.10

后台打开tcpdump获取中间的数据包,然后作为服务端进行接口监听

Qnx侧:

QNX iperf:
iperf3 -c 192.168.5.10 -B 192.168.5.1

3.2 Android侧VLAN数据解析

在通信过程中,安卓侧使用以下命令将tcp数据包dump出来:

tcpdump -i eth0 -e -w /data/local/tmp/tcpdump.pcap &

tcpdump.pcap文件使用Wireshark工具进行解析查看
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IAYL.BL

创作不易,投个硬币😆

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值