Bootstrap

新手必读:三层交换技术基础知识详解

数据来源 

一、三层交换技术出现背景:

        解决之前给网段划分VLAN控制端口,然后使用路由器设置单臂路由的让不同VLAN可以通信的缺点,

单臂路由缺点:
        1)容易出现网络瓶颈

        2)容易发生单点物理故障

        3)VLAN间通信的每个帧都进行路由,导致效率下降

单臂路由的拓补图 

单臂路由被代替的原因:

        1)只有一条线给多个VLAN转发数据数量一多会出现各种网络问题,一条线承载不了成百上千人同时通信产生的数据量,且依赖性太高,这一根线坏了全公司网络玩完。。

        2)如果使用多条线,每个VLAN都有单独一条线连接路由器上,但是路由器没这么多接口哪就要买多台路由器,这不太现实,成本太高而且不方便管理。

拓补图 

解决:解决这种问题的理想方案就是一个VLAN一条线 

二、为了解决这问题三层交换机应运而生:

 1)介绍

      三层交换机就是具有部分路由器功能的交换机(就是3层路由器与2层交换机的杂交产品),工作在OSI网络标准模型的第三层:网络层。三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。

拓补图  (真实的三层交换机根二层交换机外观差不多,下图只是为了辅助理解)

2)三层路由引擎是可以关闭或开启的

一个三层交换机如果没有配置启动路由引擎,那他跟二层交换机没啥区别,路由引擎默认是关闭的。

        conf t                     # 进入全局配置模式

        ip routing               # 开启三层路由功能

        no ip routing         # 关闭三层路由功能

3)三层交换机的优点:

        与单臂路由对比

                1)解决了网络瓶颈问题(每个VLAN都有对应的虚拟线)

                2)解决了单点故障(虚拟接口不再依赖任何的物理接口)

                3)提高转发速度(一次路由,多次转发)

 为啥说三层交换机提高了转发速度?

答:

        1)相比单臂路由要让不同VLAN通信需要把交换机通往路由器的端口设置为trunk端口,以后通过这个端口的帧都要加上标签路由器还要拿掉标签,三层交换机没有这一步骤,当然这一步提高不了多快的转发速度,重点是下一个。   

如下图,如果PC1要与

        2)如上面的PC1向PC2通信这一过程,可能会有成万上亿个帧要发送个PC2,要是单臂路由的话每一个帧都要经历上面讲的过程,但是在三层交换机这成万上亿个帧只需要第一个帧经历上面的流程,当第一个帧经历完上面的流程后交换机就知道,PC1要通信的目标PC2属于那个VLAN和他的IP地址与MAC地址,三层交换机就会生成一张快速转发表(CEF表)与一张邻接关系表

CEF表                                                                                               邻接关系表

vlan20   20.1.1.1(目标IP)   <---------对应关系----------->               BB  CC   (帧头)

有个这两张表之后,帧到达路由引擎的端口后,就会直接查看帧的目标IP地址发现与CEF表匹配发现目标是20.1.1.1表里刚好有匹配上了,直接拿和邻接关系表对应的帧头替换数据帧的帧头,然后把帧送到VLAN20端口转发出去,这一过程中路由器不用查看路由表和ARP缓存表。(ARP缓存表是查看目标MAC地址的,表中没有需要的MAC地址才会发送ARP广播请求目标MAC地址,上面图片中写不下就没有详细介绍)这一过程就叫一次路由,多次转发

注意:这些过程都是自动的,了解即可,实际工作中拿到三层交换机就是开启三层路由,然后给VLAN配置网关(IP地址),然后员工的IP地址的网关项指向自己VLAN的网关就能互相通信了。

4)三层交换机起虚接口(配置VLAN的网关)

        en                                          # 进入特权模式

        conf    t                                 # 进入全局配置模式

        int vlan  ID                            # 进入需要配置的VLAN

        ip add IP地址  子网掩码      # 给VLAN配置网关(IP地址)

        no shut                                # 开启端口

        exit                                       # 退到上一级  

5)二层端口升级为三层端口

三层交换机虽然有路由器的功能,但是他还是不能替代路由器,想上网还是要拉条网线插路由器,再连接三层交换机,然后把连接的端口升级为三层端口。

        int  f0/x                   # 进入需要配置的端口

        no switchport          # 升级为三层端口可以连接路由器

 三、实验三层交换机

要求:

        1)让内网可以互相通信

        2)内外网通信

实现思路:

1)交换部分

  1. 给交换机之间的连接端口设置为Trunk接口
  2. 使用VTP协议给交换机共享VLAN的配置减少工作量
  3. 创建VLAN
  4. 把端口加入到VLAN
  5. 起三层虚接口

2)路由部分

  1. 配置IP,并开启
  2. 配置路由

1、规划网络

2、配置交换机

        1)给交换机之间的连接端口设置为Trunk接口

                en   # 进入特权模式

                conf t   # 进入全局配置模式

                int f0/x   # 进入要配置的接口或 int range f0/1 -2   # 配置 fa0 - 2 接口

                switchport  trunk   encapsulation  dot1q  #  这个端口如果作为trunk 需要封装成dotlq(二层交换机这命令可选,三层不加保错)

                switchport  mode trunk  # 设置端口为中继端口,简写:sw m t

                exit   # 退到上一级

        2)使用VTP协议给交换机共享VLAN的配置减少工作量

                将第一台交换机配置成server模式        

                en   # 进入特权模式,如果在其他模式下可以用:end 直接回到特权模式或exit一步步退回去

                vlan database  # 创建VLAN管理域

                vtp server        #  配置sw1为VTP的Server模式(可以理解为父级,其他交换机是子级,会自动学习父级的VLAN配置)

                vtp  domain   wencoll  # 给管理域设置个名称,wencoll  就是名称可以顺便写

                exit   # 退到上一级 

        其余两台二层交换机都设置模式为client,只要交换机的连接端口是trunk端口,则可自动学习sw1交换机的VLAN配置

                en   # 进入特权模式

                vlan database  # 创建VLAN管理域

                vtp client   # 设置模式为client   

                exit   # 退到上一级

        3)创建VLAN(10、20)给第一台Server模式这台配置就可以了,其他的直接查看VLAN表看有没有学习到

                en   # 进入特权模式

                cong t       # 进入全局配置模式

                vlan  ID,ID,ID-ID  # 创建VLAN,可选一个或多个,模式器不支持可以一个一个来

                name   自定义名称   # 给VLAN定义别名(可选)

                exit     # 退到上一级
       
        show vlan brief(brief 简写:b)  #  查看VLAN表,如果不是在特权模式下,要加 do

         4)把二层交换机的端口加入到对应的VLAN

                cong t       # 进入全局配置模式

                int f0/x    # 进入需要配置的端口

                switchport    access  vlan    ID  # 将端口加入VLAN

        5)三层交换机起虚接口(配置VLAN的网关)

                en                                          # 进入特权模式

                conf    t                                 # 进入全局配置模式

                 ip routing                       # 开启三层路由功能

                int vlan  10                           # 进入需要配置的VLAN

                ip add 10.1.1.254 255.255.255.0     # 给VLAN配置网关(IP地址)

                exit                                       # 退到上一级

                int vlan  20                           # 进入需要配置的VLAN

                ip add 20.1.1.254 255.255.255.0     # 给VLAN配置网关(IP地址)

                exit                                       # 退到上一级

                do sh ip int b                  # 查看接口列表,检查配置

     到这里内网就就是可以互相通信了

  6)给下面的两台PC配置IP地址,使用ping测试内网网络联通性

7)给三层交换机的Fa0/3配置IP,并开启端口

        en                                          # 进入特权模式

        conf t                     # 进入全局配置模式

        int  Fa0/3                   # 进入需要配置的端口

        no switchport          # 升级为三层端口可以连接路由器,IP是以上三层设备才有的,不升级是配置不了IP

        ip add 30.1.1.1 255.255.255.0  # 配置IP

        no shut                 # 开启端口

        exit                                       # 退到上一级

       ip route 0.0.0.0  0.0.0.0 下一跳IP  # 配置往右边走的默认路由,这条命令的意思是所有IP与子网掩码的数据都转发到下一跳IP,这里的下一跳是30.1.1.254 (因为等下把网线另一端设为30.1.1.254作为下一跳IP)

        do sh ip int b                  # 查看接口列表,检查配置

3、配置路由器

        1)配置第一个路由器

        en                                                  # 进入特权模式

        conf t                                            # 进入全局配置模式

        int  Fa0/0                                      # 进入需要配置的端口

        ip add 30.1.1.254 255.255.255.0 # 配置IP

        no shut                                       # 开启端口

        exit                                              # 退到上一级

        int  Fa0/0​​​​​​1                                  # 进入需要配置的端口

        ip add 40.1.1.1  255.255.255.0  # 配置IP

        no shut                                       # 开启端口

        exit                                              # 退到上一级

        ip route 0.0.0.0  0.0.0.0 下一跳IP  # 配置往右边走的默认路由,这条命令的意思是所有IP与子网掩码的数据都转发到下一跳IP,这里的下一跳是40.1.1.254 (因为等下把网线另一端设为40.1.1.254作为下一跳IP)

         ip route 10.1.1.0  255.255.255.0 30.1.1.1  # 配置往左边走的静态路由,找10.1.1网段的转发给30.1.1.1(三层交换机)

         ip route 20.1.1.0  255.255.255.0 30.1.1.1  # 配置往左边走的静态路由,找20.1.1网段的转发给30.1.1.1(三层交换机)

        do sh ip route   # 查看路由表(R1配置之前的路由表)

        2)配置第二个路由器(注意之前我路由器之间的线连错了,同种设备用交叉线)

        en                                                  # 进入特权模式

        conf t                                            # 进入全局配置模式

        int  Fa0/1                                      # 进入需要配置的端口

        ip add 40.1.1.254 255.255.255.0 # 配置IP

        no shut                                       # 开启端口

        exit                                              # 退到上一级

        int  Fa0/0​​​​​​                                  # 进入需要配置的端口

        ip add 50.1.1.254  255.255.255.0  # 配置IP

        no shut                                       # 开启端口

        exit                                              # 退到上一级

        ip route 0.0.0.0  0.0.0.0 40.1.1.1  # 配置往左边走的默认路由,这条命令的意思是所有IP与子网掩码的数据都转发到下一跳IP

        do sh ip route   # 查看路由表(R1配置之前的路由表)

        3)最后给外网的PC配置IP地址,测试一下全网通信

;