地址解析协议arp
什么是网络协议?arp为啥是一个入门级别协议?
网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合
网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址
作用:已知对方ip地址,来获取对方的mac地址
因为主机在发送数据之前,会进行封装 发现封装到二层的时候 DMAC地址这一块我获取不了 我主机这边会发送一个request的广播报文出去 知道收到reply相应消息后 我主机才能够封装完成,并把数据发送出去
掌握普通arp、免费arp、代理arp作用
普通ARP的工作过程
第一步:主机A想要和主机C通信
第二步:主机A首先会查询自己的ARP缓存表
这个ARP缓存表根据主机系统的不同,缓存时间也会不同,在windows系统当中缓存时间为20分钟左右
第三步:主机A发送广播的ARP请求(REQUEST)
第四步:目标主机收到回复ARPREPAY相应
注意:此时目标主机也会在对应的缓存表里面存储着主机A的IP地址和对应的MAC地址
第五步:主机A收到目标主机的回复
免费ARP
主机被分配了IP地址或者IP地址发生变更后,必须立刻检测其所分配的IP地址在网络上是否是唯一的,以避免地址冲突
功能一: 检查IP地址配置是否有冲
我们在AR2的G0/0/2接口配置IP地址
[R2-GigabitEthernet0/0/2]ip address 192.168.1.2 24 Nov 13 2019 11:40:42-08:00 R2 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/2 has entered the UP state. [R2-GigabitEthernet0/0/2]dis this [V200R003C00] # interface GigabitEthernet0/0/2 ip address 192.168.1.2 255.255.255.0 #
在R2的G0/0/2接口进行抓包
此时把AR1的IP地址也配置成192.168.1.2/24,查看如下信息
[R1-GigabitEthernet0/0/1]ip address 192.168.1.2 24 Nov 13 2019 11:47:59-08:00 R1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/1 has entered the UP state. [R1-GigabitEthernet0/0/1] Nov 13 2019 11:48:01-08:00 R1 ARP/4/**ARP_IPCONFLICT**_TRAP:OID 16777216.50331648.10 0663296.16777216.67108864.16777216.3674669056.83886080.419430400.2063597568.3355 4432.100663296 ARP detects IP conflict. (IP address=2.1.168.192, Local interface =GigabitEthernet0/0/1, Local MAC=00e0-fc5d-1f32, Local vlan=0, Local CE vlan=0, Receive interface=GigabitEthernet0/0/1, Receive MAC=00e0-fcb1-5891, Receive vlan =0, Receive CE vlan=0, IP conflict type=Local IP conflict). [R1-GigabitEthernet0/0/1] Nov 13 2019 11:48:01-08:00 R1 %%01ARP/4/ARP_DUPLICATE_IPADDR(l)[1]:Received an A RP packet with a duplicate IP address from the interface. (IpAddress=2.1.168.192 , InterfaceName=GigabitEthernet0/0/1, MacAddress=00e0-fcb1-5891) [R1-GigabitEthernet0/0/1]
并且会发现,当地址冲突的时候,链路上面会不断有免费ARP的发出,每5s发送一次
功能二:刷新交换机的MAC地址表(VRRP的场景下)
如果Master发生故障 设备的状态变为Master之后,会立刻发送免费ARP来刷新交换机上的MAC表项,从而把用户的流量引到此设备上来,整个过程对用户完全透明。
代理ARP
华为默认不开启
开启代理ARP
interface GigabitEthernet0/0/0
arp-proxy enable
解决问题
在不设置网关的场景,实现不同的网段的访问
路由式Proxy ARP就是使那些在同一网段却不在同一物理网络上的网络设备能够相互通信的一种功能
PC1的MAC地址:54-89-98-24-42-29
PC2的MAC地址:54-89-98-B7-79-9D
AR1的G0/0/0接口MAC地址:00e0-fc31-53e4
AR1的G0/0/1接口MAC地址:00e0-fc31-53e5
AR1上面的配置
#
interface GigabitEthernet0/0/0
ip address 172.16.1.254 255.255.255.0
arp-proxy enable
#
interface GigabitEthernet0/0/1
ip address 172.16.2.254 255.255.255.0
arp-proxy enable
#
分析一下PC1访问PC2的整个流程是怎么样的?
静态路由使用出接口的场景
如图所示:在AR1和AR3各自配置如下静态路由?请问:AR1能够访问AR3的IP地址吗?
如果访问不了?请给出说明的原因?需要通过什么方式的修改才能进行访问? 在AR2上面开启arp-proxy功能 # interface GigabitEthernet0/0/0 ip address 12.1.1.2 255.255.255.0 arp-proxy enable # interface GigabitEthernet0/0/1 ip address 23.1.1.2 255.255.255.0 arp-proxy enable #
R2设备的各个接口的MAC地址 AR2设备接口的G0/0/0的MAC地址:00e0-fc60-2626 AR2设备接口的G0/0/1的MAC地址:00e0-fc60-2627 查看AR1设备的ARP表项: <R1>display arp IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE vVpPnN-INSTANCE VLAN/CEVLAN PVC ------------------------------------------------------------------------------ 12.1.1.1 00e0-fc01-5a32 I - GE0/0/0 23.1.1.3 00e0-fc60-2626 17 D-0 GE0/0/0 12.1.1.2 00e0-fc60-2626 17 D-0 GE0/0/0 ------------------------------------------------------------------------------ Total:3 Dynamic:2 Static:0 Interface:1 查看AR3的ARP表项 <R3>display arp IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE vVpPnN-INSTANCE VLAN/CEVLAN PVC ------------------------------------------------------------------------------ 23.1.1.3 00e0-fcf2-675a I - GE0/0/1 23.1.1.2 00e0-fc60-2627 17 D-0 GE0/0/1 12.1.1.1 00e0-fc60-2627 17 D-0 GE0/0/1 ------------------------------------------------------------------------------ Total:3 Dynamic:2 Static:0 Interface:1
两台电脑跨网段之间数据传递过程中的封装和解封装