-
2018-04-11 09:23:27
同网段ARP过程和跨网段ARP过程
一、同一网段ARP过程
ARP就是地址解析协议,属于链路层协议,其实从对IP的处理来说,也可说是网络层的协议之一,所以可以说成是2.5层协议(链路层是2层,网络层是3层)。
无论是服务器还是客户端,当上层组织好数据后,在IP层加上IP头,在链路层要加上源mac地址和目的mac地址。源mac地址是本机发送端的网卡地址,这个自身本来就知道,目标mac地址刚开始不知道的,也就是说我们知道对方的IP地址,但是mac地址是还不知道的,这个时候我们就要使用ARP协议来获取目标mac地址。
比如客户端要向服务器请求数据,上面说的我们要发送数据,但是目标的mac地址还不知道,就是说根据目标IP查询了ARP表,但是对应IP的mac地址为空。这个时候我们就知道要先获取目标mac地址,再发送数据。先判断目标ip和本机ip是否在同一网段(与掩码进行与运算)。是同一网段的话,说明我们可以广播发起ARP请求。也就是说ARP请求帧中目标mac地址为FF.FF.FF.FF,IP是已知的。网内所有的主机均能收到这个请求,IP等于目标IP的那一台主机知道请求的是自己的mac地址,将发过来的源ip和源mac加入自己的ARP表中,同时发送ARP应答帧(附加了自身的mac地址),其他主机会忽略ARP请求。
发送ARP请求的主机收到应答后,会更新ARP表,这时就有目标IP和目标mac对应的ARP表项了。就能正常组帧发送信息。
二、跨网段ARP过程
判断目标IP和源IP不是同一网段后,主机就晓得要通过网关来传递信息了。信息要先发送到网关机上,再由网关机转发,网关机是各个段的IP都能用的中继之一。这里在ARP表先查找目标IP对应的mac地址,结果是没有,IP不是同一网段,再找网关对应的mac地址,也没有。发起ARP请求,IP先为网关IP,mac地址为广播地址FF.FF.FF.FF。和同一网段的过程一样,获取网关的mac地址,收到ARP应答后,更新原目标IP对应网关mac地址,网关IP对应网关IP地址。发送信息时加上目标IP和mac地址(网关mac)发送到网关中,再由网关根据自身的ARP表将信息转发给目标IP的主机中。
更多相关内容 -
ARP过程
2020-09-29 12:42:00 -
计算机网络——ARP(ARP过程、欺骗、解决办法)
2020-09-29 10:29:51ARP协议是通过目的IP地址得到其MAC地址的一种网络协议,每台主机都会维护一个ARP缓冲区,缓冲区里有ARP缓存表,表中包含了三个字段(IP地址、IP地址对应的MAC地址、类型(静态、动态)),ARP协议过程为: ...ARP
协议过程
ARP协议是通过目的IP地址得到其MAC地址的一种网络协议,每台主机都会维护一个ARP缓冲区,缓冲区里有ARP缓存表,表中包含了三个字段(IP地址、IP地址对应的MAC地址、类型(静态、动态)),ARP协议过程为:
- 主机在发包之前查询ARP映射表,如果目的IP地址存在,将对应的MAC地址作为目的MAC地址进行数据包的发送。
- 如果不存在,就会构建一个ARP请求报文段,其中包含目的IP地址,源IP地址,源MAC地址等信息。然后在网段中通过广播包的形式发送(目的MAC地址置为全F),网段中其他主机收到ARP请求包之后,会检查目的IP是否和自己的一致,如果不一致,直接忽略。如果一致,就将源IP地址以及对应的MAC地址添加到自己的ARP映射表中(IP地址如果已存在,就将其覆盖),之后构建单播ARP响应报文,其中包含(目的IP、目的MAC地址、源IP地址、源MAC地址)发送给主机A,主机A收到之后将其添加进主机A的ARP映射表,然后发送数据包。
PS:这里需要注意的是,ARP协议不能跨网段进行,也就是说,对于不同网段的主机,ARP是逐渐跨网段进行的,即主机A先通过ARP协议得到网关的MAC地址,然后网关通过路由表得到主机B所在的网段的IP地址,然后准备从对应的接口发送出去,重复上面1、2的过程,最后消息成功发送。
ARP欺骗
概念
我们知道,ARP是没有安全验证的,只要是目的IP是本机的IP,ARP映射表都会存储,那么可能造成的一个结果就是,可以人为的仿造IP-MAC,然后覆盖合法的IP-MAC,这会造成很大的危害,例如:
- 非法主机通过ARP欺骗,可以充当消息的中间人,对合法主机以及网关之间的消息通信进行监听。
- 非法主机可以操控网段中消息的发送,从而造成网络堵塞,本网段主机无法访问网段外的网络。
解决办法
上面提到过,ARP缓存表中包含三个关键字段,我们可以设置最后一个字段(类型)来一定程度上的遏制ARP欺骗。
类型:动态、静态
动态:ARP中存储的IP-MAC会在一定时间后过期,即系统会自动刷新ARP缓存表中类型为动态的IP-MAC。
静态:ARP当中存储的IP-MAC由操作人员手动配置,主机不会刷新ARP缓存表中类型为静态的IP-MAC。 -
ARP帧、ARP过程、免费ARP、ACD的原理
2020-04-14 20:16:321、ARP帧 2、ARP过程 3、免费ARP 4、冲突地址检测ACDARP协议(地址解析协议)用于局域网中网络设备按IP地址查询对方的MAC地址,提供一种从网络地址(仅ipv4,ipv6用ND协议替代)到硬件地址(各种链路层协议使用的地址)的映射。
1、ARP过程
简单来说,对于即插即用的网络而言,网络中各个设备的IP地址甚至MAC地址都不是固定的,如果需要相互通信,这一时刻在网络的各个层次都要找到对应的正确的衔接口。主机、交换机等设备在转发数据报文时需要知道下一个处理报文的设备的物理地址,无论该报文目的地址是否为本网段(跨网段则发到网关设备,网关也有物理地址),这时就能用ARP协议发起通告。
和学校里面老师点名是一个道理:老师从广播通知所有学生,“请叫李小明的同学告诉我你的家庭地址,我是王老师,我在办公室1-1”,这里面王老师这个称呼就是Sender IP,李小明这个称呼就是Target IP,办公室1-1是Sender MAC,该通告报文中Target MAC字段是空的,全0,因为此时老师还不知道学生的住址;学生收到消息发现是叫的自己后,立刻前往办公室1-1报上自己的住址,即上个报文的想要的Target MAC(实际的ARP当然只是目标机回个报文而不是“前往”)。
再用计算机网络的专业术语复述上面的过程:
- 源主机上的应用程序需要建立一个与1.1.1.1地址设备的连接
- 假设主机发现目的地址与自己的IP地址在同一网段同一局域网,则需要得到对方的物理地址,假设使用以太网协议则需要知道MAC地址
- 源主机发起ARP过程,广播一个ARP Request报文,主要内容包含自己的MAC地址、自己的IP地址、希望响应的设备的IP地址
- 因为在同一广播域,目的主机收到ARP Request后解析,发现希望应答的IP地址是自己的IP地址,则回复一个ARP Reply,相比ARP Request报文多了Target MAC字段
- 源主机收到ARP Reply,记录MAC-IP表项(目的主机收到Request时可能也建立了表项,方便后面通信使用)
- 源主机得到设备1.1.1.1的物理地址,随后建立连接开始通信
设备上一般会有专门维护ARP表项的表,比如在Windows系统中可以在控制台输入arp –a查看ARP表项。ARP表项通常是有老化时间的,当然有的系统也支持配置ARP表项永远存在,一段时间内如果设备没有与某些地址的设备通信则ARP表项会被删除,下一次需要通信的时候会重新开始ARP过程。ARP表项老化操作也是即插即用网络的一种体现。
2、ARP帧
帧类型及之前的部分是以太网帧的首部,是固定的部分,ARP协议的主要部分是帧类型以后:
·硬件类型:硬件地址的类型
·协议类型:映射的地址的类型,比如ipv4地址为0x0800
·硬件地址长度、协议地址长度:即物理地址长度和映射的地址的长度,单位1byte
·op:操作类型,有4种,ARP请求(1)、ARP应答(2)、RARP请求(3)、RARP应答(4)
·发送者硬件地址:源主机的物理地址
·发送者协议地址:源主机的IP地址
·目标硬件地址:目的主机的物理地址
·目标协议地址:目的主机的IP地址
3、免费ARP
这是一种特殊的ARP报文,但并不是在协议格式上特殊,而是免费ARP报文的发送者IP地址和目标IP地址是相同的。免费ARP主要希望达到两个目标:
·允许一台主机确定当前广播域中是否有与自己IP地址重复的设备,发送免费ARP的主机不希望收到免费ARP的回应ARP报文,如果收到了说明当前自己的IP地址会在局域网中产生地址冲突,会提示系统用户
·如果一台主机更换了MAC地址,IP地址不变,发送免费ARP可以让局域网内的其他设备更新自己的ARP表项
4、冲突地址检测ACD
虽然有免费ARP,但并没有解决多个主机可以使用同一IP地址的问题,在RFC5227中定义了ACD的概念,其中定义了两种ARP报文:ARP Probe和ARP Announcement。ARP Probe用于探测当前广播域是否有其他主机使用某个IP地址,与免费ARP的区别在于,ARP Probe报文的发送者IP地址字段是全0,这是为了避免ARP污染(因为ARP请求报文会在广播域内广播到每个主机上,所以主机收到带发送者IP地址的ARP报文后都会创建缓存表项,太多ARP报文会造成域内主机上的缓存浪费)。ARP Announcement报文用于通告域内主机自己的IP地址和MAC地址,特征是其目标硬件地址字段全0,该报文不希望某个特定的主机回应,只需要域内主机创建起ARP表项即可。所以ACD定义的两种报文其实也是免费ARP的两个功能的更完善的实现。
-
ARP工作过程
2022-01-19 19:47:28两台电脑完整的信息传输过程 host1要发送数据给host2,首先会查看本机的arp缓存表,如果缓存表中有对方的MAC地址,则直接采用该MAC地址进行封装,如果ARP缓存表中不存在该MAC地址,则通过ARP进行获取 host1发送ARP... -
ARP协议的工作过程
2022-05-03 19:37:53ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。 1.ARP简介 ...2.ARP解析过程 ARP是一种解析地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备所 -
地址解析协议ARP工作过程
2022-01-13 14:42:08ARP工作过程 这是完整的以太网数据帧 。原始数据PDU协议数据单元(应用层)打上传输层头部之后叫数据段,再打上网络层头部后叫数据包,最后打上数据链路层头部和尾部就是数据帧。 在通信过程中,有必备四个... -
ARP通信协议过程简析
2020-04-22 20:03:20ARP通信协议过程简析 简介 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息... -
【ARP地址解析协议(完整解析过程、ARP欺骗、免费ARP、ARP代理)】-20211125【下】
2022-01-23 15:48:20ARP地址解析过程 1)pc1首先会查询自身的ARP缓存表,是否存在目标ARP缓存条目。 ARP请求报文(原理) 2)由于pc1已经将自己的源IP、源mac地址发送给pc2,pc2收到后,会将DIP、Dmac填充,以单播的形式响应。 3)... -
ARP请求的详细过程
2020-11-27 02:01:33简介: 地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 流程举例 测试仪的两个端口可以模拟...B收到ARP请求后将A的MAC和IP记录到ARP -
图解ARP的工作过程
2019-08-22 01:41:31ARP工作过程 -
网络入门之ARP协议基础,ARP解析过程,一分钟了解下
2020-07-18 23:20:49一、ARP简介 1、ARP作用 ARP(Address Resolution Protocol,地址解析协议)是将 IP 地址解析为以太网 MAC 地址(或称 物理地址)的协议。 在网络中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它... -
ARP协议工作详细过程介绍
2020-08-18 11:36:08ARP协议工作详细过程介绍我的例子前提举例如下情况一情况二情况三情况四情况五情况六 我的例子前提 我是通过设备之间发送ICMP报文,来体现ARP的工作过程,ICMP最简单来说,我们平时发送的ping包就是一种ICMP报文,... -
ARP完整过程及抓包分析
2020-09-06 16:53:05ARP完整过程及抓包分析 1、ARP协议概念 ARP(地址解析协议)是根据IP地址获取物理地址的一个协议。由于OSI将网络分为七层,IP地址在OSI模型的第三层(网络层),MAC地址在第二层(数据链路层),彼此不直接通信。在... -
ARP工作流程
2021-12-26 20:01:03工作过程: 代理ARP: 原理: 无故ARP(免费ARP): 工作机制: 作用: 1:自我介绍: 2:冲突检测: 反向ARP(RARP): 作用: ARP: 工作机制: 当一台设备需要发现另一台设备的数据链路的数据... -
ARP在同一局域网中的运行过程以及在不同局域网中的运行过程
2021-11-06 15:20:11ARP协议在同一局域网中的运行过程,首先也可以将其分为是否事先就存在ARP 缓存表 1、当事先就存在ARP缓存表时,可以直接进行从缓存表中查出目的主机所对应的硬件地址,将其封装在MAC帧,然后把该MAC帧发往该硬件... -
Cisco中ARP更新过程及其报文内容分析
2020-11-23 23:14:152.分别在pc0和pc1的命令行中输入“arp -a”查看其ARP高速缓存 3.打开simulatiao模式,pc先在本局域网中发送一个ARP请求报文 因为ARP请求报文是一个广播报文,因此本局域网上所有主机都会收到此ARP请求报文,所以PC1... -
简析ARP解析过程
2016-03-06 10:38:36ARP是一种能够实现IP地址到物理地址的转化协议,以目标地址为线索用来定义下一位应该接收数据...ARP工作过程: ARP借助ARP请求包和响应包来确定MAC地址。 例如:处在同一链路上的主机A 向B发送一个IP请求包,且互 -
ARP解析过程
2022-04-18 09:12:28一、什么是ARP? 对于数据的传输,我们需要知道IP地址对应的MAC地址。 ...这时候整个班的同学都能听到你声音,但其他的同学不会进行回复,只有小明进行回应,电话多少xx这个过程就是类似于ARP广播 -
【计算机网络】——ARP协议工作过程(跨网段)
2020-10-14 12:49:55结合上图叙述ARP协议的工作过程(PC1→PC2) ARP的作用:完成主机或路由器的IP地址到MAC地址的映射。 ARP协议工作过程(简述): ①PC1要向PC2发数据,数据封装成帧时发现没有PC2的MAC地址;判断出PC1和PC2不在同一... -
ARP协议解析-wireshark抓包分析
2021-01-05 22:55:06今天主要研究ARP协议。 什么是ARP协议 ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。一般情况下,上层应用程序更多关心IP地址而不关心MAC... -
ARP发送过程及ARP欺骗原理
2021-06-01 19:10:28arp 请求: aa:aa:aa:11|FF:FF:FF:FF:FF:FF|aa:aa:aa:11|192.168.1.1|00:00:00:00|192.168.1.2 | 包头 | 数据包 | |源mac|目的mac|发送mac|发送ip|接收mac|接收ip| 很明显arp包就是一个二层包,在第一次发送的... -
ARP运行过程
2020-11-17 19:57:59ARP运行过程 一,ARP网络拓扑 1.选择4个不同的PC和一个交换机 2.交换机与PC之间用交叉线连接 3.点击PC在 Desktop的选项中找到IP,给4个不同的PC配置不同IP地址 二,实验前查看主机ARP缓存信息 完成IP地址配置... -
Proxy ARP解析过程
2022-01-20 20:36:06文章目录Proxy ARP产生原因:路由式Proxy ARP:ARP任意代理:VLAN内Proxy ARP:VLAN间Proxy ARP: Proxy ARP产生原因: ARP只适用于处于同一物理网络的相同网段主机之间的通信。网络中的交换机收到主机发送的ARP请求... -
4.TCP/IP协议详解:ARP请求过程
2015-01-21 19:47:02ARP 请求建立本地ARP表项的过程是怎样的呢? 先来回忆一下IP包到MAC帧封装的过程,在ARP协议浅析(二)中,已经提出过结论,MAC帧封装是根据路由下一跳的IP地址,进行本地ARP查表,然后封装MAC帧的。如果ARP表... -
ARP协议工作流程与抓包分析
2020-11-29 13:12:10ARP解决的问题 在现行的TCP/IP网络体系结构中,网络层中ip数据报的传递由链路层提供服务支撑,这意味着当一个结点向另一个结点发送ip数据报时,首先必须将其封装成以太帧,然后通过链路层服务,将网络层ip数据报送达... -
实验二:ARP协议以及IP地址和MAC地址关系.docx
2021-07-18 17:46:51一、实验目的 1.掌握ARP协议常用命令; 2.掌握ARP协议的工作过程; 3.掌握IP地址和MAC地址的关系; -
ARP解析过程分析.pdf
2020-07-09 00:16:16郑州轻工业学院 课程设计说明书 题目 ARP 解析过程分析 姓 名 X X X 院 系 专业班级 学 号 指导教师 成 绩 时间 2011 年 6 月 29 日至 2011 年 7 月 6 日 1 郑州轻工业学院 课 程 设 计 任 务 书 题目 ARP 解析过程... -
ARP解析MAC地址的过程分析(ARP的工作机制)
2017-02-08 22:13:02地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息, 以此确定目标的物理地址...