ARP协议的作用
ARP协议详解ARP报文结构

ARP协议详解ARP报文结构ARP协议详解与ARP报文结构ARP(Address Resolution Protocol,地址解析协议)是一个重要的网络协议,用于将IP地址与MAC地址相互映射。
在局域网中,每个主机都有一个唯一的IP地址和MAC地址,而ARP协议则负责通过目标IP地址获取对应的MAC地址,从而实现数据包的正确传输。
一、ARP工作流程ARP的工作流程可以简单概括为以下几个步骤:1. 发送ARP请求:源主机A在发送数据包时,会先检查目标主机B的IP地址是否与自己在同一局域网中,如果不是,则需要获取目标主机的MAC地址。
A会根据目标主机的IP地址构建一个ARP请求包(ARP Request),该包中包含源主机A的IP地址、MAC地址以及目标主机的IP地址。
然后,A会将ARP请求包广播发送到局域网中的所有主机。
2. 接收ARP请求:局域网中的其他主机收到ARP请求包后会进行筛选,只有与ARP请求包中的目标IP地址相同的主机会继续处理。
3. 发送ARP响应:局域网中的目标主机B收到ARP请求包后会将自己的MAC地址信息封装在一个ARP响应包(ARP Reply)中,并发送给源主机A。
该ARP响应包中包含目标主机B的IP地址、MAC地址以及源主机A的IP地址。
4. 更新ARP缓存表:源主机A收到ARP响应包后会将目标主机B的IP地址与其对应的MAC地址映射关系添加到本地的ARP缓存表中,以备将来使用。
5. 数据传输:当主机A获取到目标主机B的MAC地址后,就可以将待发送的数据包封装在以太网帧中,通过局域网将数据包传输给目标主机B。
二、ARP报文结构ARP报文结构包括以下字段:1. 硬件类型(Hardware Type):占2字节,表示硬件接口类型,例如以太网。
2. 协议类型(Protocol Type):占2字节,表示网络协议类型,例如IPv4或IPv6。
3. 硬件地址长度(Hardware Address Length):占1字节,表示源和目标MAC地址的长度,通常为6(以太网中的MAC地址长度)。
arp名词解释

arp名词解释ARP(Address Resolution Protocol)是一种网络通信协议,用于将网络层地址(IP地址)转化为链路层地址(MAC地址)。
ARP的作用是帮助网络设备在进行通信时成功地将数据包从源设备传输到目标设备。
在计算机网络中,每个设备都具有唯一的IP地址来进行通信。
IP地址是在网络层进行使用的,用于在网络中定位设备。
然而,在链路层(物理层和数据链路层)中,设备使用的是MAC地址。
MAC地址是与设备网卡硬件相关联的全球唯一标识符,用于在局域网中寻址。
当一个设备试图与另一个设备进行通信时,它需要知道目标设备的MAC地址。
为了获得目标设备的MAC地址,源设备会通过ARP协议发送一个ARP请求广播,该广播中包含源设备的IP地址。
网络中的所有设备都会接收到这个广播消息。
目标设备在收到该消息后,会回应一个ARP响应,包含自己的MAC地址。
源设备通过接收到的ARP响应获取到目标设备的MAC地址,并将其存储在本地的ARP缓存中,供以后使用。
当源设备想要向目标设备发送数据包时,它会检查本地的ARP缓存来查找目标设备的MAC地址。
如果缓存中没有目标设备的MAC地址,源设备会再次发送ARP请求来获取最新的MAC地址。
目标设备收到ARP请求后,会再次发送ARP响应,包含自己的MAC地址。
源设备获取到目标设备的MAC地址后,就可以将数据包封装在链路层的帧中,并将其发送给目标设备。
ARP协议的核心是通过广播信息来获取目标设备的MAC地址,这使得ARP协议具有一定的开销和安全风险。
由于ARP请求和响应在网络中广播,因此可能会导致网络拥堵。
此外,ARP 协议缺乏身份验证和安全机制,可能会受到ARP欺骗攻击,其中攻击者会发送虚假的ARP响应来欺骗源设备。
为了解决上述问题,还有一些衍生的ARP协议,如Gratuitous ARP(免费ARP)和Proxy ARP(代理ARP)。
Gratuitous ARP用于设备在网络重启或更换MAC地址后,向局域网中所有的设备发送一个包含自己新MAC地址的ARP响应,以更新其他设备的ARP缓存。
说明arp协议的主要功能

说明arp协议的主要功能说明 ARP 协议的主要功能在我们日常使用网络进行各种信息交流和数据传输的过程中,有许多幕后的“英雄”在默默工作,ARP 协议就是其中之一。
那什么是 ARP协议呢?它到底有什么主要功能呢?让我们一起来揭开它神秘的面纱。
简单来说,ARP 协议(Address Resolution Protocol,地址解析协议)的主要功能就是在网络中实现 IP 地址到 MAC 地址的转换。
这就好比在一个大的城市里,我们知道一个人的门牌号(IP 地址),但要找到这个人具体住在哪栋楼的哪一户(MAC 地址),就需要有一个“指路人”,而 ARP 协议就扮演了这个“指路人”的角色。
想象一下这样的场景:你在电脑上打开浏览器,输入了一个网站的网址,比如。
你的电脑会通过 DNS 服务器将这个网址转换为对应的IP 地址,假设是 1921681100 。
但是,光有这个 IP 地址还不够,因为网络中的数据传输是基于 MAC 地址的。
这就像是寄快递,我们不仅要有收件人的地址(IP 地址),还要有收件人的具体门牌号(MAC 地址),快递才能准确送达。
当你的电脑想要向这个 IP 地址发送数据时,它首先会在自己的ARP 缓存中查找是否已经有了 1921681100 对应的 MAC 地址。
如果找到了,那就直接使用这个 MAC 地址进行数据发送。
但如果没有找到,这时 ARP 协议就开始发挥作用了。
你的电脑会在网络中广播一个 ARP 请求数据包。
这个数据包就像是在小区里大声呼喊:“谁的 IP 地址是 1921681100 ?请告诉我你的MAC 地址!”网络中的其他设备接收到这个请求后,只有 IP 地址是1921681100 的设备会响应这个请求,并回复一个包含自己 MAC 地址的ARP 应答数据包。
这样,你的电脑就收到了目标设备的MAC 地址,然后就可以将数据准确无误地发送过去了。
ARP 协议的这种功能在局域网中尤为重要。
ARP协议和RARP协议

ARP协议和RARP协议ARP(Address Resolution Protocol)和RARP(Reverse Address Resolution Protocol)是计算机网络中常用的两种地址解析协议。
它们有着不同的功能和用途。
ARP协议是一种用于将IP地址解析为物理地址(MAC地址)的协议。
它通过在局域网中广播一个ARP请求包来查找目标设备的物理地址。
当主机想要与目标设备进行通信时,它需要知道目标设备的物理地址。
ARP协议会将目标设备的IP地址包装在ARP请求包中发送给所有设备,目标设备会收到这个请求包并根据自己的IP地址判断是否是目标设备,如果是就会回复一个ARP应答包,将自己的物理地址发送给请求的主机。
主机收到应答包后就知道了目标设备的物理地址,可以向该地址发送数据。
RARP协议与ARP协议相反,它是一种将物理地址解析为IP地址的协议。
RARP协议在局域网中广播一个RARP请求包,请求包包含主机的物理地址,子网将根据物理地址来确定IP地址,并将IP地址封装在RARP应答包中返回给主机。
RARP协议主要用于无盘工作站或者磁盘less的设备,这些设备存储着自身的物理地址,但是却没有存储IP地址。
当这些设备启动时,它们使用RARP协议来获取IP地址。
RARP协议在现代网络中并不常用,因为大多数设备都可以自己设置IP地址,或者通过DHCP协议来获取IP地址。
RARP协议的局限性在于它需要在局域网中进行广播,这会增加网络负载并且使得网络变得复杂。
因此,RARP协议在现代网络中被较少使用。
总结而言,ARP协议和RARP协议是用于地址解析的协议,ARP协议将IP地址解析为物理地址,而RARP协议则将物理地址解析为IP地址。
ARP协议在局域网中广播ARP请求包,RARP协议则广播RARP请求包。
这些协议的作用是使得网络设备能够进行通信。
然而,由于网络技术的发展,现代网络中更普遍使用的是其他更高级的协议来分配IP地址,如DHCP协议。
arp协议实现的功能是什么

arp协议实现的功能是什么什么是ARP协议ARP(Address Resolution Protocol,地址解析协议)是计算机网络中一种用来将IP地址解析为物理MAC地址的协议,在以太网中广泛应用。
ARP协议的主要功能是通过发送本地网络上的ARP请求广播包来查询目标IP对应的MAC地址,从而实现IP地址到MAC地址的解析。
ARP协议的功能ARP协议实现了以下几个主要功能:1. IP地址到MAC地址的解析ARP协议允许主机通过发送ARP请求来查询目标IP地址对应的MAC地址。
当一个主机需要发送数据到另一个主机时,它首先检查自己的ARP缓存表(ARP Cache),如果找到了目标IP地址对应的MAC地址,则可以直接将数据发送给目标主机。
如果在ARP缓存表中找不到对应的MAC地址,则主机会发送一个ARP 请求广播包,询问本地网络上的其他主机,看是否有知道目标IP地址对应MAC地址的主机。
如果有,那么目标主机会通过ARP响应包回复其MAC地址,发送请求的主机将在ARP缓存表中添加该映射关系,以便后续通信使用。
2. ARP缓存表的维护主机在收到ARP响应包后,将目标IP和MAC地址的映射关系添加到自己的ARP缓存表中。
这样,在后续的通信中,如果需要发送数据给这个目标主机,就不需要再发送ARP请求,直接从ARP缓存表中获取目标主机的MAC地址即可。
3. ARP请求和响应的广播当主机发送ARP请求时,它会将请求包发送给本地网络上的所有主机,这是因为发送ARP请求的主机并不知道目标主机的MAC地址,因此需要通过广播的方式来询问。
而目标主机收到ARP请求后,会发送ARP响应包,包含自己的MAC 地址,以便请求主机建立起IP地址和MAC地址的映射关系。
4. IP地址冲突检测ARP协议还可以用于检测IP地址的冲突。
当一个主机拥有一个IP地址,但是发现在本地网络上已经有其他主机使用了相同的IP地址时,它可以发送一个ARP 请求广播包来检测是否有其他主机使用了相同的IP地址。
arp协议的作用和工作原理

arp协议的作用和工作原理宝子!今天咱来唠唠网络世界里一个超有趣又超重要的东西——ARP协议。
你可以把网络想象成一个超级大的社区,里面住着好多好多的“小居民”,也就是各种各样的设备,像电脑、手机、打印机啥的。
这些设备想要互相聊天、分享信息,就跟咱们在社区里串门一样,得知道对方住在哪才行。
这时候,ARP协议就闪亮登场啦!ARP协议呢,它的主要作用就像是一个超级热心的小邮差。
比如说,你的电脑想要给打印机发送一份文件,但是它只知道打印机的IP地址,这就好比你只知道朋友的名字,却不知道他家住哪栋楼哪个房间。
ARP协议就负责把这个IP地址翻译成对应的MAC地址。
MAC地址就像是每个设备在这个网络社区里的“家庭住址”,是独一无二的。
这样,你的电脑就能准确地把文件送到打印机这个“小居民”的家里啦。
那它是怎么工作的呢?咱就拿刚刚电脑和打印机的例子来说哈。
当你的电脑想要给打印机发送文件的时候,它就会在网络里大喊一声:“那个IP 地址是[打印机IP地址]的小伙伴,你的MAC地址是啥呀?”这就像是你在社区里喊:“那个叫[朋友名字]的,你住哪呀?”这一喊呢,整个网络里的设备都能听到。
不过呢,正常情况下,只有打印机这个正主会回答。
打印机听到这个呼唤后,就会告诉电脑:“嗨,我的MAC地址是[具体MAC地址]呢。
”然后电脑就把这个MAC地址记下来,就像你把朋友的家庭住址记在小本本上一样。
这样以后再给打印机发东西的时候,就可以直接找到它啦。
但是呢,这个过程也不是一帆风顺的。
有时候可能会有一些调皮捣蛋的情况。
比如说,网络里有个坏心眼的设备,它可能会假装是打印机来回答电脑的问题。
这就好比有个小坏蛋在社区里假装是你的朋友,给你一个假的住址。
不过呢,网络也有一些防范措施来避免这种情况。
还有哦,为了提高效率,设备也不会每次都去大喊大叫地问MAC地址。
它会有一个小缓存,就像一个小记忆本。
如果之前已经问过某个IP地址对应的MAC地址了,就会先在这个小缓存里找一找。
ARP协议及工作原理

ARP协议及工作原理ARP(Address Resolution Protocol)地址解析协议是一种网络协议,它用于将IP地址映射到硬件地址(MAC地址)。
当主机需要发送数据包时,它需要知道目标主机的MAC地址才能够进行通信。
ARP协议就是为了解决这个问题而设计的。
1.发送ARP请求:当主机A需要发送数据包到目标主机B时,首先会检查其本地的ARP缓存中是否存在目标主机B的IP地址对应的MAC地址。
如果存在,则直接使用该MAC地址进行通信。
如果不存在,则主机A会发送一个ARP请求广播,请求所有主机来告诉它们各自的MAC地址。
2.接收ARP请求的主机响应:当其他主机接收到ARP请求广播后,它们会检查自己的IP地址是否与请求中的目标IP地址匹配。
如果匹配,则会通过单播方式将自己的MAC地址发送给主机A。
3.ARP缓存更新:当主机A收到其他主机的响应后,它会将接收到的MAC地址与目标IP地址进行绑定,并更新自己的ARP缓存。
这样,主机A就能够直接使用目标主机B的MAC地址进行通信。
4.ARP缓存的过期与更新:ARP缓存中的映射关系有一定的生命周期。
当生命周期过期后,如果主机A需要再次与目标主机B进行通信,它就需要重新发送ARP请求。
此外,当网络中发生变化时(例如主机IP地址变化或者主机离线),ARP缓存中的映射关系也需要及时更新。
ARP协议的优点是简单、高效。
通过ARP协议,主机可以通过IP地址找到对应的MAC地址,从而实现网络通信。
同时,由于ARP缓存的存在,主机可以缓存已查询到的MAC地址,从而减少网络流量和减轻网络负载。
然而,ARP协议也存在一些安全隐患。
由于ARP请求和响应是通过广播方式发送的,不受身份验证的限制。
因此,存在ARP欺骗(ARP Spoofing)的风险,即攻击者可以发送虚假的ARP响应来获取其他主机的通信数据。
为了避免这种情况,可以使用ARP缓存中的MAC地址来验证响应的合法性。
arp协议作用和工作原理

arp协议作用和工作原理ARP(Address Resolution Protocol)是一种用于将IP地址映射到物理MAC地址的协议。
在计算机网络中,每个设备都有一个唯一的IP地址和MAC地址,IP地址用于进行网络通信,而MAC地址则用于在局域网中寻找设备。
ARP协议就是为了解决IP地址和MAC地址之间的映射关系而设计的。
ARP协议的作用主要有两个方面:一是在局域网中实现IP地址和MAC地址的映射,以便设备间能够进行通信;二是通过动态维护一个ARP缓存表,以提高网络的性能和效率。
在工作过程中,当一台设备需要与另一台设备进行通信时,首先会检查自己的ARP缓存表,看是否已经有了目标设备的IP地址和MAC地址的映射关系。
如果有,那么就可以直接使用该映射关系进行通信;如果没有,那么就会发送一个广播请求,称为ARP请求。
ARP请求中包含了源设备的IP地址、MAC地址以及目标设备的IP 地址。
局域网中的其他设备都会收到这个广播请求,但只有目标设备会响应。
目标设备收到ARP请求后,会将自己的IP地址和MAC 地址封装成ARP响应,发送给源设备。
源设备收到ARP响应后,会将目标设备的IP地址和MAC地址的映射关系保存到自己的ARP 缓存表中,并将通信数据发送给目标设备。
从而完成了IP地址到MAC地址的映射,实现了设备间的通信。
值得注意的是,ARP协议是在每个设备的操作系统中实现的,因此ARP请求和响应是在软件层面上进行的,并不涉及硬件的直接交互。
此外,ARP协议是一种面向广播的协议,因此ARP请求和响应都是通过广播方式进行的,即发送给局域网中的所有设备。
但由于ARP响应中包含了目标设备的MAC地址,因此只有目标设备会进行响应,其他设备会忽略这个广播请求。
ARP协议的工作原理可以总结为以下几个步骤:1. 源设备检查ARP缓存表,查找目标设备的IP地址和MAC地址的映射关系;2. 如果在ARP缓存表中找到了映射关系,则直接使用该映射关系进行通信;3. 如果在ARP缓存表中没有找到映射关系,则发送一个ARP请求广播,包含源设备的IP地址和MAC地址以及目标设备的IP地址;4. 目标设备收到ARP请求后,将自己的IP地址和MAC地址封装成ARP响应,发送给源设备;5. 源设备收到ARP响应后,将目标设备的IP地址和MAC地址的映射关系保存到ARP缓存表中,并将通信数据发送给目标设备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言:ARP协议的作用: 1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。 2为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址在第二层。 协议在发生数据包时,首先要封装第三层 (IP地址)和第二层 (MAC地址)的报头, 但协议只知道目的节点的IP地址,不知道其物理地址,又不能跨第二、三层,所以得用ARP的服务。 详细说明: Ø 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用 Ø 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48位的以太网地址来确定目的接口的,设备驱动程序从不检查 IP数据报中的目的IP地址。ARP(地址解析)模块的功能为这两种不同的地址形式提供映射:32位的 IP地址和 48位的以太网地址 一.ARP报文各字段含义:
ARP报文字段总共有28个字节
1.硬件类型:占2个字节,表明ARP实现在何种类型的网络上。 Ø 值为1:表示以太网。 2.协议类型:占2个字节表示要映射的协议地址类型。 Ø IP:0800 3.硬件地址长度:占1个字节,表示 MAC地址长度,其值为6个字节。 4.协议地址长度:占1个字节,表示IP地址长度,此处值4个字节 5.操作类型 :占2个字节,表示ARP数据包类型。 Ø 值为1表示ARP请求。 Ø 值2表示ARP应答。 6.源MAC地址:占6个字节,表示发送端MAC地址 7.源IP地址:占4个字节,表示发送端IP地址 8.目的以太网地址:占6个字节,表示目标设备的MAC物理地址 9.目的IP地址:占4个字节,表示目标设备的IP地址. 注意:在ARP操作中,有效数据的长度为28个字节,不足以太网的最小长度46字节长度,需要填充字节,填充字节最小长度为18个字节 二.ARP请求分组或应答分组
以太网首部总共有14字节数据,arp请求报文总共有28字节。所以一个ARP请求分组或应答分组总共有46字节数据。 而以太网数据包的最小数据为60字节。所以,要对其进行填充。 这里有一些重复信息 1. 在以太网的数据帧报头中和ARP请求数据帧中都有发送端的MAC物理地址。 2. 在发送ARP请求时,以太网帧头中的目的MAC物理地址为FF-FF-FF-FF-FF-FF,而在ARP帧中的目的MAC处此时为空。 3. 对一个ARP请求来说,除ARP中目的端MAC硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本地的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后发送出去。 三.ARP协议工作过程:
1. 原理:(ARP协议只使用于局域网中) 1> 在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。 2> 在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 3> ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 4> 点对点的连接是不需要ARP协议的 2. 工作过程: 1> 当主机A向本局域网上的某个主机B发送IP数据报时,就先在自己的ARP缓冲表中查看有无主机B的IP地址。 2> 如果有,就可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过以太网将数据包发送到目的主机中。 3> 如果查不到主机B的IP地址的表项。可能是主机B才入网,也可能是主机A刚刚加电。其高速缓冲表还是空的。在这中情况下,主机A就自动运行ARP。 (1)ARP进程在本局域网上广播一个ARP请求分组。ARP请求分组的主要内容是表明:我的IP地址是192.168.0.2,我的硬件地址是00-00-C0-15-AD-18.我想知道IP地址为192.168.0.4的主机的硬件地址。 (2)在本局域网上的所有主机上运行的ARP进行都收到此ARP请求分组。 (3)主机B在ARP请求分组中见到自己的IP地址,就向主机A发送ARP响应分组,并写入自己的硬件地址。其余的所有主机都不理睬这个ARP请求分组。ARP响应分组的主要内容是表明:“我的IP地址是192.168.0.4,我的硬件地址是08-00-2B-00-EE-AA”,请注意:虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。 (4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓冲表中写入主机B的IP地址到硬件地址的映射。 3. 事例说明:用ping说明ARP工作的原理 假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2。该命令会通过ICMP协议发送ICMP(以太网控制报文协议)数据包 该过程需要经过下面的步骤: 1> 应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序); 2> 内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表; 3> 如果存在该IP-MAC对应关系,那么跳到步骤<7; 如果不存在该IP-MAC对应关系,那么接续下面的步骤; 4> 内核进行ARP广播,目的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址; 5> 当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址; 6> 本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中; 7> 内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去; 4. 特殊情况: ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的目标设备和源主机不在同一个局域网上。 1>此时主机A就无法解析出主机B的硬件地址(实际上主机A也不需要知道远程主机B的硬件地址); 2>此时主机A需要的是将路由器R1的IP地址解析出来,然后将该IP数据报发送给路由器R1. 3>R1从路由表中找出下一跳路由器R2,同时使用ARP解析出R2的硬件地址。于是IP数据报按照路由器R2的硬件地址转发到路由器R2。 4>路由器R2在转发这个IP数据报时用类似方法解析出目的主机B的硬件地址,使IP数据报最终交付给主机B. 说明: Ø 如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。 Ø 知道了ARP协议的作用,就能够很清楚地知道,数据包的向外传输很依靠ARP协议,当然,也就是依赖ARP缓存。要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。 四.ARP缓冲表和TTL
1. ARP缓冲表 1> ARP协议的本质是完成网络地址到物理地址的映射。从概念上将就是找到一个映射方法f,使得“物理地址 = f(网络地址)“。物理地址有两种基本类型:以太网类型和令牌环网类型。网络地址特指IP地址,对映射方法的要求就是高效。具体到以太网,它使用的是动态绑定转换的方法。一般是设置ARP高速缓存,通过学习,老化,更新,溢出算法处理ARP映射表来解决这些问题。 Ø 学习指ARP收到任何指向本结点IP地址的ARP/IP包,从中提取出地址对,当ARP缓冲表中无对应项时,由ARP接收部分添加; Ø 老化指为每项设置寿命域,以便代谢掉陈旧的地址映射项; Ø 更新指ARP提取到新的地址对时,用其更新缓存里已有的对应项; Ø 溢出算法指当缓存慢时,采取何种方法替代旧有的地址对。 2> ARP缓存表由状态,寿命,IP地址,MAC地址4个字段组成。状态字段指示地址对是否有效;寿命字段用于老化操作,初始存入最大值,以后由OS时间函数调用,每秒减1,直至为0清除;IP地址和MAC地址字段保存网络地址和物理地址的映射。围绕ARP缓存表,完成了4种操作:学习,老化,更新,表满处理。 3> 当ARP被询问一个已只IP地址节点的MAC地址时,先在ARPcache 查看 l 若存在,就直接返回MAC地址, l 若不存在,才发送ARP request向局域网查询。 4> 当主机A向B发送数据报时,很可能以后不久主机B还要向A发送数据报,因而主机B可能要向A发送ARP请求分组。 所以,为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的写入主机B自己的ARP高速缓冲表中。这对主机B以后向A发送数据报时就更方便了。 Tiger 说明: 任何事物都有两面性,如果掌握的好它就是天使,如果掌握的不好它就是Satan,ARP中的缓冲表为计算机之间的通信效率和减少网络通信量之间作出了巨大的贡献,但是它同时为我们上网时留下了安全隐患;例如交换机嗅探(在下面会有介绍) 2. ARP中的TTL(即上面所说的寿命域) ARP将保存在高速缓冲表中的每一个映射地址表项都设置了TTL(生存时间),只要TTL小于0的项目就从高速缓冲表中删除掉。 (ARP的超时值一般为20分钟,对不完整的表项设置为20分钟,而对不完整的表项设置为2分钟《不完整的表项:即在以太网上对一个不存在的主机发出ARP请求》,当这些表项再次使用时,这些实现一般都把超时值重新设为20分钟。) 好处:主机A和B通信。A的ARP高速缓冲表里保存有B的物理地址。但B的网卡突然坏了,B立即就更换了一块,因此B的硬件地址就改变了。A还要和B继续通信。A在其ARP缓冲表中查找到B原先的硬件地址,并使用该硬件地址向B发送数据帧。但B原先的硬件地址已经失效了。因此A无法找到主机B。但是过了一段时间,A的ARP高速缓冲表中已经删除了B原先的硬件地址(因为它的生存时间到了),于是A重新光播发送ARP请求分组,又找到了B。 五.ARP命令:
1. 使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。 2. 使用arp –d来删除ARP高速缓存中的某一项内容 3. 使用arp –s来增加高速缓冲表中的内容,这个命令需要主机名和以太网地址。新增加的内容是永久性的,除非在命令行的末尾加上关键字temp。 arp –s 157.55.85.212 00-aa-aa-562-c6-09 增加一个静态的ARP表项。 4. arppub –s:使系统起着主机ARP代理功能。系统将回答与主机名对应的IP地址的ARP请求。