网络协议基础:ARP简析

网络 网络管理
ARP为IP地址到对应的硬件地址之间提供动态映射。RARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置。

关于ARP的简述

ARP:Address Resolution Protocol 地址解析协议。

RARP:Reverse Address Resolution Protocol 逆向地址解析协议。

不同的网络,如以太网,令牌网...,在数据链路层都有不同的寻址机制。

在以太网的局域网中,一台主机和另外一台主机通信发包,是根据48bit的以太网地址来确定目的接口的,设备驱动程序从不检查IP数据报中的目的IP地址。

地址解析协议(ARP)为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层48bit地址的转换。RFC 826[Plummer1982]是ARP规范描述文档。

ARP为IP地址到对应的硬件地址之间提供动态映射。RARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置。

ARP通信过程解析:

(1).比如在一个局域网上,一台主机A(192.168.0.12)要访问机器B(192.168.0.11)。他会发送一份称作ARP请求的以太网数据帧给以太网上的每个主机(广播包)。ARP请求数据帧中包含目的主机的IP地址,意思就是:“如果你是这个IP地址的拥有者,请回答你的硬件地址。”

(2).目的主机收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个ARP应答。这个ARP应答包含IP地址及对应的硬件地址。(非广播)

(3).收到ARP应答后,系统的ARP缓存便会记录MAC-IP的对应信息(ARP攻击点),在CMD里打ARP -a便可查询现在机器的ARP缓存情况。现在IP数据报现在就可以传送了。

在ARP背后有一个基本概念,那就是网络接口有一个硬件地址(一个48bit的值,标识不同的以太网或令牌环网络接口)。在硬件层次上进行的数据帧交换必须有正确的接口地址。但是,TCP/IP有自己的地址:32 bit的IP地址。

知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。

值得注意:

ARP协议是不可靠和无连接的,通常即使主机没有发出ARP请求,也会接受发给它的 ARP回应,并将回应的mac和ip对应关系放入自己的ARP缓存中。此外,内核为2.4.x的linux系统在ARP实现中,考虑到了ARP欺骗,不会接受未经请求的ARP回应,因此直接向这种系统发送ARP reply也是无效的,不过,有意思的是虽然它不会接受未经请求的ARP reply,但是只要接收到ARP的request,它就会更新自己的ARP缓存。

【编辑推荐】

  1. 用最简单网络 学习IP和ARP协议
  2. 路由器故障:静态ARP配置不生效
  3. 网络命令学习基础之Arp
  4. 网络安全之ARP攻击与防御在网络中的应用
  5. 无线路由器ARP攻击的处理
责任编辑:佚名 来源: 博客园
相关推荐

2010-09-10 09:52:44

开源协议栈

2010-09-08 16:25:39

SIP协议栈

2015-05-13 10:36:43

2010-06-09 15:23:25

2010-06-18 14:06:03

AMF协议

2010-12-20 10:56:32

Linux网络性能优化

2023-12-17 14:43:17

2010-05-31 16:59:28

IPv6协议

2010-09-09 16:42:18

嵌入式IPv6协议栈

2009-09-09 16:21:13

.NET序列化基础知识

2011-07-12 14:04:58

2014-05-04 13:47:39

锐捷网络极简网络

2023-12-18 12:19:27

2010-04-06 15:33:45

CDMA无线网络优化

2010-06-13 13:17:11

TCP IP协议

2010-09-28 10:34:06

无线网络互联

2010-06-12 17:48:38

ARP协议

2011-06-02 10:28:15

网络命令Arp

2009-06-08 21:25:29

Java声音技术

2014-06-11 13:25:14

IPARPRARP
点赞
收藏

51CTO技术栈公众号