加载中...
加载中...
地址转换协议ARP

地址转换协议ARP 原创

一、理论基础

 ARP协议简介

Internet是由各种各样的物理网络通过使用诸如路由器之类的设备连接在一起组成的。当主机发送一个数据包到另一台主机的过程中 可能要经过多种不同的物理网络。主机和路由器都是在网络层通过IP地址来识别的,这个地址是在全世界内唯一的。 然而,数据包是通过物理网络传递的。在物理网络中,主机和路由器通过其MAC地址来识别的,其范围限于本地网络中。 MAC地址和IP地址是两种不同的标识符。这就意味着将一个分组传递到一个主机或路由器需要进行两级寻址:IP和MAC。需要能将一个 IP地址映射到相应的MAC地址。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。 所谓“地址解析”就是主机在发送帧前将目标网络层地址转换成目标物理地址的过程。在使用TCP/IP协议的以太网中,即完成将IP地址映射到MAC地址的过程——使用ARP协议通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP报文格式

ARP报文格式如下:  


ARP的运行过程

在因特网中,数据报传递过程中包括如下步骤:  

1、发送者知道目标端的IP地址
2、IP要求ARP创建一个ARP请求报文,其中包含了发送方的物理地址、发送方的IP地址和目标端的IP地址。目标的物理地址用0填充。
3、将报文传递到数据链路层,并在该层中用发送方的物理地址作为源地址,用物理广播地址作为目的地址,将其封装在一个帧中。
4、同一链路中的每个主机或路由器都接收到这个帧,因为该帧中包含了一个广播目的地址,所有的站点都对报文进行移交,并将其传递到ARP。除了目标机器以外的所有机器都丢弃该报文。目标机器对IP地址进行识别。
5、目标机器用一个包含其物理地址的ARP响应报文做出响应,并对该报文进行单播。
6、发送方接收到一个响应报文,这样它就知道了目标机器的物理地址。
7、这样就可以将携带目标机器数据的IP数据报封装在一个帧中,并单播到目的地址。

ARP缓存

实际上,在真正的协议实现中,并不是每次发送IP报文前都需要发送ARP请求报文来获取目的MAC地址。在大多数的系统中都存在着一个 ARP缓存表。记录着已经获取的MAC地址和IP地址的映射关系,如下图:

  发送IP报文前总是先对ARP缓存表进行查找,看是否目标MAC地址存在于缓存表中,如果存在, 则不需要发送ARP请求报文而直接使用此地址进行IP报文的发送。如果不存在,则发送ARP请求报文,并将结果存于ARP缓存表中供以后使用。

另外,ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度, 加快查询速度。 

ARP代理

ARP本身无法跨跃不同网段。当数据要发往外部网络时,通常是首先使用ARP请求网关路由器的MAC地址,之后将数据发往网关路由器, 由网关路由器进行转发(动画演示)。 

子网和网段之间是什么关系?  

1、网段是一个范围,是一个网中所有的主机,例如,从192.168.0.1到192.168.255.255这之间就是一个网段。

2、子网是划分出来的一个网。普通的A,B,C三类地址中,一个网络中分配的主机数太多了,所以可以再划分子网。用IP地址与度子网掩码与操作,得到的就是代表该网的一个IP地址。这个地址不是问用在主机上,是代表这个网络在路由的路答径选择上起作用。 

同一子网内的ARP应用


不同网段的ARP应用


但有时由于管理或地域等原因,我们的内部网络又会划分为很多子网,这时我们可以通过修改网络内每台主机的本地路由,使发往其它子网的数据发送到连接两个子网的路由器, 再由路由器转发。但这样也许并不是一个易于管理和维护的方案。我们可以使用ARP代理使子网的划分对每台主机更加透明化。ARP代理的工作原理很简单:
当ARP请求是从一个网络的主机发往另一个网络的主机时,启用ARP代理的连接这两个网络的路由器将回答该请求,使请求的发送者误以为此路由器就是目标主机, 而将所有数据帧发送到此路由器。路由器在收到数据帧后,再将其转发到真正的目标主机(动画演示)。
ARP代理实际上是使用了简单的欺骗手段,使网络内的主机错误的认为目标主机与自己处于同一网段内,从而达到了透明化子网划分的目的。  

 

实验说明

实验目的
  1. 掌握ARP协议的报文格式
2. 掌握ARP协议的工作原理
3. 理解ARP高速缓存的作用
实验学时
  建议2学时
实验类型
  验证性实验

实验原理

 实验原理

一、 使用IP协议的以太网中ARP报文格式 

 

 字段说明:

硬件类型:表示硬件类型,例如:1表示以太网。
协议类型:表示要映射的协议类型,例如 0x0800表示IP地址。
硬件长度:指明硬件地址长度,单位是字节,MAC是48位,长度是6个字节。
协议长度:高层协议地址的长度,对于IP地址,长度是4个字节。
操作字段:共有二种操作类型,1表示ARP请求,2表示ARP应答。
发送方MAC:6个字节的发送方MAC地址。
发送方IP: 4个字节的发送方IP地址。
目的MAC:6个字节的目的MAC地址。
目的IP: 4个字节的目的IP地址。

二、 ARP地址解析过程 图示


网络结构

实验环境配置
  本实验采用网络结构二。 其中主机B、主机E运行协议仿真编辑器,主机A、主机C、主机D、主机F 运行协议分析器;主机A启用路由服务做路由器使用。 


实验步骤

主机B启动静态路由服务(方法:在命令行方式下,输入“staticroute_config”)。按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:领略真实的ARP(同一子网)
  主机A、B、C、D、E、F在命令行下运行“arp -a”命令,察看ARP高速缓存表,并回答以下问题:
ARP高速缓存表由哪几项组成?
主机A、B、C、D启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。
主机A、B、C、D在命令行下运行“arp -d”命令,清空ARP高速缓存。
主机A ping 主机D(172.16.1.4)。
主机A、B、C、D停止捕获数据,并立即在命令行下运行“arp -a”命令察看ARP高速缓存。
结合协议分析器上采集到的ARP报文和ARP高速缓存表中新增加的条目,简述ARP协议的报文交互过程以及ARP高 速缓存表的更新过程。



没有更多推荐了 [去首页]
image
文章
357
原创
284
转载
73
翻译
0
访问量
199056
喜欢
47
粉丝
6
码龄
5年
资源
0

文章目录

加载中...
0
1