• TCP/IP——ARP地址解析协议


     ARP的功能是——在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。

                                                       以太网封装格式(RFC 894)

     

    用于以太网的ARP请求或应答分组格式

    以太网目的地址全1的特殊地址是广播地址;

    帧类型:0x0806;

    硬件类型:值为1表示以太网地址;

    协议类型:0x0800表示IP地址;

    硬件地址长度:MAC地址值为6;

    协议地址长度:IP地址值为4;

    操作字段:4种操作类型(1 ARP请求,2 ARP应答,3 RARP请求,4RARP应答);

     

    注意:这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址

    对于一个ARP请求来说,除了目的端硬件地址待填充之外,所有的其他字段都有填充值。当系统收到一份目的端是本机的ARP请求报文之后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。

     ARP的工作机制:

      1.每个主机都会给自己的ARP缓冲区建立一个ARP列表,以表示IP地址和MAC地址之间的映射关系。

      2.主机新加入网络时(也可能是MAC地址发生变化,接口重启等),会发送免费ARP报文把自己IP地址和MAC地址映射关系广播给其他主机。

      3.网络上的主机接收到免费ARP报文时,更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。

      4.某个主机需要发送报文时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,直接发送数据;如果没有,向本网段所有主机广播ARP数据包,包括:源主机IP地址,源主机MAC地址,目的主机IP地址等。

      5.当其他主机收到该ARP数据包时:

        首先检查数据包中的IP地址是否是自己的,若不是,忽略该数据包;

        如果是,首先从数据包中取出源主机的IP和MAC地址写入ARP列表中,若已经存在,则覆盖;

        将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要的MAC地址。

      6.源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。


    RARP——逆地址解析协议

    RARP是从MAC地址定位IP地址的一种协议。

    具有本地磁盘的系统引导时,一般是从磁盘的配置文件中读取IP地址。但是无盘机,如X终端或无盘工作站,获取IP地址的方法就不一样了。

    网络上每个系统具有唯一的MAC地址,是由网络接口生产厂家配置的。

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    Scala: 包对象
    云服务使用技巧
    leetcode上一些常见的链表问题
    数据挖掘的价值
    leetcode上的一些分治算法
    双指针的应用
    KNN算法
    线性回归
    leetcode上的一些单链表
    leetcode上的一些栈、队列问题
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13365415.html
Copyright © 2020-2023  润新知