IP地址和MAC地址之间的转换
 

点对点链路不使用ARP
 
ARP高速缓存

 
  • ARP高效运行的关键是每个主机上都有一个ARP高速缓存。
    • 存放了最近IP地址与MAC地址间的映射关系。
    • 每一项生存时间一般为20分钟。
 
命令arp -a
接口: 192.168.0.112 --- 0x9
  Internet 地址         物理地址              类型
192.168.0.1 ---b1-b3-a8 动态
192.168.0.101 -a1-a2-1e--2d 动态
192.168.0.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.2 --5e--- 静态
224.0.0.22 --5e--- 静态
224.0.0.251 --5e---fb 静态
224.0.0.252 --5e---fc 静态
224.0.0.253 --5e---fd 静态
239.192.152.143 --5e---8f 静态
239.255.255.250 --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服务器。
 

ARP/RARP的更多相关文章

  1. 数据链路层、ARP/RARP、ICMP、ping和traceroute

    互联网基础:   数据链路层:RFC文档:894/1042/1340 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答   ...

  2. IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  3. (网络层)IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  4. DNS,ARP,RARP,NAT,WINS的作用和区别

    DNS 域名服务系统,是将域名(比如www.cnblogs.com)转成ip地址.arp 地址转换协议,是将ip地址转成mac地址(物理地址,可用ipconfig /all查看).rarp从mac转到 ...

  5. 网络层 IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    目录 IP协议首部格式地址解析协议 ARP逆向地址解析协议 RARP网际控制报文协议 ICMP网际组管理协议IGMP IP 数据报首部 IP数据报首部格式: 最高位在左边,记为0 bit:最低位在右边 ...

  6. tcp/ip--IP 协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)

    IP 数据报首部 最高位在左边,记为0 bit:最低位在右边,记为31 bit 版本: 占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4) 首部长度: 占4位,可表示的最 ...

  7. TCP/IP||ARP/RARP

    1.ARP ARP(地址解析协议)主要为IP地址到对应的硬件提供动态映射,过程是自动完成 在网络接口有一个硬件地址(48 bit),在硬件层次上的数据帧交换必须有正确的接口地址,但是32 bit 的I ...

  8. ARP/RARP报文格式

    arp协议 地址解析协议ARP(Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议. arp格式: 一个字节等于8位 硬件类型:指明发送方想知道的硬件接口类 ...

  9. TCP/IP协议栈 ARP和RARP协议

    上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议. 这里说一下ARP 和RARP协议. 首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后 ...

随机推荐

  1. TZOJ3043: 取个标题好难 最长的出现次数>=k的不重复子串长度

    3043: 取个标题好难  Time Limit(Common/Java):6000MS/18000MS     Memory Limit:65536KByteTotal Submit: 17     ...

  2. 第二阶段团队冲刺-two

    昨天: 处理第一次启动服务器500的问题. 今天: 修复博客作业查询功能. 遇到的问题: 无.

  3. Application_Start事件中用Timer做一个循环任务

    protected void Application_Start(object sender, EventArgs e) { System.Timers.Timer timer = new Syste ...

  4. 01、JAVA开发准备

    一.首先要认识几个名词: 1. JRE(Java Runtime Environment ,JAVA运行环境):它包含Java虚拟机(JVM,Java Virtual Machine)和Java程序所 ...

  5. 201621123033 《Java程序设计》第7周学习总结

    1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 事件源:事件发生的场所,具体指各个组件. 事件:组件 ...

  6. Lettcode Kth Largest Element in an Array

    Lettcode Kth Largest Element in an Array 题意:在无序数组中,寻找第k大的数字,注意这里考虑是重复的. 一直只会简单的O(nlogn)的做法,听说这题有O(n) ...

  7. Tomcat学习笔记(十三)

    服务器组件和服务组件 服务器组件 org.apache.catalina.Server接口的实例表示Catalina的整个servlet引擎,包含了所有的组件.使用一种优雅的方法来启动/关闭整个系统, ...

  8. 通过VS2010性能分析来查找代码中那些地方最损耗资源

    在编写完成一个程序后,大家都比较关心程序的性能如何,想把程序优化得更好.很多时候凭个人直觉来优化程序是件非常不靠普的事情,即使你是一个优秀的开人员也很难准确地判断程序中那些出现问题.VS2010提供了 ...

  9. java 复习整理(一 java简介和基础语法)

    现在公司用的是封装太多东西的平台开发,觉着之前学的东西很多都忘了,所以想好好总结回顾一下.之前总是想学很多编程语言像python.s6.node.react,但现在越来越体会到编程语言只是一个开发的工 ...

  10. 什么是SetUID

    1. 什么是SetUID 我们知道,在linux的命令行下执行“ps”命令时,就会列出当前系统中的所有进程,在其中可以看到每个进程都和用户的真实id关联,实际上,Linux中的每个进程还跟一个称为有效 ...