HCIP-7.1交换机ARP、VLAN之间的三层通信技术学习

1、ARP

ARP(Address Resolution Protocol)用于将一个IP地址映射到正确的MAC地址。

为ARP 代理:
一个物理网络的子网(Subnet)中的源主机向另一个物理网络的子网中的目的主机发ARP request,和源主机直连的网关用自己接口的MAC地址代替目的主机回ARP reply,这个过程称为ARP 代理。

1.1、 地址解析过程

ARP拓扑图

在以太网内二层(指三层交换机有vlanif接口,才有IP,二层交换机没有IP,ARP不能使用)。

查询MAC地址,ARP请求报文,只有源MAC地址,目的MAC为00。
1、同一网段内
1)、在同一广播域内,所有主机处于同一网段,主机A要向主机C发送信息,主机A的ARP表中没有对应的MAC地址,主机先以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的源IP地址和源MAC地址,目标IP地址和目标MAC地址为主机C的IP地址和全0的MAC地址。

2)、ARP的请求以广播方式发出,在同一广播域内所有主机都可以接收到该请求,但只有被请求的主机C才会对该请求进行处理。
ARP请求和响应

3)、收到ARP的主机C通过比较接收的目的IP地址与自己的IP地址相同,查询自己的ARP表有没有主机A的MAC地址,没有就添加主机A的MAC地址和IP地址。

4)、响应是单播方式发出,包含有自己的MAC地址。

ARP是不能穿越广播域,就是不能穿越路由器或VLAN。三层设备路由器不转发ARP广播。

地址解析协议 ARP 作用:在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表,并且这个映射表经常动态更新。每一台主机都设有一个 ARP 高速缓存(ARP Cache),里面有本局域网上的各主机和路由器的 IP 地址到硬件地址的映射表(并且每一个映射地址都设置有生存时间)。

2、不在同一网段
发送给网关的是报文,不是arp查询请求。

当主机A和主机D不在同一网段时,主机A就会先向网关(路由器)发出ARP请求, ARP请求报文中的目标IP地址为网关IP地址

当主机A从收到的响应报文中获得网关的 MAC地址后,将报文封装并发给网关。

如果网关没有主机D的ARP表项,网关会广播ARP请求,目标IP地址为主机D 的IP地址,当网关从收到的响应报文中获得主机D的 MAC 地址后,就可以将报文发给主机 D;

如果网关已经有主机 B 的 ARP 表项,网关直接把报文发给主机 B。

1.2、ARP报文格式

ARP报文

太网帧类型:为0x0806(ARP请求和ARP应答)
硬件地址的类型:以太网类型时此值为1。
协议地址的类型:此值为0x0800(对IPv4地址进行映射)。
硬件地址长度和协议地址长度:MAC地址占6字节,IP地址占4字节。
操作类型字段Operation Code:值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。
目的以太网地址,全1时代表广播地址FF-FF-FF-FF-FF。

1.3、ARP表项

ARP 表项分为动态 ARP 表项和静态 ARP 表项。

1、动态ARP表项:

  • 由ARP协议通过ARP报文自动生成和维护;
  • 可以被老化;
  • 可以被新的 ARP 报文更新;
  • 可以被静态 ARP 表项覆盖。
    当到达老化时间、接口 down 时会删除相应的动态 ARP 表项。

2、静态ARP表项

  • 通过手工配置和维护;
  • 不会被老化;
  • 不会被动态ARP表项覆盖。
    配置静态 ARP 表项可以增加通信的安全性。

静态 ARP 表项:

  • 长静态 ARP 表项
    • 配置长静态 ARP 表项时,除了配置 IP 地址和 MAC 地址项外,还必须配置该 ARP 表项所在 VLAN 和出接口。长静态 ARP 表项可以直接用于报文转发
  • 短静态 ARP 表项
    • 配置短静态 ARP 表项时,只需要配置 IP 地址和 MAC 地址项。
[Switch] arp static 10.0.0.1 6832-6500-ed01 vid 10 interfacegigabitethernet 1/0/1
[Switch] arp static 10.0.0.2 6832-6500-ed02 interfacegigabitethernet 1/0/2

ARP的老化机制

参数缺省配置
老化超时时间1200秒
老化探测次数3
老化探测报文的模式最后一次为广播方式,其余为单播方式发送。

华为老化时间是20分钟,不同设备不一样。
查看老化时间:[HuaWei]dis arp

1.4、免费ARP

免费ARP:Gratuitous ARP

  • 设备主动使用自己的IP地址作为目的IP地址发送ARP请求。此种方式称免费ARP

免费ARP有如下作用:

  • IP地址冲突检测:当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
  • 用于通告一个新的MAC地址:发送方更换了网卡,MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。
  • 在VRRP备份组中用来通告主备发生变换:发生主备变换后,MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换。

1.5、 VLAN间ARP代理

代理ARP就是通过使用一个主机,来作为指定的设备使用自己的 MAC 地址来对另一设备的ARP请求作出应答。

代理ARP的作用:
主机查询的对象不在同一个局域网内,路由器就提供了代理ARP为这个问题提供了解决方案。
 代理ARP请求

主机A发送ARP请求主机D的MAC地址时,因为路由器不转发广播包的原因,ARP请求只能到达路由器。

这时路由器启用了代理ARP功能,并知道主机D属于它连接的网络,那么路由器就用自己接口的MAC地址代替主机D的MAC地址来对主机A进行ARP应答。主机A接收ARP应答,但并不知道代理ARP的存在。
代理ARP响应

Proxy ARP有以下特点:

  • 所有的处理在ARP子网网关(ARP Subnet Gateways)进行,所连网络中的主机不必做任何改动;
  • 在主机端看不到子网,只是一个标准IP网络;
  • Proxy ARP只影响主机的ARP高速缓存,对网关的ARP高速缓存和路由表没有影响;
  • 使用Proxy ARP后,主机应该减小ARP老化时间,以尽快使无效ARP项失效,减少发给路由器而路由器却不能转发的报文。主流还是使用VRRP。
Proxy ARP方式作用
路由Proxy ARP解决同一网段不同物理网络上计算机的互通问题。
Vlan内部Proxy ARP解决相同Vlan内,且Vlan配置用户隔离的网络上计算机互通问题。
Vlan间Proxy ARP解决不同Vlan之间对应计算机的三层互通问题。

1.5.1、解决同网段,不同广播域内主机互通问题;

配置:在路由器/交换机三层接口上配置 arp-proxy enable

[Router] interface vlanif 10
[Router-Vlanif10] ip address 10.0.0.254 255.255.255.0
[Router-Vlanif10] quit
[Router] interface vlanif 10
[Router-Vlanif10] arp-proxy inner-sub-vlan-proxy enable
[Router-Vlanif10] quit

SVI----交换虚拟接口,交换机上针对不同的VLAN可以设置的接口(此接口为3层接口)

SVI功能:
1.充当对应VLAN之内的网关,为不同VLAN之间通信提供可能。
2.方便用户进行远程控制(telnet ssh)

SVI存在条件:
1.交换机存在属于SVI接口对应VLAN ID的活动接口
2.Trunk 链路,SVI对应VLAN id存在于trunk链路的VLAN允许列表之内
3.针对三层交换机,可以创建多个SVI–多个SVI可以同时工作,但对于二层交换机,二层交换机物理接口正常无法配置ip地址,仅存在一个svi,默认在vlan1中。

注意:二层交换机接口可以配置ip地址,出厂存在MAC地址;用于远程登录该设备;该接口默认在vlan1 中,故vlan1就被称为默认的管理vlan。

三层交换机配置IP地址:

[sw1]interface GigabitEthernet 1/0/4 
[sw1-GigabitEthernet0/0/1]undo portswitch   //关闭二层,启用三层只有CE系列交换机能用此命令
[sw1-GigabitEthernet0/0/1]ip address 192.168.1.1 24

三层交换机上配置的VLAN接口为虚接口

[sw1]interface Vlanif 10
[sw1-Vlanif2]ip address 10.0.0.254 24
[sw1]interface Vlanif 20
[sw1-Vlanif2]ip address 10.2.0.254 24

1.5.2、解决同网段,不同VLAN之间主机互通问题。

Super VLAN,也叫VLAN聚合(VLAN Aggregation)指在一个物理网络内,用多个VLAN(称为Sub-VLAN)隔离广播域,并将这些Sub-VLAN聚合成一个逻辑的VLAN(称为Super-VLAN),这些Sub-VLAN使用同一个IP子网和缺省网关,达到节约IP地址资源的目的。

注意:在实际工作应用不多。

三层交换机完美地解决了VLAN间的互通,不过还有个问题:网络中VLAN的数量如果很多,那就需要给每个VLAN配置一个SVI接口!

Super VLAN也叫VLAN聚合,是一个可以给很多VLAN当网关的SVI接口。对,它只是一个虚拟接口,除此之外和别的VLAN没有半点相同的地方:既不能做接口的PVID,Trunk接口也不允许它通过。

它唯一的作用就是:当很多设备的网关!
Super VLAN
这三台PC之间呢?能互通吗?虽然它们在同一个网段,但还是在不同的VLAN里,和普通VLAN一样不能通!三台PC的IP地址和掩码,是不是在同一个网段?

这个ARP请求谁能听见?Super VLAN是所有Sub VLAN的网关,肯定能听见。我们给Super VLAN的SVI(交换虚拟接口)接口加个功能,让它承担起各个Sub VLAN间互通的任务。这叫本地代理ARP(Local Proxy ARP)。

配置三层交换机交换虚拟接口

[Huawei]interface Vlanif 100
[Huawei-Vlanif100]ip add 10.0.0.254 255.255.255.0
[Huawei-Vlanif100]arp-proxy inter-sub-vlan-proxy enable 

1.5.3、解决同网段,同VLAN内由于配置了端口隔离/连接到DSLAM设备,导致的同VLAN主机无法互通问题。

端口隔离功能可以实现同一VLAN内端口之间的隔离,不同隔离组之间是可以互访的,只是隔离组内部是不可以相互访问的。
VLAN内ARP代理

GROUP1 内部的成员间隔离,无法互访。但是group 1内的成员可以访问group 2和未配端口隔离的成员。

[sw1]interface Vlanif10
[sw1-Vlanif10]ip address 10.0.0.254 255.255.255.0
[sw1-Vlanif10]q
[sw1]interface GigabitEthernet0/0/1
[sw1-GigabitEthernet0/0/1]port link-type access
[sw1-GigabitEthernet0/0/1]port default vlan 10
[sw1-GigabitEthernet0/0/1]port-isolate enable group 1
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
 port-isolate enable group 1
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 10
 port-isolate enable group 1
#
interface GigabitEthernet0/0/4
 port link-type trunk
 port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 10
 port-isolate enable group 2
#
interface GigabitEthernet0/0/6
 port link-type access
 port default vlan 10
 port-isolate enable group 2

端口隔离是交换机端口之间的一种访问控制安全控制机制。

实现不同端口接入的PC之间不能互访(PC属于相同的VLAN),而所有的PC都能够通过上行的交换机访问网络。

可以配置VLAN内的用户间的相互隔离或者互通,端口隔离则是物理层次上的隔离,是基于端口。

被隔离的端口之间不能被访问。被隔离的端口和没有被隔离的端口可以互访。不同隔离组之间也可以互访。

全局模式:

[sw1]port-isolate mode all        //全局使能隔离模式

接口模式:

[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type access
[sw1-GigabitEthernet0/0/1]port default vlan 10
[sw1-GigabitEthernet0/0/1]port-isolate enable group 1  //默认是组1 group 1可以不输入

端口隔离
配置VLAN内Proxy ARP功能。

[sw1]interface Vlanif10
[sw1-Vlanif10]ip address 10.0.0.254 255.255.255.0
[sw1-Vlanif10]arp-proxy inner-sub-vlan-proxy enable

2、三层交换机实现VLAN之间的三层通信

二层通信

实际网络部署:

  • 在实际网络部署中常常会将不同的IP地址段划分为不同的Vlan。
  • 在同Vlan并且相同的网段的PC之间可直接进行通信,就不需要三层转发设备,这种方式被称为二层通信。
  • 在Vlan之间需要通过三层通信来进行互访,这时需要借助三层设备。

二层报文转发流程

转发流程描述
未知单播-泛洪如果找不到,就向入端口以外的其它所有端口发送;
已知单播-转发交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口;
同端口-不转发如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;
组播和广播-泛洪交换机向入端口以外的其它所有端口转发广播报文。

三层通信

Vlan间二层通讯被隔离了,不同VLAN之间的终端无法直接通讯。怎么解决?

使用三层路由设备将不同的VLAN打通。使用路由器和三层交换机都可以,不过由于路由器成本太高,路由器也没有这么多接口,实际中使用三层交换机。

带VLAN报文转发流程:

类型描述
转发报文匹配VLAN和MAC地址,符合发送到相应的端口,不符合在VLAN内泛洪;
防环报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;
广播交换机向(VLAN内)入端口以外的其它所有端口转发广播报文。

三层交换机的原理模型可以认为是:三层交换机 = 二层交换机+三层路由器。
三层交换机
在三层交换机上,可以在一个VLAN配置三层接口(cisco成为交换机虚拟接口 SVI:switch virtual interface),这个SVI接口就是上面原理模型中的那个路由模块对应的接口。它具备普通路由器接口的基本特性,比如:

  • 该接口有自己的MAC地址;
  • 在该SVI接口上,我们可以进行标准的三层协议的配置,包括IP地址,路由协议等等。

三层交换机内部既有MAC地址表,用以二层转发;又有IP路由表,用以三层转发。

三层交换机转发方式:

  • 软件三层转发
    • 查找目的IP的网段路由(最佳匹配查找,次优路径),
    • 如果路由不存在,报文丢弃。
    • 如果存在,查找下一跳的ARP表,如果ARP不存在,进行ARP学习。
    • 学习到ARP后,进行报文转发,并将转发信息写入硬件主机路由表,以后该目的IP的报文就可以通过硬件进行三层转发了
  • 硬件二层交换
    • 根据报文的目的MAC(精确匹配查找),查找二层MAC转发表:
    • 如果不存在该MAC条目,则在所有端口上进行泛洪处理(广播组播也会泛洪)。
    • 如果存在该MAC条目,并且该条目没有Route标志,则进行标准交换转发。
    • 如果该MAC条目上有Route标记,则进行硬件三层转发。
  • 硬件三层转发
    • 根据报文的目的IP地址(精确匹配查找,优选路径),查找三层主机路由表:
    • 如果存在,直接转发(TTL–,目的MAC地址进行替换)
    • 如果不存在,则进行标准的软件三层报文转发。

跨网段访问PC3时,PC1会将数据交给网关AR1,所以DMAC是AR1,此时交换机发现DMAC是自己,拆开二层头部,查看三层头部的DIP进行三层转发。

三层交换机处理流程:
收到数据流多个数据包,只有第一个数据包是有三层交换机的三层引擎来处理的,处理的方式是软件方式,查找目的IP的网段路由,查找下一跳的ARP表,三层引擎获取了新的2层封装信息后,然后进入硬件三层,先硬件二层后硬件三层。

在第一个数据包转发完成后,在硬件中创建一个MLS条目。MLS是基于CEF(一种基于拓扑转发的模型)的。

Cisco Catalyst 交换机使用传统的MLS(Multilayer Switching,多层交换)体系结构或基于CEF(Cisco Express Forwarding, Cisco 快速转发)的MLS体系结构。传统的MLS是一种老式结构,而所有新型的Catalyst交换机都支持CEF多层交换。

类型描述
转发信息表匹配VLAN和MAC地址,符合发送到相应的端口,不符合在VLAN内泛洪;
邻接关系表(FIB)记录了主机MAC地址和交换机地址;

虚接口概述
路由器的物理接口上可以配置IP地址,那么三层交换机上面是否可以?答案是可以的。

SVI----交换虚拟接口,交换机上针对不同的VLAN可以设置的接口,充当对应VLAN之内的网关,为不同VLAN之间通信提供可能。

Vlanif转发流程:
Vlanif转发流程1

1、PC1发送数据包给PC3,计算机网卡比较目的IP地址不在同一网段,将数据发送给网关,目的MAC为MAC10。
Vlanif转发流程2
路由模块解析发现目的IP为172.16.2.5,不是本地接口存在的IP地址,因此需要对该报文三层转发。查找目的IP的网段路由,根据报文的目的IP地址(精确匹配查找,优选路径),查找三层主机路由表,匹配中VLANIF20产生的直连路由,直接转发。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0与1之旅

创作不易请给予一点帮助和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值