ARP 协议工作过程是什么?

ARP 协议工作过程是什么?,第1张

当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。然后寻找IP地址到实际MAC地址的映射,这需要发送ARP广播消息。

当ARP找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将IP包封装到以太网帧中进行传送。如图所示,描述了ARP广播过程。

在图中,当主机A要和主机B通信(如主机A Ping主机B)时。主机A会先检查其ARP缓存内是否有主机B的MAC地址。如果没有,主机A会发送一个ARP请求广播包,此包内包含着其欲与之通信的主机的IP地址,也就是主机B的IP地址。

当主机B收到此广播后,会将自己的MAC地址利用ARP响应包传给主机A,并更新自己的ARP缓存,也就是同时将主机A的IP地址/MAC地址对保存起来,以供后面使用。

主机A在得到主机B的MAC地址后,就可以与主机B通信了。同时,主机A也将主机B的IP地址/MAC地址对保存在自己的ARP缓存内。

扩展资料:

ARP协议的基本功能

在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。

于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的某个端口的MAC地址。

于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP Proxy)。

参考资料:百度百科-ARP (地址解析协议)

Active

ARP是专业的ARP扫描检测程序,它运行于局域网中任何一台电脑上。可以检测到局域网中所有的非法ARP扫描,并可以发送干扰使对方的扫描软件失效。

Active

ARP能有效抑制局域网中非法ARP管理软件使用。是网管和广大局域网用户的好帮手。它能解决因网络中非法管理软件泛滥而导致整个网络无法上网的局面。同时它还具有网络数据包统计功能。高比下载

Active

ARP软件本身并不会主动发送任何数据,只有在检测到非法扫描时才会发送干扰数据迫使对方停止使用非法管理软件,因此使用本软件不会给网络造成混乱。

Active

ARP软件的使用是非常安全的,干扰数据随机生成的,对方无法定位Active

ARP使用者,也无法检测到Active

ARP

《ARP扫描检测程序1.0中文破解版》下载地址:

http://www1.gobee.cn/downinfo/8754.html

希望能帮到你~~

《Tcp/Ip协议簇》读书笔记

在IP协议能够把一个分组从源主机交付到目的主机之前,它首先要知道如何将这个分组交付给下一跳;

IP在使用数据链路层服务时,它就需要知道下一跳的物理地址;

通过 地址解析协议(ARP) 可以做到这一点。

目标:

互联网是由许多物理网络和一些像路由器这样的连网设备组成。从源主机出发的分组在最终到达目的主机之前,可能要经过多个物理网络。

在网络这一级,主机和路由器是通过它们的逻辑地址来识别的。

逻辑地址就是互联网地址,它管辖范围是全局,逻辑地址在全局上是唯一的。

在物理这一级,主机和路由器是用它们的物理地址来识别的。

物理地址是一个本地地址,它管辖范围是本地网络,物理地址在本地网络内必须唯一,全局则没有要求。

把一个分组交付到主机或路由器需要用到两级地址:逻辑地址和物理地址。我们要把逻辑地址映射为响应的物理地址,反之亦然。映射可通过静态或动态方法来实现。

静态映射(static mapping) ,就是将逻辑地址和物理地址关联起来,存储在网络中的每一台机器上;

动态映射(dynamic mapping) ,只要机器知道了另一台机器的逻辑地址,它就可以使用协议找出相应的物理地址;

地址解析协议(ARP ) 和 逆向地址解析协议(RARP)。

ARP协议接受来自IP协议的逻辑地址,将其映射为相应的物理地址,再把物理地址递交给数据链路层。

任何时候,当主机或路由器需要找出这个网络上的另一个主机或路由器的物理地址时,它就可以 广播 一个 ARP查询分组 ;

网络上的每一台主机或路由器都会接收并处理这个ARP查询分组,但只有目的接收方认出自己的IP并返回一个 ARP响应分组 。

ARP分组格式如下:

ARP分组直接封装在数据链路层帧中。

帧中类型字段指出此帧所携带的数据是ARP分组。

典型互联网中ARP工作步骤:

有一种技术称为代理ARP,可用于产生一种子网划分的效果。 代理ARP(proxy ARP) 是代表了一组主机的ARP。

当运行代理ARP的Router收到一个ARP请求,希望找出这些主机中的某一台主机的物理地址时,Router就返回一个宣布它自己的硬件地址的ARP响应分组。Router收到真正的IP分组后,再将这些分组发送给响应主机或路由器。

当IP分组要通过一个ATM广域网时,我们需要一种协议来映射ATM广域网中给定的IP地址的离去点路由器的物理地址;

但是,局域网和ATM网络有一些区别。局域网是个广播网络(在链路层),但ATM网络不是一个广播网络,因此要处理这个任务需要其他解决办法。

ATMARP分组格式如下:

有两种方法可以连接ATM上的两个路由器: 永久虚电路(PVC)和 交换虚电路(SVC) ,ATMARP *** 作取决于连接方法。

永久虚电路(PVC)连接是由网络提供者在两个端点之间建立的。这些永久连接都指定了 VPI 和 VCI,且它们的数值被保存在每一个交换机的路由表中。

在PVC的情况下,反向请求报文和反向回答报文可以把物理地址和IP地址绑定起来。

反向请求报文,将自己的IP地址和物理地址告知对方;反向响应报文也是。

交换过报文后,两个路由器都增加了一个表项,将物理地址映射到PVC。

在使用交换虚电路(SVC)连接的情况下,路由器每一次想和另一个路由器(或主机)建立连接时,都必须建立一条新的虚电路。但是,仅当进入点Router知道离去点Router的物理地址时,这条虚电路才能建立(ATM不认识IP地址)。

要把IP地址映射为物理地址,每一个Router必须运行客户ATMARP程序,但只有一个计算机运行ATMARP服务器程序。

ATM是非广播网络,一个ATMARP请求报文不可能到达这个网络上的所有路由器。

建立虚连接的过程需要3个步骤:连接服务器、收到物理地址、建立连接。

连接服务器 通常,每一个路由器和服务器之间都建立了一条永久虚电路;

收到物理地址 如果进入点Router和服务器之间有一条连接,那么路由器就向服务器发送ATMARP请求报文。如果服务器能够找到相应的物理地址,就返回ATMARP响应报文;否则就返回ATMARP NACK报文,进入点Router收到 NACK报文,就丢弃这个数据报;

建立虚电路 在进入点Router收到离去点Router的物理地址后,它就能够请求在自己和离去Router之间建立一条SVC。ATM网络利用这两个物理地址建立虚电路,这条虚电路一致持续到进入点Router要求断开连接为止。

在SVC情况下,用请求报文和回答报文可以将物理地址和IP地址绑定。

建立映射表 当路由器第一次连接到ATM网络上时,在路由器和服务器之间就建立起一条永久虚电路,服务器向该路由器发送一个反向请求报文,路由器则返回一个反向响应报文。

有了这两个地址,服务器就能在它的路由表中建立一个表项,以便今后当这个路由器做为离去点路由器时能够用得上。

反向请求和反向响应报文也可用来构建服务器的映射表。

逻辑子网地址(Logical IP Subnet) ,一个大的局域网可以划分为若干个子网,同样,一个ATM网络也可划分为若干个逻辑上(非物理上)的子网。这样做方便 ATMARP 以及其他一些 需要在ATM网络上模拟广播 *** 作的协议(如IGMP)。

连接在ATM网络上的Router可以属于一个或多个逻辑子网。

属于同一个逻辑子网的Router共享相同的前缀和子网掩码;

要使用ATMARP,各个子网中必须有一个独立的ATMARP服务器。

我们可以假设ARP软件包由以下五个构件构成: 高速缓存表(cache table),队列,输出模块,输入模块和高速缓存控制模块

这个软件包接收的是即将被封装成帧而需要一个物理地址的IP数据报。如果ARP软件包找到了物理地址,它就把这个IP分组和物理地址一起交付给数据链路层以便传输。

发送方往往不止一个IP数据报需要发送,如果对发送到同一个主机或路由器的每一个数据报都使用一次ARP协议,显然效率很低。解决办法就是高速缓存表。

当主机或路由器收到一个IP数据报响应的物理地址时,就可以把这个物理地址存储在高速缓存表中。但是,由于高速缓存表的空间非常有限,表中的映射关系可能只有几分钟。

高速缓存表以表项数组的形式实现,每个表项包含以下一些字段:

ARP软件包维持着一组队列,每个队列对应于一个终点,用来在ARP尝试解析硬件地址时保留IP分组。

输出模块把未解析的分组发送到相应的队列(queue),输入模块从队列中取出分组,并连同解析出物理地址一起发送给数据链路层传输。

高速缓存控制模块(Cache-Control Module)负责维护高速缓存表。

专门讨论ARP的RFC包括: RFC826 , RFC1029 , RFC1166 和 RFC1981


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7791671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存