ARP协议作用.docx
- 文档编号:27624749
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:9
- 大小:20.31KB
ARP协议作用.docx
《ARP协议作用.docx》由会员分享,可在线阅读,更多相关《ARP协议作用.docx(9页珍藏版)》请在冰豆网上搜索。
ARP协议作用
前言:
ARP协议的作用:
1.什么是ARP?
ARP(AddressResolutionProtocol)是个地址解析协议。
最直白的说法是:
在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能够够提供该节点的MAC地址。
2为何要有ARP?
OSI模式把网络工作分为七层,彼此不直接打交道,只通过接口(layreinterface).IP地址在第三层,MAC地址在第二层。
协议在发生数据包时,第一要封装第三层(IP地址)和第二层(MAC地址)的报头,但协议只明白目的节点的IP地址,不明白其物理地址,又不能跨第二、三层,因此得用ARP的效劳。
详细说明:
Ø 在网络通信时,源主机的应用程序明白目的主机的IP地址和端口号,却不明白目的主机的硬件地址,而数据包第一是被网卡接收到再去向理上层协议的,假设是接收到的数据包的硬件地址与本机不符,那么直接抛弃。
因此在通信前必需取得目的主机的硬件地址。
ARP协议就起到那个作用
Ø 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是依照48位的以太网地址来确信目的接口的,设备驱动程序从不检查IP数据报中的目的IP地址。
ARP(地址解析)模块的功能为这两种不同的地址形式提供映射:
32位的IP地址和48位的以太网地址
一.ARP报文各字段含义:
ARP报文字段总共有28个字节
1.硬件类型:
占2个字节,说明ARP实此刻何种类型的网络上。
Ø 值为1:
表示以太网。
2.协议类型:
占2个字节表示要映射的协议地址类型。
Ø IP:
0800
3.硬件地址长度:
占1个字节,表示MAC地址长度,其值为6个字节。
4.协议地址长度:
占1个字节,表示IP地址长度,此处值4个字节
5.操作类型:
占2个字节,表示ARP数据包类型。
Ø 值为1表示ARP请求。
Ø 值2表示ARP应答。
6.源MAC地址:
占6个字节,表示发送端MAC地址
7.源IP地址:
占4个字节,表示发送端IP地址
8.目的以太网地址:
占6个字节,表示目标设备的MAC物理地址
9.目的IP地址:
占4个字节,表示目标设备的IP地址.
注意:
在ARP操作中,有效数据的长度为28个字节,不足以太网的最小长度46字节长度,需要填充字节,填充字节最小长度为18个字节
二.ARP请求分组或应答分组
以太网首部总共有14字节数据,arp请求报文总共有28字节。
因此一个ARP请求分组或应答分组总共有46字节数据。
而以太网数据包的最小数据为60字节。
因此,要对其进行填充。
那个地址有一些重复信息
1. 在以太网的数据帧报头中和ARP请求数据帧中都有发送端的MAC物理地址。
2. 在发送ARP请求时,以太网帧头中的目的MAC物理地址为FF-FF-FF-FF-FF-FF,而在ARP帧中的目的MAC处此刻为空。
3. 对一个ARP请求来讲,除ARP中目的端MAC硬件地址外的所有其他的字段都有填充值。
当系统收到一份目的端为本地的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址别离替换两个发送端地址,并把操作字段置为2,最后发送出去。
三.ARP协议工作进程:
1. 原理:
(ARP协议只利用于局域网中)
1> 在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。
2> 在以太网中,一个主机要和另一个主机进行直接通信,必需要明白目标主机的MAC地址。
但那个目标MAC地址是如何取得呢?
它确实是通过地址解析协议取得的。
所谓“地址解析”确实是主机在发送帧前将目标IP地址转换成目标MAC地址的进程。
3> ARP协议的大体功能确实是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
4> 点对点的连接是不需要ARP协议的
2. 工作进程:
1> 当主机A向本局域网上的某个主机B发送IP数据报时,就先在自己的ARP缓冲表中查看有无主机B的IP地址。
2> 假设是有,就能够够够查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过以太网将数据包发送到目的主机中。
3> 假设是查不到主机B的IP地址的表项。
可能是主机B才入网,也可能是主机A方才加电。
其高速缓冲表仍是空的。
在这中情形下,主机A就自动运行ARP。
(1)ARP进程在本局域网上广播一个ARP请求分组。
ARP请求分组的要紧内容是说明:
我的IP地址是,我的硬件地址是00-00-C0-15-AD-18.我想明白IP地址为的主机的硬件地址。
(2)在本局域网上的所有主机上运行的ARP进行都收到此ARP请求分组。
(3)主机B在ARP请求分组中见到自己的IP地址,就向主机A发送ARP响应分组,并写入自己的硬件地址。
其余的所有主机都不睬睬那个ARP请求分组。
ARP响应分组的要紧内容是说明:
“我的IP地址是我的硬件地址是08-00-2B-00-EE-AA”,请注意:
尽管ARP请求分组是广播发送的,但ARP响应分组是一般的单播,即从一个源地址发送到一个目的地址。
(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓冲表中写入主机B的IP地址到硬件地址的映射。
3. 事例说明:
用ping说明ARP工作的原理
假设咱们的运算机IP地址是,要执行那个命令:
。
该命令会通过ICMP协议发送ICMP(以太网操纵报文协议)数据包
该进程需要通过下面的步骤:
1> 应用程序构造数据包,该例如是产生ICMP包,被提交给内核(网络驱动程序);
2> 内核检查是不是能够转化该IP地址为MAC地址,也确实是在本地的ARP缓存中查看IP-MAC对应表;
3> 假设是存在该IP-MAC对应关系,那么跳到步骤<7;
假设是不存在该IP-MAC对应关系,那么接续下面的步骤;
4> 内核进行ARP广播,目的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST
(1),其中包括有自己的MAC地址;
5> 当主机接收到该ARP请求后,就发送一个ARP的REPLY
(2)命令,其中包括自己的MAC地址;
6> 本地取得主机的IP-MAC地址对应关系,并保留到ARP缓存中;
7> 内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;
4. 特殊情形:
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
假设是所要找的目标设备和源主机不在同一个局域网上。
1>此刻主机A就无法解析出主机B的硬件地址(事实上主机A也不需要明白远程主机B的硬件地址);
2>此刻主机A需要的是将路由器R1的IP地址解析出来,然后将该IP数据报发送给路由器R1.
3>R1从路由表中找出下一跳路由器R2,同时利用ARP解析出R2的硬件地址。
于是IP数据报依照路由器R2的硬件地址转发到路由器R2。
4>路由器R2在转发那个IP数据报时用类似方式解析出目的主机B的硬件地址,使IP数据报最终交付给主机B.
说明:
Ø 假设是你的数据包是发送到不同网段的目的地,那么就必然存在一条网关的IP-MAC地址对应的记录。
Ø 明白了ARP协议的作用,就能够够够很清楚地明白,数据包的向别传输很依托ARP协议,固然,也确实是依托ARP缓存。
要明白,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。
同时需要注意的是,ARP协议只利用于本网络。
四.ARP缓冲表和TTL
1. ARP缓冲表
1> ARP协议的本质是完成网络地址到物理地址的映射。
从概念上将确实是找到一个映射方式f,使得“物理地址=f(网络地址)“。
物理地址有两种大体类型:
以太网类型和令牌环网类型。
网络地址特指IP地址,对映射方式的要求确实是高效。
具体到以太网,它利用的是动态绑定转换的方式。
一样是设置ARP高速缓存,通过学习,老化,更新,溢出算法处置ARP映射表来解决这些问题。
Ø学习指ARP收到任何指向本结点IP地址的ARP/IP包,从中提掏出地址对,当ARP缓冲表中无对应项时,由ARP接收部份添加;
Ø老化指为每项设置寿命域,以便代谢掉陈腐的地址映射项;
Ø更新指ARP提取到新的地址对时,用其更新缓存里已有的对应项;
Ø溢出算法指当缓存慢时,采取何种方式替代旧有的地址对。
2> ARP缓存表由状态,寿命,IP地址,MAC地址4个字段组成。
状态字段指示地址对是不是有效;寿命字段用于老化操作,初始存入最大值,以后由OS时刻函数挪用,每秒减1,直至为0清除;IP地址和MAC地址字段保留网络地址和物理地址的映射。
围绕ARP缓存表,完成了4种操作:
学习,老化,更新,表满处置。
3> 当ARP被询问一个已只IP地址节点的MAC地址时,先在ARPcache查看
l 假设存在,就直接返回MAC地址,
l 假设不存在,才发送ARPrequest向局域网查询。
4> 当主机A向B发送数据报时,极可能以后不久主机B还要向A发送数据报,因此主机B可能要向A发送ARP请求分组。
因此,为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的写入主机B自己的ARP高速缓冲表中。
这对主机B以后向A发送数据报时就更方便了。
Tiger说明:
任何事物都有两面性,假设是把握的好它确实是天使,假设是把握的不行它确实是Satan,ARP中的缓冲表为运算机之间的通信效率和减少网络通信量之间作出了庞大的奉献,可是它同时为咱们上网时留下了平安隐患;例如互换机嗅探(在下面会有介绍)
2. ARP中的TTL(即上面所说的寿命域)
ARP将保留在高速缓冲表中的每一个映射地址表项都设置了TTL(生存时刻),只要TTL小于0的项目就从高速缓冲表中删除掉。
(ARP的超时值一样为20分钟,对不完整的表项设置为20分钟,而对不完整的表项设置为2分钟《不完整的表项:
即在以太网上对一个不存在的主机发出ARP请求》,当这些表项再次使历时,这些实现一样都把超时值从头设为20分钟。
)
益处:
主机A和B通信。
A的ARP高速缓冲内外保留有B的物理地址。
但B的网卡突然坏了,B当即就改换了一块,因此B的硬件地址就改变了。
A还要和B继续通信。
A在其ARP缓冲表中查找到B原先的硬件地址,并利用该硬件地址向B发送数据帧。
但B原先的硬件地址已经失效了。
因此A无法找到主机B。
可是过了一段时刻,A的ARP高速缓冲表中已经删除B原先的硬件地址(因为它的生存时刻到了),于是A从头光播发送ARP请求分组,又找到了B。
五.ARP命令:
1. 利用arp-a命令就能够够够查看本地的ARP缓存内容,因此,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。
2. 利用arp–d来删除ARP高速缓存中的某一项内容
3. 利用arp–s来增加高速缓冲表中的内容,那个命令需要主机名和以太网地址。
新增加的内容是永久性的,除非在命令行的末尾加上关键字temp。
arp–s 00-aa-aa-562-c6-09
增加一个静态的ARP表项。
4. arppub–s:
使系统起着主机ARP代理功能。
系统将回答与主机名对应的IP地址的ARP请求。
六ARP其他方面
1.互换网络的嗅探
1>协议并非只在发送了ARP请求才接收ARP应答
当运算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。
因此,在上面的假设网络中,B向A发送一个自己伪造的ARP应答,而那个应答中的数据为发送方IP地址是(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,那个地址被伪造了)。
当A接收到B伪造的ARP应答,就会更新本地的ARP缓存,将本地的IP-MAC对应表改换为接收到的数据格式,由于这一切都是A的系统内核自动完成的,A可不明白被伪造了。
ARP欺骗的要紧用途确实是进行在互换网络中的嗅探。
地址冲突
1>假设是网络中存在相同IP地址的主机时候,就会报告出IP地址冲突的警告。
2>如何产生?
Ø 比如某主机B规定IP地址为,假设是它处于开机状态,那么其他机械A更该IP地址为就会造成IP地址冲突。
Ø 其原理是:
主机A在连接网路(或更改IP地址)的时候就会向网络发送ARP包广播自己的IP地址,也确实是freearp(免费ARP).假设是网络中存在相同IP地址的主机B,那么B就会通过ARP来reply该地址,当A接收到那个reply后,A就会跳出IP地址冲突的警告,固然B也会有警告。
因此用ARP欺骗能够来伪造那个ARPreply,从而使目标一直蒙受IP地址冲突警告的困扰。
3.阻止目标的数据包通过网关
1>比如在一个局域网内通过网管上网,那么连接外部的运算机上的ARP缓存中就存在网管IP-MAC对应记录
2>假设是,该记录被更改,那么该运算机向外发送的数据包老是发送到了错误的网关硬件地址上,如此,该运算机就不能上网了。
3>那个地址也主若是通过ARP欺骗进行的。
有两种方式达到如此的目的:
Ø 向目标发送伪造的ARP应答数据包,其中发送方的IP地址为网管的地址,而MAC地址那么为一个伪造的地址。
当目标接收到ARP包,那么就更新自身的ARP缓存。
假设是该欺骗一直持续下去,那么目标的网管缓存一直是一个被伪造的错误记录。
只是,假设是利用arp–a,就明白问题所在了。
Ø 第二种方式是欺骗网管。
向网管发送伪造的ARP应答数据包,其中发送方的IP地址为目标的IP地址,而MAC地址那么为一个伪造的地址。
如此,网管上的目标ARP记录确实是一个错误的,网管发送给目标的数据报都是利用了错误的MAC地址。
这种情形下,目标能够发送数据到网管,却不能接收到网管的任何数据。
同时,目标自己查看arp–a却看不出任何问题来。
4.通过检测混杂模式节点
1>在混杂模式中,网卡进行包过滤不同于一般模式。
本来在一般模式下,只有本地地址的数据包或广播(多播等)才会被网卡提交给系统核心,不然的话,这些数据包就直接被网卡抛弃。
此刻,混合模式让所有通过的数据包都传递给系统核心,然后被sniffer等程序利用。
2>通过特殊设计的ARP请求能够用来在必然程度上检测处于混杂模式的节点,比如对网络中的每一个节点都发送MAC地址为FF-FF-FF-FF-FF-FE的ARP请求。
关于网卡来讲这不是一个广播地址(FF-FF-FF-FF-FF-FF),因此处于一般模式的节点就会直接抛弃该数据包,可是多数操作系统核心都以为这是一个广播地址,假设是有一样的sniffer程序存在,并设置网卡为混杂模式,那么系统核心就会作出应答,如此就能够够够判定这些节点是不是存在嗅探器了。
3>能够查看,很多基于ARP的解决都是通过ARP欺骗实现的。
至于ARP欺骗的防范,仍是尽可能利用静态的ARP。
关于WIN,利用arp-s来进行静态ARP的设置。
固然,假设是能够完全利用静态的IP+MAC对应,就更好了,因为静态的ARP缓存只是相对的。
固然,能够有一些方式来实现ARP欺骗的检测。
设置一个ARP的嗅探器,其中爱惜着一个本地网络的IP-MAC地址的静态对应表,查看所有通过的ARP数据,并检查其中的IP-MAC对应关系,假设是捕捉的IP-MAC对应关系和爱惜的静态对应关系对应不上,那么就说明是一个欺骗的ARP数据包了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARP 协议 作用