java中arp协议的工作原理是什么?RARP的是什么?

BSO 2020-11-19 14:50:16 java常见问答 7522

java中的基础知识是非常多的,尤其是很多协议的工作原理更是内容丰富到让人头大,掌握起来也是有点难度的。那么,今天我们就一起来了解一下有关知识吧。

首先说一下,java中arp协议的工作原理是什么?

1.地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

⑴发送ARP请求的以太网数据帧广播到以太网上的每个主机,ARP请求帧中包含了目的主机的IP地址。

⑵目的主机收到了该ARP请求之后,会发送一个ARP应答,里面包含了目的主机的MAC地址。

2.ARP协议工作原理:

每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等), 会发送免费ARP报文把自己IP地址与Mac地址的映射关系广播给其他主机。

网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。

当某个主机需要发送报文时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址等。

当本网络的所有主机收到该ARP数据包时:

(A)首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包。

(B)如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖。

(C) 然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

然后源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。ARP高速缓存(即ARP表)是ARP地址解析协议能够高效运行的关键。

接下来介绍一下RARP的工作原理

首先说一下含义:

反向地址转换协议,网络层协议,RARP与ARP工作方式相反。RARP使只知道自己硬件地址的主机能够知道其IP地址。RARP发出要反向解释的物理地址并希望返回其IP地址,应答包括能够提供所需信息的RARP服务器发出的IP地址。

原理主要如下:

(1)网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的MAC地址。主机从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求RARP服务器回复该主机的IP地址。

(2)RARP服务器收到了RARP请求数据包,为其分配IP地址,并将RARP回应发送给主机。

(3)P收到RARP回应后,就使用得到的IP地址进行通讯。

以上就是关于java中arp协议的工作原理是什么以及RARP的工作原理是什么的主要内容了。具体的知识还是比较繁多的。如果你对java知识感兴趣,想要了解更多常见问题以及java基础,敬请关注奇Q工具网。

推荐阅读:

java多态原理是什么?包括哪些内容?

java中CopyOnWrite容器是什么?实现原理是什么?

java中SSM框架面试题,IOC和AOP底层实现原理