arp 不同网段 相同vlan_学生会私房菜【20200317期】:ARP路由式代理详解

e1ed94b62e1b02eb9aef33397c9c2a25.png

一、什么是ARP代理

ARP原理是在同一网段下,发送广播请求单播回应,实现通信,在不同网段的时候,通常需要请求网关查询目标MAC地址从而实现通信。所以,就会出现占用网关资源表的问题。从而降低转发效率。在这种情况下,让两台主机之间中介成为ARP代理,避免这一问题。

二、ARP代理的条件

1、路由器上有到达对方的条目

2.、华为设备开启ARP代理功能

三、如何实现ARP代理

以主机A请求主机B为例:

1、主机A发送arp广播报文,请求主机B MAC地址。

2、PE1收到广播请求后,首先判断自己是不是目标MAC地址(发现不是,则查找到达目标MAC的路径)

3、如果发现有到达目标MAC的路由,则查询是否开启ARP代理:如果发现开启了ARP代理,则将自己接口的MAC地址发送给主机A;如果发现没有开启,则丢弃该报文。

4、如果没有收到主机B的路由,则丢弃报文。

5、收到报文后,单播回应给主机A。

(一)路由ARP代理(下文将详细讲述ARP路由式代理)

9a9e1f2a4fe3c72651e41eb0fa9a22d4.png

(二)同一VLAN下的ARP代理

实现同一网段同个vlan间的三层访问。当我们访问同一网段主机时,是不会向网关发出请求的,而是先通过广播arp包来寻找对方的mac地址,然后再根据mac地址来进行二层的访问只有访问不同网段主机时,才会请求网关,接着网关网关查找自己的路由表,如果发现有到达目的网路的路由,则用自己的mac地址做回应,因为二层流量在三层里面是被隔离的。

9427eb2a2a5ee226b06ed53208ccd6d5.png

(三)不同VLAN下的ARP代理

1、HostA (VLAN3)希望与另一主机HostB (VLAN2)之间通信,HostA直接发送了 ARP请求,请求内容包括:源IP、源MAC、VLANtag标签、目的IP ;

2、运行代理ARP的装置收到ARP请求后,查找本地ARP缓存列表,如果找到对应的表项(包括HostB的IP、MAC)则代理ARP立即回应HostA关于去目的HostB的相关信息;如果没找到对应的表项,代理ARP会预先将不同VLAN间的不同网段缓存至列表中;

3、当收到源地址去往某个网段的帧时查找代理ARP缓存列表中的网段,然后将此数据包在对应的VLAN区域内广播(避免全网广播导致全网效率降低,加快请求回应速率);

4、HostB在收到广播后,回应ARP响应,通告自己的MAC地址,代理ARP装置收到ARP请求后向HostA通告HostB的MAC。

10132ce4d2c94b8bbc3e349d851a08e2.png

四、路由式ARP代理实验

(一)实验拓扑 d0c83833a0448fa2fa70b9c7ba6d5780.png

(二)实验要求

PC1和PC2属于同一网段,需要PC1可以与PC2互通

(三)实验过程

1、配置IP地址,检验直连的连通性

[R1-GigabitEthernet0/0/0]ip add 10.1.10.3 24

[R1-GigabitEthernet0/0/1]ip add 10.1.20.3 24

af44415f1c34fdb69295dae496a32997.png b2d103114e1603dbb08f454cea0b6615.png

PC1不能ping通PC2,抓包发现PC1没有去往PC2的路径,进行ARP广播

f3895dfc1850caa02572100387d7b57f.png 2、在R1的接口上开启ARP代理

[R1-GigabitEthernet0/0/0]arp-proxy enable

[R1-GigabitEthernet0/0/1]arp-proxy enable

3、在PC1上ping PC2进行验证

(四)实验分析

在PC1上 ping PC2,发现跟自己的同一网段,PC会通过IGMP发送一个回显请求给对方,进行二层封装,发现不知道 PC2的mac地址,查找本地ARP缓存表,发现为空,于是发起ARP请求。 aaac46e61f09859c5b7e47c54c4ec6c3.png 但是由于PC1跟PC2属于同一网段,不同广播域,路由器是不会转发广播包的,所以PC2是收不到该ARP请求的,所以就不能进行互访,这样就可以在路由器上配置ARP代理,当路由器收到ARP请求之后,会将自己接收端口的MAC地址发送给PC1,让PC1误认为路由器接口的mac地址就是PC2的mac地址,之后的所有封装都会以此MAC作为目的MAC进行封装,这样路由器就可以识别了。

d5d8ba64be21e2fe0d7fb562e10dc49d.png

Hardware address 的值就是接口的Mac地址

发现与上图中ARP应答的Mac地址相同

路由器收到该比特流后,进行逐层阶层,解封二层数据帧,发现目的MAC为自己,接收。继续解封三层数据包,发现目的ip不是自己,然后路由器根据目的IP进行查表。根据到达目的IP下一跳的出接口进行转发,三层封装不变,并将源MAC地址封装为该出接口的MAC地址,但是发现不知道目的IP的MAC,无法进行二层封装,于是对IP 10.1.20.2发起ARP请求。

3d5b0efb03d63c86cbae2022b3e0d5fb.png

得到MAC地址之后,将重新封装好的数据发送给PC 2

8a126caa7df5d7a112a2549dbee1eb05.png 17d40ea3e1ce2ea99afab90b8b47e50a.png G0/0/1的Mac地址为00e0-fc91-429e

PC2收到ICMP回显请求之后,会回复一个回显应答给PC1

63d8b1205338d5c768363b4d7073e386.png

源MAC为自己,目的MAC路由器接口MAC

五、路由式ARP代理特点

1、proxy ARP部署在网关上,网络中的主机不必做任何改动

2、Proxy ARP可以隐藏物理网络细节,使两个物理网络可以使用同一个网络号

3、Proxy ARP只影响主机的ARP表,对网关的ARP表和路由表没有影响

cd1a342cf6f7d9406105ff67181d96f1.png 46b282014c1c72d504d52bf17efd1133.png

作者:廖宇青

一个不远千里来到厦门求学的川妹子,目前就读于华侨大学,17级通信工程专业。到国科学习已有一年多,但深知自己学得还不够。尤其是这次“ARP路由式代理详解”技术文档的编写,让我更深层地理解了ARP,也明白了:虽然讲师会在一节课上讲到很多知识点,但课后需要我们整理巩固的知识还有很多,继续加油吧!

国科学院学生会

acfd9af9d836bb273fc455e3e49355c8.png

国科学院学生会是由国科学院指导开展的学员服务型组织,致力于配合国科学院完成日常工作的开展以及强化锻炼学员的自身职业素养与专业技能,下设部门有教学部、项目部、外宣部和组织部。

如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系并加入我们吧!

各校区学生会指导老师:

厦门校区——王少怀 QQ:865489761

福州校区——王  建 QQ:840826978

泉州校区——王  阳 QQ:1350103305

成都校区——梁艳秋 QQ:1689906517


往期精彩:

学生会私房菜【20200310期】——ACL与route-policy中permit/deny的关系

学生会私房菜【20200305期】——Ping命令及其常用参数详解

学生会私房菜【20191226期】——BGP路由黑洞(一)

学生会私房菜【20191231期】——BGP路由黑洞(二)

学生会私房菜【20200102期】——BGP路由黑洞(三)

学生会私房菜【20200114期】——BGP路由黑洞(四)

983e68654ba8795cd73fdd4ea70671e1.png

1c5eb90ac3f11a8be39fb45f91305e9d.png 0767e419f5769a9dbac27374a580d446.png
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页