地址解析协议ARP

原创 2016年08月29日 23:50:25

地址解析协议ARP概念

我们经常会遇到一个问题,知道一个主机或路由器的IP地址怎样找到它的硬件地址呢?ARP协议就是用来从IP地址解析出在数据链路层使用的硬件地址。

网络层

ARP协议要点

那么存在一个问题,ip地址只有32位,而硬件地址是48位,二者格式不同因而并不存在简单的映射关系。能够映射是在主机ARP高速缓存中存在一个映射表—这个映射表存在从ip到硬件地址的映射。

映射表

那么我们可以根据自己的ip地址去映射表里面查找相应的硬件地址。但是存在一个问题,如果这个映射表里面刚好没有这个ip地址,那么也就不存在相应的映射。
此时,ARP会按照下面步骤来找到相应ip的硬件地址

请求过程

1). ARP进程在本局域网广播发送一个请求,内容为“我的ip是127.0.0.1,我的硬件地址是 00-00-C0-15-AD-18,我想知道ip地址为127.0.0.2的硬件地址”。
2).在本地局域网广播这个请求。
3).D发现自己的ip就是A要找的,就相应A的请求,并且以单播的形式告诉A自己的硬件地址。(同时D也保存着A的ip和硬件地址,以备后用)
4).A收到D发来的硬件地址就存入自己的映射表中。

存在问题

1.在ARP保存的映射地址都设置有一个生存时间,但凡超过这个时间,就会被删除,之后要用的话还是得重新去查找。
2.如果不在局域网呢?那么此时需要通过路由器来转发。

总结

ARP典型情况如下:

1.发送方是主机,要把ip数据报发送个同一网络上另外一个主机,这时通过ARP转发分组找到另一个主机的硬件地址。
2.发送方是主机要把ip数据报发送给另一个网络的主机上,要通过路由器,找到路由器硬件地址,接下来任务交给路由器就行了。
3.发送方是路由器,要把ip数据报发送给同一网络上的主机,这时路由器通过转发分组找到主机的硬件地址就可以了。
4.发送方是路由器要把ip数据报发送到另一个网络上的主机上。这时再找另外一个路由器请求分组得到硬件地址,此时吧任务交给这个路由器就行了。

为什么不直接使用硬件地址

抽象的ip地址本来就是为了隐蔽各种底层网络复杂性而便于分析研究问题,而设计出来的。只有主机拥有统一ip地址,他们之间的通信才能像连接在同一个网络上那样简单方便。这样不可避免的要付出些代价,牺牲点什么。

个人觉得ip层做的统一格式,屏蔽所有异构型网络就犹如:书同文,车同轨,意义长远。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

arp地址解析协议

  • 2015年04月29日 16:05
  • 69KB
  • 下载

ARP地址解析协议分析

  • 2012年04月10日 16:47
  • 151KB
  • 下载

地址解析协议(ARP)的学习(通过wireshark抓包分析)

看看维基百科的解释 地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必...

Arp地址解析协议

  • 2016年01月04日 11:07
  • 593KB
  • 下载

验证地址解析协议ARP的工作过程

  • 2012年02月24日 15:18
  • 1.05MB
  • 下载

TCP/IP详解 卷一 ---------ARP地址解析协议

1、ARP作用------地址解析协议 为IP地址到对应的硬件地址之间提供动态映射(硬件地址:一般是从IP地址到MAC地址,也可以是其他类型的网络的地址,即从32位地址到48位地址),本文主要针对...

计算机网络\地址解析协议ARP.ppt )

  • 2011年09月14日 23:26
  • 573KB
  • 下载

(4)ARP:地址解析协议

一、简介     ARP为IP地址到对应的硬件地址之间提供动态映射。之所以称为动态是因为这个过程是自动完成的。一般应用程序用户或系统管理员不必关心。RARP是被那些没有磁盘驱动器的系统使用,它需要系统...
  • ddppqq
  • ddppqq
  • 2013年10月11日 19:28
  • 814
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:地址解析协议ARP
举报原因:
原因补充:

(最多只允许输入30个字)