天天看点

网络ICMP协议和ARP协议

前面回顾网络相关知识的时候,我们提到了ICMP协议和ARP协议,最简单的情况下是我们使用ping命令判断网络的连通性时就使用了ICMP协议和ARP协议。为此今天特地来说一说ICMP协议和ARP协议。

一、ICMP协议

因为IP协议不提供可靠的传输服务,也不提供端到端或点到点的确认,如果出错可以通过ICMP报告来看,它是在IP模块中实现。TCP/IP协议设计的ICMP协议就是为了弥补IP协议的不足。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息指网络通不通、主机可否达、路由是否可用等。这些控制消息传递的并不是用户数据,但是对用户数据的传输起到了重要的作用。

所总结起来,ICMP协议主要作用是负责差错控制、拥塞控制和传输控制。在实际应用中,ping命令和tracert命令就是基于ICMP协议的命令。ICMP报文是包含在IP数据报中的,属于IP的一个用户,所以IP报头就在ICMP报文前面;ICMP报文包括IP头部、ICMP头部和ICMP报文;在IP头部中protocol=1说明是ICMP报文。

二、ARP协议

ARPddress Resolution Protocol)地址解析协议,负责将相应的IP地址解析成MAC地址。在局域网中,网络中实际传输的是“帧”,帧里面包含了目的主机的MAC地址,ARP就是用来获取目的主机的MAC地址的。ARP的功能就是通过目标主机的IP查询其MAC地址。

三、代理ARP协议(Proxy ARP)

因为路由器有阻止广播的作用,如果我们要访问一台远端的主机,那么我们封装的并不是远端的目的MAC地址,而是我们网关的MAC地址。如果当我们的网关出现故障了,怎么办?那么就需要给他重新配置一个新的网关。代理ARP在这种情况下,会自动的帮助某个子网中的主机,不需要配置网关,就也可以访问远端的主机。

所以代理AR就是在网络增加一台路由器,而不会影响它的路由表。因此代理ARP的不足之处是明显增加网络分段中的业务传输量,主机的ARP表会比平常大很多,像思科的路由器默认是开启代理ARP功能的。

四、RARP协议

ARP(ReverseAddress Resolution Protocol)即为反向地址转换协议,顾名思义就是将MAC地址解析成IP地址。但是RARP不能跨路由器,不能实现不同网段直接的请求。因此我们使用BOOTP协议和DHCP协议。DHCP和BOOTP协议差不多,但是DHCP协议更强,所以当今普遍使用的就是DHCP。ARP协议是跨越OSI模型的二层和三层,因此处于网络层的防火墙对ARP的攻击就显得无能为力了。

最近在回顾计算机网络的基础知识,有兴趣学习的同学,可以扫面下方二维码,或者搜索【资深无证 IT man】关注我的微信公众号,后续的学习将继续在微信公众号中更新。

网络ICMP协议和ARP协议

继续阅读