arp协议与icmp协议在ping中的应用

您所在的位置:网站首页 arp协议如何使用 arp协议与icmp协议在ping中的应用

arp协议与icmp协议在ping中的应用

2023-10-16 05:59| 来源: 网络整理| 查看: 265

ping命令可以用于查询目标网络或主机是否可达,其内部实现依赖于arp协议与icmp协议。

 

对于arp协议,其工作在网络层,实现IP地址到Mac地址的映射。

协议报文的格式如下:

 

那么PING命令具体如何执行:

以同一局域网内host1 => host2 为例:

 

首先host1查询自己是否有host2的ip-mac地址映射缓存,若有,结束

若没有,那么对外广播ARP请求,请求包填充自身的IP地址、MAC地址、以及目标的IP地址,MAC地址填充00:00:00:00:00:00

一个典型的ARP请求帧(外层套上以太网帧)报文如下:  

以太网目的MAC以太网源MAC以太网帧类型OP发送者MAC发送者IP目标MAC目标IP00:00:00:00:00:0020:47:47:72:fb:6408061(请求报文)20:47:47:72:fb:64192.168.2.200:00:00:00:00:00192.168.2.1

在交换机收到该ARP请求后,查询自身是否包含host2的MAC地址,若包含那么返回给host1

若没有,那么对外广播该ARP请求,host2收到之后,发现目标IP正是自己

根据ARP请求中host1的MAC地址,填充相应的信息,执行一个ARP回复(op=2) 

 

 

进一步,若host1和host2处于不同的广播域,那么需要进一步向网关route请求处理该ARP包,网关根据目标IP地址

从合适的端口向外转发该ARP请求,直到host2收到该ARP请求。

 

双方确认对方的MAC地址后,在网络IP层,还需要确认IP包是否能够正确的传输。其采取的是ICMP协议。

IP协议在出现问题时,将通过ICMP获知出错的问题。即ICMP协议功能:

确认目标IP是否可达若不可达,给出错误信息

 

常见的ICMP报文控制信息有:  

目标不可达路由器超时重定向或改变路由......

 

这些信息用于判断当IP包无法到达时,给出相应的错误信息用于诊断。

 

ping命令基于ICMP协议,获知目标主机是否可达,以及相应的回复信息。

linux中traceroute命令同样基于ICMP协议,将给出路径上经过的路由器

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3