第 5章 交换技术
5.1 虚拟局域网 VLAN技术
5.2 生成树协议
5.3 以太网链路聚合
5.4 三层交换技术
5.1 虚拟局域网 VLAN技术
5.1.1 VLAN产生的原因
5.1.2 VLAN标准
5.1.3 VLAN的种类
5.1.4 VLAN 内及 VLAN间通信
5.1.1 VLAN产生的原因
1.基于网络性能的考虑
2.基于安全因素的考虑
3.基于组织结构的考虑
5.1.2 VLAN标准
?802.1Q 标准
?IEEE802.1Q使用 4bytes的标记头定义 TAG(标记)
?4bytes的 TAG头包括 2bytes的 VPID和 2bytes的 VCL
?VPID是固定的数值 0X8100。标识该数据帧承载 802.1Q的 Tag
信息
?VCL包含组件,3bits用户优先级; 1bit CFI,缺省值为 0;
12bits的 VID( VLAN Identifier) VLAN标识符
?最多支持 250个 VLAN( VALAN ID 1-4094),其中 VLAN1 是
不可删除的默认 VLAN
5.1.2 VLAN标准
?以太网帧格式和 802.1Q帧格式的比较
5.1.2 VLAN标准
?VLAN的优点
?控制网络的广播风暴
?确保网络安全
?简化网络管理 提高组网灵活性
5.1.3 VLAN的种类
1,基于端口的 VLAN ( Port-Based)
2,基于协议的 VLAN( Protocol-Based)
3,基于 MAC层分组的 VLAN( MAC-Layer Grouping)
4,基 于 网 络 层 分 组 的 VLAN ( Network-Layer
Grouping)
5,基于 IP 组 播 分 组 的 VLAN ( IP Multicast
Grouping)
6,基于策略的 VLAN( Policy-Based)
5.1.3 VLAN的种类
1,基于端口的 VLAN ( Port-Based)
5.1.4 VLAN 内及 VLAN间通信
1,VLAN内通信
2,VLAN间通信
1,VLAN内通信
1) Port VLAN 成员端口间通信
?Port VLAN是基于端口的 VLAN,处于同一 VLAN内的端口之
间才能相互通信,可有效的屏蔽广播风暴,并提高网络
安全性
?实例,二层交换机上划分端口 2,22 属于 VLAN1,端
口 6,19属于 VLAN2。那么 VLAN1 和 VLAN2 各自所属的端
口间通信方式和一般的交换机一样
1,VLAN内通信
1) Port VLAN 成员端口间通信
1,VLAN内通信
2) Tag VLAN 成员端口间通信
?802.1Q协议使跨交换机的相同 VLAN里端口间通信成为可能
?Tag VLAN用 VID来划分不同的 VLAN
?当数据帧通过交换机的时候,交换机根据帧中 TAG头的 VID信息来
识别它们所在的 VLAN(但是若帧中无 TAG头,则应用帧所通过端口
的缺省 VID信息来识别它们所在的 VLAN),这使得所有属于该 VLAN
的数据帧,都将限制在该逻辑 VLAN中传播
?这将使组中主机之间能够相互彼此通信,而不受其它主机的影响,
就像它们存在于单独的 VLAN当中一样
1,VLAN内通信
2) Tag VLAN 成员端口间通信
实例 VLAN1中的 PC1与 PC2,VLAN2中的 PC3与 PC4
2,VLAN间通信
?在一般的二层交换机组成的网络中,VLAN
实现了网络流量的分割,不同的 VLAN间是
不能互相通信的。如果要实现 VLAN间的通
信必须借助
1,路由器来实现
2,三层交换机
2,VLAN间通信
1.利用路由器实现 VLAN间通信
( 1)当每个交换机上只有一个 VLAN时,路由器和交换机的接线
方式如图所示,只需在路由器上设置静态路由就可以实现三
个 VLAN间的通信。
2,VLAN间通信
1.利用路由器实现 VLAN间通信
( 2) 当每个交换机上有多个 VLAN时
A,将路由器与交换机上的每个 VLAN分别连接
2,VLAN间通信
1.利用路由器实现 VLAN间通信
( 2) 当每个交换机上有多个 VLAN时
B,不论 交换机的 VLAN有多少个,路由器与交换机都只用一条网
线连接
2,VLAN间通信
2.利用三层交换机实现 VLAN间通信
?三层交换机是将第二层交换机和第三层路由器两者的优势
有机而智能化地结合起来,可在各个层次提供线速性能
?三层交换机内,分别设置了交换机模块和路由器模块;而
内置的路由模块与交换模块类似,也使用 ASIC硬件处理路
由。因此,与传统的路由器相比,可以实现高速路由。并
且,路由与交换模块是汇聚链接的,由于是内部连接,可
以确保相当大的带宽。
?用三层交换机的路由功能来实现 VLAN间的通信
2,VLAN间通信
2.利用三层交换机实现 VLAN间通信
5.2 生成树协议
5.2.1 交换网络中的冗余链路
5.2.2 生成树协议
5.2.1 交换网络中的冗余链路
? 在许多交换机或交换机设备组成的网络环境中,通常
都使用一些备份连接,以提高网络的健全性、稳定性。
备份连接也叫备份链路、冗余链路等。
F0/1 F0/2
5.2.1 交换网络中的冗余链路
? 备份链路使网络存在环路,环路问题是备份链路所面临
的最为严重的问题,环路问题将会导致,
?广播风暴
? 多帧复制
? MAC地址表的不稳定
? 在局域网通信中,为了能确保网络连接可靠性和稳定
性,常常需要网络提供冗余链路。当一条通信信道遇
到堵塞或者不畅通时,就启用备份链路。
5.2.2 生成树协议 STP
?为了解决冗余链路引起的问题,IEEE通过了 IEEE
802.1d协议,即生成树协议
?802.1d协议通过在交换机上运行一套复杂的算法,
使冗余端口置于, 阻塞状态,,使得网络中的计
算机在通讯时,只有一条链路生效,而当这个链
路出现故障时,IEEE 802.1d协议将会重新计算出
网络的最优链路,将处于, 阻塞状态, 的端口重
新打开,从而确保网络连接稳定可靠。
5.2.2 生成树协议 STP
?生成树协议的发展过程划分成三代 。
?第一代生成树协议,STP/RSTP
?第二代生成树协议,PVST/PVST+
?第三代生成树协议,MISTP/MSTP
?重点介绍,STP和 RSTP
1 生成树协议 STP-IEEE 802.1d
? STP协议的主要思想就是当网络中存在备份链路时,只
允许主链路激活,如果主链路因故障而被断开后,备
用链路才会被打开
? STP检测到网络上存在环路时,自动断开环路链路。当
交换机间存在多条链路时,交换机的生成树算法只启
动最主要的一条链路,而将其他链路都阻塞掉,将这
些链路变为备用链路。当主链路出现问题时,生成树
协议将自动起用备用链路接替主链路的工作,不需要
任何人工干预
生成树算法 SPA
? 自然界中生长的树是不会出现环路的
? 如果网络也能够像一棵树一样生长就不会出现环路
? STP协议中定义了根交换机( Root Bridge)、根端口
( Root Port)、指定端口( Designated Port)、路
径开销( Path Cost)等概念,目的就在于通过构造一
棵自然树的方法达到阻塞冗余环路的目的,同时实现
链路备份和路径最优化。
? 用于构造这棵树的算法称为生成树算法 SPA( Spanning
Tree Algorithm)
( 1) STP的基本概念
? 要实现 STP,交换机之间通过桥协议数据单元 BPDU进行信息的交流。
? STP BPDU是一种二层报文,目的 MAC是组播地址 01-80-C2-00-00-
00,所有支持 STP协议的交换机都会接收并处理收到的 BPDU报文。
该报文用于生成树。 包括
?Bridge ID:每个交换机唯一的桥 ID,由桥优先级和 Mac地址组
合而成;
?Root path cost:交换机到根交换机的路径花费, 以下简称根
路径花费;
?Port ID:每个端口 ID,由端口优先级和端口号组合而成;
?BPDU:交换机之间通过交换 BPDU( Bridge Protocol Data
Units,交换机协议数据单元 ) 帧来获得建立最佳树形拓扑结
构所需要的信息 。
( 1) STP的基本概念
?每个 BPDU由以下这些要素组成:
?Root Bridge ID( 本交换机所认为的根交换机 ID) ;
?Root Path Cost( 本交换机的根路径花费 ) ;
?Bridge ID( 本交换机的桥 ID) ;
?Port ID( 发送该报文端口 ID) ;
?Message age( 报文已存活的时间 ) ;
?Forward-Delay Time,Hello Time,Max-Age Time三个
协议规定的时间参数;
( 1) STP的基本概念
?当交换机的一个端口收到高优先级的 BPDU
( 更小的 Bridge ID,更小的 Root Path
Cost,等 ) 就在该端口保存这些信息, 同
时向所有端口更新并传播信息 。 如果收到
比自己低优先级的 BPDU,交换机就丢弃该
信息 。
?这样的机制就使高优先级的信息在整个网
络中传播开, BPDU的交流就有了下面的结
果:
( 1) STP的基本概念
1.网络中选择了一个交换机为根交换机 ( Root Bridge) ;
2.除根交换机外的每个交换机都有一个根口 ( Root Port), 即提供最
短路径到 Root Bridge的端口;
3.每个交换机都计算出了到根交换机 ( Root Bridge) 的最短路径;
4.每个 LAN都有了指定交换机 ( Designated Bridge), 位于该 LAN与根
交换机之间的最短路径中 。 指定交换机和 LAN相连的端口称为指定端
口 ( Designated port) ;
5.根口 ( Roor port) 和指定端口 ( Designated port) 进入转发
Forwarding状态;
6.其他的冗余端口就处于阻塞状态 ( Forwarding或 Discarding) 。
( 2) STP的工作过程
1)首先进行根交换机的选举
( 2) STP的工作过程
2) 接下来,其他交换机将各自选择一条, 最粗
壮, 的树枝作为到根交换机的路径,相应端口的
角色就成为根端口
( 2) STP的工作过程
? 路径开销的计算,路径开销是以时间为单位,标准如下:
?带宽 IEEE802.1d IEEE802.1w
?10Mbps 100 2000000
?100Mbps 19 200000
?1000Mbps 4 20000
( 2) STP的工作过程
3) 根交换机和根端口都确定之后一棵树就生成了,如图中实线所示。
下面的任务是裁剪冗余的环路。这个工作是通过阻塞非根交换机
上相应端口来实现的,例如 SW3的端口 1的角色成为禁用端口,进
入阻塞状态(图中用, ×,表示)
( 3) 生成树的比较规则
1.比较 Root path cost;
2.比较 Sender`s bridge ID;
3.比较 Sender`s port ID;
4.比较本交换机的 port ID
图例表示比较方法
1,已知:如下图,SwD交换机为根交换机,
选举后,最佳路径为 C-A-ROOT
图例表示比较方法
2,如下图,如果交换机 A与交换机 C增加一条备份
链路,则 最佳路径为 C-7-1-A-ROOT。
图例表示比较方法
3,如 下 图,如果交换机 A,C之间增加一 HUB相连,
则 最佳路径为 C-6-HUB-1- A-ROOT。
( 4) STP的缺点
?STP协议的缺陷主要表现在收敛速度上
?当拓扑发生变化,新的 BPDU要经过一定的时延才
能传播到整个网络,这个时延称为 Forward Delay,
协议默认值是 15秒。
?在所有交换机收到这个变化的消息之前,若旧拓
扑结构中处于转发的端口还没有发现自己应该在
新的拓扑中停止转发,则可能存在临时环路。
( 4) STP的缺点
?为了解决临时环路的问题,生成树使用了一种定
时器策略,即在端口从阻塞状态到转发状态中间
加上一个只学习 MAC地址但不参与转发的中间状态,
两次状态切换的时间长度都是 Forward Delay,这
样就可以保证在拓扑变化的时候不会产生临时环
路。
?但是,这个看似良好的解决方案实际上带来的却
是 至少两倍 Forward Delay的收敛时间
( 4) STP的缺点
? 三个计时器
? Hello timer( BPDU发送间隔):定时发送 BPDU报文的时间间隔。默认为 2秒。
? Forward-Delay timer(发送延迟):端口状态改变的时间间隔。当 RSTP协议以兼容
STP协议模式运行时,端口从 listening转变向 learning,或者从 learning转向
forwarding状态的时间间隔。默认为 15秒。
? Max-Age timer(最大保留时间),BPDU报文消息生存的最长时间。当超出这个时间,
报文消息将被丢弃。默认为 20秒。
2 快速生成树协议 RSTP
?在 IEEE 802.1d协议的基础之上,进行了一些
改进,就产生了 IEEE 802.1w协议。
?由于 IEEE 802.1d解决了链路闭合引起的死循
环问题,不过生成树的收敛时间比较长,可能
需要花费 50秒钟。
?因此 IEEE 802.1d协议已经不能适应现代网络
的需求了。于是 IEEE 802.1w协议问世了,作
为对 802.1d标准的补充。 RSTP协议在 STP协议
基础上做了三点重要改进,使得收敛速度快得
多(最快 1秒以内)。
1)快速生成树协议 RSTP的改进之处
? 第一点改进:为根端口和指定端口设置了快速切换用
的替换端口( Alternate Port)和备份端口( Backup
Port)两种角色,当根端口 /指定端口失效的情况下,
替换端口 /备份端口就会无时延地进入转发状态。
1)快速生成树协议 RSTP的改进之处
? 第二点改进:在只连接了两个交换端口的点对点链路
中, 指定端口只需与下游交换机进行一次握手就可以
无时延地进入转发状态 。 如果是连接了三个以上交换
机的共享链路, 下游交换机是不会响应上游指定端口
发出的握手请求的, 只能等待两倍 Forward Delay时间
进入转发状态 。
? 第三点改进:直接与终端相连而不是把其他交换机相
连的端口定义为边缘端口( Edge Port)。边缘端口可
以直接进入转发状态,不需要任何延时。由于交换机
无法知道端口是否是直接与终端相连,所以需要人工
配置。
2)端口角色和端口状态
? 每个端口都在网络中有扮演一个角色 ( Port Role), 用来体现
在网络拓扑中的不同作用 。
? Root port:具有到根交换机的最短路径的端口 。
? Designated port:每个 LAN的通过该口连接到根交换机 。
? Alternate port:根端口的替换口, 一旦根端口失效, 该口就立刻
变为根端口 。
? Backup port,Designated port的备份口, 当一个交换机有两个端
口都连接在一个 LAN上, 那么高优先级的端口为 Designated port,
低优先级的端口为 Backup port。
? Undesignated port:当前不处于活动状态的口, 即 operState为
down的端口都被分配了这个角色 。
2)端口角色和端口状态
? 每个端口有三个状态 ( port state) 来表示是否转发数据包, 从而控
制着整个生成树拓扑结构 。
? Discarding:既不对收到的帧进行转发, 也不进行源 Mac地址学习 。
? Learning:不对收到的帧进行转发, 但进行源 Mac地址学习, 这是个过渡
状态 。
? Forwarding:既对收到的帧进行转发, 也进行源 Mac地址的学习 。
? 对一个已经稳定的网络拓扑, 只有 Root port和 Designated port才会
进入 Forwarding状态, 其它端口都只能处于 Discarding状态 。
3)网络拓扑树的生成
1,如图所示,假设 Switch A,B,C的 bridge ID是递增的,即
Switch A的优先级最高。 A与 B间是千兆链路,B和 C间为百兆链路,
A和 C间为十兆链路。 Switch A做为该网络的骨干交换机,对
Switch B和 Switch C都做了链路冗余,显然,如果让这些链路都
生效是会产生广播风暴的。
3)网络拓扑树的生成
2,3台交换机启动生成树协议
3)网络拓扑树的生成
3,如果 Switch A和 Switch B之间的活动链路出
了故障,那备份链路就会立即产生作用
3)网络拓扑树的生成
4,如果 Switch B和 Switch C之间的链路出了故
障,那 Switch C就会自动把 Alternate port转
为 Root port,
4) RSTP与 STP的兼容性
?RSTP保证了在交换机或端口发生故障后,迅速地
恢复网络连接。一个新的根端口可快速地转换到
转发端口状态。局域网中的交换机之间显式的应
答使指定的端口可以快速地转换到转发端口状态。
?在理想的条件下,RSTP应当是网络中使用的缺省
生成树协议。由于 STP与 RSTP之间的兼容性,由
STP到 RSTP转换是无缝的。
4) RSTP与 STP的兼容性
? RSTP协议可以与 STP协议完全兼容,RSTP协议会根据收
到的 BPDU版本号来自动判断与之相连的交换机是支持
STP协议还是支持 RSTP协议,如果是与 STP交换机互连
就只能按 STP的 forwarding方法,过 30秒再 forwarding,
无法发挥 RSTP的最大功效。
? RSTP和 STP混用 的其它 问题
5) RSTP的拓扑变化机制
? 在 RSTP中,拓扑结构变更只在非边缘端口 进 入转发状态时发生,
当某一条链路出现故障断开时,不会像 802.1d一样引起拓扑结构
变更。
? 802.1w的拓扑结构变更通知( TCN)功能不同于 802.1d,它减少
了数据的溢流。在 802.1d中,TCN被单播至根交换机,然后组播
至所有交换机,802.1d TCN的接收使交换机将转发表中的所有内
容快速失效,而无论交换机转发拓扑结构是否受到影响。
? 相比之下,RSTP则通过明确地告知交换机,溢出除了经由 TCN接
收端口了解到的内容外的所有内容,优化了该流程。 TCN行为的
这一改变极大地降低了拓扑结构变更过程中,MAC地址的溢出量。
5.3 以太网链路聚合 -802.3ad
?把多个物理接口捆绑在一起形成一个简单的逻
辑接口,这个逻辑接口我们称之为一个
aggregate port (以下简称 AP)。
?比如全双工快速以太网端口形成的 AP 最大可以
达到 800Mbps,或者千兆以太网接口形成的 AP最
大可以达到 8Gbps。
?这项链路聚合标准在点到点链路上提供了固有
的、自动的冗余性。如果链路聚合端口中的一
个端口出现故障的话,网络传输流可以动态地
改向链路中余下的正常状态的端口进行传输
5.3 以太网链路聚合 -802.3ad
5.3.2 流量平衡
?AP根据报文的 MAC地址或 IP地址进行流量平
衡,即把流量平均地分配到 AP的成员链路
中去
?流量平衡可以根据源 MAC地址、目的 MAC地
址或源 IP地址 /目的 IP地址对。
5.3.2 流量平衡
5.4 三层交换技术
5.4.1 三层交换技术的概念
? 为了实现三层交换技术,交换机将维护一张至少包括
,目的 IP地址,下一跳 MAC地址, 在内的硬件转发表,
当交换机接收到数据时,根据数据包中的, 目的 IP地
址, 查询硬件转发表,根据匹配结果进行相应的数据
转发,并且采用硬件芯片或高速缓存支持,可以达到
线速。
? 由于, IP地址, 属于 OSI网络参考模型中的第三层 ——
网络层的地址,所以称为三层交换技术。
5.4 三层交换技术
5.4.1 三层交换技术的概念
? 除了三层交换技术,在三层数据转发技术中还有路由
技术的概念,该技术在中低端路由器和早期交换机中
采用,进行数据的转发时通过检测数据包中的, 目的
IP地址, 来判断应该如何进行数据包的转发,但不采
用硬件芯片或高速缓存支持,而只是通过 CPU进行软件
计算转发,所以在大流量数据条件下无法线速。由于
数据处理能力的限制,该技术在高端路由器已经不被
采用,高端路由器和三层交换机一样大量地使用了三
层交换技术。
5.4 三层交换技术
5.4.1 三层交换技术的概念
? 如果在三层交换技术的转发过程中增加对四层 TCP/UDP
端口的检测和硬件转发表匹配,则成为四层交换技术,
由于四层交换技术在局域网中应用极少,所以该技术
并不成为交换机处理性能的衡量标准。
5.4 三层交换技术
5.4.2 三层交换技术带来的影响
? 在早期网络中,交换机只具备二层交换功能,所有的
跨网段通信或跨广域网通信都通过采用路由技术的路
由器设备(后来局域网内部短暂出现过采用路由技术
的三层交换机),由于 CPU实现路由技术的处理能力限
制,当初的局域网基本不部署跨网段的网络应用,绝
大部分的局域网甚至不进行任何网段的划分,不仅网
络的安全性降低,网络的可管理性降低,而且由于广
播的全网泛滥极大地降低了局域网的性能,无法组建
大规模的网络。
5.4 三层交换技术
5.4.2 三层交换技术带来的影响
? 同样,路由技术的性能限制也影响了早期网络跨广域
网的应用发展。在三层交换技术出现以后,所有的这
一切都发生了改变,局域网可以随意部署大量的跨网
段应用,网络的安全性和可管理性得到了极大的提升,
可以通过三层交换技术构建大规模的各种网络,而广
域网的应用也随着采用三层交换技术的高端路由器和
高端路由交换机的出现而不断丰富。
5.4 三层交换技术
5.4.3 二、三层交换技术的代表
? 路由转发表
? 路由转发表由非主机路由表( 包括直连路由、静态路
由、动态学习到的路由)和主机路由表(二层用户直
接连接到三层设备时的路由或由系统管理员设定的某
指定主机路由)两大部分组成,
5.4 三层交换技术
5.4.3 二、三层交换技术的代表
一次路由,多次交换的工作机制
?数据流的第一个数据包采用 CPU软件实现三层路由
?然后交换机把数据流三层转发需要的相关信息表项(源 IP地
址、目的 IP地址、下一跳 MAC地址、数据转发出口 MAC地址)
下载到 ASIC芯片
?该数据流后续数据包的三层转发就可以直接通过 ASIC芯片采
用流精确匹配来硬件实现
?当另一个不同的数据流需要进行三层交换的时候需要重复同
一个过程:一次路由、多次交换
5.4 三层交换技术
5.4.3 二、三层交换技术的代表
? 表 5-1所示为流精确匹配硬件表
? 所有源 IP地址为 192.168.1.1,目的 IP地址为 192.168.2.1的数据包都属
于同一个数据流,但源 IP地址为 192.168.1.1,目的 IP地址为
192.168.2.2的数据包属于不同的数据流。
5.4 三层交换技术
? 一次路由, 多次交换的缺点可以简单概括为:
? 一次路由:采用 CPU软件实现, CPU利用率高
?多次交换:流精确匹配, 硬件存储空间承受巨大压力
? 其它三层交换技术
?最长前缀匹配硬件三层交换 ( LPM,Longest Prefix Matching )
?最长前缀匹配硬件三层交换的优化 ( LPM+HDR)
5.4 三层交换技术
5.4.3 二、三层交换技术的代表
一次路由、多次交换
? 数据流。
?流是具有相同数据特征的数据包的集合,相同数据特征可以
指相同的源 /目的 MAC地址、相同的源 /目的 IP地址,以及相同
的四层协议和四层端口号。但在三层交换技术里,流的概念
是指具有相同的源 /目的 IP地址的数据包的集合。