• ARP/RARP


    IP地址和MAC地址之间的转换
     
    点对点链路不使用ARP
     
    ARP高速缓存

     
    • ARP高效运行的关键是每个主机上都有一个ARP高速缓存。
      • 存放了最近IP地址与MAC地址间的映射关系。
      • 每一项生存时间一般为20分钟。
     
    命令arp -a
    接口: 192.168.0.112 --- 0x9
      Internet 地址         物理地址              类型
      192.168.0.1           80-89-17-b1-b3-a8     动态
      192.168.0.101         94-a1-a2-1e-49-2d     动态
      192.168.0.255         ff-ff-ff-ff-ff-ff     静态
      224.0.0.2             01-00-5e-00-00-02     静态
      224.0.0.22            01-00-5e-00-00-16     静态
      224.0.0.251           01-00-5e-00-00-fb     静态
      224.0.0.252           01-00-5e-00-00-fc     静态
      224.0.0.253           01-00-5e-00-00-fd     静态
      239.192.152.143       01-00-5e-40-98-8f     静态
      239.255.255.250       01-00-5e-7f-ff-fa     静态
      255.255.255.255       ff-ff-ff-ff-ff-ff     静态
     
    ARP 分组格式

     
    对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值,当系统收到一份目的端为本机的ARP请求后,
    将硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址。
     
     
    ARP代理
    如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路
    由器就可以回答该请求,这个过程称作委托 ARP或ARP代理(Proxy ARP)。这样可以欺骗发起
    ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另
    一边”。路由器的功能相当于目的主机的代理,把分组从其他主机转发给它
     
     
    免费ARP有两个方面的作用:
    • 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。
    • 如果发送免费 ARP的主机正好改变了硬件地址(很可能是主机关机了,并换了一块接
      口卡,然后重新启动),那么这个分组就可以使其他主机高速缓存中旧的硬件地址进行相应的
      更新
     
    小结

     
    在大多数的 TCP/IP实现中,ARP是一个基础协议,但是它的运行对于应用程序或系统管
    理员来说一般是透明的。 ARP高速缓存在它的运行过程中非常关键,我们可以用 arp命令对高
    速缓存进行检查和操作。高速缓存中的每一项内容都有一个定时器,根据它来删除不完整和
    完整的表项。 arp命令可以显示和修改 ARP高速缓存中的内容。
    我们介绍了 ARP的一般操作,同时也介绍了一些特殊的功能:委托 ARP(当路由器对来
    自于另一个路由器接口的 ARP请求进行应答时)和免费 ARP(发送自己 I P地址的 ARP请求,
    一般发生在引导过程中)。
     
    RARP

     
    RARP协议是许多无盘系统在引导时用来获取IP地址的。RARP分组格式基本上与 ARP分组一致。一个RARP请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应IP地址的响应。应答通常是单播传送的。RARP带来的问题包括使用链路层广播,这样就阻止大多数路由器转发RARP请求,只返回很少信息:只是系统的IP地址。在第16章中,我们将看到 BOOTP在无盘系统引导时会返回
    更多的信息: IP地址和引导主机的名字等。
    虽然RARP在概念上很简单,但是 RARP服务器的实现却与系统相关。因此,并不是所有的TCP/IP实现都提供RARP服务器。
     
  • 相关阅读:
    idea插件-RestfulToolkit
    java 调试技巧
    js foreach 不能中断的现象及理解
    SpringBoot 内嵌Tomcat的默认线程配置
    SpringMVC中从doDispatch如何一步步调用到controller的方法
    干掉hao123的第n+1种方法
    查找——二叉排序树(代码超详细注释)
    为什么单螺旋桨飞机会左偏?
    【转】Python 魔法方法大全
    通俗的讲解Python中的__new__()方法
  • 原文地址:https://www.cnblogs.com/Aiapple/p/7278096.html
Copyright © 2020-2023  润新知