计算机网路之ARP协议初见

今天在做题的时候发现ARP协议不是很懂,于是我去搜了一些资料,学习了一下,这里记录一下自己的总结。

一、为什么会有ARP协议的产生呢?

答:这是因为在直接相连的网络中,两个节点是利用彼此的MAC地址互相传送帧的。但是当网络层数据报交付给源端系统时,该端系统只能获得目的端系统的ip地址,依然不能进行数据的传送,所以需要一个协议来根据已知的ip地址获得对应得MAC地址,这个时候就产生了ARP协议,ARP协议将解析到的目的IP和MAC地址存储在本地的ARP缓冲中(地址映射表),供下次使用。ARP全称是:Address Resolution protocol (地址解析协议)。

二、ARP适用于哪些场景呢?

答:1. 两个端系统位于同一个子网,这种情况下只需要简单的进行子网内部的ARP即可获得目的MAC地址;2. 两个端系统位于不同的子网内部,需要在路由器之间进行转发,比前一个复杂,不过依然使用的是ARP协议。

三、地址解析需要哪些步骤?

答:1.两个端系统在同一个子网内部时:

源端系统A的IP:10.10.10.1

源端系统A的MAC:11-11-11-11-11-11

目的端系统B的IP:10.10.10.3

目的端系统B的MAC:22-22-22-22-22-22

a.首先在源端系统的ARP缓冲中查找是否有目的端的地址映射表,如果有,那么就可以直接传送数据而不用ARP解析地址

b.如果没有的话,那么源端系统A以广播的方式发起一个ARP请求分组,ARP请求分组的内容是:“我的IP地址是10.10.10.1,MAC地址是11-11-11-11-11-11,请IP地址为10.10.10.3的端系统告诉我你的MAC地址“

c.子网中所有运行ARP进程的端系统都会收到这个ARP请求分组,如果其他的端系统收到后检查不是自己的IP,便会丢弃该ARP请求

d.如果端系统B收到后。检查发现是自己的IP地址,B就会响应A的请求,给A单播自己的MAC地址,回应的内容大致是:“我的IP地址是10.10.10.3,MAC地址是22-22-22-22-22-22”。并且将A的IP和MAC地址存储在B的ARP缓冲中

e.端系统A收到端系统B给自己的响应分组后,将B的IP到MAC地址的映射存储在本地的ARP表中

当下次A再次向B发送数据时,就不用再执行上边的ARP过程了。

2.两个端系统位于不同的子网内部时:

      源端系统A的IP地址:10.10.10.1

源端系统A的MAC地址:11-11-11-11-11-11

所在的路由器左接口的IP:10.10.10.4

所在的路由器左接口的MAC:44-44-44-44-44-44

        所在路由器右接口的IP地址:10.10.11.6

所在路由器右接口的MAC地址:66-66-66-66-66-66

目的端系统B的IP地址:10.10.11.5

目的端系统B的MAC地址:55-55-55-55-55-55

a.端系统A首先利用子网的网络地址和目的端所在的网络地址进行比较,发现并没有在一个子网内,因此,端A首先将获得路由器的左接口的MAC地址,因为他本身配置默认网关的IP地址,所以A以广播的形式发起一个ARP请求,获得了网关(路由器的左接口)的MAC地址

b.端系统A与该路由器的左接口进行数据帧的传送(包括了A向B的ARP请求,有自己的IP、MAC、还有目的B的IP)

c.该子网的路由器适配器发现有链路层数据帧寻址,就将此数据帧向上传递给路由器的网络层,此时,该路由器通过路由转发表将该数据报转发到了正确的接口(路由器的右接口)

d.右接口将ARP数据报中的目的IP与该子网内的网络地址进行比较,发现是同一子网,于是该接口以广播的形式发起一个ARP请求,接收到B的MAC地址后,路由器右侧的接口向端系统B发送数据帧。

至此,完成了源端系统向目的端系统发送数据的过程。

注意:如果源端系统和目的端系统之间有多个路由器的话,可多次重复步骤3

四、ARP表中的地址映射是固定的吗?或者说如果是固定的话会不会有其他的隐患呢?

答:ARP表中的地址需要动态的更新,不是固定的。必然存在隐患。为什么呢?一端系统接口的MAC地址是固定的,但是IP地址一定是固定的吗?当然不是;二、端系统更换接口卡,或者一个端系统未开机的情况下,他的地址映射表是变化的,所以我们需要动态的更新映射的内容。如果该映射表中的内容是固定不变的话,那么如果一个端系统C改变了自己使用的网络适配器,那么当端系统A向端系统C发送数据帧时,就会发送到以前的MAC地址上,造成通信失败,故ARP协议中采用了寿命值的方法对存储的ARP表中的映射进行设置寿命(TTL 值为10~20分钟),超时就会从ARP表中删除该表项,重新进行ARP过程。

五、ARP有没有什么风险?

答:有,因为这个协议建立在端系统之间相互信任的基础上,所以当ARP请求发起时,端系统之间会不用检查直接存储在本地的ARP缓冲中,这样就有攻击者趁机进行ARP欺骗。首先,它会以目的端系统对ARP请求进行响应,将自己的AMC地址发送给源端系统,而源端系统接收到MAC地址后又不会进行检查,而是直接将IP和MAC的映射存储在本地的缓冲中,这样以后每次源端向目的端发送数据帧,都会经过攻击者的端系统。这个就是著名的ARP欺骗。

六、有没有什么措施可以防御ARP欺骗的?

答:1.不要将信任建立在IP或者AMC上,而应该建立在IP+MAC上

2.管理员定期用响应的IP包中获得一个RARP请求,然后检查ARP响应的真实性

3.使用硬件屏蔽主机,设置好路由,确保IP地址到达合法的路径,注意:使用交换集线器和网桥无法阻止ARP欺骗

4.使用防火墙链接监控网络

5.若感染了ARP病毒,可以清空ARP缓存、指定ARP对应关系、添加路由信息、使用防病毒软件等方式解决。

七、什么是RARP?

答:反向地址转换协议,是局域网的物理机器从网关服务器的ARP表中或者缓存中根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。

时间: 2024-10-06 05:59:08

计算机网路之ARP协议初见的相关文章

ARP协议

ARP协议 原文地址:http://blog.csdn.net/tigerjibo/article/details/7351992#t4 前言:ARP协议的作用: 1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址. 2为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface

ARP协议分析

前言:ARP协议的作用 1.什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址. 2.为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址在第二层. 协议在发生数据包时,首先要封装第三层 (IP地址)和第二层 (MAC地址)的报头, 但协议只

arp协议及运用

Arp协议和Arp欺骗 今天更深入了解网络的传输的原理.如两台计算机建立连接的过程:两台计算机之间通信,在数据链路层转发靠MAC地址,在网络传输则靠IP地址.但是在两台计算机建立连接之前,只知道对方的IP地址,那么要怎么样获取对方的MAC地址呢? 这时就要先发一个ARP数据包,来获取对方的MAC地址. 地址解析协议, 即ARP(AddressResolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主

ARP协议详解

ARP协议简介 IP地址属于网络层,但ip地址在传输的时候需要跨越不同的物理网络进行交换,此时如果一台主机要将一个帧发送到另一台主机,光知道其ip地址是不够的,还需要知道其有效的“硬件地址”. ARP(地址解析协议)就提供了一种在32位IPv4地址和以太网的48位MAC地址(硬件地址)之间的映射. ARP提供的是网络层地址到相关硬件地址的“动态映射”,即:会自动执行和随时间变化,而不需要系统管理员的配置.(如一台一台主机改变了它的网卡后(mac地址改变),ARP可以在一定延时后继续正常工作) 整

Lvs原理及部署之ARP协议

1.什么使ARP协议 ARP协议,全称"Address Resolution Protocol" ,中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应的物理地址(MAC地址). 在TCP/IP的网络环境下,每个联网的主机都会被分配一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址.为了让报文在物理网络上传输,还必须要知道对方目的主机的物理地址(MAC)才行.这样就存在把IP地址转换成物理地址的地址转换的问题. 我们以以太网环境为例说明,为了正确地向目的主

计算机网路体系结构

计算机网络的问题主要是解决异地独立工作的计算机之间如何进行正确.可靠的通信,计算机网络体系结构的模式正是为解决计算机网络这一关键问题而设计的. 对于计算机网络的体系结构,首先要明确两个概念--协议和接口.协议是指同层实体之间的规则,协议包括三个要素:语法.语义.时序规则.而接口又称为服务访问点,协议和层次的集合统称为服务访问点. 国际标准化组织经过多年的努力,在1984年提出了"开放互连参考模型".下面就来介绍一下ISO/OSI参考模型的分层结构: ISO把OSI参考模型分为七层,物理

ARP协议详解之ARP动态与静态条目的生命周期

ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q  每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生命周期也被称为超时值. q  延长规则:当ARP条目已存在,使用该条目后,将会重设超时值为两分钟. [实例1-12]下面将验证动态条目的生命周期是两分钟.具体操作步骤如下所示: (1)查看本机的ARP缓存表.执行命令如下所示: C:\Documents and Settings\Administra

ARP协议概述

数据链路如以太网.令牌环网都有自己的一套寻址机制(通常为48bit地址),这是使用数据链路的任何网络层必须遵循的. 当一台主机把以太网的数据帧发送到同一局域网上的另一台主机上时,是通过48bit的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址. 地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的协议. ARP协议为IP地址到对应的硬件地址之间提供动态映射.(动态表示这个过程自动完成,一般应用程序或系统管理员不必关心) ARP背后有

ARP协议详解之Gratuitous ARP(免费ARP)

ARP协议详解之Gratuitous ARP(免费ARP) Gratuitous ARP(免费ARP) Gratuitous ARP也称为免费ARP,无故ARP.Gratuitous ARP不同于一般的ARP请求,它并非期待得到IP对应的MAC地址,而是当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的IP地址的MAC地址. 免费ARP的产生 免费ARP数据包是主机发送ARP查找自己的IP地址.通常,它发生在系统引导期间进行接口配置的时候.这里可以使用Wireshark捕