完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文档主要介绍 NXP LS1028A开发板网络中的应用测试。包括 DPDK基本环境测试、 IPSEC基本环境测试、OpenSSL基本环境测试、Lighttpd测试、Samba测试。
|
|
相关推荐
1个回答
|
|
本文硬件平台以飞凌嵌入式OK1028A-C开发板为基础进行讲解,其它LS1028产品,由于各个厂家设置不同会有所差异,请参考使用。本文档主要介绍 NXP LS1028A开发板网络中的应用测试。包括 DPDK基本环境测试、 IPSEC基本环境测试、OpenSSL基本环境测试、Lighttpd测试、Samba测试。
LS1028A开发板网络应用测试 OK1028A-C平台基于NXP LS1028A处理器设计,双核ARM Cortex-A72,主频最高1.5GHz,板载2GB ddr4 RAM,8GB ROM;原生支持6个Gbit Ethernet,支持TSN的以太网交换机和以太网控制器,可支持融合的IT和OT网络; OK1028A-C所采用的CPU属于NXP Layerscape®通信处理器,在网络吞吐性能方面更具优势,而且原生网口数量也比较多,下面对LS1028A开发板在网络中的应用进行测试。 一、 Samba测试Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。 飞凌LS1028A平台默认安装samba服务,可以通过网络访问OK1028A-C的sata硬盘等存储设备。 安装samba root@forlinx:~# apt-get install samba 创建用户及共享目录 root@forlinx:~# groupadd share root@forlinx:~# useradd share -g share root@forlinx:~# smbpasswd -a share 根据提示输入密码 root@forlinx:~# chmod 777 -R /share 修改配置文件: root@forlinx:~# vi /etc/samba/smb.conf 文件末尾加上如下 [share] comment = Share Folder require password browseable = yes path = /share create mask = 0777 directory mask = 0777 valid users = share force user = nobody force group = nogroup public = yes writable = yes available = yes 如果您对配置文件有修改,请重启samba: root@forlinx:~# systemctl restart smbd.service Windows访问测试: 查看开发板IP: 在同一局域网内的windows上打开运行,输入//192.168.1.200 访问用户名和密码,即可看到文件系统/share目录中的文件 二、 Lighttpd测试飞凌LS1028平台lighttpd服务默认开机启动,为matrix桌面提供WEB服务。输入开发板IP,即可将matrix桌面显示在浏览器中。 三、 OpenSSL基本环境测试安全套接字层(Ssl)协议是应用最广泛的应用协议,通过使用诸如aes、des和3des等密码算法对数据进行加密,在传输过程中对数据进行保护。 测试对称加密rsa速度 root@forlinx:~# openssl speed rsa1024 测试AES对称加密算法: root@forlinx:~# dd if=/dev/urandom of=test bs=1 count=5922 root@forlinx:~# openssl enc -aes-128-cbc -e -in test -out test.enc -pass pass:123 -pbkdf2 root@forlinx:~# openssl enc -aes-128-cbc -d -in test.enc -out test.dec -pass pass:123 -pbkdf2 root@forlinx:~# diff test test.dec 测试DES对称加密算法: root@forlinx:~# dd if=/dev/urandom of=test bs=1 count=5922 root@forlinx:~# openssl enc -des-ede3-cbc -e -in test -out test.enc -pass pass:123 -pbkdf2 root@forlinx:~# openssl enc -des-ede3-cbc -d -in test.enc -out test.dec -pass pass:123 -pbkdf2 root@forlinx:~# diff test test.dec 四、 IPSEC基本环境测试该项功能设置较为复杂,建议在一定网络基础上开展。需要打开内核netfilter match ipsec功能,否则iptables不能被正常设置;如果提示raw表失败,可以不导入raw表,或者内核配置加raw表。 Gateway moon为OK1028A-Ceno0 swp0网口。其它client为标准pc机。 网络拓扑结构: 子网192.168.0.0/24使用ipsec加密通信,子网192.168.1.0/24使用明文通信。 重新配置内核 Networking support ---》 Networking options ---》Network packet filtering framework (Netfilter) ---》 Core Netfilter Configuration ---》 《*》 IPsec “policy” match support Networking support ---》 Networking options ---》Network packet filtering framework (Netfilter) ---》 IP: Netfilter Configuration ---》 《*》 raw table support (required for NOTRACK/TRACE) 安装Strongswan apt-get install strongswan 所有使用ipsec的主机及网关均需安装,非root权限需要加sudo。 Gateway moon设置 /etc/ipsec.conf /etc/ipsec.secrets /etc/strongswan.conf /etc/ipsec.d/ ipsec.d目录存放CA证书、私钥和公钥 1 路径:OK1028A-C(Linux)用户资料/工具/ipsec moon相关文件参照moon_server.tar.bz2 导入iptables iptables-restore 《 moon_iptables_1028.txt ifconfig eno2 up ifconfig swp0 up ifconfig swp0 192.168.0.1 ifconfig eno0 192.168.1.250 Roadwarrior carol设置 /etc/ipsec.conf /etc/ipsec.secrets /etc/strongswan.conf /etc/ipsec.d/ ipsec.d目录存放CA证书、私钥和公钥 1 路径:OK1028A-C(Linux)用户资料/工具/ipsec 相关文件见carol_client.tar.bz2 导入iptables sudo iptables-restore 《 carol_iptables.txt sudo ifconfig eth0 192.168.0.100 Client alice设置 alice位于192.168.1.0/24网段内,需要设置192.168.0.0/24网关地址 sudo ifconfig eth0 192.168.1.107 sudo route add -net 192.168.0.0/24 dev eth0 sudo route add -net 192.168.0.0 gw 192.168.0.1 netmask 255.255.255.0 启动ipsec a、在moon网关上执行 ipsec restart b、在carol主机上执行 ipsec restart ipsec up home 出现connection ‘home’ established successfully表示ipsec认证完成。 carol和alice的ping通信 目前位于不同网段的carol和alice具备通信功能,且carol所在子网内使用加密通信。 carol主机对alice主机的ping。 在网关192.168.0.1和192.168.0.100之间传递的是ESP密文,经过解析产生了192.168.1.107对192.168.0.100回复的明文。 五、 DPDK基本环境测试DPDK是用户空间包处理的框架,专注于网络应用中数据包的高性能处理,具体体现在DPDK应用程序是运行在用户空间上,利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包的处理过程。OK1028A-C平台支持完整的DPDK环境,同时支持OVS-DPDK,底层基于DPDK的Open VSwitch。 DPDK的知识库: http://doc.dpdk.org/guides-17.05/linux_gsg/index.html 下面以二层转发和三层转发为例,测试OK1028A-C平台的DPDK环境。首先,使用DPDK环境,需要修改设备树,将网络配置到用户态。需要使用到的设备树文件: mv /boot/OK1028A-C.dtb /boot/OK1028A-C.dtb.bak cp /boot/OK1028A-C-DPDK.dtb /boot/OK1028A-C.dtb reboot cd /usr/local/dpdk/enetc/ 。/dpdk_configure_1028ardb.sh 测试DPDK完成后恢复默认配置方法: cp /boot/OK1028A-C.dtb.bak /boot/OK1028A-C.dtb reboot 1、 二层转发测试二层转发网络拓扑如下图所示: 使用OK1028A-C平台eno0和swp0,对Linux Host和OK1012A-C之间的数据进行转发。Linux Host和OK1012A-C您可以替换成其他的网络设备。 配置OK1028A-C: l2fwd -c 0x3 -n 1 -- -p 0x3 -q 1 --no-mac-updating [tr]参数 说明 [/tr][tr]-c Core mask 0xf使用2核 [/tr][tr]-n 内存通道数 [/tr][tr]-p Port mask 0xc二进制0011使用port1 port0 [/tr][tr]-q 每个核的队列数量默认为1 [/tr][tr]--no-mac-updating 转换后不替换MAC [/tr]配置OK1012A-C: ifconfig eth0 192.168.1.200 tcpdump -i eth0 -vv -n -e 配置Linux Host: ifconfig eth0 192.168.1.120 sudo modprobe pktgen.ko echo “add_device eth0” 》 /proc/net/pktgen/kpktgend_0 echo “dst_mac 6e:56:7d:85:ce:4d” 》 /proc/net/pktgen/eth0 echo “dst 192.168.1.200” 》 /proc/net/pktgen/eth0 echo “pkt_size 64” 》 /proc/net/pktgen/eth0 echo “count 1000000” 》 /proc/net/pktgen/eth0 echo “start” 》 /proc/net/pktgen/pgctrl 注意:如果您的主机不含有pktgen驱动,请自行配置内核编译驱动。 查看OK1028A-C: 查看OK1012A-C: 2、 三层转发测试三层转发网络拓扑如下图所示: 使用OK1028A-C对192.168.1.0网段和192.168.2.0网段之间的数据进行转发。 配置OK1028A-C: DPDK中自带的l3fwd lpm路由表与我们的网络拓扑环境不一致,因此需要修改代码,修改OK1028-linux-fs/flexbuild/packages/apps/dpdk/examples/l3fwd/l3fwd_lpm.c 修改说明: 收到的192.168.1.0/24网段数据使用port0输出 收到的192.168.2.0/24网段数据使用port1输出 在flex-build环境中使用flex-builder -c dpdk -a arm64 -m ls1028ardb 命令进行编译。将编译完的可执行程序packages/apps/dpdk/examples/l3fwd/build/l3fwd拷贝到开发板根目录。 /l3fwd -c 0x3 -n 1 -- -p 0x3 -P -L --confi / --eth-dest=0,74:27:ea:f7:8e:10 --eth-dest=1,6e:56:7d:85:ce:4d [tr]参数 说明 [/tr][tr]-c Core Mask [/tr][tr]-n 内存通道数 [/tr][tr]-p Port Mask [/tr][tr]-P promiscuous mode [/tr][tr]-L 使用LPM [/tr][tr]--config (Port, Queue, Core)绑定端口队列cpu核 [/tr][tr]--eth-dest 输出端口对应的目的MAC地址 [/tr] 配置OK1012A-C: ifconfig eth0 192.168.2.2 tcpdump -i eth0 -vv -n -e 配置Linux Host: ifconfig eth0 192.168.1.120 modprobe pktgen.ko echo “add_device eth0” 》 /proc/net/pktgen/kpktgend_0 echo “dst_mac E2:1C:5E:C0:19:88” 》 /proc/net/pktgen/eth0 echo “dst 192.168.2.2” 》 /proc/net/pktgen/eth0 echo “pkt_size 64” 》 /proc/net/pktgen/eth0 echo “count 1000000” 》 /proc/net/pktgen/eth0 echo “start” 》 /proc/net/pktgen/pgctrl 查看OK1012A-C: 六、 OVS-DPDK基本环境测试注意:LS1028A开发板测试openvswitch时需要开启内核CONFIG_OPENVSWITCH配置。 本节简单介绍利用ovs-dpdk搭建如下图的二层交换环境。 测试前请确保使用的是支持DPDK的设备树,同时执行过。/dpdk_configure_1028ardb.sh 使用网线连接Host1、OK1028A-C、Host2,使用以下命令测试转发性能: Host1:ipeRF3 -s Host2:iperf3 -c 192.168.1.120 -i 1 -t 60 七、 TSN测试1、 Enetc PTP对时测试 注意:ptp测试时需要先使用apt-get install linuxptp命令安装测试工具,默认内核没有开启enetc的硬件时间戳,测试时请打开内核FSL_ENETC_HW_TIMESTAMPING配置项。 将两块ls1028的eno0使用网线直连,并分别设置以下参数: Ls1028-A: ifconfig eno0 up ifconfig eno0 192.168.2.2 Ls1028-B: ifconfig eno0 up ifconfig eno0 192.168.2.3 ping 192.168.2.2 保证网络能够ping通,查看内核配置是否正确,是否支持硬件时间戳 环境设置完成之后进行如下测试: Ls1028-A: ptp4l -i eno0 -m -2 Ls1028-B: ptp4l -i eno0 -s -m -2 master offset值表示从主设备测量的偏移量(以纳秒为单位); s0,s1,s2表示时钟伺服器的不同状态,s0表示未锁定,s1表示正在同步,s2表示锁定,锁定状态表示不会再发生阶跃行同步,只是缓慢调整。 2、Switch PTP对时测试 注意:ptp测试时需要先使用apt-get install linuxptp命令安装测试工具。 将两块ls1028的swp0使用网线直连,并分别设置以下参数: Ls1028-A: ifconfig eno2 up ifconfig swp0 up ifconfig swp0 192.168.2.2 Ls1028-B: ifconfig eno2 up ifconfig swp0 up ifconfig swp0 192.168.2.3 ping 192.168.2.2 保证网络能够ping通,查看内核配置是否正确,是否支持硬件时间戳 环境设置完成之后进行如下测试: Ls1028-A: ptp4l -i swp0 -m -2 Ls1028-B: ptp4l -i swp0 -m -2 -s master offset值表示从主设备测量的偏移量(以纳秒为单位); s0,s1,s2表示时钟伺服器的不同状态,s0表示未锁定,s1表示正在同步,s2表示锁定,锁定状态表示不会再发生阶跃行同步,只是缓慢调整。 Ø Enetc Qbv测试 tc qdisc add dev eno0 root handle 1: mqprio num_tc 8 map 0 1 2 3 4 5 6 7 hw 1 测试前保证eno0的网络畅通 cat 》 qbv0.txt 《《 EOF t0 00000000b 20000 EOF tsntool tsntool》 verbose tsntool》 qbvset --device eno0 --entryfile 。/qbv0.txt tsntool》 quit ping 192.168.1.1 可见所有的gate关闭之后,网络已经不通。 |
|
|
|
只有小组成员才能发言,加入小组>>
771 浏览 0 评论
1146 浏览 1 评论
2527 浏览 5 评论
2858 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1053浏览 3评论
188浏览 2评论
453浏览 2评论
364浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
449浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 09:52 , Processed in 1.054215 second(s), Total 50, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号