当前位置:文档之家› ARP协议详解

ARP协议详解


ARP高速缓存
按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地 点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目
ARP高速缓存中地址映射表项的超时 问题:由于IP地址与物理地址的映射关系可能因网络接口或IP地 址的变化而发生变化,对于ARP高速缓存中地址映射表项都存在一个 过时的问题。一旦高速缓存的项目被输入,它们就已经开始走向失 效状态。 解决:给ARP高速缓存中的每一个表项设置一个超时值,使得每个 地址映射表项都有一个生命期。 例如,在Windows NT网络中,如果输入项目后不进一步使用,物理 /IP地址对就会在2至10分钟内失效。因此,如果ARP高速缓存中项目 很少或根本没有时,是正常的。
ARP高速缓存
静态ARP表项 一种控制地址映射表项超时值的方法是在ARP 高速缓存中创建 一个静态表项。静态表项是永不超时的地址映射表项。静态表 项主要用在一台主机经常向另一台主机发送ARP请求的情况下 ,为了提高效率,减少不必要的开销。
问题:静态表项是固定不变的吗?
静态表项也有可能发生变化: 使用arp实用程序可以人工删除静态表项。 重新启动主机也会使静态表项丢失。 动态表项与静态表项冲突时,以动态表项为准
IP 地址
物理地址

IP 地址:172.16.2.1

⑵ 发送 ARP 请求
物理地址:0x00000C302412
主机 A
IP 地址:172.16.1.1
物理地址:0x00000C302411
IP 地址:172.16.1.9
物理地址:0x02608C5A263B
主机 B
IP 地址:172.16.2.5 物理地址:0x02608C401716
ARP-工作原理
如果在ARP缓存表中没有找到目标IP地址, 主机A就会在网络上发送一个广播arp request,请求包中包含了A主机的ip地址 和mac地址。
网络上其他主机并不响应ARP询问,直接丢 弃,只有主机B接收到这个帧时,才以单播 方式向主机A做出回应arp reply,并带上自 己的ip和mac地址,而B主机收到A的请求 包时也会将A主机的IP与MAC对应关系保存 在自己的缓存区
2、为了能抓到ARP协议包,最好在命令行中运行arp –d 清除arp缓存。
Arp -a
Arp –a inet_addr
Arp –d inet_addFra bibliotek/[*]Arp –s inet_addr phy_addr
ARP高速缓存——解析实例(同一网络)
⑴ 查询 ARP 高速缓存
主机 A 的 ARP 高速缓存
0x06
0x04
1:ARP 请求 2:ARP 应答
3:RARP 请求
4:RARP 应答
6
2
28
18 4
源地址 帧类型 ARP/RARP 报文 PAD CRC
ARP:0x0806 RARP:0x8035
ARP/RARP 报文封装在以太网帧中格式
ARP高速缓存
问题:发送端往往有多个IP数据报发送到同一个目的端。如果 对发送到同一个主机或路由器的每一个数据报都使用ARP,势 必会带来较大的开销。广播ARP请求不仅要耗费带宽,而且使 得本地网络中的每台主机都要处理该广播帧,或忽略或给出响 应帧。 。
ARP高速缓存
可以使用ARP高速缓存表解决这个问题。
每个主机或路由器上都有一个 ARP 高速缓存表。这个高速缓 存表存放最近 Internet 地址到硬件地址之间的映射记录。高 速缓存表中每一项的生存时间有限,起始时间从被创建时开始 算起。
ARP高速缓存
1 ARP
B
5 Cache
A2
6
TCP
ARP、RARP协议基础知识
➢ 引言 ➢ 什么是ARP ➢ ARP工作原理 ➢ ARP高速缓存 ➢ ARP实用命令 ➢ ARP高速缓存-解析实例 ➢ 什么是RARP,及其分组格式、工
作原理
引言
在链路层上,主机和路由器用它们的物理 地址来标志,即48 bit物理地址。物理地 址是本地地址,在本地范围内是唯一的, 但是在全局上不一定,它通常用硬件实现。
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-封装
ARP/RARP分组直接封装在链路帧中
2 硬件 类型
0x0001
2 协议 类型
0x0800
字节
6
目的地址
1
1
2
6
4
6
4
硬件地 协议地 操作 发送者
发送者 目标
目标
址长度 址长度 类型 以太网地址 IP 地址 以太网地址 IP 地址
Arp只有两种封包:arp request和arp reply
ARP-工作原理
每台主机或路由器都有一个ARP缓存表,用来保 存IP地址与MAC地址的对应关系。
以主机A(192.168.1.5)向主机B (192.168.1.1)发送数据为例。当发送数据时, 主机A会在自己的ARP缓存表中寻找是否有目标 IP地址。如果找到了,也就知道了目标MAC地址, 直接把目标MAC地址写入帧里面发送就可以了;
arp -d inet_addr 删除由inet_addr所指定的表项。
arp -d *
删除所有表项
arp -s inet_addr phys_addr 增加由inet_addr和phys_addr
指定的静态表项。
说明ar:p /?
显示帮助
1、使用ARP命令查看高速缓存内容前最好先ping 此台主机或路由器。
主机 A
主机 B
IP 地址:196.168.27.20 物理地址:0x45EF695A263B
IP 地址:196.168.27.22 物理地址:0x45EF695A1716
位于同一子网的主机进行通信时的 ARP 应答处理
ARP高速缓存——解析实例(不同网络)
假设一台IP地址为172.16.1.9,子网掩码为255.255.255.0的客户机希望向 IP地址为 172.16.2.5的主机发送IP数据报。
6. 发送方硬件地址、发送 方协议地址、目的硬件 地址和目的协议地址:它 们是可变长度字段。源 和目的硬件地址对应以 太网都是48位地址。源 和目的协议地址对应 IPv4协议是32位地址。
ARP-分组格式
思考:各字段的填充值是什么?
对于一个 ARP 请求来说,除目的硬件 地址外的所有其他字段都有填充值。当 系统收到一份目的为本机的ARP 请求报 文后,它就把硬件地址填进去,然后用 两个发送端地址分别替换两个目的地址, 并把操作字段置为2,最后把它发送回去。
在网络层上,主机和路由器用逻辑地址来 标志,逻辑地址在互联网全局上是唯一的。 在TCP/IP协议族中称为IP地址,长度是32 位(IPv4)。
引言
在以太网协议中规定,同一局域网中的一台主机 要和另一台主机进行直接通信,必须要知道目标 主机的MAC地址。而在TCP/IP协议栈中,网络 层和传输层只关心目标主机的IP地址。这就导致 在以太网中使用IP协议时,数据链路层的以太网 协议接到上层IP协议提供的数据中,只包含目的 主机的IP地址。因此需要能够将逻辑地址和相应 的物理地址之间进行映射。完成这样的映射可使 用静态映射和动态映射。
引言
静态映射:创建一个表,存储逻辑地址和物理地址 的关联关系。然后将网络上的每个主机都存储这个 表。缺点是映射表必须周期的更新,增加了网络的 开销
动态映射:地址解析协议ARP和逆地址解析协议 RARP
32bit IP地址
ARP
RARP
48bit MAC地址
什么是ARP
ARP,Address Resolution Protocol即地址解析协议, 实现通过IP地址得知其物理地址。在TCP/IP网络环境 下,每个主机都分配了一个32位的IP地址,这种互联 网地址是在网际范围标识主机的一种逻辑地址。为了让 报文在物理网路上传送,必须知道对方目的主机的物理 地址。这样就存在把IP地址变换成物理地址的地址转换 问题。以以太网环境为例,为了正确地向目的主机传送 报文,必须把目的主机的32位IP地址转换成为48位以 太网的地址。这就需要在互连层有一组服务将IP地址转 换为相应物理地址,这组协议就是ARP协议。
ARP-工作原理
A收到B的回应包后便可得知B的MAC地址,将其存入 ARP缓存。此后A再向B发送数据时,就可以直接从缓 存表中查找B的地址了,然后直接把数据发送给B。
由于B在接收A的请求时也保存了A的地址信息,因此B 要向A发送数据也可以直接从缓存表中查找。
ARP缓存表设置了生存时间TTL,在一段时间内(一般 15到20分钟,跟操作系统有关)如果表中的某一行没 有使用,就会被删除,这样可以大大减少ARP缓存表的
UDP
3 ARP
Cache
C
4
IP ICMP IGMP ARP
Ethernet
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
(硬件)地址长度,即n的值。以太网是6。 4. 协议长度:8bit,定义以字节为单位的逻辑
相关主题