地址解析协议ARP和反向地址解析协议RARP
1.基本关系:
2.地址解析协议ARP的实现过程;
无论网络层使用什么协议,当在实际网络的链路上传输数据帧时,最终都必须使用硬件地址。
每台主机都有一个ARP缓存,其中包含局域网中每台主机和路由器的IP地址到硬件地址的映射表。
当主机A想要向局域网中的主机B发送一个IP数据报时,首先要检查其ARP缓存中是否有主机B的IP地址。如果是,可以找出它对应的硬件地址,然后把这个硬件地址写入MAC帧,再通过局域网把这个MAC帧发送到这个硬件地址。
3.3的作用。ARP缓存
为了减少网络上的流量,主机A在发送其ARP请求包时,会将其IP地址到硬件地址的映射写入到ARP请求包中。
当主机B收到主机A的ARP请求包时,会将主机A的这个地址映射写入主机B自己的ARP缓存中。主机B以后向A发送数据报更方便。
5.5注意到的问题。ARP协议:
ARP是为了解决同一局域网上的主机或路由器的IP地址和硬件地址之间的映射问题。
如果你要找的主机和源主机不在同一个局域网上,你应该通过ARP找到位于局域网上的一台路由器的硬件地址,然后将数据包发送到这台路由器,这样路由器就可以将数据包转发到下一个网络。剩下的将由下一个网络完成。
IP地址到硬件地址的解析是自动的,主机的用户不知道这个地址解析过程。
只要主机或路由器想要与该网络上具有已知IP地址的另一台主机或路由器通信,ARP协议就会自动将该IP地址解析为链路层所需的硬件地址。
6.使用ARP的四个典型案例
(1)发送方是主机,需要将IP数据报发送到该网络上的另一台主机。然后用ARP找到目的主机的硬件地址。
(2)发送方是主机,需要将IP数据报发送到另一个网络上的主机。然后使用ARP查找该网络中路由器的硬件地址。其余的工作由这台路由器完成。
(3)发送方是路由器,它会将IP数据报转发到该网络上的主机。然后用ARP找到目的主机的硬件地址。
(4)发送方是将IP数据报转发到另一网络上的主机的路由器。然后使用ARP查找该网络中路由器的硬件地址。其余的工作由这台路由器完成。
7.ARP数据报消息格式
网络上的每台主机或设备都有一个或多个IP地址。IP地址是网络层的地址,数据在这里被组装成IP数据包。但是,发送IP包需要物理设备(通常是以太网设备,我们在本课程设计中将其指定为以太网设备)的支持,即发送方在发送IP包之前必须知道目的物理地址,因此需要一种将IP地址映射到物理地址的机制。ARP协议用来完成这个任务。给定目的主机或设备的IP地址,ARP协议可以获得同一物理网络中目的主机或设备的物理地址。ARP协议的数据包格式如图1所示:
图1数据报的消息格式
下面描述数据包的每个部分。
硬件类型:指定硬件接口类型。例如,值1表示以太网。
协议类型:指定发送方支持的上层协议的类型。
物理地址长度:指定物理(硬件)地址的长度。
协议长度:网络层协议的地址长度。对于IP协议,其值为4。
操作:指定ARP的操作类型,例如1表示ARP请求,2表示ARP回复。
源地址:指发送方的IP地址。
目标物理地址:指定目标物理地址。
目标IP地址:指定目标IP地址。
ARP数据包必须封装在数据链路层,然后才能发送出去进行封装。
8.ARP协议工作流程
(1)首先,每台主机将在其ARP缓存中设置一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
(2)当源主机需要向目的主机发送数据包时,首先会检查其ARP列表中是否有与该IP地址对应的MAC地址,如果有,则直接将数据包发送到该MAC地址;如果不是,则向本地网段发送一个ARP请求的广播包,查询该目的主机对应的MAC地址。ARP请求包包括源主机的IP地址、硬件地址和目的主机的IP地址。
(3)网络中的所有主机收到这个ARP请求后,都会检查数据包中的目的IP是否与自己的IP地址一致。如果没有,忽略这个包;如果二者相同,主机先将发送方的MAC地址和IP地址添加到自己的ARP表中,如果该IP的信息已经存在于ARP表中,则将其覆盖,然后向源主机发送一个ARP响应包,告诉对方这是需要查找的MAC地址;
(4)源主机收到ARP响应包后,将目的主机的IP地址和MAC地址添加到自己的ARP列表中,并使用该信息开始数据传输。如果源主机没有收到ARP响应包,说明ARP查询失败。
9.反向地址解析协议RARP:
反向地址解析协议RARP使只知道自己硬件地址的主机知道自己的IP地址。
该主机通常是无盘工作站。因此,目前很少使用RARP协议。
10.RARP工作原理:
(1)网络上的每台设备都有一个唯一的硬件地址,通常是设备制造商分配的媒体访问控制地址。PC1从网卡读取MAC地址,然后在网络上发送RARP请求的广播数据包,请求RARP服务器回复PC的IP地址。
(2)RARP服务器接收RARP请求包,分配其IP地址,并向PC1发送RARP响应。
(3)PC1收到RARP响应后,使用获得的IP地址进行通信。
而ARP RARP请求是广播的,响应是单播的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。