ARP协议解释
arp地址解析协议

ARP地址解析协议简介ARP(Address Resolution Protocol)是一种用于解析本地IP地址和MAC地址之间对应关系的协议。
在TCP/IP网络中,当一个主机需要与另一个主机通信时,通常需要知道目标主机的MAC地址。
而ARP协议就是用来获取目标主机的MAC地址的。
ARP工作原理1.当源主机要发送数据包给目标主机时,首先检查自己的ARP缓存表中是否有目标主机的IP地址对应的MAC地址。
如果有,则直接使用该MAC地址进行通信。
2.如果ARP缓存表中没有目标主机的信息,则源主机会发送一个ARP请求广播包到局域网内的所有主机。
该ARP请求包包含源主机的IP地址以及MAC地址。
3.接收到ARP请求广播包的主机会检查自己的IP地址是否与ARP请求包中的目标IP地址相匹配。
如果匹配,则该主机会向源主机发送一个ARP 响应包,包含自己的IP地址和MAC地址。
4.源主机收到ARP响应包后,会将目标主机的IP地址和MAC地址添加到ARP缓存表中,并使用该MAC地址进行通信。
ARP缓存表ARP缓存表是每个主机上存储IP地址与MAC地址对应关系的表格。
它用于加快ARP解析的速度,避免频繁地发送ARP请求包。
当一个主机收到ARP响应包时,会将目标主机的IP地址和MAC地址添加到ARP缓存表中。
在后续的通信过程中,主机会直接使用ARP缓存表中的MAC地址进行通信。
ARP缓存表通常具有以下信息:- IP地址:目标主机的IP地址。
- MAC地址:目标主机的MAC地址。
- 接口:用于与目标主机通信的网络接口。
ARP欺骗ARP欺骗(ARP Spoofing)是一种恶意攻击技术,黑客通过伪造ARP响应包来篡改ARP缓存表中的对应关系。
一旦攻击成功,黑客就可以拦截、修改或重定向通信流量,从而实施中间人攻击。
为了防止ARP欺骗攻击,可以采取以下措施: - 使用静态ARP表:将重要主机的IP地址和MAC地址手动添加到ARP缓存表中,这样可以防止被攻击者伪造。
arp的名词解释

arp的名词解释ARP(Address Resolution Protocol)是一种在计算机网络中用于将IP地址解析为MAC地址的协议。
在本文中,我们将深入探讨ARP的工作原理、应用场景以及相关的安全性问题。
ARP的工作原理是通过通过广播方式实现的。
当一台计算机需要与另一台计算机通信时,它首先需要知道目标计算机的MAC地址。
而MAC地址是二层网络地址,与IP地址不同,无法直接通过网络传输获取。
因此,ARP协议就派上了用场。
当一台计算机需要解析一个IP地址的MAC地址时,它会向本地网络发送一个广播ARP请求消息。
这条消息包含了要解析的目标IP地址。
所有网络上的计算机都能接收到这条消息,但只有具有相应IP地址的计算机会回复一个含有它的MAC地址的ARP响应消息。
发送ARP请求的计算机会接收并缓存响应消息,以便将来的通信中使用。
这样一来,源计算机就能获得目标计算机的MAC地址了。
ARP的工作原理使得它在本地局域网中应用广泛。
我们可以以一个局域网中的两台计算机通信为例。
当一台计算机A要发送数据给另一台计算机B时,A首先会发送一个ARP请求,请求获取B的MAC地址。
根据ARP的工作原理,只有B会回复一个包含其MAC地址的ARP响应。
接下来,A就能向B发送数据了。
除了局域网中的通信,ARP也在广域网中发挥作用。
在互联网中,数据包通常会经过多个路由器传输,而每经过一个路由器,数据包的目标IP地址与MAC地址的映射都会改变。
因此,当一个数据包从源计算机到达目标计算机时,ARP协议会在每个路由器上重新解析目标IP地址对应的MAC地址,以保证数据包能够正确传递。
然而,正是由于ARP的工作原理,这个协议也带来了安全性问题。
ARP欺骗(ARP spoofing)是其中一个常见的攻击手法。
基于这种攻击,黑客可以通过发送虚假的ARP响应消息来欺骗网络中的计算机,让其将敏感信息发送给攻击者。
为了防范此类攻击,使用安全的ARP软件或配置网络设备可以限制ARP请求和响应的来源,确保只有合法的计算机才能进行ARP操作。
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(Address Resolution Protocol)是一种网络协议,用于将IP地址映射到物理硬件地址(MAC地址)。
它的主要目的是在局域网中解析目标设备的IP地址,以便能够正确地发送数据包。
定义ARP协议是一种在以太网或其他局域网中使用的协议,用于确定目标设备的MAC地址。
它通过发送ARP请求广播来查询目标设备的MAC地址,并通过ARP响应获得相应的映射关系。
目的ARP协议的目的是建立IP地址和MAC地址之间的映射关系,以便实现在局域网上的数据传输。
通过将IP地址解析为对应的MAC地址,ARP协议使得数据包能够准确地被发送到目标设备。
主要目标包括:1.地址解析:ARP协议通过查询目标设备的MAC地址,实现IP地址到MAC地址的解析,确保数据包被正确路由和传递。
2.局域网通信:在局域网中,设备之间通常使用MAC地址进行通信。
ARP协议使得设备能够通过IP地址找到对应的MAC地址,从而在局域网内进行数据传输。
3.缓存管理:ARP协议维护一个本地的ARP缓存表,记录IP地址和MAC地址的映射关系。
这样,在后续的通信中,可以直接使用缓存中的映射关系,提高数据传输的效率。
总之,ARP协议的定义和目的是为了解决IP地址和MAC地址之间的映射关系,以支持在局域网上的有效数据传输。
解释ARP协议的工作原理和过程ARP协议(Address Resolution Protocol)是一种用于解析IP地址和MAC地址之间映射关系的协议。
它的工作原理可以简单地描述为以下几个步骤:1.发送ARP请求广播:当一个设备需要发送数据包到目标设备时,它首先检查本地的ARP缓存表,查看是否有目标IP地址对应的MAC地址。
如果没有找到对应的MAC地址,它将发送一个ARP请求广播到局域网上的所有设备。
2.目标设备响应ARP请求:局域网上的其他设备接收到ARP请求广播后,会检查是否是自己的IP地址与之匹配。
ARP协议解释

前言: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:08003.硬件地址长度:占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协议详解

ARP协议详述1.ARP协议概述IP数据包常通过以太网发送。
以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。
因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。
在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。
地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。
ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。
目的地主机,或另一个代表该主机的系统,以一个含有IP和以太网地址对的数据包作为应答。
发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。
如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。
这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。
ARP机制常常是自动起作用的。
在特别安全的网络上,ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。
图1 以太网上的ARP报文格式图1是一个用作IP到以太网地址转换的ARP报文的例子。
在图中每一行为32位,也就是4个八位组表示,在以后的图中,我们也将遵循这一方式。
硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1。
协议类型字段指明了发送方提供的高层协议类型,IP为0806(16进制)。
硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。
操作字段用来表示这个报文的目的,ARP请求为1,ARP响应为2,RARP请求为3,RARP 响应为4。
当发出ARP请求时,发送方填好发送方首部和发送方IP地址,还要填写目标IP地址。
当目标机器收到这个ARP广播包时,就会在响应报文中填上自己的48位主机地址。
2 ARP使用举例我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项):d2server:/home/kerberos# arpAddress HWtype HWaddress Flags Mask Iface211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0Address:主机的IP地址Hwtype:主机的硬件类型Hwaddress:主机的硬件地址Flags Mask:记录标志,"C"表示arp高速缓存中的条目,"M"表示静态的arp条目。
ARP协议
ARP协议ARPARP作用ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写, 是将IP地址解析为以太网MAC地址(或称物理地址)的协议。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。
在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。
所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址,比如IP地址位192.168.0.1网卡MAC地址为00-03-0F-FD-1D-2B.整个转换过程是一台主机先向目标主机发送包含有IP地址和MAC地址的数据包,通过MAC地址两个主机就可以实现数据传输了.在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。
但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。
APR就是实现这个功能的协议。
ARP报文结构ARP报文分为ARP请求和ARP应答报文,报文格式如图1-1所示。
图 1 ARP报文结构硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;发送方的硬件地址(0-3字节):源主机硬件地址的前4个字节;发送方的硬件地址(4-5字节):源主机硬件地址的后2个字节;发送方IP(0-1字节):源主机硬件地址的前2个字节;发送方IP(2-3字节):源主机硬件地址的后2个字节;目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;目的IP(0-3字节):目的主机的IP地址ARP协议的工作原理:在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如附表所示。
ARP(地址解析协议)
ARP(地址解析协议)⽬录1. ARP 概述地址解析协议,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的⼀个TCP/IP协议。
它是IPv4中⽹络层必不可少的协议,不过在IPv6中已不再适⽤,并被邻居发现协议(NDP)所替代。
主机发送信息时将包含⽬标IP地址的ARP请求⼴播到⽹络上的所有主机,并接收返回消息,以此确定⽬标的物理地址;收到返回消息后将该IP地址和物理地址存⼊本机ARP缓存中并保留⼀定时间,下次请求时直接查询ARP缓存以节约资源。
地址解析协议是建⽴在⽹络中各个主机互相信任的基础上的,⽹络上的主机可以⾃主发送ARP应答消息,其他主机收到应答报⽂时不会检测该报⽂的真实性就会将其记⼊本机ARP缓存;由此攻击者就可以向某⼀主机发送伪ARP应答报⽂,使其发送的信息⽆法到达预期的主机或到达错误的主机,这就构成了⼀个ARP欺骗。
ARP命令可⽤于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。
相关协议有RARP、代理ARP。
⽹络层使⽤的是 IP 地址,但在实际⽹络的链路上传输数据帧时,最终还必须使⽤该⽹络的硬件地址。
但 IP 地址和下⾯的⽹络的硬件地址由于格式不同⽽不存在简单的映射关系。
此外,⼀个⽹络上可能会经常会有新主机加⼊进来,或撤⾛⼀些主机。
更换⽹络适配器也会使主机的硬件地址改变。
地址解析协议 ARP 解决的⽅法是:在主机ARP⾼速缓存中应存放⼀个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。
注意:ARP是解决同⼀局域⽹中主机或者路由器的IP地址和硬件地址的映射问题,在每⼀台主机中都有⼀个ARP⾼速缓存(ARP cache),⾥⾯存储本主机所知道本局域⽹中其他主机的IP地址与硬件地址的映射表2. ARP 协议⼯作原理当主机 A 向本局域⽹上的某台主机 B 发送 IP 数据报时,就先在其 ARP ⾼速缓存中查看有⽆主机 B 的 IP 地址。
请说明arp协议主要含义。
请说明arp协议主要含义。
ARP(Address Resolution Protocol)是一种用于将网络层IP 地址解析为链路层MAC地址的协议。
它是在局域网中实现主机之间通信的重要协议之一。
ARP协议的主要含义如下:
1. IP地址与MAC地址的映射:ARP协议用于解决主机在发送数据时,需要知道目标主机的MAC地址,而不仅仅是IP地址。
通过ARP 协议,主机可以通过目标主机的IP地址查询到对应的MAC地址,从而进行数据的传输。
2. 广播查询:当主机需要查询某个IP地址对应的MAC地址时,它会在本地网络上发送一个ARP请求广播包。
所有收到该广播包的主机都会检查自己的IP地址,如果与请求的IP地址匹配,则回复一个ARP响应包,其中包含自己的MAC地址。
这样,发起ARP请求的主机就可以获取到目标主机的MAC地址。
3. ARP缓存:主机在进行ARP查询时,会将查询到的IP地址与MAC地址的映射关系保存在本地的ARP缓存中。
这样,当下次需要与同一主机通信时,就可以直接从ARP缓存中获取目标主机的MAC地址,而无需再进行广播查询。
4. ARP欺骗:由于ARP协议中的请求和响应是基于广播的,因此ARP协议本身存在安全风险。
恶意主机可以发送伪造的ARP响应包,将自己的MAC地址伪装成目标主机的MAC地址,从而欺骗其他主机将数据发送给自己。
这种攻击方式称为ARP欺骗,常用于网络攻击中。
总之,ARP协议主要用于实现不同网络层的地址之间的映射,确保数据能够正确地在局域网内传输。
ARP协议解析与应用
ARP协议解析与应用ARP(Address Resolution Protocol),地址解析协议,是一种用于在局域网中将IP地址解析为对应MAC地址的协议。
在计算机网络中,IP地址用于标识网络中的设备,而MAC地址则是用于标识设备的物理地址。
ARP协议的作用是通过IP地址查询对应的MAC地址,以实现数据的传输。
在本文中,我们将对ARP协议进行解析,并探讨其在实际应用中的作用与功能。
一、ARP协议概述1. ARP协议的定义ARP协议是一种地址解析协议,其作用是根据IP地址查询对应的MAC地址。
它通过广播的方式发送ARP请求,在局域网中寻找目标设备的MAC地址,以便进行数据传输。
一旦获取到目标设备的MAC地址,就可以通过以太网(Ethernet)传输层实现数据的传输。
2. ARP协议的工作原理ARP协议的工作原理可以分为以下四个步骤:a) 发送ARP请求:源设备向网络中的所有设备发送ARP请求,请求目标设备的MAC地址。
b) 目标设备响应ARP请求:目标设备接收到ARP请求后,将其MAC地址作为ARP响应发送给源设备。
c) 源设备收到ARP响应:源设备接收到目标设备的ARP响应后,将其存储在本地的ARP缓存中,以便将来的数据传输。
d) 数据传输:源设备通过目标设备的MAC地址将数据进行传输。
二、ARP协议的应用1. IP地址与MAC地址转换ARP协议的主要应用是实现IP地址与MAC地址之间的转换。
当一个设备需要与网络中的另一个设备进行通信时,首先需要知道目标设备的MAC地址,而通过ARP协议,可以通过目标设备的IP地址查询到其对应的MAC地址,从而实现数据的传输。
2. ARP缓存管理每次进行ARP请求响应之后,源设备会将目标设备的IP地址与MAC地址存储在本地的ARP缓存中,以便将来的数据传输。
ARP缓存管理是对这些缓存条目进行管理和维护的过程。
当ARP缓存中的某条目过期或者失效时,源设备会重新发送ARP请求以更新对应的MAC地址。
- 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:08003.硬件地址长度:占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缓冲表和TTL1. 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的记录了。