以太交换机基本技术

更新时间:2023-12-27 08:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 交换机技术基础

1.1. 以太网简介

以太网是当今现有局域网采用的最通用的通信协议标准,组建于七十年代早期。Ethernet(以太网)是一种传输速率为10Mbps的常用局域网(LAN)标准。在以太网中,所有计算机被连接一条同轴电缆上,采用具有冲突检测的载波感应多处访问(CSMA/CD)方法,采用竞争机制和总线拓朴结构。基本上,以太网由共享传输媒体,如双绞线电缆或同轴电缆和多端口集线器、网桥或交换机构成。在星型或总线型配置结构中,集线器/交换机/网桥通过电缆使得计算机、打印机和工作站彼此之间相互连接。

以太网系统由三个基本单元组成: ? ?

物理介质,用于传输计算机之间的以太网信号;

介质访问控制规则,嵌入在每个以太网接口处,从而使得计算机可以公平的使用共享以太网信道; ?

以太帧,由一组标准比特位构成,用于传输数据。

Ethernet 基本网络组成: ?

共享媒体和电缆:10BaseT(双绞线),10Base-2(同轴细缆),10Base-5(同轴粗缆)。 ? ? ?

转发器或集线器 网桥 交换机

以太网协议:IEEE 802.3标准中提供了以太帧结构。当前以太网支持光纤和双绞线媒体支持下的四种传输速率:

? ? ? ?

10 Mbps – 10Base-T Ethernet(802.3) 100 Mbps – Fast Ethernet(802.3u) 1000 Mbps – Gigabit Ethernet(802.3z)) 10 Gigabit Ethernet – IEEE 802.3ae

1.2. 以太网交换机简介

以太网交换机,也称为交换式集线器,是简化(典型)的网桥,一般用于互连相同类型的LAN(例如:以太网/以太网的互连)。工作在 OSI 网络参考模型的第二层上.

以太网交换机,也称为交换式集线器,一般用于互连相同类型的LAN(例如:以太网/以太网的互连)。

作为局域网的主要连接设备,以太网交换机成为应用普及最快的网络设备之一。随着交换技术的不断发展,以太网交换机的价格急剧下降,交换到桌面已是大势所趋。

如果你的共享带宽的以太网络(HUB 连接)上拥有大量的用户、繁忙的应用程序和各式各样的服务器,而且你还未对网络结构做出任何调整,那么整个网络的性能可能会非常低。解决方法之一是在以太网上添加一个10/100Mbps的交换机,它不仅可以处理10Mbps的常规以太网数据流,而且还可以支持100Mbps的快速以太网连接。

当共享带宽的网络上利用率超过了40%,并且碰撞率大于10%,数据在传输过程中经常会因为碰撞发生重传,传输效率下降很大。而交换机可以帮你解决此问题,交换机可以工作于双工方式,每个端口就是一个冲突域,端口可以同时收发而不担心物理层传输时的碰撞。因此对于 10M/100M/1G bps交换机而言,其每个端口的实现速率可以达到 20M/200M/2G bps。

交换机和网桥的不同在于: ? ?

交换机端口数较多(网桥一般仅有两个端口, 性价比不高) 交换机的数据传输效较高

交换机和 HUB 的主要不同在于: ? ? ?

有地址学习的功能 有按址转发的功能 端口间带宽独立

1.3. 以太帧封装

1.3.1. Ethernet II

Ethernet II协议简介

以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网中采用的电缆类型和信号处理方法。Ethernet II由DEC,Intel和Xerox在1982年公布其标准,Etherent II主要更改了Ethernet I的电气特性和物理接口,在帧格式上并无变化。Etherent II采用CSMA/CD的媒体接入和广播机制。

Ethernet II报头详解

Ethernet II协议报头结构(如图1)。

(图1 Ethernet II报头结构)

每个字段的详细解释如下:

? ? ? ? ?

目标地址:此数据包的目标MAC地址。 源地址:此数据包的源MAC地址。

协议类型:上层协议,表示网络层使用的协议,如 IP(0800) ,IPX等。 数据:高层协议、数据和填充符,范围在46~1500字节。

FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。采用32位的循环冗余校验法。校验内容包括除PA,SFD和FCS以外的其它字段。

1.3.2. Ethernet 802.2

Ethernet 802.2协议简介

Ethernet 802.2协议是IEEE正式的802.3标准,它由Ethernet II发展而来。Ethernet 802.2将Ethernet II帧头的协议类型字段替换为帧长度字段,并加入LLC-802.2头,用以标记上层协议。LLC头包含目的服务访问点(DSAP)、源服务访问点(SSAP)和控制(Control)字段。

Ethernet 802.2协议报详解

Ethernet 802.2协议报头结构(如图2)

(图.2 Ethernet 802.2报头结构)

每个字段的详细解释如下:

?

目标地址:此数据包的目标mac地址;

? ? ? ? ? ? ?

源地址:此数据包的源mac地址;

长度:帧包含的数据量必须小于或等于1500(16进制的05DC); DSAP:目标服务存取点(Destination Service Access Point); SSAP:源服务存取点(Source Service Access Point); 控制:无连接或面向连接的LLC; 数据:高层协议、数据和填充符;

FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

1.3.3. Ethernet 802.3

Ethernet 802.3协议简介

Ethernet 802.3是1983年Novell发布其Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的IEEE802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化(IEEE在802.3帧头中又加入了802.2 LLC头),这使得Novell的Ethernet 802.3协议与正式的IEEE 802.3标准互不兼容;Ethernet 802.3只支持IPX/SPX协议,是目前所用的最普通的一种帧格式,在802.2之前是IPX网络事实上的标准帧类型。

Ethernet 802.3协议报详解

Ethernet 802.3协议报头结构(如图3)。

(图3 Ethernet 802.3报头结构)

每个字段的详细解释如下:

? ? ? ? ?

目标地址:此数据包的目标MAC地址。 源地址:此数据包的源MAC地址。 长度:帧包含的数量必须小于或等于1500。

数据:高层协议(IPX/SPX)、数据和填充符,范围在46~1500字节。 FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

1.3.4. Ethernet SNAP

Ethernet SNAP协议简介

Ethernet SNAP协议是IEEE为保证在802.2 LLC上支持更多的上层协议的同时更好地支持IP协议而发布的标准,与802.3/802.2 LLC一样802.3/802.2 SNAP也带有LLC头,

但是扩展了LLC属性,新添加了一个2字节的协议类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3字节的厂商代码字段用于标记不同的组织。RFC 1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现方法。

Ethernet SNAP协议报头详解

Ethernet SNAP协议报头结构(如图4)。

(图4 Ethernet SNAP报头结构)

1.4. MAC地址的分类

从以上不同的封装可知,前12个字节的内容都是完全相同的,它们代表了以太帧发送设备的MAC地址和接收设备的MAC地址。而 MAC 地址可以分为以下三类: ●

广播地址:硬件地址为FF:FF:FF:FF:FF:FF,如果目的地址为广播地址意味着这个数据帧将会被发送到整个广播域的每一个节点。

组播地址:为了指明一个多播地址,任何一个以太网地址的首字节必须是01, 为了与I P多播相对应,相应的以太网地址范围是从01:00:5e:00:00:00到01:00:5e:7f:ff:ff,它代表局域网中同属一个多播组的所有节点。

单播地址:一般情况下PC和网络设备默认的硬件地址都是单播地址,它在网络中标识着一个节点。

1.5. 交换机的基本功能

L2 网络交换机的整体功能可分为三类:MAC学习,帧转发和去除二层环路 这里只是做一个简单的功能介绍,以后章节会提供其实际工作的细节。

1.5.1. Learning

这里的学习是指 MAC 地址学习,网络交换机能通过分析通过它的每一个以太帧中的源 MAC, 从而建立一个 MAC 地址表,因为 MAC 地址可用于有网络中唯一标识一个网络设备的网络接口,故 MAC 地址也就指示了网络交换机的每个端口连接了什么网络设备的哪一个网络接口。

1.5.2. Forwarding

就网络交换机而言,转发就是指数据帧的转发,它是根据“学习”过程中建立的 MAC 地址表来进行的的转发。正因为它是按地址进行的转发,故交换机只将数据转发到真正的数据接收者,而不是像 HUB 一样,将数据广播到全部网络接口上去。因此交换机相对于 HUB 而言大大的提高了提高网络利用效率, 并提供一部分安全性

1.5.3. Remove loop

在实际网络环境中,二层交换机间连接常会存在有冗余链路,这主要是为了提高交换机与交换机的传输带宽和提供备份链路,以避免单点故障的产生。

但这样冗余连接会在二层交换网络中引入二层环路。

如下图,如 PC-1 发出一个目的地址为 FF:FF:FF:FF:FF:FF 的帧后, 网络会发生什么情况 ?

交换机的环路去除功能就是利用生成树协议(Spanning Tree Protocol),在二层交换机网络中防止环路的产生。

当前生成树协议分为三个版本: STP(IEEE 802.1D), RSTP(IEEE 802.1W), MSTP(IEEE 802.1S)。关于协议的具体内容,我们会在以后的章节进行介绍。

1.6. 多层交换

传统的交换机是工作在第二层,但当前多层交换机是交换设备的发展趋势,为什么会需要多层交换机?它比二层交换机有何好处?和路由器有何区别?

1.6.1. 二层交换(layer 2 switching)

定义:交换机根据 MAC 地址来进行数据帧的交换(转发) 功能: ? ? ? ? ?

根据接收到帧来学习 MAC 地址

建立及维护 MAC 地址表,将 MAC 地址与交换机端口关联起来 默认将广播及多播帧转发到全部端口 (接收此帧的端口除外) 默认将到达未知目的的帧当做广播帧处理

使用生成树协议(Spanning Tree Protocol) 与其它交换机通信,以避免形成二层环路

缺点: ?

不易于扩展,网络规模变大后,资源利用率会迅速下降 (考虑一下广播包的处理)

1.6.2. 三层路由(layer 3 routing)

定义:路由器根据三层 (IP) 地址来进行数据包转发和路由学习 功能: ? ? ? ? ?

根据接收包的三层地址进行包转发 可以过滤广播报文

能自动为数据包寻找到达目的的最优路径(下一跳地址) 能根据多个参数来自动判断或决定到达目的地址的最优路径 能使用动态路由协议与其它路由器进行通信,以学习网络变化

缺点: ?

因为功能和算法的复杂性, 其很消耗路由器 CPU & RAM 资源, 故其数据转发效率低于交换机

1.6.3. 三层交换(layer 3 switching)

定义:交换机根据 IP 地址来进行数据帧的交换(转发)

功能: ? ? ?

根据接收包的三层地址进行高速包转发 (利用ASIC) 能够利用接收包的三层地址信息进行安全控制 能够利用接收包的三层地址信息进行 QoS 控制

与三层路由的区别: ? ?

不支持路由协议

三层转发速率高 (接近二层转发速率)

1.6.4. 四层交换(layer 4 switching)

定义:交换机根据 TCP/UDP 端口地址来进行数据帧的交换(转发) 功能: ? ? ?

能根据 TCP/UDP 端口地址来进行数据帧的交换(转发) 能够利用接收包的四层地址信息进行安全控制 能够利用接收包的四层地址信息进行 QoS 控制

1.6.5. 多层交换 (Multilayer switching)

定义:同时具有 Layer 2&3 交换 或 Layer 2&3&4 交换的能力

2. 交换机接口

2.1. 技术知识

2.1.1. 接口分类

交换机网络接口,按支持的最大速率可分为: 1. Ethernet (10M 端口) 2. Fast Ethernet (100M 端口) 3. Gigabit Ethernet (1000M 端口) 4. 10 Gigabit Ethernet (10000M 端口) 按支持的物理层介质可分为: 1

电口:接口输出为电信号

1.1 RJ45:这种接口就是我们现在最常见的网络设备接口,俗称“水晶头”,专业术

语为RJ-45连接器,属于双绞线以太网接口类型。RJ-45插头只能沿固定方向插入,设有一个塑料弹片与RJ-45插槽卡住以防止脱落。这种接口在10Base-T以太网、100Base-TX以太网、1000Base-TX以太网中都可以使用,传输介质都是双绞线,不过根据带宽的不同对介质也有不同的要求,非凡是1000Base-TX千兆以太网连接时,至少要使用超五类线,要保证稳定高速的话还要使用6类线。

1.2 BNC:BNC是专门用于与细同轴电缆连接的接口,细同轴电缆也就是我们常说的

“细缆”,它最常见的应用是分离式显示信号接口,即采用红、绿、蓝和水平、垂直扫描频率分开输入显示器的接口,信号相互之间的干扰更小。现在BNC基本上已经不再使用于交换机,只有一些早期的RJ-45以太网交换机和集线器中还提供少数BNC接口。

1.3 SFP:SFP是SMALL FORM PLUGGABLE的缩写,可以简单的理解为GBIC的升级版本。

SFP模块体积比GBIC模块减少一半,可以在相同的面板上配置多出一倍以上的端口数量。SFP模块的其他功能基本和GBIC一致。有些交换机厂商称SFP模块为小型化GBIC(MINI-GBIC)。 SFP模块体积比GBIC模块减少一半,可以在相同的面板上配置多出一倍以上的端口数量。SFP模块的其他功能基本和GBIC相同。

1.4 GBIC:GBIC是Giga Bitrate Interface Converter的缩写,是将千兆位电信号

转换为光信号的接口器件。GBIC设计上可以为热插拔使用。GBIC是一种符合国际标准的可互换产品。采用 GBIC接口设计的千兆位交换机由于互换灵活,在市场上占有较大的市场分额。GBIC 插入到千兆位以太网端口/插槽内,负责将端口与光纤网络连接在一起。GBIC可以在各种产品上使用和互换,并可逐个端口地与遵循IEEE 802.3z的1000BaseSX、1000BaseLX/LH或1000BaseZX接口混用。总之,随着新功能的不断开发,这些模块升级到最新的接口技术将更加容易,从而使客户投资能发挥最大效益。

2

光口:接口输出为光信号,直接连接光纤

2.1.2. 显示接口配置和状态

您可在特权模式下通过 show 命令可来查看接口状态。 命令 SWITCH# show interfaces [interface-id] SWITCH# show interfaces interface-id status SWITCH# show interfaces [interface-id] description SWITCH# show interfaces [interface-id] counters 显示接口的状态。 显示指定接口的描述配置和接口状态。 显示指定端口的统计值信息,其中速率显示可能有0.5%内的误差。 功能 显示指定接口的全部状态和配置信息。

以下例子为显示接口Gigabitethernet 1/1 的接口状态: SWITCH# show interfaces gigabitethernet 1/1 GigabitEthernet : Gi 1/1 Description : user A AdminStatus : up OperStatus : down

Hardware : 1000BASE-TX Mtu : 1500 PhysAddress :

LastChange : 0:0h:0m:0s AdminDuplex : Auto OperDuplex : Unknown AdminSpeed : 1000M

OperSpeed : Unknown

FlowControlAdminStatus : Enabled FlowControlOperStatus : Disabled Priority : 1

以下例子为显示接口SVI 5 的接口状态和配置信息: SWITCH# show interfaces vlan 5 VLAN : V5

Description : SVI 5 AdminStatus : up OperStatus : down

Primary Internet address : 192.168.65.230/24 Broadcast address : 192.168.65.255 PhysAddress : 00d0.f800.0001 LastChange : 0:0h:0m:5s

以下例子为显示接口Aggregate Port 3 的接口状态: SWITCH# show interfaces aggregateport 3 Interface : AggreatePort 3 Description : AdminStatus : up OperStatus : down Hardware : - Mtu : 1500

LastChange : 0d:0h:0m:0s AdminDuplex : Auto OperDuplex : Unknown AdminSpeed : Auto OperSpeed : Unknown

FlowControlAdminStatus : Autonego FlowControlOperStatus : Disabled Priority : 0

以下例子为显示接口Gigabitethernet 2/1 的接口描述:

SWITCH# show interfaces gigabitethernet 1/2 description Interface Status Administrative Description

------------ --------- ----------- --------------- gigabitethernet 2/1 down down Gi 2/1

以下例子为显示端口统计值

SWITCH# show interfaces gigabitethernet 1/2 counters Interface : gigabitethernet 1/2

5 minute input rate :9144 bits/sec, 9 packets/sec

5 minute output rate :1280 bits/sec, 1 packets/sec InOctets : 17310045 InUcastPkts : 37488

InMulticastPkts : 28139 InBroadcastPkts : 32472 OutOctets : 1282535 OutUcastPkts : 17284 OutMulticastPkts : 249 OutBroadcastPkts : 336 Undersize packets : 0 Oversize packets : 0 collisions : 0 Fragments : 0 Jabbers : 0

CRC alignment errors : 0 AlignmentErrors : 0 FCSErrors : 0

dropped packet events (due to lack of resources): 0 packets received of length (in octets): 64:46264, 65-127: 47427, 128-255: 3478,

256-511: 658, 512-1023: 18016, 1024-1518: 125

2.1.3. 选择接口介质类型

有些接口,可以有多种介质类型供用户选择。您可以选择其中一种介质使用。一旦您选定介质类型,接口的连接状态、速度、双工、流控等属性都是指该介质类型的属性,如果您改变介质类型,新选介质类型的这些属性将使用默认值,您可以根据需要重新设定这些属性。

此配置命令只对物理端口有效。Aggregate Port 和SVI 接口不支持介质类型设置。此配置命令只对支持介质选择的端口有效。

配置为Aggregate Port 成员口的端口,其介质类型必须一致,否则无法加入到AP 中。Aggregate Port 成员口的端口类型不能改变。

命令 SWITCH(config-if)# medium-type { fiber | copper } 功能 设置端口的介质类型

下面的例子显示了如何设置接口Gigabitethernet 1/1 的介质类型: SWITCH# config terminal

Enter configuration commands, one per line. End with CNTL/Z. SWITCH(config)# interface gigabitethernet 1/1 SWITCH(config-if)# medium-type fiber SWITCH(config-if)# end

2.1.4. 接口的双工模式及配置

双工模式是指端口收发数据的方式/模式,它指明了此交换机端口的帧发送模式,一般支持三种: 全双工,单双工及自适应

?

全双式(full-duplex)时,此端口可同时收发帧

?

半双式(halt-duplex)时,此端口不能同时收发

?

自适应(auto)时,互连的两个端口可以就传输使用的双工模式进行协商,这要求连接的两端口都被设定为自动协商,否则协商会失败,端口会工作在半双工模式

您可通过以下命令来配置接口的双工模式:

命令 SWITCH(config-if)# duplex {auto | full | half }

功能 设置接口的双工模式。

2.1.5. 接口的速率及配置

即交换机端口的传输速率,就 Fast Ethernet 端口而言,其支持 10M/100M/auto 三种速率。对于 Gigabit Ethernet 端口,其支持 10M/100M/1000M/auto 四种速率。 缺省情况下,所有端口都是自适应工作方式,互连的两个网络接口通过相互交换自协商报文进行匹配。

当链路两端一端为自协商,另一端为固定速率时,建议修改两端的端口速率,保持端口速率一致。如果两端都以固定速率工作,而工作速率不一致时,很容易出现通信故障,这种现象应该尽量避免。

速率的协商是有优先级的,高速率在协商中有高的优先级。

您可通过以下命令来配置接口的速率: 命令 功能 SWITCH(config-if)# speed {10 | 100 | 1000 设置接口的速率参数,或者设置为auto。 | auto } 注意: 1000 只对千兆口有效; M86-24SFP 千兆光口的速率可以设置为 100M,其余设备的光口速率强制为1000M 1. 交换机交换方式

1.1. 技术知识

前面说的交换机转发方式,是指网络交换机在第二层上的查表工作,但当其决定的帧的转发目的端口,交换机会交由物理层对帧进行转发,这个转发的方式也即交换方式。

目前交换机在传送源和目的端口的数据包时通常采用直通式交换、存储转发式和碎片隔离方式三种数据包交换方式。

1.1.1. 直通交换方式(Cut-through)

采用直通交换方式的以太网交换机可以理解为在各端口间是纵横交叉的线路矩阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。由于它只检查数据包的包头(通常只检查14个字节),不需要存储,所以切入方式具有延迟小,交换速度快的优点。所谓延迟(Latency)是指数据包进入一个网络设备到离开该设备所花的时间。

它的缺点主要有三个方面:一是因为数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力;第二,由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。如果要连到高速网络上,如提供快速以太网(100BASE-T)、FDDI或ATM连接,就不能简单地将输入/输出端口“接通”,因为输入/输出端口间有速度上的差异,必须提供缓存;第三,当以太网交换机的端口增加时,交换矩阵变得越来越复杂,实现起来就越困难。

1.1.2. 存储转发方式(Store-and-Forward)

存储转发(Store and Forward)是计算机网络领域使用得最为广泛的技术之一,以太网交换机的控制器先将输入端口到来的数据包缓存起来,先检查数据包是否正确,并过滤掉冲突包错误。确定包正确后,取出目的地址,通过查找表找到想要发送的输出端口地址,然后将该包发送出去。正因如此,存储转发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,并且能支持不同速度的输入/输出端口间的交换,可有效地改善网络性能。它的另一优点就是这种交换方式支持不同速度端口间的转换,保持高速端口和低速端口间协同工作。实现的办法是将10Mbps低速包存储起来,再通过100Mbps速率转发到端口上。

1.1.3. 碎片隔离式(Fragment Free)

这是介于直通式和存储转发式之间的一种解决方案。它在转发前先检查数据包的长度是否够64个字节(512 bit),如果小于64字节,说明是假包(或称残帧),则丢弃该包;如果大于64字节,则发送该包。该方式的数据处理速度比存储转发方式快,但比直通式慢,但由于能够避免残帧的转发,所以被广泛应用于低档交换机中。

使用这类交换技术的交换机一般是使用了一种特殊的缓存。这种缓存是一种先进先出的FIFO(First In First Out),比特从一端进入然后再以同样的顺序从另一端出来。当帧被接收时,它被保存在FIFO中。如果帧以小于512比特的长度结束,那么FIFO中的内容(残帧)就会被丢弃。因此,不存在普通直通转发交换机存在的残帧转发问题,是一个非常好的解决方案。数据包在转发之前将被缓存保存下来,从而确保碰撞碎片不通过网络传播,能够在很大程度上提高网络传输效率。 1.

2. VLAN 1.1. 技术知识

VLAN,是英文Virtual Local Area Network的缩写,中文名为“虚拟局域网”。 VLAN技术允许网络管理者将一个物理的LAN逻辑地划分(注意,不是从物理上划分)成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。但由于它是逻辑地而不是物理地划分,所以同一个VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。

1.1.1. 广播域 & 广播风暴

广播域 (Broadcast domain):网络中的一组设备的集合。即同一广播包能到达的所有设备成为一个广播域。当这些设备中的一个发出一个广播时,所有其他的设备都能接收到这个广播帧。HUB和SWITCH的所有端口(同一VLAN内)都是在一个广播域里,路由器上的每个端口自成一个广播域。

广播风暴 (Broadcast Storm): A state in which a message that has been broadcast across a network results in even more responses, and each response results in still more responses in a snowball effect. A severe broadcast storm can block all other network traffic, resulting in a network meltdown. Broadcast storms can usually be prevented by carefully configuring a network to block illegal broadcast messages. 简而言之,广播风暴就是由于网络或网络设备的问题,网络中不断的产生和传输大量的广播报文而引起的数据传输故障。

广播风暴产生后,会使网络阻塞或瘫痪,为什么它会有这么大的危害? ? 交换机处理广播时, 资源消耗大 ? 传输时, 对网络带宽消耗大 ? 主机接受后的处理, 会消耗主机资源 广播风暴产生的原因:

? 网络适配器损坏:如果网络设备的网卡损坏,也同样会产生广播风暴。损坏的网卡,

不停向交换机发送大量的数据包,产生了大量无用的数据包,产生了广播风暴。由于网卡物理损坏引起的广播风暴,故障比较难排除,由于损坏的网卡一般还能上网,我们一般抓包软件,查看网络数据流量,来判断故障点的位置。 ? 网络环路:曾经在一次的网络故障排除中,发现一个很可笑的错误,一条双绞线,

两端插在同一个交换机的不同端口上,导致了网络性能急骤下降,打开网页都非常困难。这种故障,就是典型的网络环路。网络环路的产生,一般是由于一条物理网络线路的两端,同时接在了一台网络设备中。 ? 网络病毒:目前一些比较流行的网络病毒,Funlove、震荡波、RPC等病毒,一旦

有机器中毒后,会立即通过网络进行传播。网络病毒的传播,就会损耗大量的网络带宽,引起网络堵塞,引起广播风暴。 ? 黑客软件:目前一些上网者,经常利用网络执法官、网络剪刀手等黑客软件,对网

吧的内部网络进行攻击,由于这些软件的使用,网络也可能会引起广播风暴。

1.1.2. VLAN的优点

VLAN 有以下优点:

?

减少移动和改变的代价,即所说的动态管理网络,也就是当一个用户从一个位置移动到另一个位置是,他的网络属性不需要重新配置,而是动态的完成,这种动态管理网络给网络管理者和使用者都带来了极大的好处,一个用户,无论他到哪里,他都能不做任何修改地接入网络,这种前景是非常美好的。当然,并不是所有的VLAN定义方法都能做到这一点。 ?

虚拟工作组,VLAN的最具雄心的目标就是建立虚拟工作组模型,例如,在校园网中,同一个系的就好象在同一个LAN上一样,很容易的互相访问,交流信息,同时,所有的广播包也都限制在该虚拟LAN上,而不影响其他VLAN的人,一个人如果从一个办公地点换到另外一个地点,而他仍然在该系,那么,他的配置无须改变,同时,如果一个人虽然办公地点没有变,但他换了一个系,那么,只需网络管理者那配置一下就行了。这个功能的目标就是建立一个动态的组织环境,当然,这只是一个远大的目标,要实现它,还需要一些其他包括管理等方面的支持。 ?

限制广播包,按照802.1D透明网桥的算法,如果一个数据包找不到路由,那么交换机就会将该数据包向所有的其他端口发送,这就是桥的广播方式的转发,这样的结果,毫无疑问极大的浪费了带宽,如果配置了VLAN,那么,当一个数据包没有路由时,交换机只会将此数据包发送到所有属于该VLAN的其他端口,而不是所有的交换机的端口,这样,就将数据包限制到了一个VLAN内。在一定程度上可以节省带宽。 ?

安全性,由于配置了VLAN后,一个VLAN的数据包不会发送到另一个VLAN,这样,其他VLAN的用户的网络上是收不到任何该VLAN的数据包,从而就确保了该VLAN的信息不会被其他VLAN的人窃听,从而实现了信息的保密。

1.1.3. VLAN的分类

按 VLAN 的配置/划分方法,可以分为以下两类:

一、 静态 VLAN

静态 VLAN,也称 port-based VLAN, 即手工对交换端口所属VLAN进行指定.这是最常应用的一种VLAN划分方法,应用也最为广泛、最有效,目前绝大多数VLAN协议的交换机都提供这种VLAN配置方法。

这种划分VLAN的方法是根据以太网交换机的交换端口来划分的,它是将VLAN交换机上的物理端口和VLAN交换机内部的PVC(永久虚电路)端口分成若干个组,每个组构成一个虚拟网,相当于一个独立的VLAN交换机。比如交换机的1~4端口为VLAN 10,5~17为VLAN 20,18~24为VLAN 30,当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定,如果有多个交换机,例如,可以指定交换机 1 的1~6端口和交换机 2 的1~4端口为同一VLAN,即同一VLAN可以跨越数个以太网交换机。

对于不同部门需要互访时,可通过路由器转发,并配合基于MAC地址的端口过滤。对某站点的访问路径上最靠近该站点的交换机、路由交换机或路由器的相应端口上,设定可通过的MAC地址集。这样就可以防止非法入侵者从内部盗用IP地址从其他可接入点入侵的可能。

从这种划分方法本身我们可以看出,这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都定义为相应的VLAN组即可。适合于任何大小的网络。它的缺点是如果某用户离开了原来的端口,到了一个新的交换机的某个端口,必须重新定义。

二、 动态 VLAN

动态 VLAN,即根据此端口接收到的帧/包的属性来决定此端口所属 VLAN. 这种方式的VLAN允许网络用户从一个物理位置移动到另一个物理位置时,自动保留其所属VLAN的成员身份。

这种由帧/包属性到VLAN的映射是取决于工程师创建的数据库。当分配给动态 VLAN 的端口被激活后,交换机就缓存初始帧的源 MAC 地址。随后,交换机便向一个称为 VMPS(VLAN 管理策略服务器)的外部服务器发出请求,VMPS 中包含一个文本文件,文件中存有进行VLAN映射的MAC地址。交换机对这个文件进行下载,然后对文件中的MAC地址进行校验。

如果在文件列表中找到 MAC 地址,交换机就将端口分配给列表中的 VLAN。如果列表中没有 MAC 地址,交换机就将端口分配给默认的 VLAN(假设已经定义默认了 VLAN)。

由这种划分的机制可以看出,这种VLAN的划分方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,因为它是基于用户,而不是基于交换机的端口。

这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的,所以这种划分方法通常适用于小型局域网。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,保存了许多用户的地址信息,查询起来相当不容易。

从实际应用来看,动态 VLAN 划分又可细分为以下几种: (一) 基于MAC地址划分VLAN

这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,

VLAN就必须不停的配置。 (二) 基于网络层划分VLAN

这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法是根据网络地址,比如IP地址,但它不是路由,与网络层的路由毫无关系。它虽然查看每个数据包的IP地址,但由于不是路由,所以,没有RIP,OSPF等路由协议,而是根据生成树算法进行桥交换,

这种方法的优点是用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。 这种方法的缺点是效率低,因为检查每一个数据包的网络层地址是需要消耗处理时间的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网祯头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。当然,这与各个厂商的实现方法有关。 (三) 根据IP组播划分VLAN

IP 组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高

1.1.4. VLAN的配置及查看

一、 VLAN 成员类型

可以通过配置一个端口的VLAN 成员类型,来确定这个端口能通过怎样的帧,以及这个端口可以属于多少个VLAN。关于VLAN 成员类型的详细说明,请看下表: VLAN 成员类型 Access Trunk(802.1Q) VLAN 端口特征 一个Access 端口,只能属于一个VLAN,并且是通过手工设置指定VLAN 的。 一个Trunk 口,在缺省情况下是属于本设备所有VLAN 的,它能够转发所有VLAN 的帧。也可以通过设置许可VLAN 列表(Allowed-VLANs)来加以限制。 关于 Trunk Port 的概念及配置会稍后章节做详细介绍。

二、 配置VLAN

一个VLAN 是以VLAN ID 来标识的。在设备中,您可以添加、删除、修改VLAN 2-4094,而VLAN 1 是由设备自动创建,并且不可被删除。可以使用接口配置模式来配置一个端口的VLAN 成员类型或加入、移出一个VLAN。

(一) 缺省的VLAN 配置 参数 VLAN ID VLAN Name 1 VLAN xxxx,xxxx 是

缺省值 范围 1-4094 无范围

VLAN ID 数 VLAN State Active Active,Inactive

(二) 创建及修改VLAN

在特权模式下,您可以创建或者修改一个VLAN:

命令 SWITCH(config)# vlan vlan-id 作用 输入一个VLAN ID。如果输入的是一个新的VLAN ID,则设备会创建一个VLAN , 如果输入的是已经存在的VLAN ID,则修改相应的VLAN。 (可选)为VLAN 取一个名字。如果没有进行这一步,则设备会自动为它起一个名字 VLAN xxxx,其中xxxx 是用0开头的四位VLAN ID 号。比如,VLAN0004 就是VLAN 4 的缺省名字。 SWITCH(config-vlan)# name vlan-name 如果您想把VLAN 的名字改回缺省名字,只需输入no name 命令即可。

下面是一个创建VLAN 888,将它命名为Test888,并且保存进配置文件的例子: SWITCH# configure terminal SWITCH(config)# vlan 888

SWITCH(config-vlan)# name test888 SWITCH(config-vlan)# end

(三) 删除VLAN

您不能删除缺省VLAN(VLAN 1)。 在特权模式下删除一个VLAN:

命令 SWITCH(config)# no vlan vlan-id 作用 输入一个VLAN ID,删除它。

(四) 向VLAN 分配Access 口

如果您把一个接口分配给一个不存在的VLAN,那么这个VLAN 将自动被创建。 在特权模式下,将一个端口分配给一个VLAN: 命令 SWITCH(config-if)# switchport mode access SWITCH(config-if)# switchport access vlan vlan-id 作用 定义该接口的VLAN 成员类型( 二层 ACCESS 口) 将这个口分配给一个VLAN 下面这个例子把Ethernet 1/10 作为Access 口加入了VLAN20: SWITCH# configure terminal

SWITCH(config)# interface fastethernet 1/10 SWITCH(config-if)# switchport mode access SWITCH(config-if)# switchport access vlan 20 SWITCH(config-if)# end

下面这个例子显示了如何检查配置是否正确:

SWITCH(config)# show interfaces gigabitEthernet 3/1 switchport Switchport is enabled Mode is access port

Acsess vlan is 1,Native vlan is 1 Protected is disabled Vlan lists is ALL

2. Trunk port与802.1q

2.1. 技术知识

2.1.1. 基本概念

如上所述,交换机一般都支持 VLAN,VLAN 可以在逻辑上将连接在交换机上的用户进行分组,同时也就限制了帧的广播域。可以看出一个 VLAN 中可以包含多个交换机端口,但有时我们在交换机之间也进行连接,这时就要求在一个端口上能同时属于多个 VLAN, 能同时传输多个VLAN 中的数据, 这种端口也就称为Trunk。

Trunk 链路上的流量一般采用IEEE 802.1Q 标准封装。

但实现 trunk,也就带来新的问题需要解决: ? ? ?

Trunk 上可以同时传输多个 VLAN 的数据,如何区分每个帧属于哪个 VLAN ? 如何交换机收到 untagged 帧 (没有进行 802.1q 封装的帧), 交换机如何处理? 当交换机从端口发出帧时,它如何判断发出的帧是否需要 tag (进行 802.1q 封装)?

2.1.2. 802.1Q

802.1Q协议,即Virtual Bridged Local Area Networks协议,主要规定了VLAN的实现,用于标识帧所属 VLAN。因为 VLAN 的应用越来越广,各个厂商都声称他们的交换机实现了VLAN,但各个厂商实现的方法都可能不相同,所以彼此是无法互连,这样,用户一旦买了某个厂商的交换机,就没法买其 他厂商的了。而现在,VLAN的标准是IEEE 提出的802.1Q协议,只有支持相同的开放标准才能保证网络的互连互通,以及保护网络设备投资。

下图是 802.1q 封装的以太帧格式:

字段说明:

? TPID: 协议标识符, 以太网为0X8100

? Priority: 优先级标识(802.1P),这3 位指明桢的优先级。一共有8种优先级,

主要用于当交换机阻塞时,优先发送哪个数据包。定义了优先级的概念,对于那些实时性要求很高的数据包,主机在发送时就在前面提到MAC桢头增加的3位优先级中指明该数据包优先级高,这样,当以太网交换机数据流量比较多时,它就会考虑优先转发这些优先级高的数据包。 ? CFI: 规范标识符,标明MAC地址是否符合以太网标准,符合为0 ? VLAN ID: 标识帧所属VLAN,范围0—4095

不难看出,802.1Q标签头的4 个字节是新增加的,目前我们使用的计算机默认并不支持802.1Q,即我们计算机发送出去的数据包的以太网帧头部不包含这4个字节,同时也无法识别这4个字节。

2.1.3. 交换机端口的 link type

根据交换机端口对 8021.q 的支持方式和处理方式的不同,将端口的链路类型分为三

种:

? Access ? Trunk

? Hybrid (在很多交换机上并不支持)

一、 link type - access

Access port一般用于连接计算机的网络适配器,此类型的交换机端口仅能属于一个 VLAN (untagged port) (一)

1

2

Access 端口接收报文的规则: 收到 tagged frame, 直接丢弃 收到 untagged frame

2.1 首先进行 802.1q 封装, 802.1q VLAN ID 为此端口所属 VLAN 2.2 然后, 将此封装后的帧转发此 VLAN 内的其它端口 (二层交换)

(二)

1

2

Access 端口发送报文的规则: 将 802.1q 帧进行解封 从端口发送出去

二、 link type - trunk

Trunk port 一般用于交换机与交换机之间的连接,此类型的交换机端口可能属于(允许)多个 VLAN (tagged port), 但需要并仅能属于一个默认 VLAN (native VLAN, untagged port)。所谓Native VLAN,就是指在这个接口上收发的UNTAG 报文,都被认为是属于这个VLAN 的。显然,这个接口的缺省VLANID(即IEEE 802.1Q 中的PVID)就是Native VLAN 的VLAN ID。同时,在Trunk上发送属于Native VLAN 的帧,则必然采用UNTAG 的方式。每个Trunk 口的缺省Native VLAN 是VLAN 1。 (一)

1

Trunk 端口接收报文的规则: 收到 tagged frame

1.1 首先判断此 802.1q 帧的 VLAN ID 是多少 1.2 然后判断 trunk 端口是否属于此 VLAN

1.3 如属于(允许)该VLAN, 此将此帧进行二层转发, 否则直接丢弃 2

收到 untagged frame

2.1 首先进行 802.1q 封装, 802.1q VLAN ID 为此端口所属 native VLAN 2.2 然后, 将此封装后的帧转发此 VLAN 内的其它端口 (二层交换)

(二)

1

2

Trunk 端口发送报文的规则:

分析要转发的 802.1q 帧, 判断其 VLAN 是否是 native VLAN 如是 native VLAN, 则将此帧进行解封(去掉 802.1q 封装)后发出

3

如不是, 则将此帧直接发出

三、 link type - Hybrid

Hybrid port可以用于交换机之间连接,也可以用于连接用户的计算机, 相对于其它两种类型, 其实际应用较少。此类型的交换机端口可属于多个 VLAN 的 tag port, 也可属于多个 VLAN 的 untagged port, 但需要并仅能属于一个默认 VLAN (native VLAN, untagged port) (一)

1

Hybrid 端口接收报文的规则: (与 trunk port 的接收规则相同) 收到 tagged frame

1.1 首先判断此 802.1q 帧的 VLAN ID 是多少 1.2 然后判断端口是否属于此 VLAN

1.3 如属于(允许)该VLAN, 此将此帧进行二层转发, 否则直接丢弃 2

收到 untagged frame

2.1 首先进行 802.1q 封装, VLAN ID 为此端口所属 native VLAN 2.2 然后, 将此封装后的帧转发此 VLAN 内的其它端口 (二层交换)

(二)

1

2 3

Hybrid 端口发送报文的规则:

分析要转发的 802.1q 帧, 判断其 VLAN 是否是 untagged VLAN 如是 untagged VLAN, 则将此帧进行解封后发出 如不是, 则将此帧直接发出

2.1.4. 配置Trunk port

一、 Trunk 口基本配置

在特权模式下,可以将一个接口配置成一个Trunk 口。 命令 SWITCH(config-if)#switchport mode trunk 作用 定义该接口的类型为二层Trunk 口 如果想把一个Trunk 口的所有Trunk 相关属性都复位成缺省值,请使用no switchport mode 接口配置命令。

二、 定义Trunk 口的许可VLAN 列表

一个Trunk 口缺省可以传输本设备支持的所有VLAN(1-4094)的流量。但是,您也可以通过设置Trunk 口的许可VLAN 列表来限制某些VLAN 的流量不能通过这个Trunk 口。 在特权模式下,可以修改一个Trunk 口的许可VLAN 列表。 命令 作用 SWITCH(config-if)#switchport trunk (可选)配置这个Trunk 口的许可VLAN列表。参

allowed vlan {all |[add|remove|except] } vlan-list 数vlan-list可以是一个VLAN,也可以是一系列VLAN,以小的VLANID 开头,以大的VLAN ID 结尾,中间用-号连接。如:10–20。 all 的含义是许可VLAN 列表包含所有支持的VLAN; add 表示将指定VLAN 列表加入许可VLAN 列表; remove 表示将指定VLAN 列表从许可VLAN 列表中删除; except 表示将除列出的VLAN列表外的所有VLAN加入许可VLAN 列表; 如果想把Trunk 的许可VLAN 列表改为缺省的许可所有VLAN 的状态,请使用no switchport trunk allowed vlan 接口配置命令。 下面是一个把VLAN 2 从端口 1/15 中移出的例子: SWITCH(config)# interface fastethernet 1/15 SWITCH(config-if)# switchport trunk allowed vlan remove 2 SWITCH(config-if)# end

SWITCH# show interfaces fastethernet 1/15 switchport

Interface Switchport Mode Access Native Protected VLAN lists --------- ---------- ---- ------ ------ -------- ---------- Gi0/15 enabled TRUNK 1 1 Disabled 1,3-4094

三、 配置Native VLAN

一个Trunk 口能够收发TAG 或者UNTAG 的802.1Q 帧。其中UNTAG 帧用来传输Native VLAN 的流量。缺省的Native VLAN 是VLAN 1。

在特权模式下,可以为一个Trunk 口配置Native VLAN。

命令 SWITCH(config-if)# switchport trunk native vlan vlan-id 配置Native VLAN 作用 如果想把Trunk 的Native VLAN 列表改回缺省的VLAN 1,请使用no switchport trunk native vlan 接口配置命令。

如果一个帧带有Native VLAN 的VLAN ID,在通过这个Trunk 口转发时,会自动被剥去TAG。

当把一个接口的Native VLAN 设置为一个不存在的VLAN 时,设备不会自动创建此VLAN。此外,一个接口的Native VLAN 可以不在接口的许可VLAN 列表中。此时,Native VLAN 的流量不能通过该接口。

四、 显示VLAN

在特权模式下,才可以查看VLAN 的信息。显示的信息包括VLAN VID、VLAN 状态、VLAN 成员端口以及VLAN 配置信息。以下罗列了相关的显示命令: 命令 show vlan [id vlan-id] 下面是一个显示VLAN 的例子:

作用 显示所有或指定VLAN 的参数

SWITCH#show vlan

VLAN Name Status Ports

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

1 VLAN0001 STATIC Gi0/1, Gi0/5, Gi0/6, Gi0/7Gi0/8, Gi0/9, Gi0/10, Gi0/11

Gi0/12, Gi0/13, Gi0/14, Gi0/15 Gi0/16, Gi0/17, Gi0/18, Gi0/19 Gi0/20, Gi0/21, Gi0/22, Gi0/23,Gi0/24

10 VLAN0010 STATIC Gi0/2, Gi0/3

20 VLAN0020 STATIC Gi0/2, Gi0/3, Gi0/4

3. 地址学习

3.1. 技术知识

3.1.1. 基本概念

交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把它们放到一个叫做MAC地址表的地方。这个MAC地址表存放于交换机的缓存中,这样当需要向目的地址发送数据时,交换机就可在MAC地址表中查找这个MAC地址的节点位置,然后直接向这个位置的节点发送。

根据自身特点和配置方式等的不同,MAC地址表项可以分为两类:

1. 静态MAC地址表项:也称为“永久地址”,由用户手工添加和删除,不会随着时间老化。

对于一个设备变动较小的网络,手工添加静态地址表项可以减少网络中的广播流量。 2. 动态MAC地址表项:指可以按照用户配置的老化时间而老化掉的MAC地址表项,交换机

可以通过MAC地址学习机制或通过用户手工建立的方式添加动态MAC地址表项。 所谓MAC地址数量(或MAC表容量)是指交换机的MAC地址表中可以最多存储的MAC地址数量,不同档次的交换机每个端口所能够支持的MAC数量不同。在交换机的每个端口,都需要足够的缓存来记忆这些MAC地址,所以Buffer(缓存)容量的大小就决定了相应交换机所能记忆的MAC地址数多少。

交换机中各端口具有自动学习地址的功能,通过端口发送和接收的帧的源地址(源MAC地址、交换机端口号)将存储到地址表中。MAC老化时间是定时器,它代表了动态学习的MAC地址在没有收到更新的情况下的最大存活时间。从一个MAC地址记录加入地址表以后开始计时,如果在老化时间内各端口未收到源地址为该MAC地址的帧,那么,这些地址将从动态转发地址表(由源MAC地址、目的MAC地址和它们相对应的交换机的端口号)中被删除。静态MAC地址表不受地址老化时间影响。

3.1.2. MAC地址动态学习

MAC 地址动态学习(MAC 地址表的维护)的具体实现过程: (SVL 模式) 1.

如在交换机端口 PORT1 收到以太帧后,首先会检查帧的有效性,如长度是否有效?FCS是否正确? 2. 3. 4. 5.

如帧是无效的就直接丢弃

如帧是有效的,则提出其源MAC地址为 MAC1 查找MAC地址表,有否有 MAC1 的项

如果没有,交换机将记录该MAC地址和接收该数据帧的端口 (MAC1+PORT1),并将此表项的存活时间设为 MAC老化时间 6.

如找到相关表项, 交换机将更新此表项, 将 MAC1 的端口更新为 PORT1,并将此表项的存活时间设为 MAC老化时间 7.

交换机会随时间变化, 自动减少地址表中每个表项的的存活时间, 如时间为0, 则此项被清除

3.1.3. IVL & SVL

交换机内Mac表存在的两种方式(IEEE 802.1Q定义)。 1. IVL: Independent Vlan Learning 独立Vlan学习

IVL模式时,Vlan Id + MAC 地址是 MAC 表的主键,即每个Vlan Id 加 MAC 的组合在表中可以唯一标示一个表项,MAC表中可以包括多个Mac相同但 VLAN ID 不同的表项

2. SVL: Shared Vlan Learning 共享式Vlan学习。

IVL模式时,MAC 地址是 MAC 表的主键,即每个 MAC 在表中可以唯一标示一个表项,MAC表中不会包括VLAN ID内容。

当前常用的交换机都是IVL模式(或可支持 IVL 配置)。

3.1.4. MAC 地址表管理

一、 设置地址老化时间 命令 作用 SWITCH(config)#mac-address-table 设置一个地址被学习后将保留在动态地 aging-time [0 |10-1000000] 址表中的时间长度,单位是秒,范围是 10-1000000 秒,缺省为300 秒。当你 设置这个值为0 时,地址老化功能将被关 闭,学习到的地址将不会被老化。 您可以在全局配置模式下通过命令no mac-address-table aging-time 来将地址老化时间恢复为缺省值。

二、 删除动态地址表项

在特权模式下,您可以使用命令clear mac-address-table dynamic 删除设备上所有的动态地址;您可以使用命令clear mac-address-table dynamic address mac-address 删除一个特定MAC 地址;您可以使用命令clear mac-addresstable dynamic interface interface-id 删除一个特定物理端口或Aggregate Port 上的所有动态地址;您也可以使用命令clear mac-address-table dynamic vlan vlan-id 删除指定VLAN 上的所有动态地址。

您可以使用特权模式下的命令show mac-address-table dynamic 来验证相应的动态地址是否已经被删除。

三、 增加和删除静态地址表项

如果您要增加一个静态地址,您需要指定MAC 地址(包的目的地址),VLAN(这个静态地址将加入哪个VLAN 的地址表中),接口(目的地址为指定MAC 地址的包将被转发到的接口)。

添加一个静态地址:

命令 作用 SWITCH(config)#mac-address-table mac-addr:指定表项对应的目的MAC 地址 static mac-add vlan vlan-id interface vlan-id:指定该地址所属的VLAN interface-id interface-id:包将转发到的接口(可以是物理端口 或Aggregate Port) 当设备在vlan-id 指定的VLAN 上接收到以mac-addr 指定的地址为目的地址的包时,这个包将被转发到interface-id 指定的接口上。 您可以在全局配置模式下通过命令no mac-address-table static mac-addr vlan

vlan-id interface interface-id 来删除一个静态地址表项。

下面的例子说明了如何配置一个静态地址00d0.f800.073c,当在VLAN 4 中接受到目的地址为这个地址的包时,这个包将被转发到指定的接口Gigabitethernet 1/3 上。

SWITCH(config)# mac-address-table static 00d0.f800.073c vlan 4 interface gigabitethernet 1/3

四、 查看MAC 地址信息

查看设备的MAC 地址表信息: 命令 Sigma# show mac-address-table Sigma# show mac-address-table address h.h.h Sigma# show mac-address-table aging-time Sigma# show mac-address-table dynamic Sigma# show mac-address-table static Sigma# show mac-address-table interface 接口ID Sigma# show mac-address-table vlan ID Sigma# show mac-address-table count Sigma# show mac-address-table max-dynamic-mac-count

功能 显示所有类型的MAC 地址信息(包括动态地址,静态地址和过滤地址) 显示指定MAC 地址的表项信息 显示当前的地址老化时间 显示所有动态地址信息 显示所有静态地址信息 显示指定接口的所有类型的地址信息 显示指定VLAN 的所有类型的地址信息 显示地址表中MAC 地址的统计信息 显示所有VLAN上的动态MAC地址限制 Sigma# show mac-address-table filtering 显示所有过滤地址信息 4. 报文交换

4.1. 技术知识

4.1.1. 基本概念

就网络交换机而言,交换就是指数据帧的转发,它是根据“学习”过程中建立的 MAC 地址表来进行的的转发。正因为它是按地址进行的转发,故交换机只将数据转发到真正的数据接收者,而不是像 HUB 一样,将数据广播到全部网络接口上去。因此交换机相对于 HUB 而言大大的提高了提高网络利用效率, 并提供一部分安全性

接 MAC 地址表进行帧转发的具体实现过程: 1 2

从交换机的 PORT1 和 VLAN X 收到数据帧后,先进行有效性检查和源 MAC 学习 然后从此帧中提出目的MAC地址

3 4 5 6

如目的 MAC地址为广播地址, 则将其转发到 VLAN X 的全部端口 如目的 MAC地址为多播地址, 默认处理将其转发到 VLAN X的全部端口 如目的 MAC地址为单播地址, 则查找 MAC 地址表中匹配 VLAN X + MAC 的表项 如找到相关项, 则转发到对应端口(对于这类找到匹配项的单播帧,我们称其为已知单播帧,Known Unicast Frame)

如没有找到相关项,默认处理将其转发到 VLAN X的全部端口 (对于这类没有找到匹配项的单播帧,我们称其为未知单播帧,Unknown Unicast Frame)

7

4.1.2. 广播帧的转发

下图是网络交换机对广播帧的转发机制, 收到广播帧会被转发除接收到的接口外的,允许 VLAN X 的全部接口

4.1.3. 未知多播帧的转发

与广播帧的转发机制相同

4.1.4. 未知单播帧的转发

下图是网络交换机对未知单播帧(Unknown Unicast)的转发机制, 与广播帧的转发机制相同:

4.1.5. 已知单播帧的转发

下图是网络交换机对已知单播帧(Known Unicast)的转发机制,此帧会被发送到特定的接口:

5. Link Aggregation

5.1. 技术知识

5.1.1. 基本概念

链路聚合也称端口聚合,端口口捆绑,port trunking, EtherChannel。

链路聚合(Aggregate Port,以下简称AP)将交换机的多个低带宽端口捆绑成一条逻辑上的高带宽链路,实现了流量在聚合链路中的负载平衡。避免链路出现拥塞现象。

通过配置,可通过两个三个或是四个端口进行捆绑,分别负责特定端口的数据转发,防止单条链路转发速率过低而出现丢包的现象。AP 功能还实现了链路备份,当AP 中的一条成员链路断开时,系统会将该成员链路的流量自动地分配到AP 中的其它有效成员链路上去。AP 中一条成员链路收到的广播或者多播报文,将不会被转发到其它成员链路上。

当前常用的交换机都支持 AP,一般而言每个交换机支持配置多个 AP,而每个 AP 可支

持最多 8 个成员端口。

根据链路聚合的实现方式,我们可以将它分为:静态配置和动态协议

目前常用的动态协商协议有两种:

? Link Aggregation Control Protocol (LACP, IEEE 802.3ad) ? Port Aggregation Protocol (PAgP, CISCO 特有)

5.1.2. 负载均衡(Load Balance)

AP 可以根据报文的源MAC 地址、目的MAC 地址,源MAC 地址+目的MAC 地址、源IP 地址,目的IP 地址以及源IP 地址+目的IP 地址等特征值把流量平均地分配到AP 的成员链路中。您可以用aggregateport load-balance 设定流量分配方式。

? 源MAC 地址流量平衡是根据报文的源MAC 地址把报文分配到AP 的各个成员链路中。

不同源MAC 的报文,-,根据源MAC 地址在各成员链路间平衡分配,相同源MAC 的报文,固定从同一个成员链路转发。

? 目的MAC 地址流量平衡是根据报文的目的MAC 地址把报文分配到AP 的各个成员链路

中。相同目的MAC 的报文,固定从同一个成员链路转发,不同目的MAC的报文,根据目的MAC 地址在各成员链路间平衡分配。

? 源MAC+目的MAC 地址流量平衡是根据报文的源MAC 和目的MAC 地址把报文分配到AP

的各个成员链路中。具有不同的源MAC+目的MAC 地址的报文根据源MAC+目的MAC 地址在各成员链路间平衡分配,,而具有相同的源MAC+目的MAC 地址的报文则固定分配给同一个成员链路。

? 源IP 地址或目的IP 地址流量平衡是根据报文源IP 或目的IP 进行流量分配。不同源

IP 或目的IP 的报文根据源IP 或目的IP 在各成员链路间平衡分配,相同源IP或目的IP 的报文则固定通过相同的成员链路转发。该流量平衡方式用于三层报文,如果在此流量平衡模式下收到二层报文,则自动根据设备的默认方式进行流量平衡。

? 源IP 地址+目的IP 地址流量平衡是根据报文源IP 和目的IP 进行流量分配。该流量

平衡方式用于三层报文,如果在此流量平衡模式下收到二层报文,则自动根据设备的默认方式进行流量平衡。具有不同的源IP+目的IP 地址的报文根据源IP+目的IP 地址在各成员链路间平衡分配,,具有相同的源IP+目的IP 地址的报文则固定分配给相同的成员链路。

以上所有平衡模式都适用于二层AP 和三层AP,即,源IP 地址流量平衡、目的IP地址流量平衡、源IP 地址+目的IP 地址流量平衡模式也适用于二层AP。

实际面署时,我们应根据不同的网络环境设置合适的流量分配方式,以便能把流量较均匀地分配到各个链路上,充分利用网络的带宽。

在下图中,两个交换机通过AP 相连,两个交换机上分别连接了一个服务器与许多客户商朝。当服务器与客户端在进行通讯,服务器发出的帧的源 MAC都是服务器的MAC,是相同的,而这些帧的目的MAC地址分属于不同的客户端的MAC,是不同的,所以为了让交换机1与交换机2之间的通讯流量能由其他链路来分担,应设置交换机2的AP为根据目的MAC 地址进行流量平衡;同理,应设置交换机1的AP为根据源MAC 地址进行流量平衡。

说明:

流量平衡模式设置为源IP、目的IP、源IP+目的IP 时对2 层报文采用设备的默认模式进行流量平衡。默认模式可在设备未配置aggregateport load-balance 参数时通过show aggregateport load-balance 命令获得。

5.1.3. 配置AP

一、 缺省配置

AP 的缺省配置如下表所示: 属性 二层AP 接口 三层AP 接口 流量平衡 无 无 根据输入报文的源MAC 地址进行流量分配。 缺省值 二、 配置AP成员

在接口配置模式下,请按如下步骤将端口加入AP:

命令 SWITCH(config-if-range)#port-group port-group-number 作用 将该接口加入一个AP(如果这个AP 不存在, 则同时创建这个AP)。 在接口配置模式下使用no port-group 命令将一个物理端口退出AP。 下面的例子是将二层的以太网接口0/1 配置成二层AP 5 成员: SWITCH# configure terminal

SWITCH(config)# interface range gigabitEthernet 0/1 SWITCH(config-if-range)# port-group 5 SWITCH(config-if-range)# end

您可以在全局配置模式下使用命令SWITCH(config)# interface aggregateport n (n 为AP 号)来直接创建一个AP(如果AP n 不存在)。

三、 配置 L3 AP

缺省情况下,一个Aggregate Port 是一个二层的AP,如果您要配置一个三层AP,您需要进行如下操作。

下面的例子是如何配置一个三层AP 接口(AP 3),并且给它配置IP 地址(192.168.1.1): SWITCH# configure terminal

SWITCH(config)# interface aggretegateport 3 SWITCH(config-if)# no switchport

SWITCH(config-if)# ip address 192.168.1.1 255.255.255.0 SWITCH(config-if)# end

注意:

三层AP 是三层交换机才支持的功能,所有二层交换机均不支持。

通过port-group 命令将三层接口加入一个AP 时,如果该AP 不存在,则不能加入成功,所以,您必须先创建该三层AP 接口,再将各三层接口加入。

创建了一个三层的AP 接口以后,您就可以往该AP 口添加成员口了,如下例,将gigabitEthernet 0/1-3 加入三层AP 2: SWITCH# configure terminal

SWITCH(config)# interface range gigabitEthernet 0/1-3 SWITCH(config-if)# no switchport SWITCH(config-if)# port-group 2

四、 配置AP 的流量平衡

在配置模式下,请按如下步骤配置AP 的流量平衡算法: 命令 SWITCH(config)# aggregateport load-balance {dst-mac | src-mac | src-dst-mac | dst-ip | src-ip | src-dst-ip } 作用 设置AP 的流量平衡,选择使用的算法: dst-mac :根据输入报文的目的MAC 地址进行流量分配。 src-mac :根据输入报文的源MAC 地址进行流量分配。 src-dst-ip:根据源IP 与目的IP 进行流量分配。 dst-ip:根据输入报文的目的IP 地址进行流量分配。 src-ip:根据输入报文的源IP 地址进行流量分配。 src-dst-mac:根据源MAC 与目的MAC 进行流量分配。

要将AP 的流量平衡设置恢复到缺省值,可以在全局配置模式下使用:no aggregateport load-balance 命令。

五、 显示Aggregate Port

在特权模式下,请按如下步骤显示AP 设置。 命令 SWITCH# show aggregateport load-balance Load-balance : Source MAC address

作用 SWITCH# show aggregateport [port-number]{load-balance| summary} 显示AP 设置。

SWITCH#show aggregateport 1 summary

AggregatePort MaxPorts SwitchPort Mode Ports ------------- -------- ---------- ------ Ag1 8 Enabled ACCESS

6. SPAN

6.1. 技术知识

6.1.1. 基本概念

一、 定义

端口镜像(port Mirroring)是把交换机一个或多个端口(VLAN)的数据镜像到一个或多个端口的方法。

二、 目的

由于部署 IDS 产品需要监听网络流量(网络分析仪同样也需要),但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。

三、 功能

监视到进出网络的所有数据包,供安装了监控软件的管理服务器抓取数据,如网吧需提供此功能把数据发往公安部门审查。而企业出于信息安全、保护公司机密的需要,也迫切需要网络中有一个端口能提供这种实时监控功能。在企业中用端口镜像功能,可以很好的对企业内部的网络数据进行监控管理,在网络出现故障的时候,可以做到很好地故障定位。 (备

注:交换机把某一个端口接收或发送的数据帧完全相同的复制给另一个端口;其中被复制的端口称为镜像源端口,复制的端口称为镜像目的端口。)

四、 别名

端口镜像通常有以下几种别名: ●

Port Mirroring 通常指允许把一个端口的流量复制到另外一个端口,同时这个端口不能再传输数据。 Monitoring Port 监控端口

Spanning Port 通常指允许把所有端口的流量复制到另外一个端口,同时这个端口不能再传输数据。

SPAN port 在 Cisco 产品中,SPAN 通常指 Switch Port ANalyzer。某些交换机的 SPAN 端口不支持传输数据。

Link Mode port这样,这些流量就可以被一个特殊的设备监控。它对发现和修理故障有很大的帮助。

● ●

6.1.2. 工作原理

SPAN(Switched Port Analyzer)的作用主要是为了给某种网络分析器提供网络数据流。 它既可以实现一个VLAN中若干个源端口向一个监控端口镜像数据,也可以从若干个VLAN向一个临控端口镜像数据。源端口的流转的所有数据流均被镜像至监控端口,而数据分析设备通过监控端口接收了所有来自源端口的数据流。

值得注意的是,对于 SPAN 功能来说,源端口和镜像端口必须位于同一台交换机上。 在SPAN任务过程中,用户可以通过参数控制,来指明需要监控的数据流种类;还可以将一个或多个端、口、一个或多个VLAN作为源端口,并将从这些端口中发送或接收的单向或双向数据流传送至监控端口。一个双向SPAN任务实际上包含一个单向输入和一个单向输出。而且不仅仅二层交换端口可作为源端口,三层交换机上的三层端口也可设置为源端口。

SPAN 任务不会影响交换机的正常工作。

一个目的端口只能处于一个SPAN任务中。当一个端口被配制成目的端口后就不能再成为源端口。

源端口又可以称作被监控端口。在一个SPAN任务中,可以有一个或多个源端口,而且可以根据用户需要设置为输入方向、输出方向或双向。

Trunk端口可以单独设为源端口,也可以与非Trunk端口一起被设置为源端口。 SPAN数据流主要分为三类: ●

输入数据流(Ingress SPAN):指被源端口接收进来,其数据副本发送至监控端口的数据流;

输出数据流(Egress SPAN):指从源端口发送出去,其数据副本发送至监控端口的数据流;

双向数据流(Both SPAN):即为以上两种的综合。

基于VLAN的SPAN是以一个或几个VLAN作为监控对象,其中的所有端口均为源端口,与基于端口的SPAN类似,基于VLAN的SPAN也分为输入数据流、输出数据流和双向数据流监控三种类型。

所有网间传输的非路由数据包,包括组播包和BPDU(桥接协议数据单元)包,都可以使用SPAN任务进行镜像。

在一些SPAN任务的配置下,会出现同一个SPAN源端口数据包的多个副本被发送到 SPAN监控端口的情况。正像前面提到的那样,在一个双向SPAN任务中,假设a1和a2为源端口,d1为目的端口,如果a1与a2之间有数据包传输,则在a1传向a2的数据包将会被传送到d1两次,反之亦然。

6.1.3. 配置SPAN

一、 缺省状态 功能 SPAN 状态 禁止 缺省配置 二、 配置指南

请遵循以下规则进行SPAN 的配置: 1. 请将网络分析仪连接到监控口

2. 目的端口不能为源端口,源端口不能为目的端口。

3. 您可以配置一个disabled port 为目的端口或源端口,但此时SPAN 功能并不起作用,

直到目的端口和源端口被重新使能。

4. no monitor session session_number 全局配置命令可从SPAN 会话中删除源或目的端

口。

5. SPAN 目的端口参与STP。

6. 当SPAN 处于使能状态,配置的变更有以下结果:

● 如果您改变了源端口的VLAN 配置,该配置将马上生效。 ● 如果您改变了目的端口的VLAN 配置,该配置马上生效。 ● 如果您禁止了源端口或目的端口,SPAN 将不起作用。

● 如果您将源端口或者目的端口加入到一个AP 中,该配置将使SPAN 的源端口或

者目的端口被取消。

三、 创建SPAN会话

创建一个SPAN 会话并指定目的端口(监控口)和源端口(被监控口)。 命令 SWITCH(config)# monitor session session_number source interface 作用 指定源端口。对于interface-id,请指定相应的接口号。

interface-id [,| -] {both | rx | tx} SWITCH(config)# monitor session session_number destination interface interface-id [switch] 指定目的端口。对于interface-id,请指定相应的接口号添加encapsulation 参数将支持镜像口封装功能,添加switch 参数将支持镜像目的口交换功能。 想要删除SPAN 会话,可使用no monitor session session_number 全局配置命令。 想要删除所有SPAN 会话,可使用no monitor session all 全局配置命令。

使用no monitor session session_number source interface interface-id 全局配置命令或no monitor session session_number destination interfaceinterface-id 可删除源端口或目的端口

下面这个例子说明了如何创建一个SPAN会话:会话1。首先,将当前会话1 的配置清除掉,然后设置端口1 的帧MIRROR 到端口8。Show monitor session 特权命令用于确认配置。 SWITCH(config)# no monitor session 1 SWITCH(config)# monitor session 1 source interface gigabitEthernet 3/1 both

SWITCH(config)# monitor session 1 destination interface gigabitEthernet 3/8 SWITCH(config)# end

SWITCH# show monitor session 1 sess-num: 1 src-intf:

GigabitEthernet 3/1 frame-type Both dest-intf:

GigabitEthernet 3/8

四、 从SPAN会话中删除一个口

从一个SPAN 会话中删除源端口。

命令 SWITCH(config)# no monitor session session_number source interface interface-id [,| -] [both | rx | tx] 作用 指定需删除的源端口。对于interface-id,请指定相应的接口号。 使用no monitor session session_number source interface interface-id 全局配置命令可从一个SPAN 会话中删除源端口。

下面这个例子显示了如何将端口1 从会话1 中删除并确认配置。 SWITCH(config)# no monitor session 1 source interface gigabitethernet 1/1 both SWITCH(config)# end

SWITCH# show monitor session 1 sess-num: 1 dest-intf:

GigabitEthernet 3/8

五、 显示SPAN状态

使用show monitor 特权命令可显示当前SPAN 配置的状态,下面这个例子说明了如何通过show monitor 特权命令显示SPAN 会话1 的当前状态 SWITCH# show monitor session 1 sess-num: 1 src-intf:

GigabitEthernet 3/1 frame-type Both dest-intf:

GigabitEthernet 3/8

7. RSPAN

7.1. 技术知识

7.1.1. 基本概念

RSPAN 是SPAN 的扩展,能够远程监控多台设备,每个RSPAN Session 建立于用户指定的RSPAN Vlan 内。远程镜像突破了被镜像端口和镜像端口必须在同一台设备上的限制,使被镜像端口和镜像端口间可以跨越多个网络设备,这样维护人员就可以坐在中心机房通过分析仪观测远端被镜像端口的数据报文了。

RSPAN 实现的功能是将所有的被镜像报文通过一个特殊的RSPAN Vlan 传递到远端的镜像端口,设备组网图如下图所示:

实现了远程端口镜像功能的交换机分为三种:

● ●

源交换机:被监测的端口所在的交换机,负责将镜像流量复制到Remote VLAN中,然后转发给中间交换机或目的交换机。 中间交换机:网络中处于源交换机和目的交换机之间的交换机,通过Remote VLAN 把镜像流量传输给下一个中间交换机或目的交换机。如果源交换机与目的交换机直接相连,则不存在中间交换机。

目的交换机:远程镜像目的端口所在的交换机,将从Remote VLAN 接收到的镜像流量通过镜像目的端口转发给监控设备。

各个交换机上参与镜像的端口如下所示。 交换机 参与镜像的端口 源端口 (SourcePort) 输出端口 中间交换机 普通端口 源端口 目的交换机 镜像目的端口 (Destination port) 作用 被监测的用户端口,通过本地端口镜像把用户数据报文复制到指定的输出端口或者反射端口(Reflector port),源端口可以有多个 将镜像报文发送到中间交换机或者目的交换机 将镜像报文发送到目的交换机。 建议中间交换机上配置两个Trunk 端口,和两侧的设备相连 接收远程镜像报文 远程镜像报文的监控端口 源交换机 为了实现远程端口镜像功能,需要定义一个特殊的VLAN,称之为Remote VLAN。这个VLAN 只传输镜像报文,不能用来承载正常的业务数据。所有被镜像的报文通过该VLAN 从源交换机传递到目的交换机的指定端口,实现在目的交换机上对源交换机的远程端口的报文进行监控的功能。 ", 注意:

● 推荐用户将镜像源端口设置于不同Vlan 内

● Remote-span Vlan 不能是Vlan 1,也不能是Private Vlan ● Remote-span Vlan 不参与GVRP

7.1.2. 配置RSPAN会话

一、 配置准备

", 确定了源交换机、中间交换机、目的交换机

", 确定了镜像源端口、镜像目的端口、Remote VLAN

", 通过配置保证了Remote VLAN 内从源交换机到目的交换机的二层互通性 ", 确定了被监控报文的方向 ", 启动了Remote VLAN

二、 源交换机上的配置 命令 SWITCH# configure SWITCH(config)# vlan vlan-id

作用 进入全局配置模式 进入Vlan 配置模式

SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit SWITCH(config)# monitor session session_num remote-source SWITCH(config)# monitor session session-num source interface interface-name [rx | tx | both] SWITCH(config)#monitor session session_num destination remote vlan remote_vlan-id [reflector-port] interface interface-name [switch] SWITCH(config)# monitor session session_number source interface interface-id rx acl name 设置Vlan 为remote-span Vlan 退到全局配置模式 配置远程源镜像 配置远程镜像源端口(源口的rx,tx 可以配置到同一个目的口,也可以配置到不同的目的口,但每一个只能配置到一个目的口) 配置远程源镜像组的Remote VLAN 和输出目的口,Switch 关键字表示目的口参与交换 设定需要镜像的流所匹配的acl name ", 注意: ● 建议用户不要将普通端口加入Remote VLAN。

● 不要在与中间交换机或目的交换机相连的端口上配置镜像源端口,否则可能引起

网络内的流量混乱。

● 若要删除大量连续的RSPAN(如超过200 个),不建议进行批量删除(如在VLAN

RANGE 100 – 1500 的模式下进行删除),这会严重影响系统的处理效率。

三、 中间交换机上的配置 命令 SWITCH# configure SWITCH(config)# vlan vlan-id SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit 进入全局配置模式 进入Vlan 配置模式 设置Vlan 为remote-span Vlan 退到全局配置模式 作用 四、 目的交换机上的配置 命令 SWITCH# configure SWITCH(config)# vlan vlan-id SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit SWITCH# configure SWITCH(config)# vlan vlan-id SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit SWITCH(config)# monitor session session_num remote-destination SWITCH(config)# monitor session session-num destination remote vlan 进入全局配置模式 进入Vlan 配置模式 设置Vlan 为remote-span Vlan 退到全局配置模式 进入全局配置模式 进入Vlan 配置模式 设置Vlan 为remote-span Vlan 退到全局配置模式 配置远程目的镜像 配置Remote VLAN 和远程镜像目的端口 Switch 关键字表示目的口参与交换 作用

vlan-id interface interface-name [switch] SWITCH(config)# interface interface-name 进入远程镜像目的端口 SWITCH(config-if)# { switchport access vid 表示remote-span vlan 的vid vlan vid | switchport trunk native vlan 如果目的口是access 口,则把它加入vid } remote-span vlan 如果目的口是 trunk 口,则把它加入remote-span vlan,并且将remote-spanvlan 设置成它的native vlan 五、 配置举例

设备拓扑如下所示:

1. 源交换机配置: SWITCH# configure

SWITCH(config)# Vlan 7

SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit

SWITCH(config)#Interface gigabitEthernet 4/3 SWITCH(config-if)#switchport mode trunk

SWITCH(config-if)#switchport trunk allowed vlan add 7 SWITCH(config-if)# exit

SWITCH(config)# monitor session 2 remote-source

SWITCH(config)# monitor session 2 source interface fastEthernet 0/2 SWITCH(config)#Interface gigabitEthernet 4/1 SWITCH(config-if)#switchport access vlan 7

SWITCH(config)#monitor session 2 destination remote vlan 7 reflector-port interface gigabitEthernet 4/1 switch 2. 中间交换机配置:

SWITCH# configure

SWITCH(config)# Vlan 7

SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit

SWITCH(config)#Interface fastEthernet 0/3 SWITCH(config-if)#switchport mode trunk

SWITCH(config-if)#switchport trunk allowed vlan add 7 SWITCH(config-if)#exit

SWITCH(config)#Interface fastEthernet 0/4 SWITCH(config-if)#switchport mode trunk

SWITCH(config-if)#switchport trunk allowed vlan add 7 3. 目的交换机配置: SWITCH# configure

SWITCH(config)# Vlan 7

SWITCH(config-Vlan)# remote-span SWITCH(config-Vlan)# exit

SWITCH(config)#Interface gigabitEthernet 4/4 SWITCH(config-if)#switchport mode trunk

SWITCH(config-if)#switchport trunk allowed vlan add 7 SWITCH(config-if)# exit

SWITCH(config)# monitor session 2 remote- destination

SWITCH(config)#monitor session 2 destination remote vlan 7 interface gigabitEthernet 4/1 switch

六、 显示RSPAN 会话 命令 SWITCH# show monitor

示例:

SWITCH# show monitor sess-num: 1 src-intf:

GigabitEthernet 0/4 frame-type Both dest-intf:

GigabitEthernet 0/6 remote vlan 3

显示镜像 作用

8. 生成树协议

8.1. 技术知识

8.1.1. 基础知识

8.1.1.1. 透明网桥的应用

对于一般的透明网桥来说,通常都具有以下的特点:

拓展LAN能力:通过透明网桥的应用,可以使原先只在小范围LAN上操作的站点能够在更大范围的LAN环境中工作。

透明网桥能够自主学习站点的地址信息,从而有效控制网络中的数据包数量。 当网桥的某个端口上收到含有某个源MAC地址的数据帧时,它就把该MAC地址和接收该数据帧的端口号保存在MAC地址表中。MAC地址表能够指明该MAC地址与透明网桥的哪个端口相连。

当网桥收到一个数据帧时,会查找这张地址表,找到目的MAC所对应的端口。然后分下列三种情况进行处理:

如果目的端口是接收端口,则抛弃这个帧;如果不是接收端口,则从那个端口转发该帧。 如果收到的数据帧不能从该表中找到对应目的地址的端口,则要从除收到该数据之外所有其他端口广播出去。

另外如果网桥收到的是广播帧,也要把该帧从除接收端口以外的所有其他端口转发出去。

但问题是“透明”网桥毕竟不是路由器,它不会对报文做任何修改的,报文中不会记录到底经过了几个网桥,如果网络中存在环路,报文有可能在环路中不断循环和增生,造成网络的拥塞,因而导致了网络中“路径回环”问题的产生。

8.1.1.2. 路径回环的产生

图中是一个由于环路造成报文循环和增生的例子。假定A站点还没有发送过任何包,因此网桥B1、B2和B3的地址表中都没有A的地址的记录。当A发送了一个包,最初三个网桥都接受了这个包,记录A的地址在LAN1上,并排队等待将这个包转发到LAN2上。根据LAN的规则,其中的一个网桥将首先成功的发送包到LAN2上,假设这个网桥是B1,那么B2和B3将会再次接收到这个包,因为B1对于B2和B3来说是透明的,这个包就好像是A在LAN2上发送的一样,于是B2和B3记录A在LAN2上,排队等待将这个新包转发到LAN1上,假设这时B2成功将最初的包转发到LAN2上,那么B1和B3都接收到这个包。B3还好,只是认为A仍然在LAN2上,而B1又发现A已经转移到LAN2上了,然后B1和B3都会排队等待转发新包到LAN1上。如此下去,包就在环路中不断循环,更糟糕的是每次成功的包发送都会导致网络中出现两个新包。

8.1.1.3. 生成树协议的引入

尽管透明网桥存在这个隐患,但是它的应用还是相当有诱惑力的,因为透明网桥在无回路的网络中发挥的作用是无可指摘的。那么是不是就认为我们不能组建有回路的网络呢?这显然是不合适的,因为回路的存在可以在拓扑结构的某条链路断开之后,仍然保证网络的连通性。

为此,我们找到了一种很好的算法,它通过阻断冗余链路将一个有回路的桥接网络修剪成一个无回路的树型拓扑结构,这样既解决了回路问题,又能在某条活动(active)的链路断开时,通过激活被阻断的冗余链路重新修剪拓扑结构以恢复网络的连通。

上面的图中给出了一个应用生成树的桥接网络的例子,其中字符ROOT所标识的网桥是生成树的树根,实线是活动的链路,也就是生成树的枝条,而虚线则是被阻断的冗余链路,只有在活动链路断开时才会被激活。

8.1.1.4. 协议基本原理

生成树算法的基本原理也很简单,网桥之间彼此传递一种特殊的配置消息,802.1D协议将这种配置消息称为“配置桥协议数据单元”或者“配置BPDU”。配置消息中包含了足够的信息来保证网桥完成生成树的计算。交换机会根据BPDU消息来完成如下的工作: 1. 在桥接网络的所有参与生成树计算的网桥中,选出一个作为树根(Root Bridge); 2. 计算出其他网桥到这个根网桥的最短路径;

3. 为每一个LAN选出一个指定网桥,该网桥必须是离根网桥最近的。指定网桥负责将这个

LAN上的包转发给根桥; 4. 为每个网桥选择一个根端口,该端口给出的路径是本网桥到根网桥的最短路径; 5. 选择包含在生成树上的端口,由根端口和LAN连接其指定网桥的那些端口(指定端口)

本文来源:https://www.bwwdw.com/article/rcsx.html

Top