(4)ARP:地址解析协议
一、简介
ARP为IP地址到对应的硬件地址之间提供动态映射。之所以称为动态是因为这个过程是自动完成的。一般应用程序用户或系统管理员不必关心。RARP是被那些没有磁盘驱动器的系统使用,它需要系统管理员进行手动设置。稍后介绍。
点对点链路不适用ARP。当设置这些链路时,必须告知内核链路每一端的IP地址。
二、ARP高速缓存
ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个缓存存放了最近Internet地址到硬件地址之间的映射记录。高速缓存中的每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。
arp -a可用来显示高速缓存中所有的内容。
三、ARP的分组格式
ARP请求和应答分组的格式如下所示:

以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。
两个字节长的以太网帧类型表示后面数据的类型。对于ARP请求或应答来说,该字段的值为0x0806。
硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为0x0800即表示IP地址。它的值与包含IP数据报的以太网数据帧中的类型字段的值相同,这是有意设计的。
接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。
操作字段指出四种操作类型,它们是ARP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)和RARP应答(值为4)。这个字段必需的,因为ARP请求和ARP应答的帧类型字段值是相同的。
接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址。
对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。
四、对不存在主机的ARP请求
对不存在主机的ARP请求会按一定时间间隔重复发送ARP请求报文。直到上层应用放弃(如TCP连接大约在75s左右放弃连接)。
五、ARP高速缓存超时设置
对完整的表项设置超时值为20分钟,对于不完整的表项(对一个不存在的主机发出ARP请求)设置超时值为3分钟。
六、免费ARP
除了ARP代理外,ARP另一个特性称为免费ARP,它是指主机发送ARP查找自己的IP地址。通常,它发生在系统引导期间进行接口配置的时候。它有两方面的作用:
(1)一个主机可以通过它来确定另一个主机是否设置了相同的IP地址;
(2)如果发送免费ARP的主机正好改变了硬件地址,那么这个分组就可以使其他主机告诉缓存中旧的硬件地址进行相应的更新。
七、ARP命令
arp -a用来显示ARP高速缓存中的所有内容。
arp -d用来删除arp高速缓存中的某一项内容。
arp -s用来增加高速缓存中的内容。新增加的内容是永久性的,除非在命令行的末尾附上关键字temp。
位于命令行末尾的关键字pub和-s选项一起,可以使系统起着主机ARP代理的作用。系统将回答与主机名对应的IP地址的ARP请求,并以指定的以太网地址作为应答。如果广播地址为系统本身,那么系统就为指定的主机名起着委托ARP代理的作用。
(4)ARP:地址解析协议的更多相关文章
- ARP地址解析协议
ARP地址解析协议:为IP地址到相应的硬件地址之间提供动态映射. 下面图为例说明地址解析协议的详细工作流程. 结合图中的序号进行说明. client通过FTP协议连接server时,首先解析器会把主机 ...
- ARP地址解析协议原理
概述 网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口.因此我们需要进行IP地址与物理地址之间的转化. 对于IPv4来说,我们使用ARP地址解析协议来完成IP地址 ...
- 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议
4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...
- ARP:地址解析协议
ARP是地址解析协议,简单语言解释一下工作原理.1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系.2:当源主机要发送数据时,首先检查ARP列表中 ...
- arp:地址解析协议(Address Resolution Protocol)(来自维基百科)
地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在I ...
- 【网络协议】ARP地址解析协议
地址解析协议ARP 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址.而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址.这就导致在以太 ...
- 【网络基础】ARP地址解析协议
ARP(Address Rssolution Protocol) 地址解析协议 用于将IP地址解析为MAC地址. MAC地址是设备的物理地址,是被分配给每一个网络接口卡的全球唯一序号. 全球唯一:理论 ...
- 网络协议抓包分析——ARP地址解析协议
前言 计算机之间可以相互通信的前提是要知道对方的地址,才可以发送信息给其他计算机,就像别人要联系你也得先知道你的电话号码一样.这里的地址因为网络分层的原因就包括IP地址和MAC地址(即网卡地址.硬件地 ...
- 第二章ARP——地址解析协议
本章我们要讨论的问题是只对 T C P / I P协议簇有意义的I P地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络 ...
- 第四章:ARP 地址解析协议
网络接口有一个硬件地址,48bit的值,在硬件层次上进行的数据帧交换必须有正确的接口地址.tcp/ip有自己的地址,32bit的IP地址. 但是知道主机的IP地址并不能让内核发送一帧数据给主机.内核( ...
随机推荐
- 李洪强iOS开发之OC常见错误汇总
// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All r ...
- Java API ——Character类
1.Character类的概述 · Character 类在对象中包装一个基本类型 char 的值 · 此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反 ...
- 排查Java线上服务故障的方法和实例分析
前言 作为在线系统负责人或者是一个技术专家,你可能刚刚接手一个项目就需要处理紧急故障,或者被要求帮忙处理一些紧急的故障,这个时候的情景是: (1)你可能对这个业务仅仅是听说过,而不怎么真正了解: (2 ...
- HTTPConnection与HTTPClient的区别
HttpClient是个很不错的开源框架,封装了访问http的请求头,参数,内容体,响应等等.HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便.比如重访问的自定 ...
- xcopy 复制了0个文件
xcopy /Y "..\..\..\SolutionItems\zbmyuncore.db" "..\ZITaker" 复制zbmyuncore.db文件的时 ...
- 1494. Monobilliards(栈)
1494 之前记得数据结构试卷上有这种题 就是判断某一出栈顺序 是不是满足以1.2...n为入栈顺序 a1,a2,a3..an; 对于任意相邻a[i],a[i+1] 如果a[i]>a[i+1]+ ...
- spring+springMVC+JPA配置详解(使用缓存框架ehcache)
SpringMVC是越来越火,自己也弄一个Spring+SpringMVC+JPA的简单框架. 1.搭建环境. 1)下载Spring3.1.2的发布包:Hibernate4.1.7的发布包(没有使用h ...
- shell 全局和局部变量
/******************************************************************** * shell 全局和局部变量 * 声明: * 到目前为止, ...
- 利用icepdf将pdf文件转为图片
所需jar 包为icepdf-core.jar.icepdf-extra.jar.icepdf-pro-intl.jar.icepdf-pro.jar和icepdf-viewer.jar. 示例代码如 ...
- insert /*+APPEND*/ 各种insert 插入速度比较
SQL> select count(*) from t;COUNT(*)----------5442048****************************SQL> alter ta ...