0

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

    2023.04.30 | admin | 246次围观

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

    1、ARP

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

    为ARP 代理:

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

    1.1、 地址解析过程

    在以太网内二层(指三层交换机有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才会对该请求进行处理。

    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报文格式

    太网帧类型:为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表项:

    2、静态ARP表项

    静态 ARP 表项:

    短静态 ARP 表项

    [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

    免费ARP有如下作用:

    1.5、 VLAN间ARP代理

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

    代理ARP的作用:

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

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

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

    Proxy ARP有以下特点:

    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。

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

    三层交换机配置IP地址:

    [sw1]interface GigabitEthernet 1/0/4 
    [sw1-GigabitEthernet0/0/1]undo portswitch  //华为默认开启,实际不用配置。
    [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接口也不允许它通过。

    它唯一的作用就是:当很多设备的网关!

    这三台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内端口之间的隔离,不同隔离组之间是可以互访的,只是隔离组内部是不可以相互访问的。

    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之间的三层通信

    实际网络部署:

    二层报文转发流程:

    转发流程描述

    未知单播-泛洪

    如果找不到,就向入端口以外的其它所有端口发送;

    已知单播-转发

    交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口;

    同端口-不转发

    如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;

    组播和广播-泛洪

    交换机向入端口以外的其它所有端口转发广播报文。

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

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

    带VLAN报文转发流程:

    类型描述

    转发报文

    匹配VLAN和MAC地址,符合发送到相应的端口,不符合在VLAN内泛洪;

    防环

    报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;

    广播

    交换机向(VLAN内)入端口以外的其它所有端口转发广播报文。

    三层交换机的原理模型可以认为是:三层交换机 = 二层交换机+三层路由器。

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

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

    三层交换机转发方式:

    硬件二层交换 硬件三层转发

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

    三层交换机处理流程:

    收到数据流多个数据包,只有第一个数据包是有三层交换机的三层引擎来处理的,处理的方式是软件方式arp查询为什么要在广播帧中发送,查找目的IP的网段路由,三层引擎获取了新的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转发流程:

    1、PC1发送数据包给PC3,计算机网卡比较目的IP地址不在同一网段,将数据发送给网关,目的MAC为MAC10。

    路由模块解析发现目的IP为172.16.2.5,不是本地接口存在的IP地址,因此需要对该报文三层转发。查找目的IP的网段路由arp查询为什么要在广播帧中发送,根据报文的目的IP地址(精确匹配查找,优选路径),查找三层主机路由表,匹配中VLANIF20产生的直连路由,直接转发。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论