liteOS基础网络支持——ping

举报
o0龙龙0o 发表于 2021/12/29 20:31:54 2021/12/29
【摘要】 PIng是网路连接的基本测试工具,IoT 在连万事可利用Ping实现基础的测试命令,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、原理


Ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包。根据返回的信息推断TCP/IP参数是否设置正确,以及能否正常运行、网络是否通畅等。Ping命令操作步骤如下:
  • 通过将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联网不得不学习的重要知识。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。