• TCP/IP详解学习笔记(4)-- ARP 和 RARP


    1.ARP

         地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确地址解析协议定其物理地址的一种协议。
         在TCP/IP协议中,A给B发送IP包,在报头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址。

         计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。
         在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。
          A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。
         本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。

    2.ARP的分组格式
        用于以太网的ARP请求或应答分组格式,如图所示。
    • 以太网目的地址:
    • 以太网源地址:
    • 帧类型:表示数据类型,对于ARP请求或者应答来说,该字段的值为0x0806,RARP为0x0835
    • 硬件类型:表示硬件地址的类型,1表示以太网地址。
    • 协议类型:0x0800表示IP地址。
    • 硬件地址长度:以字节为单位。
    • 协议地址长度:以字节为单位。
    • 操作类型:ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4)。可见ARP和RARP的帧类型字段一致。
    • 发送端硬件地址
    • 发送端IP地址
    • 目的端硬件地址:注意这里有重复信息。
    • 目的端IP地址
    3.RARP
         反向地址转换协议(RARP:Reverse Address Resolution Protocol) 反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。
    3.RARP工作原理:
          1.)将源设备和目标设备的MAC地址字段都设为发送者的MAC地址和IP地址,发送主机发送一个本地的RARP广播,能够到达网络上的所有设备,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
          2.)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
          3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;如果不存在,RARP服务器对此不做任何的响应;
          4) 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
  • 相关阅读:
    EF6.0新特性-DbCommandInterceptor实现非SQL端读写分离
    【转】VS2012 中文版转英文版 英文版转中文版 界面语言切换
    【转】Repository 返回 IQueryable?还是 IEnumerable?
    迟来的零碎笔记
    mysql 列转行,合并字段的方法
    MySQL 5.7.9版本sql_mode=only_full_group_by问题
    mysql实现full outer join
    ubuntu下如何查找某个文件的路径
    mysql之group_concat函数详解
    MySQL 表别名(Alias)
  • 原文地址:https://www.cnblogs.com/newwy/p/3223219.html
Copyright © 2020-2023  润新知