ARP协议学习(一)解析
ARP详解
一、ARP攻击原理及防范在局域网中如果时常上不了网,但是网络的连接正常,而局域网的网络情况却时好时坏,那么这很可能就是ARP欺骗已经发作的征兆。
ARP的内容和原理:ARP的全称是:Address Resolution Protocol,也就是地址解析协议。
顾名思义,其主要作用就是“地址解析”,即通过目标设备的IP地址,查询目标地址的MAC地址。
在局域网中,如果要在两台主机之间进行通信,就必须要知道目标主机的IP地址,但是起到传输数据的物理设备网卡并不能直接识别IP地址,只能识别其硬件地址MAC地址,MAC地址是一个全球唯一的序列号并由12个16进制数构成。
主机之间的通信,一般都是网卡之间的通信,而网卡之间的通信都是根据对方的MAC地址来进行工作的,而ARP协议就是一个将数据包中的IP地址转换为MAC 地址的网络协议。
ARP在局域网中的作用:而在规模越来越庞大的局域网中,存在上百台主机已经很普及,如何在这么多的主机的MAC地址中,快速又准确的记住每个网卡对应的IP地址和MAC地址的对应关系,这就要依靠一个存在于所有主机中的ARP缓存表来进行记录。
例如局域网中有A、B两台主机并通过交换机相连接,当A需要给B所在的IP地址发送数据时,A就要先查找自己的ARP缓存表,看其中是否存在这个IP的MAC地址,如果有就直接发送。
如果没有,那么A就要向整个局域网发送广播要求使用这个IP地址的主机进行响应,B收到广播后会向A返回一个响应信息,说明自己的MAC和A所要发送的IP地址是对应关系,而A收到B所返回的信息后会将这个IP和MAC进行记录,以后如果要再发送信息,则可以从ARP缓存表中直接查找并发送。
ARP病毒的危害:ARP缓存表记录了所有和和其宿主主机进行通讯过的其他电脑的MAC-IP对应关系,而漏洞也恰恰在此。
如果局域网中的一台电脑进行欺骗性地使用自己的IP地址来冒充其他主机的MAC地址。
比如:在B和C的通讯时,这时出现一台A机器,它告诉B说它就是C,结果B机器就认为它是C了,并且在B的缓存中,原先C的IP地址被对应到了A的MAC上。
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协议详解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协议详述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协议解码详解
ARP工作原理和ARP协议解码详解ARP(Address Resolution Protocol,地址解析协议)是一种用于解决IP地址和MAC地址之间映射关系的协议。
在电子网络中,数据通过IP地址进行传输,而以太网的数据帧则使用MAC地址进行传输。
ARP协议的作用就是通过IP地址查找对应的MAC地址,以便在发送数据时能够正确地通过以太网传输。
ARP的工作原理可以分为两个阶段:请求阶段和应答阶段。
在请求阶段,当主机A想要发送数据给主机B时,首先检查本地ARP缓存中是否有主机B的IP地址对应的MAC地址。
如果有,则直接使用该MAC地址;如果没有,则会发送一个ARP请求广播到局域网上的所有主机。
这个广播包会包含主机A的IP和MAC地址,请所有收到广播包的主机回答自己的IP和MAC地址。
在应答阶段,主机B收到主机A发送的ARP请求广播后,会检查广播包中的目标IP地址是否与自己的IP地址相同。
如果相同,则会将自己的IP和MAC地址添加到ARP应答包中,并发送给主机A。
主机A收到主机B的应答后,会将主机B的IP和MAC地址添加到本地ARP缓存中。
这样,在主机A发送数据时,就可以通过ARP协议查找到主机B的MAC地址,然后将数据封装为以太网帧,以目标MAC地址为主机B的MAC地址发送出去。
需要注意的是,ARP协议是工作在网络层以太网的协议,不仅支持IPv4地址的解析,还支持IPv6地址的解析。
此外,ARP协议是基于局域网的,只能解析同一片段中的IP地址和MAC地址的映射关系。
ARP协议的解码可以通过抓包工具来实现。
Wireshark是一款常用的网络抓包工具,在Wireshark中可以看到ARP协议的详细信息。
解码ARP协议的步骤如下:1. 打开Wireshark,点击开始捕获按钮,开始抓包。
2.选择要抓取的网络接口,点击开始捕获按钮。
3. 过滤ARP协议,只显示与ARP协议相关的数据包。
可以在过滤框中输入"arp",点击过滤按钮。
ARP协议学习
ARP原理(1)A R P发送一份称作A R P请求的以太网数据帧给以太网上的每个主机。
这个过程称作广播,如图(ARP)中的虚线所示。
A R P请求数据帧中包含目的主机的I P地址(主机名为b s d i),其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。
”(2)目的主机的A R P层收到这份广播报文后,识别出这是发送端在寻问它的I P地址,于是发送一个A R P应答。
这个A R P应答包含I P地址及对应的硬件地址。
(注:如果目的主机不存在,根据TCP重传机制,一般将在75秒后不再重新发送。
)(3)收到A R P应答后,使A R P进行请求—应答交换的I P数据报现在就可以传送了。
(4)发送I P数据报到目的主机。
ARP高速缓存A R P高效运行的关键是由于每个主机上都有一个A R P高速缓存。
这个高速缓存存放了最近I n t e r n e t地址到硬件地址之间的映射记录。
高速缓存中每一项的生存时间一般为2 0分钟,起始时间从被创建时开始算起。
ARP的分组格式在以太网上解析I P地址时,A R P请求和应答分组的格式如下图所示抓包截图:以太网目的地址就是目标MAC地址。
如上图中的就是广播给所有人。
以太网源地址就是源MAC地址。
帧类型就是说明后面数据类型。
对于ARP请求或英达来说,该字段的值为0x0806。
可见抓包图形容词hardware(硬件)和protocol(协议)用来描述ARP分组中的各个字段。
例如,一个ARP请求分组询问协议地址(这里是I P地址)对应的硬件地址(这里是以太网地址)。
硬件类型字段表示硬件地址的类型。
它的值为1即表示以太网地址。
如抓包图:一个是以太网址,一个是IP地址接下来两个字段规定后四个字段的长度op操作字段指出四种操作类型,它们是A R P请求(值为1)、A R P应答(值为2)、R A R P请求(值为3)和R A R P应答(值为4)。
这个字段必需的,因为A R P请求和A R P应答的帧类型字段值是相同的。
ARP通信协议学习总结
TCP/IP之ARP调试在编写ARP程序及调试之前需要知道ARP协议的概念、工作原理、ARP的格式和ARP数据包的填充,下面将我编写ARP程序及调试过程写出来。
第一步ARP协议的基础知识1.ARP的定义及工作原理地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。
于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。
这就是ARP协议要做的事情。
ARP工作过程可以简单描述为以下三步:①A首先广播一个ARP报文;②网上的所有主机都接收到报文;③只有B识别,回答A,发送定向ARP报文;2.ARP包的格式图1以太网使用ARP请求或发送格式由上图可以看出ARP数据包由两部分组成:以太网首部+以太网ARP帧。
首先分析以太网首部,以太网首部它将存在于任何一个协议数据包的前面,格式如下,以太网首部填充的是接收方的是MAC地址,此处通常是ff-ff-ff-ff-ff-ff即在局域网内发送广播;发送方的MAC地址(根据实际情况而定),ARP帧类型默认值为0x0806。
表格1 以太网首部帧格式表格2 ARP帧格式3.ARP数据包的填充ARP请求数据包的填充:按照表格2和表格3依次填充数据ARP应答数据包的填充:按照表格2和表格3填充,只要交换接收者和发送者的MAC和IP即可第二步编程实现ARP请求和应答在了解ARP基本知识的基础上,开始编写程序以及程序调试。
整体的流程图为:我做的ARP协议主要实现的功能:设置DM9000的MAC地址为:12-34-56-78-9a-bc,IP 地址为192.168.2.2,并且知道PC机的IP地址为192.168.2.225,目前想知道PC机的MAC地址。
即通过ARP协议来解析PC机的MAC地址。
实现的步骤如下:1.dm9000初始化dm9000初始化的过程,实际上就是填写和设置dm9000寄存器的过程,寄存器的名称宏定义在dm9000.h中,具体的配置过程如下:void DM9000_init() //DM9000初始化{DM9000_write(DM9000_NCR,0x01); //第一次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00); //清除复位位DM9000_write(DM9000_NCR,0x01); //为了确保复位正确,第二次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00); //清除复位位DM9000_write(DM9000_GPR,0x01); //PHY掉电DELAY_US(20);DM9000_write(DM9000_GPR,0x00); //PHY激活DELAY_US(3000); //至少延时2msDM9000_write(DM9000_NSR,0x2c); //清除发送完成标志DM9000_write(DM9000_ISR,0x3f); //清除中断标志位DM9000_write(DM9000_RCR,0x39); //丢弃长数据包,丢弃CRC校验错误数据包,接收使能DM9000_write(DM9000_TCR,0x00); //禁止发送DM9000_write(DM9000_NCR,0x00); //配置为正常模式DM9000_write(DM9000_IMR,0x80); //使能SRAM的读/写指针在指针地址超过SRAM的大小时自动DM9000_write(DM9000_PAB0,0x12); //dm9000的mac地址写到PARDM9000_write(DM9000_PAB1,0x34);DM9000_write(DM9000_PAB2,0x56);DM9000_write(DM9000_PAB3,0x78);DM9000_write(DM9000_PAB4,0x9a);DM9000_write(DM9000_PAB5,0xbc);DM9000_write(DM9000_NSR,0x2c); //再一次清除发送完成标志DM9000_write(DM9000_ISR,0x3f); //清除中断标志位DM9000_write(DM9000_IMR,0x81); //开接收中断,关掉发送中断}2.构建ARP请求包ARP数据包=以太网首部(14字节)+ARP帧格式(28字节)+18字节的填充字(填充字为0)。
ARP详解
1.ARP作用ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。
在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。
但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。
APR就是实现这个功能的协议。
2.ARP报文结构ARP报文分为ARP请求和ARP应答报文,报文格式如图1-1所示。
图 1 ARP报文结构●硬件类型:表示硬件地址的类型。
它的值为1表示以太网地址;●协议类型:表示要映射的协议地址类型。
它的值为0x0800即表示IP地址;●硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。
对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4;●操作类型(OP):1表示ARP请求,2表示ARP应答;●发送端MAC地址:发送方设备的硬件地址;●发送端IP地址:发送方设备的IP地址;●目标MAC地址:接收方设备的硬件地址。
●目标IP地址:接收方设备的IP地址。
3.ARP地址解析过程假设主机A和B在同一个网段,主机A要向主机B发送信息。
如图1-2所示,具体的地址解析过程如下:(1)主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。
如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。
(2)如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。
ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。
由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
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地址。
arp协议知识点总结
arp协议知识点总结一、ARP协议的原理1.1 ARP协议的作用ARP协议主要用于解决IP地址和MAC地址之间的对应关系问题。
在计算机网络中,通信双方需要知道对方的MAC地址才能实现数据包的传输。
而IP地址是用于标识设备的网络位置,通信双方在知道对方的IP地址后,就需要根据这个IP地址获取对应的MAC地址,从而实现数据的传输和通信。
1.2 ARP协议的原理ARP协议的原理就是在通信双方知道对方的IP地址后,通过广播的方式发送ARP请求报文,请求对方提供其对应的MAC地址。
收到ARP请求的设备会向发送请求的设备回复ARP应答报文,其中包含了其对应的MAC地址。
然后发送方根据这个MAC地址就可以构建数据帧,将数据包发送给对应的设备。
二、ARP协议的工作流程2.1 ARP协议的工作原理ARP协议的工作流程可以分为以下几个步骤:(1)发送ARP请求:当主机A需要和主机B进行通信时,首先会在本地ARP缓存表中查找主机B的IP地址对应的MAC地址。
如果找不到,则会发送ARP请求广播给本地子网中的所有主机,请求对应IP地址的MAC地址。
(2)接收ARP请求:所有的主机都会收到这个ARP请求广播,但只有主机B会对其进行回应。
(3)发送ARP应答:主机B接收到ARP请求后,会向主机A发送ARP应答报文,其中包含了自己的MAC地址。
(4)更新ARP缓存表:主机A收到ARP应答后,就会将主机B的IP地址和MAC地址对应关系更新到本地ARP缓存表中,以便以后再次通信时可以直接获取到对应的MAC地址。
2.2 ARP协议的工作流程图以下是ARP协议的工作流程图:[图]三、ARP协议的特点3.1 ARP协议的特点(1)ARP协议是一种简单、有效的地址解析协议,能够实现IP地址和MAC地址之间的对应关系。
(2)ARP协议是一种无状态协议,通信双方只是简单地请求和回应,没有任何状态信息保存。
(3)ARP协议是在数据链路层上的协议,其主要作用是将IP地址和MAC地址进行映射,实现了网络层和数据链路层之间的转换。
ARP工作原理和ARP协议解码详解
ARP工作原理和ARP协议解码详解ARP(Address Resolution Protocol)是一种用于将IP地址映射成物理MAC地址的协议。
它在局域网中起到了重要的作用,是实现网络通信的关键之一、本文将详细介绍ARP的工作原理和协议解码过程。
1.ARP工作原理当主机A想要和主机B进行通信时,主机A知道主机B的IP地址,但是不知道主机B的MAC地址,因为在IP数据包的链路层发送前,需要将目的IP地址转换为目的MAC地址。
此时,主机A会执行以下步骤:(1)主机A发送一个ARP请求广播到局域网中的所有主机,请求回应者提供其IP地址对应的MAC地址。
(2)所有收到该ARP请求广播的主机都会检查自己的IP地址,如果该主机的IP地址和ARP请求中的目的IP地址一致,那么它就会发送一个ARP回复包给主机A,包含自己的MAC地址。
(3)主机A收到ARP回复包后,会更新自己的ARP缓存表,将目的IP地址和MAC地址的对应关系存储在表中。
之后,主机A就可以将IP数据包封装成以太网数据帧发送给主机B。
2.ARP协议解码为了更好地理解ARP协议的解码过程,我们可以通过抓包分析来了解ARP数据包的结构和字段。
ARP数据包的基本结构如下:-帧头部(14字节)帧头部包含目的MAC地址、源MAC地址和帧类型等信息。
-ARP头部(28字节)ARP头部包含操作码、硬件类型、协议类型、硬件地址长度、协议地址长度等信息。
-源MAC地址(6字节)发送ARP请求的主机的MAC地址。
-源IP地址(4字节)发送ARP请求的主机的IP地址。
-目的MAC地址(6字节)ARP回复包中的源MAC地址。
-目的IP地址(4字节)ARP回复包中的源IP地址。
ARP头部包含的操作码字段指示了ARP数据包的类型,常见的操作码的值有:-ARP请求(1)当主机A为了获取主机B的MAC地址而发送的广播包。
-ARP回复(2)当主机B收到ARP请求后,向主机A发送的带有MAC地址的回复包。
arp协议的解析过程
arp协议的解析过程ARPA(地址解析协议)是一种局域网(LAN)协议,它用于将IP 地址转换为物理地址,即MAC地址。
它还可以识别本地网络中的主机,并检查网络上其他主机的存在。
许多网络协议都使用ARP来完成地址解析功能,包括TCP/IP、IPX和AppleTalk。
ARP协议的解析过程非常简单,但很有效。
当一台计算机想要发送一个数据包到另一台计算机时,它会发送一个广播ARP请求。
此广播ARP请求是一个使用广播通信机制的数据包,其中包含了发送方和接收方的IP地址。
每个网络上的主机都会收到此ARP请求,但只有接收方才会回复一个ARP应答,以及它的MAC地址。
发送方收到ARP 应答后,就可以用它的MAC地址继续发送数据包。
ARP协议建立在其他协议的基础上运行,并有效地解析IP地址到MAC地址。
ARP使用什么样的协议取决于本地网络的连接类型。
如果本地网络是基于以太网的,它会使用以太网ARP(Ethernet ARP)协议。
而如果本地网络是基于令牌环的,它会使用令牌环ARP(Token Ring ARP)协议。
无论使用哪种协议,ARP协议解析这样的步骤都是一样的:发送ARP请求,接收ARP应答,然后用收到的MAC地址发送数据包。
为了更有效地使用ARP协议,大多数系统都支持ARP缓存(也称为ARP表)。
一旦计算机接收到ARP应答,它就会把接收方的IP地址和MAC地址保存到ARP缓存中。
以后,它就会检查ARP缓存,而不是发送新的ARP请求,以节省网络带宽。
在局域网内,每个主机的ARP缓存列表大致相同,但是当此主机发送数据包到Internet时,它的ARP缓存列表就完全不同了,因为Internet上的每个主机都有一个不同的IP地址。
ARP协议也被用于防止ARP欺骗,也称为ARP伪造。
ARP伪造是一种攻击方法,允许攻击者伪造网络中其他主机的IP地址,以便解除网络上数据的传输权限。
比如,当攻击者伪装成另一台连接到网络的计算机时,就可以收集他人的网络数据包。
简述arp协议的原理(一)
简述arp协议的原理(一)简述ARP协议ARP协议是什么?•ARP(Address Resolution Protocol)是一种在计算机网络中用来将IP地址转换为对应的MAC地址的协议。
•ARP协议能够在不同的网络层之间实现地址解析,从而使数据包能够正确地传递到目标设备。
ARP协议的原理•ARP协议的工作原理可以简单地分为两步:1.当主机A发送数据包给主机B时,首先会检查本地ARP缓存表中是否有B的IP地址和对应的MAC地址的映射。
2.如果ARP缓存表中没有相应的映射,则主机A会发送一个ARP请求广播到局域网上的所有主机,询问谁知道B的MAC地址。
•如果主机B在同一个局域网内,它会收到ARP请求,并且会向主机A发送一个ARP响应,其中包含B的MAC地址。
•主机A接收到主机B的ARP响应后,会将该映射关系添加到本地的ARP缓存表中,以便下次快速获取到B的MAC地址。
ARP协议的工作流程•主机A想要与主机B通信,但不知道B的MAC地址。
•主机A先检查本地ARP缓存表,发现没有B的IP地址和对应的MAC地址的映射。
•主机A发送一个ARP请求广播,询问谁知道B的MAC地址。
•局域网内的所有主机都会收到这个ARP请求,但只有主机B会回答。
•主机B接收到ARP请求后,向主机A发送一个ARP响应,其中包含B的MAC地址。
•主机A接收到主机B的ARP响应后,将该映射关系添加到本地的ARP缓存表中。
•主机A通过主机B的MAC地址将数据包发送给主机B。
ARP缓存表•ARP缓存表是主机上存储IP地址和对应MAC地址映射关系的表格。
•当主机需要发送数据包时,会首先在ARP缓存表中查找目标IP 地址对应的MAC地址。
•如果ARP缓存表中找不到相应的映射关系,则主机会发送ARP请求广播,以获取目标MAC地址。
•ARP缓存表的缓存时间是有限的,过期后会被自动删除。
总结•ARP协议是一种用来将IP地址转换为对应MAC地址的协议。
计算机网络地址解析(ARP)协议
计算机网络地址解析(ARP)协议计算机网络地址解析(ARP)协议地址解析协议(ARP)是一种能够实现IP地址到物理地址转化的协议。
在以太网中,通过物理地址来识别网络上的各个主机,IP地址只是以符号地址的形式对目的主机进行编址。
通过ARP协议将网络传输的数据报目的IP地址进行解析,将其转化为目的主机的物理地址,数据报才能够被目的主机正确接收。
实现IP地址到物理地址的映射在网络数据传输中是非常重要的,任何一次从互联网层及互联网层以上层发起的数据传输都使用IP地址,一旦使用IP地址,必须涉及IP地址到物理地址的映射,否则网络将不能识别地址信息,无法进行数据传输。
IP地址到物理地址的映射包括表格方式和非表格方式两种。
其中,表格方式是事先在各主机中建立一张IP地址、物理地址映射表。
这种方式很简单,但是映射表需要人工建立及人工维护,由于人工建立维护比较麻烦,并且速度较慢,因此该方式不适应大规模和长距离网络或映射关系变化频繁的网络。
而非表格方式采用全自动技术,地址映射完全由设备自动完成。
根据物理地址类型的不同,非表格方式有分为直接映射和动态联编两种方式。
1.直接映射物理地址分为固定物理地址和可自由配置的物理地址两类,对于可自由配置的物理地址,经过配置后,可以将其编入IP地址码中,这样物理地址的解析就变的非常简单,即将它从IP地址的主机号部分取出来便是,这种方式就是直接映射。
直接映射方式比较简单,但适用范围有限,当IP地址中主机号部分不能容纳物理地址时,这种方式将失去作用。
另外,以太网的物理地址都是固定的,一旦网络接口更改,物理地址也随之改变,采用直接映射将会出现问题。
2.动态联编由于以太网具有广播能力和物理地址是固定的特点,通常使用动态联编方式来进行IP 地址到物理地址的解析。
动态联编ARP方式的原理是,在广播型网络中,一台计算机A欲解析另一台计算机B的IP地址,计算机A首先广播一个ARP请求报文,请求计算机B回答其物理地址。
ARP协议解析实现IP地址与MAC地址映射的协议
ARP协议解析实现IP地址与MAC地址映射的协议ARP(Address Resolution Protocol,地址解析协议)是计算机网络通信协议中一种解析实现IP地址与MAC地址映射的协议。
在网络通信中,为了实现数据包的传输,需要将目标主机的IP地址转换为相应的MAC地址,这个过程就是地址解析。
本文将详细介绍ARP协议的原理和实现方式。
一、ARP协议的基本原理ARP协议是一个基于请求-响应工作原理的协议。
当主机A需要向主机B发送数据包时,主机A首先会检查本地ARP缓存表,如果找到目标主机B的IP地址对应的MAC地址,则直接发送数据包到目标主机;如果在ARP缓存表中未找到对应的MAC地址,则会发送一个ARP请求广播。
其他主机收到ARP请求后,会检查自己的IP地址,如果与请求的目标IP地址匹配,则向发送请求的主机回复一个ARP响应,包含自己的MAC地址。
发送请求的主机收到ARP响应后,会将目标主机的IP地址和MAC地址添加到本地的ARP缓存表中,以便下次直接发送数据包。
二、ARP协议的实现步骤1. 发送ARP请求广播:当主机A需要解析IP地址为IP_B的MAC 地址时,会在本地网络中广播一个ARP请求,该ARP请求中包含了A 主机的IP和MAC地址,以及目标IP_B的IP地址。
2. 响应ARP请求:网络中的其他主机收到ARP请求后,会检查自己的IP地址是否与请求中的目标IP匹配,如果匹配则向主机A发送一个ARP响应,该ARP响应包含了主机B的IP地址和MAC地址。
3. 更新ARP缓存表:主机A接收到ARP响应后,会将目标主机B的IP地址和MAC地址添加到本地的ARP缓存表中。
下次再向主机B发送数据包时,将直接从ARP缓存表中取出目标主机的MAC地址,避免了广播ARP请求。
三、ARP协议的优缺点1. 优点- ARP协议是基于广播的解析方式,简单高效。
- ARP缓存表的存在可以加速地址解析过程,提高网络传输效率。
ARP协议学习(一)
ARP-分组格式
6.
发送方硬件地址、发送方协 议地址、目的硬件地址和目 协议地址:它们是可变长度 字段。源和目的硬件地址对 应以太网都是48位地址。源 和目的协议地址对应IPv4协 议是32位地址。
ARP-分组格式
思考:各字段的填充值是什么?
对于一个 ARP 请求来说,除目的硬件地 址外的所有其他字段都有填充值。当系
TCP
UDP
C
4
1. ARP cache is checked 2. ARP request is sent 3. ARP entry is added 4. ARP reply is sent 5. ARP entry is added 6. IP packet is sent
ARP协议
引言
• 在以太网协议中规定,同一局域网中的一台主机要 和另一台主机进行直接通信,必须要知道目标主机 的MAC地址。而在TCP/IP协议栈中,网络层和传输 层只关心目标主机的IP地址。这就导致在以太网中 使用IP协议时,数据链路层的以太网协议接到上层 IP协议提供的数据中,只包含目的主机的IP地址。 因此需要能够将逻辑地址和相应的物理地址之间进 行映射。完成这样的映射可使用静态映射和动态映 射。
统收到一份目的为本机的ARP 请求报文
后,它就把硬件地址填进去,然后用两 个发送端地址分别替换两个目的地址,
并把操作字段置为2,最后把它发送回去。
问题:对于ARP请 求报文,目的硬件 地址填充什么值?
ARP-封装
• ARP/RARP分组直接封装在链路帧中
2 硬件 类型 0x0001 2 协议 类型 0x0800 1 1 2 6 4 6 4 硬件地 协议地 操作 发送者 发送者 目标 目标 址长度 址长度 类型 以太网地址 IP 地址 以太网地址 IP 地址 0x06 0x04 1:ARP 请求 2:ARP 应答 3:RARP 请求 4:RARP 应答 6 源地址 4 18 帧类型 ARP/RARP 报文 PAD CRC 2 28
ARP协议详解
PC1 192.168.1.10 255.255.0.0 192.168.1.1
MAC-PC1 情形3
PC2 192.168.2.10 255.255.255.0 192.168.2.1
MAC-PC2
1
代理ARP
Fa0/0 192.168.1.1 255.255.255.0
router
router2
MAC-PC1 情形2
PC1 192.168.1.10 255.255.0.0 192.168.1.1
MAC-PC1 情形3
PC2 192.168.2.10 255.255.255.0 192.168.2.1
MAC-PC2
1
代理ARP-情形2
• 锐捷交换机缺省关闭了代理ARP
› 在接口下使用ip proxy-arp开启代理ARP功能
代理ARP
VLAN 10 192.168.1.1 255.255.255.0
VLAN 20 192.168.2.1 255.255.255.0
PC1 192.168.1.10 255.255.255.0 192.168.1.1
MAC-PC1 情形1
PC1 192.168.1.10 255.255.255.0 192.168.1.10
• IARP › Inverse Address Resolution Protocol 逆向地址解析协议 › 在帧中继网络中解析对端IP地址和本地DLCL的映射关系
MAC-PC1
? 192.168.1.1的MAC地址是多少
PC2 192.168.1.20 255.255.255.0 192.168.1.1
MAC-PC2
PC3 192.168.2.30 255.255.255.0 192.168.2.1
实验一ARP地址解析协议分析.
实验报告课程名称计算机网络实验名称实验一ARP地址解析协议分析系别__计算机学院_专业___软件工程 ___班级/学号软工1301班/2013_学生姓名___ __ ___ _ ____实验日期___2015年11月6日 ___成绩________________________指导教师_ ___ _ ___ARP地址解析协议分析实验【实验目的】1、掌握ARP协议的作用和格式。
2、理解IP地址与MAC地址的对应关系。
3、掌握ARP命令。
【实验学时】2学时【实验环境】图3-12 实验拓扑图【实验内容】1、学习ARP协议的工作原理。
2、掌握ARP协议的作用和使用方法。
3、理解IP地址与MAC地址的对应关系。
4、学习使用ARP命令。
【实验流程】图3-13 实验流程图【实验原理】详见理论教材【实验步骤】步骤一:设定实验环境1、参照实验拓扑连接网络拓扑;2、配置PC机;步骤二:捕获ARP报文并进行分析1、在主机PC1中用命令arp –a可以查看ARP缓存表中的ARP记录,用arp –d命令删除ARP缓存中的记录,如下图所示。
图3-15 查看ARP缓存表2、在PC1中开启协议分析仪进行数据包捕获。
3、在PC1中用命令ping 192.168.0.354、捕获ARP报文进行分析。
图 3-16 ARP 请求报文图3-17 ARP应答报文在ARP请求报文的数据帧头中,源物理地址为发送请求的主机地址为:00-21-86-1b-76-f2,目的物理地址是广播地址:ff-ff-ff-ff-ff-ff,协议类型为0800,表示上层协议为IP协议。
●在ARP请求报文中,各字段含义与值如下:●硬件类型:0001,表示硬件类型为以太网。
●协议类型:0800,表示需映射地址为IP地址。
●硬件长度:6,表示硬件地址长度为6字节。
●协议长度:4,表示协议地址长度为4字节。
●操作码:1,表示此ARP报文为ARP请求报文。
●源物理地址:00-21-86-1b-76-f2,为发送ARP请求主机的物理地址。
ARP协议解析地址解析协议的工作原理与缓存更新策略
ARP协议解析地址解析协议的工作原理与缓存更新策略ARP(Address Resolution Protocol)是一种网络协议,用于解析网络层IP地址与物理层MAC地址之间的映射关系。
它是实现互联网通信的重要组成部分,其工作原理和缓存更新策略对网络的正常运行具有重要意义。
一、ARP协议工作原理ARP协议主要包括四个步骤:发送ARP请求、接收并处理ARP请求、发送ARP响应、接收并处理ARP响应。
1. 发送ARP请求:当主机A要发送数据给主机B时,首先查询本地ARP缓存表,判断目标IP地址是否在其中。
如果找到对应的目标MAC地址,则直接发送数据帧;如果没有找到,主机A会发送ARP 请求广播到本地网络上,请求目标主机B回复其MAC地址。
2. 接收并处理ARP请求:在一个局域网中,所有的主机都会接收到ARP请求广播包。
主机B接收到ARP请求包后,会检查自己的IP 地址,如果与请求包中的目标IP地址匹配,则将自己的MAC地址发送给主机A。
3. 发送ARP响应:主机B根据主机A发送的ARP请求包中的源IP 地址,构建一个ARP响应包,其中包括自己的MAC地址,并发送给主机A。
4. 接收并处理ARP响应:主机A接收到主机B发回的ARP响应包,将其中的目标MAC地址与源IP地址建立映射关系,并存储在本地的ARP缓存表中,以便下次通信时直接使用。
二、ARP缓存更新策略由于网络中的主机数量众多,ARP协议的缓存表需要经常进行更新,以保持准确性和实效性。
以下是常用的缓存更新策略。
1. 主动更新:在主机A与主机B之间长时间没有通信时,主机A可以主动发送ARP请求包,验证主机B的MAC地址是否仍然有效。
如果没有得到响应或收到的响应中MAC地址已发生变化,则主动更新MAC地址。
2. 被动更新:主机A在接收到其他主机的ARP请求包时,如果发现缓存表中已存在相同的IP地址,但MAC地址已发生变化,则进行被动更新,将缓存表中的MAC地址更新为最新的。
arp协议分析PPT课件
ARP协议的基本思想
4 .
主机 A 广播发送 ARP 请求分组
我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18 我想知道主机 209.0.0.6 的硬件地址
ARP 请求
ARP 请求
ARP 请求
ARP 请求
X
209.0.0.5 A
Y
00-00-C0-15-AD-18
209.0.0.6
17 .
ARP协议漏洞
• 漏洞的根源就是ARP协议是无连接的 没有ARP的请求也可以ARP回复, 最致命的就是操作系统收到这个请求后就会更新ARP缓存。 ARP请求也可以伪造。 ARP主机的缓存中毒!
18 .
ARP攻击分析
目的MAC
源MAC
帧类 硬件 协议 型 类型 类型
操作 字段
发送端MAC
发送端IP
观察理解报文格式,比较有何异同? 8、在一台PC1上设置IP,然后在另一个PC2上设置相同的IP,
用ethereal抓arp包(会发现pc2在设置完IP后,会首先发送一个无偿 arp请求,pc1收到后,会向pc2回复,在重复这样三次后,就可以确定 网络内具有与之相同的ip主机,pc2就无法初始化其tcp/ip协议栈了。) 过滤筛选出免费arp报文,理解免费arp的功能。
IP Address MAC Type
1.1.0.2
2-2-2 Dynamic
已更新
1.1.0.3
2-2-3 Dynamic
1.1.0.4
2-2-4 Dynamic
1.1.0.5
2-2-5 Dynamic
1.1.0.6
2-2-6 Dynamic
…… ARP表项被占满 ……. Dynamic
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言
• 静态映射:创建一个表,存储逻辑地址和物理地址的 关联关系。然后将网络上的每个主机都存储这个表。 缺点是映射表必须周期的更新,增加了网络的开销 • 动态映射:地址解析协议ARP和逆地址解析协议RARP
32bit IP地址 ARP 48bit MAC地址 RARP
什么是ARP
• ARP,Address Resolution Protocol即地址解析协议,实现 通过IP地址得知其物理地址。在TCP/IP网络环境下,每个 主机都分配了一个32位的IP地址,这种互联网地址是在 网际范围标识主机的一种逻辑地址。为了让报文在物理 网路上传送,必须知道对方目的主机的物理地址。这样 就存在把IP地址变换成物理地址的地址转换问题。以以 太网环境为例,为了正确地向目的主机传送报文,必须 把目的主机的32位IP地址转换成为48位以太网的地址。 这就需要在互连层有一组服务将IP地址转换为相应物理 地址,这组协议就是ARP协议。 • Arp只有两种封包:arp request和arp reply
ARP-分组格式
6.
发送方硬件地址、发送方协 议地址、目的硬件地址和目 的协议地址:它们是可变长度 字段。源和目的硬件地址对 应以太网都是48位地址。源 和目的协议地址对应IPv4协 议是32位地址。
ARP-分组格式
思考:各字段的填充值是什么?
对于一个 ARP 请求来说,除目的硬件地 址外的所有其他字段都有填充值。当系
位于不同子网的主机进行通信时路由器参与地址解析
ARP高速缓存——解析实例(不同网络)
位于不同子网的主机进行通信时先完成对路由器的地址解析和数据传输
ARP高速缓存——解析实例(不同网络)
假设一台IP地址为172.16.1.9,子网掩码为255.255.255.0的客户机希望向 IP地址为 172.16.2.5的主机发送IP数据报。
⑸ 写 ARP 高速缓存 主机 A 的 ARP 高速缓存 IP 地址 172.16.1.1 ⑸ 物理地址 0x00000C302411 ⑺ 查询 ARP 高速缓存 路由器的 ARP 高速缓存 IP 地址 172.16.1.9 物理地址 0x02608C5A263B ⑺ ⑼ 写 ARP 高速缓存 主机 B 的 ARP 高速缓存 IP 地址 172.16.2.1 物理地址 0x00000C302412 ⑼
• 可以使用ARP高速缓存表解决这个问题。
• 每个主机或路由器上都有一个 ARP 高速缓存表。这个高速缓存表 存放最近 Internet 地址到硬件地址之间的映射记录。高速缓存表 中每一项的生存时间有限,起始时间从被创建时开始算起。
ARP高速缓存
1 5
ARP Cache
B
2
3
A
6
ARP Cache
ARP工作原理
• ARP的操作示意图
ARP高速缓存
• 问题:发送端往往有多个IP数据报发送到同一个目的端。如果对 发送到同一个主机或路由器的每一个数据报都使用ARP,势必会 带来较大的开销。广播ARP请求不仅要耗费带宽,而且使得本地 网络中的每台主机都要处理该广播帧,或忽略或给出响应帧。 。
ARP高速缓存
ARP-工作原理
• 如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发 送一个广播arp request,请求包中包含了A主机的ip地址和mac地 址。 • 网络上其他主机并不响应ARP询问,直接丢弃,只有主机B接收到 这个帧时,才以单播方式向主机A做出回应arp reply,并带上自己 的ip和mac地址,而B主机收到A的请求包时也会将A主机的IP与 MAC对应关系保存在自己的缓存区
统收到一份目的为本机的ARP 请求报文
后,它就把硬件地址填进去,然后用两 个发送端地址分别替换两个目的地址,
并把操作字段置为2,最后把它发送回去。
问题:对于ARP请 求报文,目的硬件 地址填充什么值?
ARP-封装
• ARP/RARP分组直接封装在链路帧中
2 硬件 类型 0x0001 2 协议 类型 0x0800 1 1 2 6 4 6 4 硬件地 协议地 操作 发送者 发送者 目标 目标 址长度 址长度 类型 以太网地址 IP 地址 以太网地址 IP 地址 0x06 0x04 1:ARP 请求 2:ARP 应答 3:RARP 请求 4:RARP 应答 6 源地址 4 18 帧类型 ARP/RARP 报文 PAD CRC 2 28
arp 说明:
1、使用ARP命令查看高速缓存内容前最好先ping 此台主机或路由器。
2、为了能抓到ARP协议包,最好在命令行中运行arp –d 清除arp缓存。
Arp -a
Arp –a inet_addr
Arp –d inet_addr/[*]
Arp –s inet_addr phy_addr
主机 B IP 地址:196.168.27.22 物理地址:0x45EF695A1716
位于同一子网的主机进行通信时的 ARP 应答处理
ARP高速缓存——解析实例(不同网络)
假设一台IP地址为172.16.1.9,子网掩码为255.255.255.0的客户机希望向 IP地址为 172.16.2.5的主机发送IP数据报。 当主机A要向主机B传输数据报时,TCP/IP软件会利用子网掩码确定主机 B位于远程子网上。
⑷ 发送 ARP 响应 ⑹ 发送数据帧
IP 地址:172.16.2.1 物理地址:0x00000C302412 ⑻ 发送 ARP 请求
主机 A
IP 地址:172.16.1.1 物理地址:0x00000C302411
主机 B
IP 地址:172.16.1.9 物理地址:0x02608C5A263B
IP 地址:172.16.2.5 物理地址:0x02608C40网络)
⑴ 查询 ARP 高速缓存 主机 A 的 ARP 高速缓存 IP 地址 物理地址 ⑶ 写 ARP 高速缓存 主机 B 的 ARP 高速缓存 IP 地址 196.168.27.20 物理地址 0x45EF695A263B ⑶
⑴ 主机 A
⑵ 发送 ARP 请求
主机 B IP 地址:196.168.27.22 物理地址:0x45EF695A1716
TCP
UDP
C
4
1. ARP cache is checked 2. ARP request is sent 3. ARP entry is added 4. ARP reply is sent 5. ARP entry is added 6. IP packet is sent
IP
ICMP IGMP
IP 地址:172.16.2.1 物理地址:0x00000C302412
IP 地址:172.16.1.1 物理地址:0x00000C302411 IP 地址:172.16.1.9 物理地址:0x02608C5A263B
主机 B IP 地址:172.16.2.5 物理地址:0x02608C401716
IP 地址:196.168.27.20 物理地址:0x45EF695A263B
位于同一子网的主机进行通信时的 ARP 请求过程
⑸ 更新 ARP 高速缓存 主机 A 的 ARP 高速缓存 IP 地址 196.168.27.22 ⑸ 主机 A IP 地址:196.168.27.20 物理地址:0x45EF695A263B 物理地址 0x45EF695A1716 主机 B 的 ARP 高速缓存 IP 地址 196.168.27.20 ⑷ 发送 ARP 应答 物理地址 0x45EF695A263B
ARP协议
引言
• 在以太网协议中规定,同一局域网中的一台主机要 和另一台主机进行直接通信,必须要知道目标主机 的MAC地址。而在TCP/IP协议栈中,网络层和传输 层只关心目标主机的IP地址。这就导致在以太网中 使用IP协议时,数据链路层的以太网协议接到上层 IP协议提供的数据中,只包含目的主机的IP地址。 因此需要能够将逻辑地址和相应的物理地址之间进 行映射。完成这样的映射可使用静态映射和动态映 射。
例如,在Windows NT网络中,如果输入项目后不进一步使用,物理 /IP地址对就会在2至10分钟内失效。因此,如果ARP高速缓存中项目 很少或根本没有时,是正常的。
ARP高速缓存
静态ARP表项 一种控制地址映射表项超时值的方法是在ARP 高速缓存中创建 一个静态表项。静态表项是永不超时的地址映射表项。静态表 项主要用在一台主机经常向另一台主机发送ARP请求的情况下 ,为了提高效率,减少不必要的开销。
ARP-分组格式
ARP 分组格式 1. 硬件类型:16bit,定义网络类型。以太网是 类型 1,取值0x0001。 2. 协议类型: 16bit,定义协议类型。对应IPv4 协议,值为 0x0800。 3. 硬件长度:8bit,定义以字节为单位的物理 (硬件)地址长度,即n的值。以太网是6。 4. 协议长度:8bit,定义以字节为单位的逻辑 (协议)地址长度,即m的值。IPv4的值为4。 5. 操作码:16bit,定义分组的类型。ARP请求为 0x0001, ARP应答为0x0002。 RARP请求为 0x0003, RARP应答为0x0004。
字节
6 目的地址
ARP:0x0806 RARP: 0x8035 ARP/RARP 报文封装在以太网帧中格式
ARP-工作原理
• 每台主机或路由器都有一个ARP缓存表,用来保存 IP地址与MAC地址的对应关系。
• 以主机A(192.168.1.5)向主机(192.168.1.1)发 送数据为例。当发送数据时,主机A会在自己的 ARP缓存表中寻找是否有目标IP地址。如果找到了, 也就知道了目标MAC地址,直接把目标MAC地址写 入帧里面发送就可以了;
问题:静态表项是固定不变的吗?
静态表项也有可能发生变化: 使用arp实用程序可以人工删除静态表项。 重新启动主机也会使静态表项丢失。 动态表项与静态表项冲突时,以动态表项为准