<VLAN间路由>

VLAN之间在二层是分隔开的,如果要实现VLAN之间的通信,必须要借助到三层路由功能。

 

·支持VLAN间路由的设备:

 1.任意的3层交换机

 2.支持以太口起子接口的路由器(2600以上)

 

通过使用路由器完成VLAN之间的路由,路由器上要起子接口,并且要和交换机之间形成trunk。

 

 

路由器上的配置:

 

interface Ethernet0/0

no shut

no ip address

 

interface Ethernet0/0.1

encapsulation dot1Q   这个 是VLAN-ID

ip address 192.168.1.1 255.255.255.0

 

interface Ethernet0/0.2

encapsulation dot1Q ip address 172.16.1.1 255.255.255.0

 

交换机的trunk接口配置:

interface f0/3

 switchport trunk encapsulation dot1q

 switchport mode trunk

 switchport trunk allowed vlan 10,20   优化一下而已

 

spanning-tree portfast trunk  在交换机与路由器相连的端口上用,这样才能快速收敛,这一命令主要用在单臂路由上

 

clear arp-cache  清ARP表,因为在路由器中,ARP表的老化时间是4个小时,如果不手工清,会等很久。

有时做实验时会出现P不通的现象

 

<交换机上的三层接口>

 

CISCO三层交换机支持三种不同类型的三层接口:

1、路由接口

2、SVI  

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,才能运行路由协议。

 

 

 

交换机配置:

ip routing   开启路由功能

interface vlan 10     起SVI接口

 ip address 192.168.1.1 255.255.255.0

interface vlan 20

 ip address 172.16.1.1 255.255.255.0

 

 

 

交换机配置:

interface f0/3

 no switchport

 ip add 10.1.1.1 255.255.255.0

 

ip routing

 

router eigrp 90

 no auto

 net 10.1.1.1 0.0.0.0

----------------------------------------------------------------------------------------

 

MLS 正常来说,二层数据帧的转发我们称为交换,二层的转发方式有两种:

 

1、软件交换:通过CPU实现传统帧的交换。

 

2、硬件交换:通过专门的ASIC(Application-Specific Integrated Circuit应用专用集成电路)硬件组件处理数据帧。通常能够达到线速的吞吐量。

 

在CISCO的设备上,对于三层IP包的转发方式有三种:

1、进程转发,也叫软件转发

2、快速转发,也叫传统的多层交换,需要利用专门的硬件组件完成IP包的转发。

3、CEF转发,基于CEF的多层交换,也需要利用专门的硬件组件完成IP包的转发。

 

· 多层交换定义:指的是交换机或路由器能够通过专用的硬件来交换和路由选择IP包,并通过硬件支持4-7层的交换,而不是利用CPU来完成包的转发。

 

·多层交换的好处:能够让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包的转发都需要CPU来处理,没有额外的硬件组件来负责。

 

对于接收到的每一个IP包,都要按以下步骤来转发:

1、找出IP包中的目标IP地址

2、按照目标IP地址在路由表中进行最长匹配查找,找到匹配的路由。

3、有必要的话,再进行路由的递归查找,找到相应的出接口。

4、再查找ARP表,找到去往下一跳的MAC地址。

5、重写二层的源、目MAC地址,再从相应出接口转发出去。

 

 

这是最传统的转发方式,使用这种转发方式的路由器在做负载均衡时是基于包的负载均衡

 

R1(config-if)#no ip route-cache  在每个接口下关闭cache就启用了进程交换

 

  基于网流的交换和负载均衡

 MLS使用ASIC能够对被路由的数据包执行2层重写(S/D MAC、CRC)。

 

 第三层引擎(路由处理器)和交换ASIC协同工作,在cache中建立第3层条目。第三层条目可以有如下三种方式:

 1、只包括目的IP地址

 2、包括源和目地IP地址

 3、包含第四层协议信息的完整流信息

 

传统MLS的工作原理:

   交换机将收到的数据流中的第一个包交给三层引擎处理,后者以进程交换的方式处理(软交换)。在对第一个包处理完毕后,在硬件交换组件中生成一个MLS条目,这个条目包含了二层的重写信息。对于后续的数据流就可以使用硬件转发组件直接进行转发了。

 

  所以这种方式被称为"一次路由,多次交换",即流的第一个分组被路由器软件路由,后续分组则被硬件转发。

 

 控制平面:路由处理器(第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主要用来同步系统时钟。是基于UDP的协议。

 

Sw1#show clock

 

Sw1(config)#clock timezone GMT +8 (设置时区)

R2#clock set 13:28:38 20 Feb 2006 (设置年/月/日/时间)

 

 

 

R2(config)#ntp master

R2#show ntp status

....Clock is synchronized, , reference is .LOCL.

 

R1/R3(config)#ntp server 12.1.1.1(指定NTP Server)

...Clock is synchronized, , reference is 12.1.1.1

 

R3#show ntp associations

 

R3(config)#ntp peer 13.1.1.1

 

Clock is synchronized, , reference is 13.1.1.1

 

 

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 <NTP Source>

 

R2设loopback0(2.2.2.2/24),通过路由协议,让R1学习到

 

R2(config)#ntp source loopback 0

R1(config)#ntp server 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