arp 华为 查看 路由器_ARP基本原理+代理arp实验

本文介绍了ARP协议的基本原理,解释了为何需要ARP来将IP地址解析为MAC地址,详细阐述了ARP的工作流程,并通过实例讲解了代理ARP如何帮助不在同一网络内的主机通信。同时,提供了华为路由器上配置代理ARP的实验步骤,包括静态ARP配置和VLAN环境下的代理ARP设置。
摘要由CSDN通过智能技术生成

01

ARP 是什么?

ARP【Address Resolution Protocol 】 ,即地址解析协议,负责把目的主机的IP 地址解析成目的MAC地址。当发送者 知道目的主机的IP地址之后, 就可以使用这个IP地址去解析对方的MAC地址。

为什么需要ARP?

在发送者给其他的网络设备发送数据的时候, 是以数据帧的形式发送的,数据帧被网卡解析成电信号或者光信号传递到对端。

数据帧是由源MAC地址和目的MAC地址组成的,如果发送者只知道目的主机的IP地址, 不知道目的主机的MAC地址, 就不能把这个数据包转化成数据帧发走,而ARP 协议就是负责地址解析的, 使用目的主机IP地址来解析对方的MAC地址。

如果发送者和接收者在同一个网络内,arp解析的就是接收者的MAC地址。

如果发送者和接收者不在同一个网络内, arp解析的就是这个网络内网关的接口MAC地址。

02

arp 工作流程

在网络设备中会存在一个ARP缓存表,这个缓存表记录着这个IP 地址和MAC地址的映射关系,可以在设备终端使用arp -a 来查看本地的arp 缓存表的缓存信息。

843f8345c301ac6ae3efa1e8bf3b83d1.png

arp 协议的作用, 就是形成这个arp缓存表,那么,交换机是如何形成这个缓存表的呢?

设备需要解析一个IP地址时, 会发出一个arp 请求报文的广播帧,2层报文中目的MAC地址为全F ,目的设备在收到ARP请求报文之后,会向源设备发送一个单播帧,该单播帧是一个ARP的应答报文,该应答报文中包含了目的设备的MAC地址。

下面配图分析一下:

同一个网络内的ARP请求和应答过程如下:

如图:PC 1 只知道PC3 的IP地址是10.1.1.3, 但是不知道PC3的MAC, 现在想获取PC3 的MAC地址:

1、发送者PC1:PC 1 会发送一个广播帧, 源IP和源MAC是PC1, 目的IP是PC3,目的MAC为FF-FF-FF-FF-FF-FF, 这个帧是广播发送的, 该网络内所有主机都会接收到,这个报文的载荷内容是一个ARP请求报文,意思是我的MAC地址是MAC1,我想给10.1.1.3发送数据, 谁是10.1.1.3, 请回复一下我。

2、非目的主机PC2:由于这个广播帧网络内主机都可以收到,PC2 收到这个帧, 提取IP地址, 发现, 它要找的IP地址是10.1.1.3, 我的IP地址是10.1.1.2, 这个数据包不是发给我的, 丢弃, 不回复。

3、 目的主机PC3:PC 3 收到这个广播数据帧后,拆开数据帧, 提取IP地址, 发现和我本地IP地址是一样的, 这个数据包就是发给我的, 然后再拆, 提取报文后, 了解到对方要请求我自己的MAC地址,然后就打包一个ARP的应答报文,源IP和源MAC都是自己的,目的IP和目的MAC是对方的,单播的发送给接收者,这样PC1 就有了PC3的MAC地址。

03

代理ARP

如果这两个主机不在同一个网络内, 被3层设备隔离了, 怎么通信呢?

23e7934ce16d6f20699e629d0ea3b097.png

目的IP地址与本机的IP地址位于不同网络, 由于主机A没有配置网关,所以它将会以广播形式发送ARP Request报文,请求主机B的MAC地址。但是,广播报文无法被路由器转发,所以主机B无法收到主机A的ARP请求报文,当然也就无法应答。

在路由器上启用代理ARP功能,就可以解决这个问题。

启用代理ARP后, 主机A解析网关MAC 地址过程:

1、主机A发送arp 请求网关MAC: 在电脑主机要先配置网关地址,主机A给主机B发送数据,发现是不同网段的数据通信,而我本地是没有这个关于B的ARP映射关系的,就会发送一个arp请求报文,解析网关MAC地址,源IP和源MAC地址都是主机A,目的IP是网关IP地址,目的MAC地址是全0。

2、网关回复自己的MAC 地址:网关收到这个arp请求报文后, 检查目的主机是否可达,可达,就会把自己的MAC地址以arp reply报文回复给主机A,目的主机不可达就不回复。

3:主机A 给主机B 发送数据:主机A收到这个arp应答报文就会把网关MAC和网关的IP地址添加进arp表,A要给主机B发送数据,需要先解析B的MAC地址,发送一个arp请求报文,源IP 和源MAC是A的信息,目的IP地址是B的IP地址,目的MAC是网关MAC。

4: 网关收到数据包后的处理:网关收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器将会使用自己的G0/0/0接口的MAC地址来回应该ARP request。主机A收到ARP reply后,将以路由器的G0/0/0接口MAC地址作为目的MAC地址进行数据转发。

04

课后作业:

实验一:配置静态ARP

命令:[Huawei]arp static 10.1.1.4 AA-BB-CC

查看结果:display arp all

a292901ee59696bb662b648f38785070.png

实验二 : 在华为交换机S5700配置 代理arp

实验环境:S5700交换机上创建VLAN10 和VLAN20, 把这两个PC放到不同的VLAN, 然后使用vlanif下配置IP 和代理arp功能

拓扑如下:

5d86cee1da735037b80b4a09dd4fc3a0.png

[SW1]display current-configuration

#

sysname SW1

#

vlan batch 10 20 创建VLAN

interface Vlanif10 进入这个VLAN的网关接口

ip address 10.1.1.254 255.255.255.0

#

interface Vlanif20

ip address 10.1.2.254 255.255.255.0

arp-proxy enable

#

interface GigabitEthernet0/0/1

port link-type access

port default vlan 10

#

interface GigabitEthernet0/0/2

port link-type access

port default vlan 20

查看效果

1, 先不开启arp代理, PC1 ping PC2 , 发现是不通的

723ff6ded1f48945097f562eae057055.png

2, 分别进入这两个vlanif 接口, 开启代理arp功能

e8d574687d1ac8b743a9742109de80ca.png

3, 检查效果, 发现 PC 1 和PC2 可以通信了,

f5937a4cb6471ca9b200921d30ea175b.png

4, 接下来进入vlnif 10, 关闭代理arp功能,

709b2b1b0eb6891af888aef380acd558.png

在PC1 和PC2 上使用 arp -d 来清理本地缓存的ARP表,检查连通性。

a94d013fc65c5509576acf3431d06e47.png

可以发现,关闭arp代理后, 主机就不可以解析到对方的MAC地址表,也就不能完成通信,

可以多次验证检验效果。

4b532abddad43ab807dee8106752abea.png

以上就是今天分享的内容。

END

47a3052a00972a593ae39463ffaf425e.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值