arp协议与icmp协议在ping中的应用 |
您所在的位置:网站首页 › arp协议如何使用 › arp协议与icmp协议在ping中的应用 |
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 |