liteOS基础网络支持——ping
0前沿
PIng是网路连接的基本测试工具,IoT 在连万事可利用Ping实现基础的测试命令,LiteOS提供了哪些ping的支持呢?
1、Ping命令
ping(呯)是一种计算机网络工具,用来测试数据包能否透过IP协议到达特定主机。ping的运作原理是向目标主机传出一个ICMP的请求回显数据包,并等待接收回显回应数据包。程序会按时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间(网络时延,Round-trip delay time)。
在1983年12月,Mike Muuss编写了首个这样的程序,用于在IP网络出现问题时方便探查其根源。因为这个程序的运作原理与潜水艇的主动声纳相似,他便用声纳的声音来为程序取名。David L. Mills曾提出另一个取名:Packet Internet Grouper/Gopher(后者指地鼠)。
网络管理员之间也常将ping用作动词,如“ping一下计算机XXX,看它是否开着。”
2、原理
-
通过将ICMP回显数据包发送到计算机并侦听回显数据包来验证与一台或多台远程计算机的连接;
-
每个发送的数据包最多等待一秒;
-
打印已传输和接受的数据包数。需要注意的是:ping成功并不一定代表TCP/IP配置正确,可能还需要执行大量本地主机与远程主机的数据包交换,从而确定TCP/IP配置的正确性。如果出现执行ping成功网络依旧无法使用的情况,问题可能出现在网络系统的软件配置方面。Ping成功只能保证当前主机与目的主机间存在一条连通的网络路径。
4、LiteOS下的Ping命令
首先LiteOS是利用LwIP协议栈实现的Ping命令的支持。
1、使能ping
利用menuconfig命令,如下
Components --->
Network --->
[*] Enable Ping
打开ping功能,LiteOS会自动使能ping依赖的lwIP并设置为Ipv4模式。保存退出menuconfig后,LiteOS会从github上自动下载lwIP源代码,并从gitee的LiteOS组件仓库LiteOS_Components下载对应的patch包,并打入patch。
2、ping命令格式
[ping <IP地址>]
3、shell下使用ping命令
Huawei LiteOS # ping 192.168.0.1
Ping 4 packets start.
Huawei LiteOS #
Huawei LiteOS # [0]Reply from 192.168.0.1: time=2ms TTL=128.
[1]Reply from 192.168.0.1: time=0ms TTL=128.
[2]Reply from 192.168.0.1: time=1ms TTL=128.
[3]Reply from 192.168.0.1: time=1ms TTL=128.
通过ping命令我们就可以看到现在嵌入式设备的网络连接情况了。
5、LwIP的ping命令
因为LiteOS是引用了LwIP协议栈实现ping命令,我们就可以查找LwIP协议栈了解更多PIng命令,LwIP提供的Ping详细如下:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]][-w timeout] [-R] [-S srcaddr] [-c compartment] [-p][-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。若要查看统计信息并继续操作
-a 将地址解析为主机名。
-n count 要发送的回显请求数,默认值为 4。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4),数据包就不会被路由上的网关分段。
-i TTL 指定生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,对 IP 标头中的服务类型字段没有任何影响)
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。根据 RFC 5095,已弃如果使用此标头,某些系统可能丢弃用此路由标头,如果使用此标头,某些系统可能丢弃回显请求
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
target_name 指定要 ping 的远程计算机。
6总结
Ping命令经常用语网络监察,是Iot联网不得不学习的重要知识。
- 点赞
- 收藏
- 关注作者
评论(0)