zoukankan      html  css  js  c++  java
  • 多层交换MLS笔记1

    <VLAN间路由>
    VLAN之间在二层是分隔开的,如果要实现VLAN之间的通信,必须要借助到三层路由功能。
    ·支持VLAN间路由的设备:
     1.任意的3层交换机
     2.支持以太口起子接口的路由器(2600以上)

    方式1:使用路由器,采用 单臂路由 的方式,路由器应该能够支持802.1Q或ISL
     缺点:路由器的转发性能较低,容易形成网络瓶颈
     性价比 较低
     路由器:
      a)存在LAN(Ethernet)接口、WAN接口(Serial口)
      b)拥有丰富的功能(NAT、VPN等功能)

    方式2:使用三层交换机,转发效率高(L2线速转发、L3线速转发)
     Cisco三层端口:
     a)Routed Port(将物理接口--缺省是交换端口、二层端口,设置为路由端口、三层端口)
     b)SVI(Switch Virtual Interface):interface vlan VLAN_ID

    <单臂路由(Router on a Stick)>
    通过使用路由器完成VLAN之间的路由,路由器上要起子接口,并且要和交换机之间形成trunk。
     例如:                         R
                                 (f1/0)
                                   |
                                   |
                                 (f1/5)
                                   SW
                              (f1/6)(f1/7)
                                 /    
                                /      
                            (f1/0)     (f1/0)
                              PC1        PC2
    R的配置:
    R#sh run
    Building configuration...
    interface FastEthernet1/0
     no ip address
     duplex auto
     speed auto
    !
    interface FastEthernet1/0.1
     encapsulation dot1Q 10
     ip address 172.16.1.1 255.255.255.0
    !
    interface FastEthernet1/0.2
     encapsulation dot1Q 20
     ip address 172.16.2.1 255.255.255.0
    SW的配置:
    SW#sh run int f1/5
    Building configuration...
    Current configuration : 71 bytes
    !
    interface FastEthernet1/5
     switchport mode trunk
     no ip address
    end
    SW#sh run int f1/6
    Building configuration...
    Current configuration : 75 bytes
    !
    interface FastEthernet1/6
     switchport access vlan 10
     no ip address
    end
    SW#sh run int f1/7
    Building configuration...
    Current configuration : 75 bytes
    !
    interface FastEthernet1/7
     switchport access vlan 20
     no ip address
    end
    SW#sh vlan bri
    VLAN Name                             Status    Ports
    ---- -------------------------------- --------- -------------------------------
    1    default                          active    Fa1/0, Fa1/1, Fa1/2, Fa1/3
                                                    Fa1/4, Fa1/8, Fa1/9, Fa1/10
                                                    Fa1/11, Fa1/12, Fa1/13, Fa1/14
                                                    Fa1/15
    10   VLAN0010                         active    Fa1/6
    20   VLAN0020                         active    Fa1/7
    1002 fddi-default                     active   
    1003 token-ring-default               active   
    1004 fddinet-default                  active   
    1005 trnet-default                    active   
    此时,我们将PC1的网关设为路由器F1/0.1接品的IP,将PC2的网关设为路由器F1/0.2的接口IP,并且PC1在VLAN10,PC2在VLAN20中.
    PC1PingPC2:
    PC1#ping 172.16.2.2
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 56/92/164 ms
     
    spanning-tree portfast trunk  在交换机与路由器相连的端口上用,这样才能快速收敛,这一命令主要用在单臂路由上
    clear arp-cache  清ARP表,因为在路由器中,ARP表的老化时间是4个小时,如果不手工清,会等很久。
    有时做实验时会出现P不通的现象
     
    <交换机上的三层接口>
    CISCO三层交换机支持三种不同类型的三层接口:
    1、路由接口
        什么时候需要routed port?
        当MLS交换机直接连到路由器时,此时在子网中只有两个设备(路由器和MLS的一个物理接口)。
        MLS交换机的routed port有如下特性:
        1)接口不属于任何VLAN(甚至不属于VLAN 1)。
        2)交换机对该接口不保存任何2层交换表信息。
        3)3层设置,如IP地址,都像路由器一样在该物理接口上配置。
        4)邻接表列出了外发物理接口或PortChannel,这意味着不再需要2层交换逻辑。

    Configuration:
    step1:
    ip routing
    step2:
    int f0/1
    no switchport 
    ip add 10.10.10.1 255.255.255.0

    2、SVI(switch virtual interface)
    启用VLAN的三层口 (SVI)口
    interface vlan 1
    ip add 10.10.10.1 255.255.255.0
    no shut

    这样可以理解为给我们的每个VLAN配置一个网关,网关与网关之间要通过路由来通讯。
    两个网关看做路由器的两个接口,那么他们之间相互之间是可以通讯的

    3、BVI (Bridge virtual interface网桥虚拟接口) 过时了,不介绍·路由接口:类似于路由器上的3层接口,是一个真正的物理接口。
      默认情况下,在3550这样的三层交换机上,所有接口都是二层接口,可用以下命令改为三层接口。
     interface FastEthernet0/1    将二层接口改为三层接口
       no switchport
       ip address 8.8.9.7 255.255.255.0
    ·SVI接口全称叫交换机虚拟接口,是针对每个VLAN生成的一个虚拟接口,可以配上IP地址,运行路由协议。
      创建方法如下:
      interface vlan 10
        ip address 172.16.1.1 255.255.255.0
    ·另外如果想在三层SW上开启路由功能,必须先使用命令ip routing,才能运行路由协议。
    实验:如何在三层交换机上启用路由功能,实现VLAN间的路由:
    例如:                          SW(3L)
                                (f1/5)(f1/6)
                                 /       
                                /         
                             (f1/0)       (f1/0) 
                             PC1           PC2
    其中,SW的F1/5在VLAN10,F1/6在VLAN20,PC1和PC2在不同的VLAN,两台PC要实现通信

    三层交换机的配置:
    SW#sh run int vlan 10
    Building configuration...
    Current configuration : 61 bytes
    !
    interface Vlan10
     ip address 172.16.1.1 255.255.255.0
    end
    SW#sh run int vlan 20
    Building configuration...
    Current configuration : 61 bytes
    !
    interface Vlan20
     ip address 172.16.2.1 255.255.255.0
    end
    SW#sh run int f1/6
    Building configuration...
    Current configuration : 75 bytes
    !
    interface FastEthernet1/6
     switchport access vlan 10
     no ip address
    end
    SW#sh run int f1/7
    Building configuration...
    Current configuration : 75 bytes
    !
    interface FastEthernet1/7
     switchport access vlan 20
     no ip address
    end
    PC1PingPC2:
    PC1#ping 172.16.2.2
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 32/82/132 ms
     
    <如何在交换机上起三层路由接口并实现与其它设备的路由>
                        Lo  -------R
                                 (f1/0)
                                   |
                                   |
                                 (f1/5)
                                 SW(3L)
                              (f1/6)(f1/7)
                                 /    
                               /        
                            (f1/0)     (f1/0)
                              PC1        PC2

     SW和PC的配置与上面的配置是一样的,这里在SW和R之间运行RIP协议,让PC1或PC2可以Ping通L0口1.1.1.1
    SW的配置:
    SW#sh run | b r r
    router rip
     version 2
     network 10.0.0.0
     network 172.16.0.0
     no auto-summary
    R的配置:
    R#sh run | b r r
    router rip
     version 2
     network 1.0.0.0
     network 10.0.0.0
     no auto-summary
    看一看SW和R的中路由表:
    SW#sh ip ro ri
         1.0.0.0/24 is subnetted, 1 subnets
    R       1.1.1.0 [120/1] via 10.1.1.1, 00:00:20, FastEthernet1/5
    R#sh ip ro ri
         172.16.0.0/24 is subnetted, 2 subnets
    R       172.16.1.0 [120/1] via 10.1.1.2, 00:00:22, FastEthernet1/0
    R       172.16.2.0 [120/1] via 10.1.1.2, 00:00:22, FastEthernet1/0
    PC1Ping1.1.1.1:
    PC1#ping 1.1.1.1
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 72/104/168 ms
    ----------------------------------------------------------------------------------------
    <MLS(MultiLayer Switch)多层交换>

    正常来说,二层数据帧的转发我们称为交换,二层的转发方式有两种:
    1、软件交换:通过CPU实现传统帧的交换。
    2、硬件交换:通过专门的ASIC(Application-Specific Integrated Circuit应用专用集成电路)硬件组件处理数据帧。通常能够达到线速的吞吐量。

    在CISCO的设备上,对于三层IP包的转发方式有三种:
    1、进程转发,也叫软件转发
    2、快速转发,也叫传统的多层交换,需要利用专门的硬件组件完成IP包的转发。
    3、CEF转发,基于CEF的多层交换,也需要利用专门的硬件组件完成IP包的转发。
     
    ·多层交换定义:
        指的是交换机或路由器能够通过专用的硬件来交换和路由选择IP包,并通过硬件支持4-7层的交换,而不是利用CPU来完成包的转发。
        就是说原来工作在第2层的局域网交换机也可以应用2层之上的协议来转发数据。3层交换机使用的是3层目的地址来实现转发,而非路由器使用的路由表。
     
    ·多层交换的好处:能够让IP包的转发速度达到接近二层交换的速度。
    ·SW要执行多层硬件交换,路由处理器(第3层引擎)必须将有关路由选择、交换、ACL和QOS等信息下载到硬件中。
    硬件组件通常包括下列的东东:
    ·ASIC(Application-Specific Integrated Circuit应用专用集成电路):是专为实现某种特殊应用而开发的集成电路芯片,其功能固定,不可更改。用来实现其专门的应用时,性能绝对牛得一B。
    ·CAM(Content Addressable Memory)内容可寻址存储器
     SW使用CAM表来存储2层的交换表。查找时是完全匹配,如果找不到,就从其他所有端口转发。
     对于需要精确查找的表最有用。CAM表包括了vlan号,mac地址,port号。
    ·TCAM(Ternary CAM)三重内容可寻址存储器,只存在于三层交换机中
     TCAM以线速处理ACL查找。
     完全匹配区域/最长匹配区域/第一个匹配区域
     对于需要最长匹配查找的表最有用。

    三种三层(IP包)的转发方式:
    一、进程交换:也叫软件转发,最原始的转发方式。在进程转发方式中,每一个IP包的转发都需要CPU来处理,没有额外的硬件组件来负责。
        对于接收到的每一个IP包,都要按以下步骤来转发:
        1、找出IP包中的目标IP地址
        2、按照目标IP地址在路由表中进行最长匹配查找,找到匹配的路由。
        3、有必要的话,再进行路由的递归查找,找到相应的出接口。
        4、再查找ARP表,找到去往下一跳的MAC地址。
        5、重写二层的源、目MAC地址,再从相应出接口转发出去。

        这是最传统的转发方式,使用这种转发方式的路由器在做负载均衡时是基于包的负载均衡
        R1(config-if)#no ip route-cache  在每个接口下关闭cache就启用了进程交换

    二、基于NetFlow的MLS:也叫传统的MLS
        基于网流的交换和负载均衡
        MLS使用ASIC能够对被路由的数据包执行2层重写(S/D MAC、CRC)。
     
      第三层引擎(路由处理器)和交换ASIC协同工作,在cache中建立第3层条目。第三层条目可以有如下三种方式:
      1、只包括目的IP地址
      2、包括源和目地IP地址
      3、包含第四层协议信息的完整流信息
    传统MLS的工作原理:
        交换机将收到的数据流中的第一个包交给三层引擎处理,后者以进程交换的方式处理(软交换)。在对第一个包处理完毕后,在硬件交换组件中生成一个MLS条目,这个条目包含了二层的重写信息。对于后续的数据流就可以使用硬件转发组件直接进行转发了。
       所以这种方式被称为“一次路由,多次交换”,即流的第一个分组被路由器软件路由,后续分组则被硬件转发。
     
    同一个流(flow:源IP、目标IP、协议、源端口、目标端口)的第一个报文需要进行 Process-switching,后续的报文利用route-cache 进行 fast-switching

    三、基于CEF的MLS:(Cisco Express Forwarding)
     控制平面:路由处理器(第3层引擎)
     数据平面:用来进行数据转发的硬件组件
     CEF是一种基于拓扑的转发模型,它预先将所有路由信息加入FIB(Forwarding Information Base),使SW能快速查找路由信息。
     
    CEF中包括两个重要组件:
     ·FIB:类似于路由表,包含了路由转发信息。
     ·Adjacency:存储2层编址信息。就是ARP表的一个COPY。
     第3层引擎和硬件交换组件维护一个FIB/Adjacency。
      ·ARP Throttling(ARP抑制)必须开启CEF才能开启这一功能

    ip routing  //要开启CEF,首先要开启路由功能
    ip cef      //开启CEF
    int f0/5
      no ip router-cache cef   //在接口下关闭CEF
    show ip cef
    show cef interface s0
    show adjacency  [detail]

    ARP Throttling(抑制)--对于启用CEF的交换机,如果收到一组数据包,但是在自已的Adjacency表中没有对应表项。将通过第三层引擎发出三个ARP请求(广播包),并开始对后续的数据包进行抑制,直到收到ARP回应才解除抑制。如果两秒钟以后还没有回应,也将解除抑制,把后续的数据包转发给第三层引擎来重新发起ARP请求。
    默认情况下CEF是基于流的负载均衡,但可以修改为基于包的负载均衡:
    R1(config-if)#ip load-sharing per-packet  打开基于包的负载均衡
    集中式交换和分布式交换:
    ·Centralized Forwarding(集中式转发)
     在一个专用ASIC上做出转发决策,是所有接口的枢纽。
     Series:4000/6500                     
    ·Distributed Forwarding(分布式转发)
     在SW的接口或线路模块上独立地做出转发决策。
     Series:3550/6500(带有分布卡)

    <NTP(Network Time Protocol)>
    ·在设备的监控和排错过程中,准确的时钟设置是必要的。
     NTP主要用来同步系统时钟。是基于UDP的协议。
    Sw1#show clock
    Sw1(config)#clock timezone GMT +8 (设置时区)
    R2#clock set 13:28:38 20 Feb 2006 (设置年/月/日/时间)
     
    1)跟Master端同步:
    R2(config)#ntp master
    R2#show ntp status
    ....Clock is synchronized, stratum 1, reference is .LOCL.
    R1/R3(config)#ntp server 12.1.1.1(指定NTP Server)
    ...Clock is synchronized, stratum 2, reference is 12.1.1.1
    R3#show ntp associations
    2)跟次级时钟源同步:
    R3(config)#ntp peer 13.1.1.1
    Clock is synchronized, stratum 3, reference is 13.1.1.1

    3)NTP认证:
    R2:(NTP Master)
    ntp authentication-key 1 md5 wolf
    ntp authenticate
    ntp trusted-key 1
    ntp master 6
    R1:
    ntp authentication-key 1 md5 wolf
    ntp authenticate
    ntp trusted-key 1
    ntp server 12.1.1.2 key 1
    <NTP Source>
    R2设loopback0(2.2.2.2/24),通过路由协议,让R1学习到
    R2(config)#ntp source loopback 0
    R1(config)#ntp server 2.2.2.2 key 1 

    实际工程案例:
     
    全网NTP同步设置需求:
    使用轮巡模式,将SW1设为主NTP服务器。两台核心交换机的管理地址为10.10.10.x/24
    SW1-primary:VLAN1 地址为10.10.10.1
    SW2-secondary: VLAN1 地址为10.10.10.2
    SW1配置:
    clock timezone BJ 8
    ntp master 2
    ntp source vlan1
    ntp authenticate
    ntp authentication-key 1 md5 holly
    ntp trusted-key 1
    ntp peer 10.10.10.2 source vlan1
    ntp update-calendar
    !!!Periodically update calendar with NTP time
    注意主NTP服务器不能加载clock calendar-valid 命令,否则自身无法同步。
     
     
    SW2配置:
    首先使用clock set 设好时间,再配置NTP。
    clock timezone BJ 8
    clock calendar-valid
    ntp source vlan1
    ntp authenticate
    ntp authentication-key 1 md5 holly
    ntp trusted-key 1
    ntp server 10.10.10.1 source vlan1
    ntp update-calendar
    !!!Periodically update calendar with NTP time
    客户端设置:(接入层交换机以及所有安全服务模块,例如:SW3)
    clock timezone BJ 8
    ntp server 10.10.10.1 key 1 source vlan1
    ntp server 10.10.10.2 key 2 source vlan1
    ntp source vlan1
    ntp authenticate
    ntp authentication-key 1 md5 holly
    ntp trusted-key 1

    -----------------------------------------------------------------
    August 02
    NTP配置
    EXAMPLE 1
      ...
      clock timezone CST -6
      clock summer-time CDT recurring
      ntp source eth 0
      ntp peer
      ntp peer
      ntp peer
      ...
      EXAMPLE 2
      ...
      ntp source Ethernet0/0
      ntp update-calendar
      ntp peer
      ntp peer prefer
      ...
      EXAMPLE 3
      ...
      service timestamps debug datetime localtime
      service timestamps log datetime localtime
      clock timezone PST -8
      clock summer-time PDT recurring
      interface Ethernet0
      ip address
      ntp broadcast
      ntp clock-period 17180319
      ntp source Ethernet0
      ntp server
      ntp server
      ntp server
    NTP的时钟源在一般的情况下也可以使用路由器上的时钟。高档的路由器/交换机上提供了硬件时钟,称为calendar,与clock相互独立,在系统重启时clock使用calendar的值。可以用命令calendar set设置硬件时钟的值,用命令clock read-calendar将系统时钟设置为calendar的值,也可以用命令clock update-calendar将当前系统时钟值写入calendar中。在客户端,用ntp master x.x.x.x 指定NTP服务器地址(CatOS:set ntp server x.x.x.x),用命令ntp update update-calendar 可以让NTP协议定时更新calendar的值。如果更改了时钟源的时间,需要数分钟才能同步到客户端,更新calendar需要更长的时间。常用的调试命令有:show ntp status 和 show ntp associations等。
    N T P的会聚( c o n v e rg e n c e )可能需要长达半个小时,这意味着在修改N T P主系统时钟之后,再过半个小时其它的时钟才进行同步。这是因为N T P将时钟的改变视为时钟系统的不稳定。NTP需在等待系统稳定后才会进行同步和传递时钟的改变
    在Cisco网络系统中的NTP配置需要用到的命令及定义:
    ntp access-group: 该全局命令用于路由器N T P服务的访问控制。
    ntp authenticate: 是一个全局命令,它启用N T P身份验证。
    ntp authentication-key: 该全局命令用于定义N T P身份验证的键值。
    ntp broadcast: 是一个接口命令,用于指定一特定接口来发送N T P广播包。
    ntp broadcast client: 是一个接口命令,使路由器通过特定接口来接收N T P广播包。
    ntp broadcast delay: 是一个全局命令,它用于设定数据包在路由器和N T P服务器之间一个回程所需时间的估计值。
    ntp clock-period: 这条全局命令不必输入,当使用N T P进行系统时钟同步时,路由器将自动产生这条命令。
    ntp disable: 这条接口命令使特定接口不接收N T P包。
    ntp master: 这条全局命令用来配置路由器为N T P主时钟,只有当没有可用的外部N T P源或者为测试用途才使用该命令。
    ntp peer: 该全局命令使路由器的系统时钟与其对等体的时钟同步(或对对等体的时钟进行同步)。
    ntp server: 该全局命令使路由器的系统时钟由时间服务器进行同步。
    ntp source: 该全局命令强制路由器在其N T P包中使用特定的源地址。
    ntp trusted-key: 该全局命令用于确认路由器的特定身份验证键值。
    ntp update-calendar: 该全局命令使N T P周期性地更新Cisco 7XXX 系列路由器的日历。
    show ntp status: 是一执行模式命令,用于显示路由器的N T P信息,它可以表明该路由器是通过N T P对等体进行时钟同步还是通过N T P服务器进行同步。
    show ntp association[detail]: 这条执行模式命令显示与N T P有关的信息,如轮询周期等。
    简要配置示例:
    EXAMPLE 1
    路由器A和路由器B通过串口连接,路由器A被设为N T P主时钟,路由器B都被配置成根据路由器A来同步时钟。

    RouterA#clock set xx:xx:xx:xx
    RouterA(config)# int s0
    RouterA(config-if)#ip add 172.23.1.1 255.255.255.0
    RouterA# ntp master 1
    RouterB#ntp server 172.23.1.1   
    ...
    EXAMPLE 2
    路由器A被设置为N T P主时钟,路由器B被配置成通过N T P服务器与路由器A进行时钟同步,路由器C则被配置成路由器B的对等体,与B的时钟同步。三台路由器通过串口进行连接,路由器A和B之间、路由器B和C之间的连接都使用交叉电缆。
    ...
    RouterA#clock set xx:xx:xx:xx
    RouterA(config)# int s0
    RouterA(config-if)#ip add 172.23.1.1 255.255.255.0
    RouterA# ntp master 1
    RouterB#ntp server 172.23.1.1 
    RouterB(config-if) ip add 172.16.1.2 255.255.255.0
    RouterC#ntp peer 172.16.1.2
    ...
    EXAMPLE 3
    使用局域网广播的CISCO NTP
    3台路由器通过以太网接入同一个网段,路由器a作为NTP服务器通过e0接口向以太网发送NTP广播。
    ...
    RouterA#clock set xx:xx:xx:xx
    routerA(config0#int e0
    RouterA(config-if)#ip add 172.23.1.1 255.255.255.0
    RouterA(config-if)#ntp broadcast
    RouterA# ntp master
    RouterB(config)#int e0
    RouterB(config-if) # ip add 172.23.1.2 255.255.255.0
    RouterB(config-if) #ntp broadcast client
    RouterC(config)#int e0
    RouterC(config-if) # ip add 172.23.1.3 255.255.255.0
    RouterC(config-if) #ntp broadcast client


     

  • 相关阅读:
    各种数据库连接代码(转)
    面向服务架构(SOA)的原则(转)
    运用API函数获取系统信息(转)
    7种程序员的素质
    一种通过sql server的作业调度+存储过程来建立自动备份的方法
    数据库设计方法、规范与技巧(转)
    部署托管代码中的 XML Web services
    Procedure 存储过程(转)
    判断数字函数
    asp.net中窗口相关操作总结(javascript)
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12615689.html
Copyright © 2011-2022 走看看