ARP协议学习(三)
- 格式:ppt
- 大小:1.64 MB
- 文档页数:32
arp协议功能ARP(Address Resolution Protocol)是一种用于将网络层IP地址解析为物理层MAC地址的协议。
其主要功能是通过在本地网络中广播查询请求,来获取一个IP地址对应的MAC地址,以便进行数据包的传输。
ARP协议的主要功能包括:1. IP地址与MAC地址的映射:ARP协议通过将网络层的IP地址映射到物理层的MAC地址,实现了不同层之间的通信。
ARP协议会通过广播查询本地网络中目标IP地址对应的MAC地址,然后将该映射关系存储到本地的ARP缓存中,以便后续的数据包传输。
2. ARP查询与响应:当主机A需要向主机B发送数据包时,会通过ARP协议查询主机B的MAC地址。
主机A会向本地网络中广播一个ARP请求,请求的内容包括主机A的IP地址和MAC地址,以及目标IP地址。
当主机B接收到这个ARP请求后,会检查请求中的目标IP地址是否与自己的IP地址相匹配,如果匹配,则会向主机A发送一个ARP响应,包括自己的IP地址和MAC地址。
主机A收到响应后,可以将主机B的IP地址与MAC地址的映射关系存储到本地ARP缓存中,以便后续的通信。
3. ARP缓存管理:为了减少ARP请求和响应的次数,ARP协议会将查询到的IP地址与MAC地址的映射关系存储在本地ARP缓存中。
当主机收到一个数据包时,会首先检查本地的ARP缓存,查找目标IP地址对应的MAC地址。
如果找到了对应的MAC地址,则直接使用该地址进行数据包的传输;如果没有找到对应的MAC地址,则需要进行ARP查询,获取对应的MAC地址。
4. ARP欺骗检测:ARP协议的一个重要功能是检测和防止ARP欺骗攻击。
ARP欺骗是指攻击者通过发送虚假的ARP响应,欺骗目标主机将目标IP地址与攻击者的MAC地址进行映射。
为了防止ARP欺骗,主机可以定期发送ARP请求,检查本地的ARP缓存是否被篡改;另外,网络设备也可以使用ARP防火墙等安全技术来检测和过滤虚假的ARP响应。
unsigned long arp_tpa; /* 目标的协议地址*/}ARPHDR,*PARPHDR;为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。
这里举一个简单的PING例子。
假设我们的计算机IP地址是192.168.1.1 ,要执行这个命令:ping192.168.1.2 。
该命令会通过ICMP协议发送ICMP数据包。
该过程需要经过下面的步骤:1、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);2、内核检查是否能够转化该IP地址为MACM址,也就是在本地的ARP 缓存中查看IP-MAC对应表[1] ;3、如果存在该IP-MAC对应关系,那么跳到步骤7;如果不存在该IP-MAC 对应关系,那么接续下面的步骤;4、内核进行ARP广播,目的地的MACM址是FF-FF-FF-FF-FF-FF , ARP 命令类型为REQUEST1),其中包含有自己的MACM址;5、当192.168.1.2 主机接收到该ARP请求后,就发送一个ARP的REPLY (2)命令,其中包含自己的MAC也址;6、本地获得192.168.1.2 主机的IP-MAC地址对应关系,并保存到ARP 缓存中;7、内核将把IP转化为MACM址,然后封装在以太网头结构中,再把数据发送出去;使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING 命令后,ARP缓存就会存在一个目的IP的记录了。
当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC 地址对应的记录。
知道了ARP协议的作用,就能够很活楚地知道,数据包的向外传输很依靠ARP协议,当然,也就是依赖ARP缓存。
要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。
同时需要注意的是,ARP协议只使用丁本网络。
2. ARP协议的利用和相关原理介绍。
一、交换网络的嗅探ARP协议并不只在发送了ARP请求才接收ARP应答。
图解ARP协议前置知识:MAC地址在说到ARP协议之前,需要了解MAC地址,在OSI七层模型中,第三层是⽹络层,要解决的是下⼀跳机制确定的设备位置,具体来说就是⽹卡地址,MAC地址⽤于在⽹络中唯⼀标⽰⼀个,⼀台设备若有⼀或多个⽹卡,则每个⽹卡都需要并有⼀个唯⼀的MAC地址。
MAC地址格式MAC地址共48位(6个字节),以⼗六进制表⽰。
第1Bit为⼴播地址(0)/群播地址(1),第2Bit为⼴域地址(0)/区域地址(1)。
前3~24位由IEEE决定如何分配给每⼀家制造商,且不重复,后24位由实际⽣产该⽹络设备的⼚商⾃⾏指定且不重复。
ff:ff:ff:ff:ff:ff则作为⼴播地址。
01:xx:xx:xx:xx:xx是多播地址,01:00:5e:xx:xx:xx是IPv4多播地址。
ARP协议简介地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是⼀个通过解析⽹络层地址来找寻数据链路层地址的⽹络传输协议,它在IPv4中极其重要。
ARP是通过⽹络地址来定位MAC地址。
ARP已经在很多⽹路层和数据链接层之间得以实现,包括IPv4,Chaosnet, DECnet和Xerox PARC Universal Packet(PUP)使⽤IEEE 802标准, 光纤分布式数据接⼝, X.25, 帧中继和异步传输模式(ATM),IEEE 802.3和IEEE 802.11标准上IPv4占了多数流量。
在IPv6中,邻居发现协议(NDP)⽤于代替地址解析协议(ARP)。
ARP功能在以太⽹协议中规定,同⼀局域⽹中的⼀台主机要和另⼀台主机进⾏直接通信,必须要知道⽬标主机的MAC地址。
⽽在TCP/IP协议中,⽹络层和传输层只关⼼⽬标主机的IP地址。
这就导致在以太⽹中使⽤IP协议时,数据链路层的以太⽹协议接到上层IP协议提供的数据中,只包含⽬的主机的IP地址。
于是需要⼀种⽅法,根据⽬的主机的IP地址,获得其MAC地址。
arp协议的工作原理ARP(Address Resolution Protocol,地址解析协议)是用于在局域网中将IP地址解析为MAC地址的一种协议。
其工作原理如下:首先,当一个设备想要与另一个设备通信时,在发送数据包之前,需要知道对方的MAC地址。
而通常情况下,设备只知道目标的IP地址,不知道对应的MAC地址。
当一个设备要发送数据包到目标设备时,它首先检查自己的ARP缓存表,这是一个保存了IP地址和对应MAC地址的映射关系的表。
如果在表中找到了对应的MAC地址,设备就可以直接使用该地址发送数据包。
如果在ARP缓存表中没有找到对应的MAC地址,设备就会发送一个ARP请求广播。
该广播消息中包含了源设备的IP和MAC地址以及目标设备的IP地址。
其他设备收到该广播消息后,根据自己的ARP缓存表,检查是否与目标设备的IP地址匹配。
如果有设备的ARP缓存表中有对应的IP地址,它就会将自己的MAC地址作为ARP响应发送给源设备。
ARP响应消息中包含了源设备的IP和MAC地址以及目标设备的IP和MAC地址。
当源设备收到ARP响应消息后,它会更新自己的ARP缓存表,将目标设备的IP和MAC地址添加到表中。
然后,源设备可以使用目标设备的MAC地址发送数据包。
总结来说,ARP协议的工作原理可以分为以下几个步骤:1. 源设备检查自己的ARP缓存表,查找目标设备的MAC地址。
2. 如果在ARP缓存表中找到了对应的MAC地址,源设备就可以直接使用该地址发送数据包。
3. 如果在ARP缓存表中没有找到对应的MAC地址,源设备会发送一个ARP请求广播,请求其他设备帮助解析目标设备的MAC地址。
4. 其他设备收到ARP请求广播后,根据自己的ARP缓存表检查是否与目标设备的IP地址匹配。
5. 如果有设备的ARP缓存表中有对应的IP地址,它就会将自己的MAC地址作为ARP响应发送给源设备。
6. 源设备收到ARP响应后,将目标设备的IP和MAC地址更新到自己的ARP缓存表中。
ARP协议地址解析协议ARP(Address Resolution Protocol)是一种用于在网络层和数据链路层之间解析IP地址和MAC地址之间对应关系的协议。
它通过发送ARP请求,接收ARP响应的方式来完成地址解析。
一、ARP协议的作用ARP协议的作用是将网络层的IP地址与数据链路层的MAC地址建立映射关系,以实现数据在网络中的正确传输。
在发送数据的过程中,主机需要知道目标主机的MAC地址才能将数据帧发送到正确的目标,而ARP协议就是用来解决这个问题的。
二、ARP协议实现的原理ARP协议的实现原理是基于广播的方式进行的。
当主机A需要与主机B通信时,它首先会检查本地ARP缓存中是否存有目标主机B的IP 地址对应的MAC地址。
如果存在,主机A就可以直接发送数据帧到目标主机B。
如果不存在,则主机A会发送一个ARP请求广播,向本地局域网中的所有主机发送该请求,请求回应者即目标主机B将其MAC地址作为源MAC地址填入ARP响应中,并将该响应发送给主机A。
主机A接收到ARP响应后,就可以将目标主机B的IP地址和MAC地址的对应关系存入本地ARP缓存,以便以后的通信使用。
三、ARP协议的工作流程1. 主机A发送ARP请求- 源MAC地址:主机A的MAC地址- 源IP地址:主机A的IP地址- 目标MAC地址:全为0的广播地址- 目标IP地址:主机B的IP地址2. 路由器或交换机收到ARP请求- 源MAC地址:发送ARP请求的主机A的MAC地址 - 源IP地址:发送ARP请求的主机A的IP地址- 目标MAC地址:全为0的广播地址- 目标IP地址:主机B的IP地址3. 主机B接收到ARP请求并发送ARP响应- 源MAC地址:主机B的MAC地址- 源IP地址:主机B的IP地址- 目标MAC地址:发送ARP请求的主机A的MAC地址 - 目标IP地址:主机A的IP地址4. 路由器或交换机将ARP响应转发给主机A- 源MAC地址:主机B的MAC地址- 源IP地址:主机B的IP地址- 目标MAC地址:发送ARP请求的主机A的MAC地址- 目标IP地址:主机A的IP地址5. 主机A接收到ARP响应后更新ARP缓存表- 将主机B的IP地址和MAC地址的对应关系存入本地ARP缓存四、ARP协议的优缺点1. 优点:- 简单且高效,能够快速解析出目标主机的MAC地址,提高数据传输效率;- 支持动态建立和更新IP地址与MAC地址的映射表,适应网络中IP地址和MAC地址的变化;- 不依赖其他协议,可直接在以太网等数据链路层上运行,具有较好的兼容性。
ARP协议概述ARP(Address Resolution Protocol,地址解析协议)是一种网络层协议,用于将IP地址转换为物理地址(MAC地址)。
ARP协议在局域网中用于寻找目标主机的物理地址,以便数据包可以正确地在局域网中传输和交换。
工作原理ARP协议使用一个 ARP 表来存储 IP 地址与 MAC 地址的对应关系。
在发送数据包时,源主机首先检查 ARP 表以查找目标主机的 MAC 地址。
如果目标主机的 MAC 地址存在于 ARP 表中,则源主机直接使用该地址;否则,源主机使用 ARP 协议发送一个 ARP 请求广播,请求目标主机返回自己的 MAC 地址。
ARP消息格式ARP消息包含以下字段:1.硬件类型(Hardware Type):指示帧封装中使用的硬件类型。
以太网使用1作为硬件类型的标识符。
2.协议类型(Protocol Type):指示封装在数据包中的协议类型。
IP协议使用0x0800作为协议类型的标识符。
3.硬件地址长度(Hardware Address Length):指示硬件地址的长度。
对于以太网,MAC地址长度为6字节。
4.协议地址长度(Protocol Address Length):指示协议地址的长度。
对于IP协议,地址长度为4字节。
5.操作码(Operation Code):指示ARP数据包的操作类型,例如请求或响应。
6.发送者的硬件地址(Sender Hardware Address):发送者的MAC地址。
7.发送者的协议地址(Sender Protocol Address):发送者的IP地址。
8.目标的硬件地址(Target Hardware Address):目标的MAC地址。
9.目标的协议地址(Target Protocol Address):目标的IP地址。
ARP请求过程下面是ARP请求过程的具体步骤:1.源主机检查ARP表,查找目标主机的MAC地址。
如果找到了,则使用该地址直接发送数据包。