ARP地址解析协议总结

记得上次讨论会的时候讲到了ARP协议,当初的自己觉得这个协议很简单嘛,就是ip地址与MAC地址之间的对应关系呀。在进行数据传输的时候,实际上所有的数据最终都要转化到二层,这样需要ip地址与MAC地址生成一种映射,而解决这种映射的协议就是ARP协议。今天突然看到了一本书,写的是ARP的具体实现与各种配置方法,觉得写的很好,其中的一部分拿来作为总结性的知识进行积累。

首先,地址解析协议ARP就是将ip地址解析为以太中的MAC地址,其实我们都知道,在实际的数据传输的过程中,我们使用的是二层的数据帧,但是我们平时使用的是三层的ip地址,这样,我们就需要这个协议了。

  1. ARP表项的分类:静态ARP表项和动态ARP表项。
    a. 动态的ARP表项就是通过ARP协议的过程而建立起来的ARP表项,它可以被老化, 可以被更新,可以被静态ARP表项覆盖。
    b. 静态的ARP表项是通过人为配置的表项,不会老化,不会被动态的ARP表项覆盖,而且可以提高安全性,使得ip地址与MAC地址绑定。

  2. 报文中目的MAC全为0表示任意地址,看我们怎么理解,在相应报文中所有的地址都有。

  3. 关于报文结构,就不再细说,想了解的可以去百度或搜索其他文献进行深入研究。其实无非就是在ARP协议中那些比较重要的东西,源ip,目的ip,源MAC,目的MAC,只是,我们在不同的报文中会议看到不同的结果,请求报文中目的MAC全为0表示任意地址,看我们怎么理解,在相应报文中所有的地址都有。

  4. A. 当主机x和主机y在同一个网段中时:

    1. 首先主机x会查找自己的ARP缓存表,而这个表在windows系统中是使用ARP –A命令来进行查看的,如果存在主机y的ip地址与MAC地址之间的映射,那么可以直接使用这个关系中MAC地址对ip数据包进行封装。
    2. 如果在缓存表中没有找到这个关系,那么主机x以广播的方式发送一个ARP的请求报文,使得本网络中的每一个主机都能收到这个报文,这个ARP报文中,包含主机x的源ip地址和源MAC地址,以及目的ip地址,目的MAC地址中内容是全为f的广播地址。
    3. 主机y收到这样的报文后,将主机x发送的ARP的x的ip和MAC的对应关系存入自己的缓存中,同样将构造一个相应的ARP报文,将自己的MAC地址放到报文中,单播会主机x。
    4. 主机x收到这个相应报文后,将自己的缓存表中添加主机y的MAC地址与ip地址的对应关系,然后进行数据发送。
      ARP地址解析协议总结_第1张图片

    B.当主机x和主机y不在同一个网段中时:

    1. 如果主机x不知道网关的MAC地址,(也就是说在主机x的缓存表中没有网关的MAC地址映射)那么主机x先构造一个ARP的广播的请求报文,请求网关的MAC地址,进而获得网关的MAC与ip的对应关系。
    2. 如果主机x的缓存中已经有了网关的MAC地址与ip地址之间的关系了,那么将主机x发给主机y的ARP报文中的目的MAC地址的位置填写网关的MAC地址,发给网关。
    3. 如果在网关的ARP缓存表中有y的MAC地址,则网关直接将来自主机x的报文中的目的MAC地址字段填写主机y的MAC地址直接发给主机y。
    4. 如果在网关的缓存中不存在主机y的MAC地址,那么网关继续以广播的方式发送一个ARP的请求报文,请求主机y的MAC地址,然后,主机y相应单播回自己的MAC地址,其他主机不响应,这里的过程就是相同的网段中的ARP的建立的过程了。

    通过以上两种方式,就建立起了ARP的解析的过程。

我们在学习ARP的时候要知道它存在的不足,也就是ARP的欺骗,网上的一些软件可以很容易做到ARP的欺骗,使得局域网中的网络通信收到严重的影响。我们先说明解决ARP欺骗的解决办法:
1. 清除ARP缓存表。
2. 绑定静态的IP地址。
3. 而在企业中,一般的路由器都是企业级路由器,很少用到家用路由器,上边的两种方法可以用在电脑上,也可以用在家用的路由器上,但是企业路由器就行不通了,对企业路由器进行配置。作为一个企业的系统运维人员,我们在了解事故产生的原因的时候,更应该想到的是怎样去处理解决和防范这样的事故的产生:
4. Arp检测功能,企业路由器如h3c的路由器可以启用arp的检测功能,检测用户的合法性,检测arp报文的有效性等。
5. 可以使用路由器中的arp的限速功能,对大量arp报文进行限制。

在此我们说明,导致arp欺骗的原因,主要有以下三方面:
1. 是欺骗网关的情况,黑客通过假冒主机A向网关发送ARP报文,使得网关错误的记录该主机A的合法的ARP映射,这样,使得外部网络数据无法到达内部网络。
2. 是欺骗其他的主机,这种情况是向网络中的其他主机发送主机A的伪造的ARP报文,使得其他的主机不能访问主机A。
3. 在arp的缓存表中存储的数据,即ip与mac的对应关系的条数是确定的,是有限度的,此时供给者构造大量的不同的源IP地址的arp报文,使得设备学习的arp的表项超出了最大的限制,最终使得合法的用户的arp报文不能有效的生成arp表项,导致不同通信。

你可能感兴趣的:(TCP/IP,ARP,协议分析,路由器,数据)