网络好不好,ping一下就知道 (2)

2)IP层构建IP数据包。 ICMP协议会将这个数据包以及目标IP(192.168.0.2)等信息一同交给IP层协议。IP层协议得到这些信息后,将源地址(即本机IP)、目标地址(即目标IP:192.168.0.2)、再加上一些其它的控制信息,构建成一个IP数据包。

3)加入MAC地址。需要通过ARP映射表找出目标IP(192.168.0.2)所对应的MAC地址。当拿到了目标主机的MAC地址和本机MAC后,一并交给数据链路层,组装成一个数据帧,依据以太网的介质访问规则,将它们传送出出去。

主机B收到数据帧后,进行如下步骤:

检查MAC地址,丢弃或接收,提取IP数据包。当主机B收到这个数据帧之后,会首先检查它的目标MAC地址是不是本机,如果是就接收下来处理,接收之后会检查这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协议。

IP层检查IP。IP层协议检查完之后,再将ICMP数据包取出来交给ICMP协议处理。

构建ICMP应答包。应答包的类型字段为 0,序号为接收到的请求数据包中的序号。

应答数据包回发给主机A。

在一定的时间内,如果主机A收到了应答包,则说明它与主机B之间网络可达,如果没有收到,则说明网络不可达。除了监测是否可达以外,还可以利用应答时间和发起时间之间的差值,计算出数据包的延迟耗时。

课堂练习

关于ICMP协议与ping命令如何工作我们已经了解了,那对于我们在云上搭建的应用,如何测试弹性云服务器间的通信状况呢?

回忆一下,弹性云服务器数据流量的进出是需要遵守安全组规则的,没有安全组规则的允许,谁都不能访问。

那我们就可以在安全组中添加放通ICMP协议的安全组规则,允许其他云服务器通过 ICMP 协议访问该云服务器,进而实现通过ping命令来测试弹性云服务器间的通信状况了。

安全组规则配置如下:

获取更多安全组信息,请戳这里。

本文分享自华为云社区《【云小课】基础服务第65课 网络知识一箩筐——网络好不好,ping一下就知道》,原文作者:云小萌。

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfdxg.html