3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)

2024-11-04
| 16页
| 78人阅读
| 22人下载
普通

内容正文:

ARP协议 大家好,本节课我们开始学习IP协议栈的知识。 前期课程中,我们学习到IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心的协议之一,通过IP地址,保证了联网设备的唯一性,实现了网络通信的面向无连接和不可靠的传输功能。 那么本节课,我们将继续深入了解下 1 ARP基本概念 01 ARP解析过程 02 免费ARP 03 目录 CONTENTS 本节课,我们将会分为三个部分进行讲解 2 01 ARP基本概念 数据链路层在进行数据封装时,需要目的MAC地址。 ARP IP : 10.1.1.1/24 MAC : 00-01-02-03-04-AA 目的IP : 10.1.1.2 源IP : 10.1.1.1 目的MAC : 未知 源MAC : 00-01-02-03-04-AA IP : 10.1.1.2/24 MAC : 00-01-02-03-04-BB ETH_II IP DATA FCS 主机 A 主机 B 灵石县第一职业高级中学 一个网络设备要发送数据给另一个网络设备时,必须要知道对方的IP地址。但是,仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过数据链路进行发送,而数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。每一个网络设备在数据封装前都需要获取下一跳的MAC地址。 IP地址由网络层来提供,MAC地址通过ARP协议来获取。ARP协议是TCP/IP协议簇中的重要组成部分,它能够通过目的IP地址获取目标设备的MAC地址,从而实现数据链路层的可达性。 02 ARP解析过程 ARP报文不能穿越路由器,不能被转发到其他广播域。 ARP数据包格式 FCS ARP 0 31 15 Ethernet_II Hardware Type Protocol Type Hardware Length Protocol Length Operation Code Source Hardware Address Source Protocol Address Destination Hardware Address Destination Protocol Address 灵石县第一职业高级中学 网络设备通过ARP报文来发现目的MAC地址。ARP报文中包含以下字段: Hardware Type表示硬件地址类型,一般为以太网; Protocol Type表示三层协议地址类型,一般为IP; Hardware Length和Protocol Length为MAC地址和IP地址的长度,单位是字节; Operation Code指定了ARP报文的类型,包括ARP Request和ARP Reply; Source Hardware Address指的是发送ARP报文的设备MAC地址; Source Protocol Address指的是发送ARP报文的设备IP地址; Destination Hardware Address指的是接收者MAC地址,在ARP Request报文中,该字段值为0; Destination Protocol Address指的是接收者的IP地址。 数据传输在二层,需要获取目的设备的MAC地址,而ARP协议就是完成这一MAC地址获取的功能!APR报文只可以在所属的广播域中,不可以跨越到三层 以太网帧中的Type字段值为0x0806,表示该帧的上层协议为ARP协议。 上层协议类型 DMAC Data SMAC Type FCS 6 B 6 B 2 B 46-1500 B 4 B 0x0806 ARP 灵石县第一职业高级中学 请大家回想下,在数据链路层中,是如何标识ARP协议的?Type字段值为0x0806,表示该帧的上层协议为ARP协议 主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址。 ARP工作过程 主机 A 10.0.0.2/24 00-01-02-03-04-BB 主机 C 主机 B 10.0.0.3/24 00-01-02-03-04-CC 10.0.0.1/24 00-01-02-03-04-AA 灵石县第一职业高级中学 通过ARP协议,网络设备可以建立目标IP地址和MAC地址之间的映射。网络设备通过网络层获取到目的IP地址之后,还要判断目的MAC地址是否已知。 ARP缓存 Host A>arp -a Internet Address Physical Address Type 主机 A 10.0.0.2/24 00-01-02-03-04-BB 主机 C 主机 B 10.0.0.3/24 00-01-02-03-04-CC 10.0.0.1/24 00-01-02-03-04-AA 灵石县第一职业高级中学 网络设备一般都有一个ARP缓存(ARP Cache),ARP缓存用来存放IP地址和MAC地址的关联信息。在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP Request报文来获得它。学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。在有效期内,设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询。过了这段有效期,ARP表项会被自动删除。 如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址,然后将数据发送给网关,网关再把数据转发给目的设备。 ARP请求 主机 A 10.0.0.2/24 00-01-02-03-04-BB 主机 C 主机 B 10.0.0.3/24 00-01-02-03-04-CC 10.0.0.1/24 00-01-02-03-04-AA 源MAC : 00-01-02-03-04-AA 目的MAC : FF-FF-FF-FF-FF-FF ARP 目的IP : 10.0.0.3 源IP : 10.0.0.1 目的MAC : 00-00-00-00-00-00 源MAC : 00-01-02-03-04-AA 操作类型 : Request ETH_II FCS 灵石县第一职业高级中学 本例中,主机A的ARP缓存表中不存在主机C的MAC地址,所以主机A会发送ARP Request来获取目的MAC地址。ARP Request报文封装在以太帧里。帧头中的源MAC地址为发送端主机A的MAC地址。此时,由于主机A不知道主机C的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。ARP Request报文中包含源IP地址、目的IP地址、源MAC地址、目的MAC地址,其中目的MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request报文。网关将会阻止该报文发送到其他网络上。 ARP响应 主机 A 10.0.0.2/24 00-01-02-03-04-BB 主机 C 主机 B 10.0.0.3/24 00-01-02-03-04-CC 10.0.0.1/24 00-01-02-03-04-AA Host C>arp -a Internet address Physical address Type 10.0.0.1 00-01-02-03-04-AA Dynamic 灵石县第一职业高级中学 所有的主机接收到该ARP Request报文后,都会检查它的目的协议地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该ARP Request报文。如果匹配,则该主机会将ARP报文中的源MAC地址和源IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应。 ARP响应 主机 A 10.0.0.2/24 00-01-02-03-04-BB 主机 C 主机 B 10.0.0.3/24 00-01-02-03-04-CC 10.0.0.1/24 00-01-02-03-04-AA 源MAC : 00-01-02-03-04-CC 目的IP : 10.0.0.1 源IP : 10.0.0.3 目的MAC : 00-01-02-03-04-AA 源MAC : 00-01-02-03-04-CC 操作类型 : Reply 目的MAC : 00-01-02-03-04-AA ARP ETH_II FCS 灵石县第一职业高级中学 主机C会向主机A回应ARP Reply报文。ARP Reply报文中的源协议地址是主机C自己的IP地址,目标协议地址是主机A的IP地址,目的MAC地址是主机A的MAC地址,源MAC地址是自己的MAC地址,同时Operation Code被设置为Reply。ARP Reply报文通过单播传送。 ARP缓存 Host A>arp -a Internet address Physical address Type 10.0.0.3 00-01-02-03-04-CC Dynamic 主机 A 10.0.0.2/24 00-01-02-03-04-BB 主机 C 主机 B 10.0.0.3/24 00-01-02-03-04-CC 10.0.0.1/24 00-01-02-03-04-AA 灵石县第一职业高级中学 主机A收到ARP Reply以后,会检查ARP报文中目的MAC地址是否与自己的MAC匹配。如果匹配,ARP报文中的源MAC地址和源IP地址会被记录到主机A的ARP缓存表中。 ARP地址解析过程 源、目的主机 是否同一子网 解析网关/下一跳MAC 解析目的主机 MAC Y N 源主机 要发送IP包 ARP缓存中是否有IP-MAC条目 N Y 发送ARP请求并在 本地建立临时条目 根据接收的ARP报文 建立IP-MAC映射条目 根据ARP表中IP-MAC 映射条目封装成帧发送 灵石县第一职业高级中学 我们来总结下ARP的解析过程,如PPT所示 以太网中,发送IP包前判断目标主机是否在同一子网,如果是同一子网,请求目标主机MAC,如果是不同子网,请求网关/下一跳MAC。 源主机查看 ARP 缓存,是否存在要解析的IP—MAC的ARP映射表项。如果有,利用该表项对IP包进行封装并发送以太网帧。如果没有,则缓存该IP包,并建立ARP临时表项。 以广播方式发送ARP请求报文。 ARP请求报文中的Sender IP和Sender MAC为源主机A的 IP地址和MAC地址,Target IP和Target MAC地址为被请求节点的 IP地址和全 0的 MAC地址。 同一个广播域内的所有主机都可以接收到该请求,但只有被请求的节点会对该请求进行处理。 被请求节点比较自己的 IP地址和请求报文中的Target IP,如果相同则将 ARP 请求报文中的Sender IP和Sender MAC存入自己的 ARP表中,并以单播方式发送 ARP响应报文给源主机,其中Sender IP和Sender MAC是自己的IP和MAC。 源主机 收到ARP响应报文后,将被请求节点的 MAC地址加入到自己的 ARP缓存中,同时将 IP包进行封装后发送出去 8 14 03 免费ARP 免费ARP可以用来探测IP地址是否冲突。 免费ARP 主机 A 10.0.0.1/24 00-01-02-03-04-AA 目的IP : 10.0.0.1 源IP : 10.0.0.1 目的MAC : 00-00-00-00-00-00 源MAC : 00-01-02-03-04-AA 源MAC : 00-01-02-03-04-AA 目的MAC : FF-FF-FF-FF-FF-FF ARP ETH_II FCS 灵石县第一职业高级中学 最后,我们来了解一种特殊的ARP类型:免费ARP,主要用来检测IP地址是否有冲突 主机被分配了IP地址或者IP地址发生变更后,必须立刻检测其所分配的IP地址在网络上是否是唯一的,以避免地址冲突。主机通过发送ARP Request报文来进行地址冲突检测。 主机A将ARP Request广播报文中的目的IP地址字段设置为自己的IP地址,且该网络中所有主机包括网关都会接收到此报文。当目的IP地址已经被某一个主机或网关使用时,该主机或网关就会回应ARP Reply报文。通过这种方式,主机A就能探测到IP地址冲突了。 $$

资源预览图

3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)
1
3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)
2
3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)
3
3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)
4
3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)
5
3.2.2ARP协议(课件)-《计算机网络技术基础》同步教学(高教版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。