zoukankan      html  css  js  c++  java
  • ARP 和 RARP

    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服务器的响应信息,表示初始化失败。
     
     
  • 相关阅读:
    nose测试中修改nose_html_reporting插件,使生成的html报告加入显示截图功能
    python selenium中等待元素出现及等待元素消失操作
    在python pydev中使用todo标注任务
    云存储命令行工具---libs3
    关于qt creator各种假死的问题
    小端存储转大端存储 & 大端存储转小端存储
    C++判断计算式是大端存储模式,还是小端存储模式
    请教网友:#pragma pack(push) #pragma pack(pop)无效
    sizeof 计算 struct 占字节数的方法总结
    const 变量在多个文件共享,如何验证两种不同的方式下,编译器是否会在多个文件下建立多个副本
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3223438.html
Copyright © 2011-2022 走看看