ARP与RARP详解
ARP、RARP、免费ARP、代理ARP及Inverse ARP
ARP、RARP、免费ARP、代理ARP及Inverse ARP ARP协议:ARP是已知对方IP地址,请求对方MAC地址的一种地址解释协议,其工作原理如下:1.在封装数据包时如果ARP缓存表中没有找到目标IP地址,主机A就会在本地网络上发送一个ARP广播,在此广播包中,声明自己的MAC地址及源、目标IP地址,请求目标IP主机回复其MAC地址;2.本地网络上其他主机收到后并不作ARP响应,目标主机B接收到该广播后,更新自己的ARP缓存,同时对主机A做ARP回应:“我的MAC地址是00-aa-00-62-c6-09”;3.主机A收到主机B的ARP回应后更新自己的ARP缓存,就知道主机B的MAC 地址了,它就可以向主机B发送信息了。
ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
RARP(反向地址转换协议):用于一种特殊情况,如果站点被初始化后,只有自己的物理网络地址而没有IP 地址,则他可以通过RARP协议,并发出广播请求,征求自己的IP地址,而RARP 服务器则没有负责回答。
这样无IP的站点可以通过RARP协议取得自己的IP地址,这个地址在下一次系统重新开始以前都有效,不用连续广播请求。
RARP广泛用于获取无盘工作站的IP地址。
RARP的工作原理:1. 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;2. 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC 地址对应的IP地址;3. 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;4. 如果不存在,RARP服务器对此不做任何的响应;5. 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
ARP和RARP
ARP欺骗
其实,此起彼伏的瞬间掉线或大面积 的断网大都是ARP欺骗在作怪。
ARP攻击
ARP攻击主要是存在于局域网网络 中,局域网中若有一个人感染ARP木马, 则感染该ARP木马的系统将会试图通过 “ARP欺骗”手段截获所在网络内其它 计算机的通信信息,并因此造成网内其 它计算机的通信故障。
4.2 RARP 协议
ARP分组(以以太网为例) 分组(以以太网为例) 分组
以太网报头中的前两个字段是以太网的源地址和目的地址 两个字节长的以太网帧类型表示后面数据的类型。对于 两个字节长的以太网帧类型表示后面数据的类型。对于A R P请求或应答来说,该字段的值为 x 0 8 0 6。 请求或应答来说, 请求或应答来说 该字段的值为0 。 协议指请求分组询问协议地址(OX0800是I P地址) 地址) 协议指请求分组询问协议地址( 是 地址 硬件地址指所要映射的硬件地址( 是以太网地址 是以太网地址) 硬件地址指所要映射的硬件地址(1是以太网地址) 硬件地址长度和协议地址长度分别指出硬件地址和协议地 址的长度,以字节为单位。对于以太网上 地址的 地址的A 址的长度,以字节为单位。对于以太网上I P地址的 R P 请求或应答来说,它们的值分别为 和 。 请求或应答来说,它们的值分别为6和4。
ARP高速缓存和 高速缓存和ARP命令 高速缓存和 命令
每一项的生存时间一般为20分钟 每一项的生存时间一般为 分钟 ARP命令 显示和修改 命令: 显示和修改ARP缓存 命令 缓存 ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] -a 显示当前的 显示当前的ARP缓存信息,可以指定网络地址 缓存信息, 缓存信息 -g 跟-a一样 一样. 一样 -d 删除由 删除由inet_addr指定的主机记录 可以使用 来删除所有主机 指定的主机记录. 指定的主机记录 可以使用* 来删除所有主机. -s 添加主机,并将网络地址跟物理地址相对应,这一项是永久生效 添加主机,并将网络地址跟物理地址相对应, 的。
ARP协议和RARP协议
ARP协议和RARP协议协议名称:ARP协议和RARP协议一、介绍ARP(Address Resolution Protocol)协议和RARP(Reverse Address Resolution Protocol)协议是计算机网络中用于解决IP地址与MAC地址之间映射关系的协议。
ARP协议用于将IP地址解析为对应的MAC地址,而RARP协议则相反,将MAC地址解析为对应的IP地址。
二、ARP协议1. 定义ARP协议是一种网络层协议,用于解析IP地址与MAC地址之间的映射关系。
当主机需要发送数据到目标主机时,会首先查询本地ARP缓存表,若未找到对应的MAC地址,则会发送ARP请求广播到本地网络中的所有主机,请求目标主机的MAC地址。
目标主机收到ARP请求后,会发送ARP响应包回复请求主机,包含自己的MAC地址。
请求主机收到响应包后,将目标主机的IP地址和MAC地址映射关系存储到本地ARP缓存表中,以便下次直接访问。
2. 工作原理(1) ARP请求:发送ARP请求广播,包含源主机的IP地址和MAC地址。
(2) ARP响应:目标主机收到ARP请求后,发送ARP响应包,包含目标主机的IP地址和MAC地址。
(3) ARP缓存:请求主机收到ARP响应包后,将目标主机的IP地址和MAC地址映射关系存储到本地ARP缓存表中。
3. 优点(1) 简单有效:ARP协议是一种简单有效的地址解析协议,能够快速解析IP地址与MAC地址之间的映射关系。
(2) 动态更新:ARP协议能够动态更新本地ARP缓存表,确保地址映射关系的实时性。
4. 缺点(1) 安全性:ARP协议缺乏安全机制,容易受到ARP欺骗攻击,导致IP地址与MAC地址映射关系被篡改。
(2) 效率:ARP协议在大规模网络中广播ARP请求,会消耗大量带宽资源。
三、RARP协议1. 定义RARP协议是一种逆向的地址解析协议,用于将MAC地址解析为对应的IP地址。
RARP协议通常用于无盘工作站等设备,这些设备没有存储IP地址,需要通过RARP协议从服务器获取IP地址。
第三章ARP与RARP
ARP回顾
• 当某主机要向以太网中另一台主机发送I P数据时, 它首先根据目的主机的I P地址在A R P高速缓存 中查询相应的以太网地址, A R P高速缓存是主 机维护的一个I P地址到相应以太网地址的映射表。
• 如果查到匹配的结点,则相应的以太网地址被写 入以太网帧首部,数据报被加入到输出队列等候 发送。
}; #define SHA(p) (&p->ar_addrs[0]) #define SPA(p) (&p->ar_addrs[p->ar_hwlen]) #define THA(p) (&p->ar_addrs[p->ar_hwlen + p->ar_prlen]) #define TPA(p) (&p->ar_addrs[(p->ar_hwlen*2) + p->ar_prlen]) Notation --- S:source, T:Target; H:Hardware, P:Protocol; A:Address
28
CRC 4
PAD 18
PAD
18
10
ARP数据包格式
struct arp { u_short ar_hwtype; /* hardware type */ u_short ar_prtype; /* protocol type */ u_char ar_hwlen; /* hardware address length */ u_char ar_prlen; /* protocol address length */ u_short ar_op; /* ARP operation (see list above) */ u_char ar_addrs[1]; /* sender and target hw & proto addrs */
ARP协议和RARP协议 (2)
ARP协议和RARP协议协议名称:ARP协议和RARP协议一、引言ARP(地址解析协议)和RARP(逆地址解析协议)是计算机网络中常用的协议,用于将网络层的IP地址映射到数据链路层的物理地址。
本协议旨在详细描述ARP协议和RARP协议的功能、工作原理、数据包格式以及应用场景。
二、ARP协议1. 功能ARP协议用于获取目标IP地址对应的物理地址(MAC地址),以便进行数据链路层的通信。
2. 工作原理- 当主机A要发送数据到目标主机B时,首先检查本地ARP缓存中是否存在目标IP地址对应的物理地址。
如果存在,则直接将数据包发送给目标主机B。
- 如果ARP缓存中不存在目标IP地址对应的物理地址,则主机A会发送一个ARP请求广播消息到局域网上的所有主机,问询目标IP地址对应的物理地址。
- 目标主机B收到ARP请求后,会将自己的物理地址封装在ARP响应消息中发送给主机A。
- 主机A收到ARP响应后,将目标IP地址和物理地址存储在本地ARP缓存中,并将数据包发送给目标主机B。
3. 数据包格式ARP请求消息和ARP响应消息的数据包格式如下:- 以太网帧头部- ARP协议头部- 硬件类型:表示使用的物理网络类型,如以太网。
- 协议类型:表示上层网络协议类型,如IPv4。
- 硬件地址长度:表示物理地址长度,如MAC地址长度为6字节。
- 协议地址长度:表示IP地址长度,如IPv4地址长度为4字节。
- 操作码:表示ARP请求(1)或者ARP响应(2)。
- 发送方硬件地址:发送方的物理地址。
- 发送方协议地址:发送方的IP地址。
- 目标硬件地址:目标主机的物理地址。
- 目标协议地址:目标主机的IP地址。
4. 应用场景ARP协议广泛应用于局域网中,用于解析目标主机的物理地址。
它可以匡助路由器和交换机等设备进行数据包转发,提高网络传输效率。
三、RARP协议1. 功能RARP协议用于根据物理地址(MAC地址)获取对应的IP地址,主要用于无盘工作站等设备无法自行获取IP地址的场景。
ARP和RARP
ARP 和RARP§3-1 引言⏹在网络级上,主机和路由器用它们的逻辑地址(IP地址)来标识。
⏹分组都要通过物理网络才能到达这些主机和路由器。
⏹在物理级上,主机和路由器用它们的物理地址(MAC地址)来标识。
⏹这就表示将分组交付到一个主机或路由器需要两级地址:逻辑地址和物理地址。
需要他们之间的互相映射。
⏹可以使用静态和动态映射。
⏹静态映射是创建一个表,他将一个逻辑地址与物理地址关联起来,这个表就存储在网络上的每一个机器上。
这种做法局限性比较大。
⏹在动态映射中,每当一个机器知道两个地址(逻辑地址或物理地址)中的一个时,就可使用协议将另一个地址找出来。
⏹有两个协议来完成动态映射:地址解析协议(ARP)和逆地址解析协议(RARP)。
⏹ARP和RARP使用单播和广播物理地址。
§3-2 ARP⏹在任何时候,当主机或路由器有数据报要发送给另一个主机或路由器时,它必须有接收站的逻辑(IP)地址。
但是IP数据报必须封装成帧才能通过物理网络。
⏹这就表示,发送站必须有接收站的物理地址。
⏹ARP将一个IP地址与其物理地址关联起来。
⏹任何时候当主机或路由器需要找出另一个主机或路由器在此网络上的物理地址时,他就发送一个ARP查询分组。
⏹这个分组包括发送站的物理地址和IP地址,以及接收站的IP地址。
⏹因为发送站不知道接收站的物理地址,查询就在网络上广播。
⏹每一个在网络上的主机或路由器都接受和处理这个ARP查询分组,但只有意图中的接受者才识别其IP 地址,并发回ARP 响应分组。
⏹这个分组直接用单播发送给查询者,并使用接受到的查询分组中所用的物理地址。
请求系统A 系统B我要查找一个结点的物理地址,其IP 地址为:141.23.56.23a. ARP 请求用广播发送我是你要找的结点。
我的物理地址为:A46EF45983AB回答系统A系统Bb. 回答用单播发送§3-3 ARP 分组格式⏹ARP 分组是直接封装在数据链路帧中。
什么是ARP-RARP协议
什么是ARP/RARP协议一、ARP/RARP协议地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
ARP命令可用于查询本机ARP缓存中IP 地址和MAC地址的对应关系、添加或删除静态对应关系等。
ARP工作流程举例:主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:(1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。
然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
(2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。
源主机A的IP地址和MAC地址都包括在ARP请求中。
本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。
如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
(3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A 的IP地址和MAC地址映射添加到本地ARP缓存中。
ARP协议和RARP协议
ARP协议和RARP协议协议名称:ARP协议和RARP协议一、引言ARP(Address Resolution Protocol)协议和RARP(Reverse Address Resolution Protocol)协议是在计算机网络中用于解析网络层地址和物理层地址之间映射关系的协议。
本文将详细介绍ARP协议和RARP协议的工作原理、数据结构和应用场景。
二、ARP协议1. 工作原理ARP协议用于将网络层的IP地址解析为物理层的MAC地址。
当主机A需要与主机B通信时,如果主机A知道主机B的IP地址但不知道其MAC地址,则主机A会发送一个ARP请求广播,询问局域网内是否有主机知道该IP地址对应的MAC地址。
局域网内的所有主机都会接收到该广播,但只有主机B会响应ARP请求,将自己的MAC地址发送给主机A。
主机A收到响应后,将主机B的MAC地址缓存起来,以便后续通信使用。
2. 数据结构ARP协议的数据结构包括以下字段:- 硬件类型:表示使用的物理层协议类型,如以太网为1。
- 协议类型:表示使用的网络层协议类型,如IPv4为0x0800。
- 硬件地址长度:表示物理地址的长度,如以太网地址为6字节。
- 协议地址长度:表示网络地址的长度,如IPv4地址为4字节。
- 操作码:表示ARP请求或响应的类型,如ARP请求为1,ARP响应为2。
- 发送方硬件地址:表示发送方的物理地址。
- 发送方协议地址:表示发送方的网络地址。
- 目标硬件地址:表示目标的物理地址。
- 目标协议地址:表示目标的网络地址。
3. 应用场景ARP协议在局域网中的应用非常广泛,例如:- IP地址解析:当主机需要与其他主机通信时,使用ARP协议解析目标主机的MAC地址。
- ARP缓存:主机会将解析到的MAC地址缓存起来,以提高后续通信的效率。
- 网络设备配置:交换机和路由器等网络设备使用ARP协议来学习和更新MAC地址表,以便正确转发数据包。
三、RARP协议1. 工作原理RARP协议与ARP协议相反,用于将物理层的MAC地址解析为网络层的IP地址。
ARP与RARP
5
18
ARP – 目的主机不在本地网络
6
19
ARP
免费ARP :是指系统在启动时,设备对自己的IP地址进行一次 ARP请求。目的是:
(1)检测同一网段上有无与自己相同的IP;
(2)设备更新网卡后,发这样一个ARP请求,使同网段上其 他设备能及时更新他们的ARP缓冲。
如何查看ARP缓存表 :ARP缓存表是可以查看的,也可以添加 和修改。 在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内 容了。
1
用“arp -d”命令可以删除ARP表中某一行的内容;
用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对 应
20
ARP带来的问题
ARP广播增加了媒体开销 ARP映射表带来来安全隐患--ARP spoofing
21
ARP带来的问题
ARP欺骗(spoofing)
4
发送端以太网地址:为请求方的MAC地址。 发送端协议地址(IP地址):为请求方的IP地址。 目的端以太网地址:请求操作时,为空0;应答操作时,为被 请求方的MAC地址 。 目的端协议地址:为被请求方的IP地址。
1
5
ARP – Mapping IP to MAC Addresses
ARP过程分为两种:
(1)目的在本地 (2)目的在外网
6
ARP – 目的主机在本地网络
ARP的工作过程: (1)首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。 (2)当源主机需要将一个数据包发送到目的主机时,会首先检查自己 ARP 列表中是否存在该 IP地址对应的MAC地址,如果有就直接将数据包发送到这 个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此 目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件 地址以及目的主机的IP地址。 (3)网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是 否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首 1 先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已 经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包, 告诉对方自己是它需要查找的MAC地址; (4)源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和 MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源 主机一直没有收到ARP响应数据包,表示ARP查询失败。
解释ARP协议和RARP协议
解释ARP协议和RARP协议
解释ARP(地址解析协议)
1. ⾸先,每个主机都会在⾃⼰的ARP缓冲区中建⽴⼀个ARP列表,以表⽰IP地址和MAC地址之间的对应关系。
2. 当源主机要发送数据时,⾸先检查ARP列表中是否有对应IP地址的⽬的主机的MAC地址,如果有,则直接发送数据,如果没有,就向
本⽹段的所有主机发送ARP数据包,该数据包中有:源主机IP地址、源主机MAC地址、⽬的主机IP地址。
3. 当本⽹络的所有主机收到该ARP数据包时,⾸先检查数据包中的IP地址是否是⾃⼰的IP地址,如果不是,则忽略该数据包,如果是,
则⾸先从数据包中取出源主机的IP和MAC地址写⼊到ARP列表中,如果已经存在,则覆盖,然后将⾃⼰的MAC地址写⼊ARP响应包中,告诉源主机⾃⼰是它想要找的MAC地址。
4. 源主机收到ARP响应包后,将⽬的主机的IP和MAC写⼊ARP列表,并利⽤此信息发送数据。
如果源主机⼀直都没有收到ARP响应数据
包,表⽰ARP查询失败。
⼴播发送ARP请求,单播发送ARP响应。
解释RARP(逆解析地址协议)
作⽤是完成硬件地址到IP地址的映射。
⼯作流程:在⽹络中配置⼀台RARP服务器,⾥⾯保存着IP地址和MAC地址的映射关系,当⽆盘⼯作站启动后,⾸先,封装⼀个RARP 数据包,⾥⾯有其MAC地址;其次,⼴播到⽹络中去;最后,当服务器收到请求包后,就查找对应的MAC地址的IP地址装⼊响应报⽂中发回给请求者。
因为需要⼴播请求报⽂,因此RARP只能⽤于具有⼴播能⼒的⽹络。
ARP协议和RARP协议
ARP协议和RARP协议协议名称:ARP协议和RARP协议协议简介:ARP(Address Resolution Protocol)协议和RARP(Reverse Address Resolution Protocol)协议是用于在计算机网络中解析网络层地址(IP地址)和物理层地址(MAC地址)之间关联关系的协议。
ARP协议用于将IP地址映射到MAC地址,而RARP协议则用于将MAC地址映射到IP地址。
协议内容:1. ARP协议:- 目的:将IP地址映射到MAC地址。
- 工作原理:当主机A需要与主机B通信时,主机A首先检查其ARP缓存中是否有主机B的IP地址对应的MAC地址。
如果缓存中存在,则直接使用该MAC 地址进行通信;如果缓存中不存在,则主机A会发送一个ARP请求广播到网络上的所有主机,询问主机B的MAC地址。
主机B收到该请求后,会向主机A发送一个ARP响应,其中包含其MAC地址。
主机A收到ARP响应后,将主机B的IP 地址和MAC地址添加到其ARP缓存中,并使用该MAC地址进行通信。
- 协议格式:ARP协议的数据包格式包括硬件类型、协议类型、硬件地址长度、协议地址长度、操作码、发送方硬件地址、发送方协议地址、目标硬件地址和目标协议地址等字段。
2. RARP协议:- 目的:将MAC地址映射到IP地址。
- 工作原理:RARP协议主要用于无盘工作站,这些工作站没有存储设备来存储其IP地址。
当无盘工作站启动时,它会向网络广播一个RARP请求,请求服务器为其提供IP地址。
RARP服务器收到请求后,会查询其RARP表,找到对应的IP地址,并将其发送给无盘工作站。
无盘工作站收到IP地址后,将其存储,并使用该IP地址进行通信。
- 协议格式:RARP协议的数据包格式包括硬件类型、协议类型、硬件地址长度、协议地址长度、操作码、发送方硬件地址、发送方协议地址、目标硬件地址和目标协议地址等字段。
协议应用:ARP协议和RARP协议在计算机网络中有广泛的应用,包括但不限于以下几个方面:1. IP地址解析:ARP协议和RARP协议可用于解析IP地址和MAC地址之间的映射关系,从而实现数据包的正确传输和接收。
ARP协议和RARP协议
ARP:地址解析协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
其功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。
地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记录在本地的ARP缓存中,这样攻击者就可以向目标主机发送伪ARP应答报文,使目标主机发送的信息无法到达相应的主机或到达错误的主机,构成一个ARP欺骗。
ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。
相关协议有RARP、代理ARP。
NDP用于在IPv6中代替地址解析协议。
RARP:反向地址转换协议
RARP: 反向地址转换协议(RARP:Reverse Address Resolution Protocol)反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的ARP 表或者缓存上请求其IP 地址。
网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和与其对应的IP 地址。
当设置一台新的机器时,其RARP 客户机程序需要向路由器上的RARP 服务器请求相应的IP 地址。
假设在路由表中已经设置了一个记录,RARP 服务器将会返回IP 地址给机器,此机器就会存储起来以便日后使用。
RARP 可以使用于以太网、光纤分布式数据接口及令牌环 LAN.。
ARP协议和RARP协议
ARP协议和RARP协议【协议名称】ARP协议和RARP协议【协议简介】ARP(Address Resolution Protocol)协议和RARP(Reverse Address Resolution Protocol)协议是用于在计算机网络中解决IP地址与物理地址(MAC地址)之间的映射关系的协议。
ARP协议用于将IP地址解析为相应的MAC地址,而RARP 协议则用于将MAC地址解析为相应的IP地址。
【协议背景】在计算机网络中,数据包的传输需要通过MAC地址进行寻址,而应用层协议(如TCP/IP协议)则使用IP地址进行寻址。
因此,需要一种机制来将IP地址与MAC地址进行映射,以便数据包能够正确地传输到目标设备。
ARP协议和RARP 协议就是为了解决这个问题而被设计出来的。
【协议功能】1. ARP协议的功能:- 解析IP地址:当主机A需要向主机B发送数据包时,主机A首先会检查自己的ARP缓存表,查找是否已经有了目标IP地址对应的MAC地址。
如果没有,则主机A会发送一个ARP请求广播,询问网络中的其他主机,是否有与目标IP地址对应的MAC地址。
主机B收到ARP请求后,会向主机A回复一个ARP响应,包含其MAC地址。
主机A收到ARP响应后,将目标IP地址和MAC地址的映射关系添加到自己的ARP缓存表中。
- 更新ARP缓存表:ARP协议还会周期性地发送ARP请求,以保持ARP缓存表中的映射关系是最新的。
2. RARP协议的功能:- 解析MAC地址:当主机A启动时,它的网络接口卡会发送一个RARP请求广播,询问网络中的RARP服务器,是否有与自己的MAC地址对应的IP地址。
RARP服务器收到请求后,会向主机A回复一个RARP响应,包含其IP地址。
主机A收到RARP响应后,将自己的MAC地址和IP地址的映射关系添加到自己的RARP缓存表中。
- 更新RARP缓存表:RARP协议还会周期性地发送RARP请求,以保持RARP缓存表中的映射关系是最新的。
第4章 ARP和RARP
RARP协议原理 RARP协议原理
在对主机进行配置时,IP地址一般保存在本机的磁盘上, 因此,系统引导时从磁盘上的配置文件中读取本机的IP地址。 但是对互联网中的无盘工作站或X终端等无法在本机保存IP地 址的主机,又该如何获得IP地址呢?设计RARP就是为了解决 这个问题。 在互联网中,一台主机的标识是IP地址;在一个局域网 中,主机的标识是硬件地址,它保存在网络接口卡中,可以 惟一标识一个网络中的一台主机。无盘工作站在启动时,利 用从网络接口卡上读取的硬件地址做标识,发送一个RARP请 求报文,它和RAP正好相反,是用来获取主机的IP地址的。
第四章 ARP和RARP
第四章 ARP和RARP
4.1 IP地址和物理地址影射问题 4.2 ARP协议原理 4.3 RARP协议
IP地址和物理地址影射问题
TCP/IP 协 议 族 专 门 设 计 了 用 于 地 址 解 析 的 协 议 ARP(Address Resolution Protocol),它可以把一个IP 地址映射成对应的物理地址。 另外,对于无法保存IP地址的主机(如无盘工作站), TCP/IP协议族中也提供了从物理地址到IP地址映射的反 向 地 址 解 析 协 议 RARP(Reverse Address Resolution Protocol)。
ARP协议原理 ARP协议原理
(3) 硬件地址长度和协议地址长度。 (4) 操作代码。 (5) 发送方硬件地址和发送方协议地址。 (6) 目标方硬件地址和目标方协议地址。 硬件(MAC),协议(IP)
ARP协议原理 ARP协议原理
在网络中,每台主机上都有一个ARP高速缓存,这个高速缓存存放 了最近IP地址到硬件地址之间的映射记录。高速缓存区中表项建立的方 法是: (1) 请求主机收到ARP应答后,主机就把获得的IP地址与物理地址 的映射关系存入ARP表中。 (2) 由于ARP请求报文是广播发送的,所有收到ARP请求报文的主 机都可以把其中发送方的物理地址和IP地址映射存入自己的高速缓存中, 以备将来使用。 (3) 网络中的主机在启动时,可以主动广播自己的IP地址和物理地 址的映射关系,以免其他主机对它提出ARP请求(这也使一台主机在启动 时,就可以知道自己的IP地址与网络中其他主机的IP地址有没有冲突)。
ARP协议和RARP协议
ARP协议和RARP协议协议名称:ARP协议和RARP协议一、引言ARP(Address Resolution Protocol)和RARP(Reverse Address Resolution Protocol)是用于在网络层和数据链路层之间解决IP地址和物理地址之间映射关系的协议。
ARP协议用于将IP地址解析为物理地址,而RARP协议则用于将物理地址解析为IP地址。
本协议旨在详细描述ARP协议和RARP协议的工作原理、数据格式和相关规范。
二、ARP协议1. 工作原理ARP协议通过广播的方式,将一个IP地址映射为对应的物理地址。
当主机A需要与目标主机B进行通信时,A会首先检查本地的ARP缓存表,如果找到了目标主机B的物理地址,则直接发送数据包;如果没有找到,则A会发送一个ARP请求广播,询问网络中的其他主机,以获取目标主机B的物理地址。
目标主机B收到ARP请求后,会向主机A发送一个ARP响应,包含自己的物理地址。
主机A 收到ARP响应后,将目标主机B的IP地址和物理地址映射关系存储在本地的ARP缓存表中。
2. 数据格式ARP协议定义了以下数据包格式:- 硬件类型:指定数据链路层的类型,如以太网、令牌环等。
- 协议类型:指定网络层的协议类型,如IPv4、IPv6等。
- 硬件地址长度:指定物理地址的长度,如以太网的MAC地址长度为6字节。
- 协议地址长度:指定IP地址的长度,如IPv4地址长度为4字节。
- 操作码:指定ARP请求或ARP响应的类型,如ARP请求为1,ARP响应为2。
- 发送方硬件地址:发送ARP请求或ARP响应的主机的物理地址。
- 发送方协议地址:发送ARP请求或ARP响应的主机的IP地址。
- 目标硬件地址:ARP响应中包含目标主机的物理地址。
- 目标协议地址:ARP响应中包含目标主机的IP地址。
3. 规范要求- 所有支持IP协议的主机都必须支持ARP协议。
- 主机在发送ARP请求前,应先检查本地的ARP缓存表,以提高解析效率。
第六章 ARP和RARP
• 1、RARP产生原因 ARP(地址解析协议)是设备通过自己知道的IP地址来获得自己 不知道的物理地址的协议。假如一个设备不知道它自己的IP地址,但 是知道自己的物理地址,网络上的无盘工作站就是这种情况,设备知 道的只是网络接口卡上的物理地址。这种情况下应该怎么办呢? RARP(逆地址解析协议)正是针对这种情况的一种协议。 RARP以与ARP相反的方式工作。RARP发出要反向解析的物理地 址并希望返回其对应的IP地址,应答包括由能够提供所需信息的 RARP服务器发出的IP地址。虽然发送方发出的是广播信息,RARP规 定只有RARP服务器能产生应答。许多网络指定多个RARP服务器,这 样做既是为了平衡负载也是为了作为出现问题时的备份。
• ARP应答
由于ARP请求包是以广播方式发送,局域网所有设备都接收到这个 包,然后传给网络层检验,如果一个设备的IP地址和ARP请求中所包含 的目的IP地址相同,设备会做出反应,将其MAC地址发送给源。称为 ARP应答。 当发送ARP请求的设备接收到ARP应答,它将MAC地址从MAC包头中 提取出来,更新自己的ARP表。
例如你的路由器的IP是192.168.0.1,MAC地址是:00E04C352C68,是 多台电脑共享上网用的网关和DNS,当你要上网时,就要访问路由器, 电脑向网上发出广播,以获得路由器的MAC地址,这时ARP攻击主机发 出一个伪造的ARP响应包,把192.168.0.1的MAC地址乱写一个回应你,比 如:512C0A665421,这样你的电脑ARP表中就会建一个192.168.0.1与 512C0A665421对应的表,那你上网时的请求就会发向512C0A665421这个 MAC地址,但它是不存在的,和你电脑相连的交换机无论如何也找不到 是这个MAC地址的端口,你的请求帧将会被交换机丢掉,那意味着你无
ARP协议和RARP协议
ARP协议和RARP协议协议名称:ARP协议和RARP协议一、背景介绍ARP(Address Resolution Protocol)协议和RARP(Reverse Address Resolution Protocol)协议是计算机网络中常用的两种协议,用于解决IP地址与MAC地址之间的映射关系。
ARP协议用于将IP地址解析为对应的MAC地址,而RARP协议则是将MAC地址解析为对应的IP地址。
本协议旨在详细描述ARP协议和RARP协议的功能、工作原理以及相关应用。
二、ARP协议1. 功能描述ARP协议用于解决在局域网中,根据目标IP地址获取对应的MAC地址的问题。
它通过在局域网中广播一个ARP请求报文,由拥有目标IP地址的主机回复一个ARP应答报文,从而建立IP地址与MAC地址之间的映射关系。
2. 工作原理(1)发送ARP请求:发送方主机在需要与目标主机通信时,将目标主机的IP地址封装在ARP请求报文中,并将该报文以广播的形式发送到局域网上的所有主机。
(2)接收ARP请求:局域网上的所有主机都会接收到ARP请求报文,但只有目标主机会对该请求进行响应。
(3)发送ARP应答:目标主机接收到ARP请求后,将自己的MAC地址封装在ARP应答报文中,并将该报文以单播的形式发送给发送方主机。
地址与MAC地址进行映射,并将该映射关系存储在ARP缓存中,以备将来使用。
3. 相关应用ARP协议在局域网中广泛应用,例如:(1)局域网内主机之间的通信:在发送方主机需要与目标主机进行通信时,首先使用ARP协议获取目标主机的MAC地址,然后才能建立通信连接。
(2)网络设备的管理:网络管理员可以使用ARP协议获取网络设备的MAC地址,以便进行设备管理和故障排除。
三、RARP协议1. 功能描述RARP协议用于解决在局域网中,根据MAC地址获取对应的IP地址的问题。
它通过在局域网中广播一个RARP请求报文,由拥有目标MAC地址的服务器回复一个RARP应答报文,从而建立MAC地址与IP地址之间的映射关系。
思科:第二章 2.47 地址解析(ARP和RARP)
查看ARP缓存 本地 / 路由器 查看 缓存
ARP高效运行的关键是由于每个主机都有一 个ARP高速缓存,这个高速缓存存放了最近 Internet地址到硬件地址之间的映射记录。 高速缓存中每一项的生存时间一般为20分 钟,起始时间从被创建时开始算起。
2012-4-13
12
路由器删除ARP 路由器删除
1.1.1.1/24
Fa0/0
2.2.2.2/24
Fa0/0
R1
R2
no ip routing
no ip routing
2012-4-13
16
免费ARP(试验) (试验) 免费
免费ARP有两个方面的作用: 1、一个主机可以通过它来确定另一个主机是否 设置了相同的IP地址。主机A不希望对此请求有 一个回答,但是,如果收到一个回答,那么会在 端口日志上产生一个错误消息“以太网地址: a:b:c:d:e:f:发送来重复的IP地址”。这样可以警 告管理员,某个系统有不正确的设置。 2、如果发送免费ARP的主机正好改变了硬件地 址(可能是主机关机了,并换了一块接口卡,然 后重新启动),那么这个分组就可以使其他主机 高速缓存中旧的硬件地址进行相应的更新。(如 果主机收到某个IP地址的ARP请求,而且它已经 在接收者的高速缓存中,那么就要用ARP请求中 的发送端硬件地址对高速缓存中相应的内容进行 更新。主机接收到任何ARP请求都要完成这个操 17 作。)
Sender HA
说明: 说明: 说明: 说明:
Sender IP :源主机IP地址
Sender Target HA :目标主机物 Protocol Address 理地址
Target IP Target:目标主机IP地 HA 址
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主机 B 向 A 发送 ARP 响应分组
我是 209.0.0.6 硬件地址是 08-00-2B-00-EE-0A ARP 响应
X
209.0.0.5 A 00-00-C0-15-AD-18
209.0.0.6
Y
B 08-00-2B-00-EE-0A
Z
ARP 高速缓存的作用
为了减少网络上的通信量,主机 A 在发送 其 ARP 请求分组时,就将自己的 IP 地址 到硬件地址的映射写入 ARP 请求分组。 当主机 B 收到 A 的 ARP 请求分组时,就 将主机 A 的这一地址映射写入主机 B 自己 的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。
逆地址解析协议 RARP
逆地址解析协议 RARP 使只知道自己硬件 地址的主机能够知道其 IP 地址。 这种主机往往是无盘工作站。 因此 RARP 协议目前已很少使用。
课件制作人:赵伟
课件制作人:赵伟
主机 A 广播发送 ARP 请求分组
ARP 请求
我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18 我想知道主机 209.0.0.6 的硬件地址
ARP 请求
209.0.0.5 A
ARP 请求
ARP 请求
209.0.0.6
X
Y
B
Z
00-00-C0-15-AD-18
课件制作人:赵伟
ARP消息格式
ARP协议的规定
硬件地址类型 2Byte
以太网,IP协议
0x01
协议地址类型 2Byte
硬件地址长度 1Byte 协议地址长度 1Byte
0x00
硬件地址长度=48bit 协议地址长度=32bit
操作(请求/应答) 2Byte
发送者的硬件地址 发送方的协议地址
请求=1 应答=2
ARP Cache的维护
IP Address Hardware Address
131.107.255.255 = FFFFFFFFFFFF 131.107.3.5 = 080009654321 131.107.3.24= 080004321371 131.107.78.3 =
2 080006723111
课件制作人:赵伟
应当注意的问题(续)
从IP地址到硬件地址的解析是自动进行的, 主机的用户对这种地址解析过程是不知道的。 只要主机或路由器要和本网络上的另一个已 知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所 需要的硬件地址。
课件制作人:赵伟
使用 ARP 的四种典型情况
发送者的硬件地址 发送方的协议地址
目标的硬件地址
目标的协议地址
目标的硬件地址
目标的协议地址
ARP地址解析方法
查表: -- 地址联编或映射信息存储在内存的一张表中 -- 多用于广域网
相近形式计算: -- 根据一定的规则为计算机选择协议地址和硬件 地址,可以从协议地址计算出硬件地址 -- 适用于动态物理地址的网络 消息交换 -- 通过在网络上交换信息来获得硬件地址 -- 设计专门的地址解析服务器,完成解析任务 -- 所有的计算机都参与地址解析工作
发送方是主机,要把IP数据报发送到本网络上的另一 个主机。这时用 ARP 找到目的主机的硬件地址。 发送方是主机,要把 IP 数据报发送到另一个网络上 的一个主机。这时用 ARP 找到本网络上的一个路由 器的硬件地址。剩下的工作由这个路由器来完成。 发送方是路由器,要把 IP 数据报转发到本网络上的 一个主机。这时用 ARP 找到目的主机的硬件地址。 发送方是路由器,要把 IP 数据报转发到另一个网络 上的一个主机。这时用 ARP 找到本网络上的一个路 由器的硬件地址。剩下的工作由这个路由器来完成。
3
Router
131.107.7.1 08006...
A
B
2
ARP for Router B IP Address = 131.107.3.24 Hardware Address = 08004. . .
5
IP Address = 131.107.7.29 Hardware Address = 08009. . .
课件制作人:赵伟
应当注意的问题
ARP 是解决同一个局域网上的主机或路由器 的 IP 地址和硬件地址的映射问题。 如果所要找的主机和源主机不在同一个局域 网上,那么就要通过 ARP 找到一个位于本局 域网上的某个路由器的硬件地址,然后把分 组发送给这个路由器,让这个路由器把分组 转发给下一个网络。剩下的工作就由下一个 网络来进行通信?
由于全世界存在着各式各样的网络,它们使用不 同的硬件地址。要使这些异构网络能够互相通信 就必须进行非常复杂的硬件地址转换工作,因此 几乎是不可能的事。 连接到因特网的主机都拥有统一的 IP 地址,它 们之间的通信就像连接在同一个网络上那样简单 方便,因为调用 ARP 来寻找某个路由器或主机 的硬件地址都是由计算机软件自动进行的,对用 户来说是看不见这种调用过程的。
131.107.9.4 = 080002345621
131.107.7.29= 080009654441
1
ARP命令
arp -a或arp –g :查看缓存的内容 arp -a Ip :只显示与该接口相关的ARp缓存项目 arp –s(arp -s Ip 物理地址):添加静态的表项 arp –d(arp -d Ip):删除表项
ARP小结
在大多数的TCP/IP实现中,ARP是一个基础协议,但是它的 运行对于应用程序或系统管理员来说一般是透明的。
ARP高速缓存在它的运行过程中非常关键,我们可以用arp 命令对高速缓存进行检查和操作。 高速缓存中的每一项内容都有一个定时器,根据他来删除 不完整和完整的表项。
arp命令可以显示和修改ARP高速缓存的内容。
解释远程IP地址
ARP代理: 若ARP请求解析另一个网络上的IP地址,那么,连接这 两个网络的路由器将做出应答,路由器称为ARP代理。将路 由器设置成ARP代理,可以使原主机误认为目标主机与它在 同一网络上。
直接查找网关的硬件地址: 由原主机判定目标所在的网络是在本地还是远程,然 后查找自己的缺省网关的硬件地址,将数据发往缺省网关。
ARP消息的传输和管理
发送一个ARP消息:构造一个ARP帧 > 请求:构造一个ARP硬件广播帧 -- 帧的类型是ARP类型 -- ARP消息的操作设成请求 -- 帧的目的地地址为全网广播地址 > 应答:构造一个确定硬件地址的ARP应答帧 -- 帧的类型是ARP类型 -- ARP消息的操作设成应答 -- 帧的目的地地址为发送请求的主机的硬 件地址
ARP消息的传输和管理
处理一个ARP消息 > 根据帧类型判定是一个ARP帧 > 将消息中的操作类型取出判定是请求还是应答 -- 请求:比较请求的协议地址是否与本地的协 议地址相同,相同,则将请求方的协议地址和硬 件地址存入本地缓存,然后构造一个应答消息; -- 应答:将消息中的地址信息记入自己的缓存
ARP 与 RARP
课件制作人:赵伟
3.2.3 地址解析协议 ARP 和 逆地址解析协议 RARP
物理地址
IP 地址
ARP
物理地址
RARP
IP 地址
课件制作人:赵伟
地址解析协议 ARP
不管网络层使用的是什么协议,在实际网络的链路 上传送数据帧时,最终还是必须使用硬件地址。 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器 的 IP 地址到硬件地址的映射表。 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数 据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址, 再将此硬件地址写入 MAC 帧,然后通过局域网将 该 MAC 帧发往此硬件地址。
解释远程IP地址
ping 131.107.7.29
4
1
ARP Cache
ARP Cache
131.107.7.7 08009. . . 131.107.7.1 08006. . . ARP Cache
131.107.3.7 08004. . . 131.107.3.1 08005...
ARP Broadcast for Router A