5.交换技术
VLAN(3星)、多层交换(1星)、STP生成树协议(3星)、CDN技术(2星)、SDN技术(2星)
5.0考点分析
从广义上讲,任何数据的转发都可称作交换。传统的交换技术是在OSI参考模型中的第二层(数据链路层)中进行操作的,而多层交换技术是在OSI参考模型中的第三层(网络层)实现了数据报的高速转发。简单地说,多层交换技术就是第二层交换技术加上第三层转发技术。
5.1交换机的数据转发
5.1.1交换机的数据转发的功能
交换机对数据包的转发是建立在MAC地址(物理地址)基础上的,即交换机在转发数据包时,不知道也无须知道源主机和目的主机的IP地址,只需知道其MAC地址(物理地址)。
5.1.2STP生成树协议
目前企业对网络的可靠性要求非常高。企业希望网络能不间断的运转,甚至人手不了一年之内几分钟的网络故障。如此苛刻的要求,质量再好、品牌再大的网络产品也难以保证,所以既能容忍网络故障,又能够从故障中快速恢复的网络设计是很必要的。冗余可以最大限度的满足这个要求。
当我们在进行网络拓扑结构设计和规划的时候,冗余常常是我们考虑的重要因素之一,普遍采用多交换机来实现冗余的局域网结构,但实际上这样的拓扑会因网络环路的出现而引起广播风暴和MAC地址表不稳定,导致降低网络的性能。
生成树协议(SpanningTreeProtocol)能实现二层路由的冗余和无环路运行。其基本思想是阻断一些交换机的端口,构建一棵与这些交换机链路相关的且没有环路的STP转发树,构成整个局域网的生成树。
当生成树协议开始计算的时候,所有的通信都要停止大约50秒,使用快速生成树协议可缩短到不足3秒。
5.1.2.1交换环路的危害
在图5-4所示的网络中,可能产生如下三种情况:
(1)广播风暴:当PCA发出一个广播数据帧时,该广播会被无休止的转发。
(2)MAC地址表不稳定:在图5-4中,即使是单播,也有可能会导致异常。交换机SW1可以在端口B上学习到PCB的MAC地址,但是由于SW2会将PCB发出的数据帧向自己其他的端口转发,所以SW1也可能在端口A上学习到PCB的MAC地址。如此SW1会不停的修改自己的MAC地址表。从而引起了MAC地址表的不稳定。
(3)帧复制的现象
5.1.2.2STP基本原理
当网络中存在冗余的中级线路时,就会因网络环路的出现而引起广播风暴,降低网络的可靠性。而STP正是为克服冗余网络中透明桥接的问题而创建的。STP是一个既能防止环路,又能提供冗余线路的第二层管理协议。为了使交换网络正常运行,STP网络上的任何两个终端之间只有一条有效路径。STP适用生成树算法来求解没有环路的最佳路径,事一些备用路径处于阻塞状态。注意在网桥时代就有STP协议,所以在交换机时代我们依然沿用网桥说法。
STP的基本原理是,通过在交换机之间传递一种特殊的协议报文,网桥协议数据单元BPDU,来确定网络的拓扑结构。BPDU在数据区里携带了用于生成树计算的所有有用信息。
5.1.2.3STP的计算过程
生成树算法的三个步骤:
(1)选举根网桥(rootbridge)
运行STP协议的交换机,会相互交换BPDU。STP交换机初始启动后,都会认为自己是根桥,并在发送给其他交换机的BPDU里面宣告自己是根桥。当交换机收到从网络中其他设备发送过来的BPDU时,会比较BPDU中的根桥BID和自己的BID(网桥ID)。选举出一台BID最小的交换机作为根桥,先比较优先级,再比较MAC地址。
网桥ID是一个8字节的字段:网桥优先级2字节,网桥的MAC地址6字节。
(2)选择根端口(rootport,RP)
STP协议会在每个非根网桥上建立一个根端口。
选择依据:
a)端口到根网桥的路径开销成本,小的为根端口。10Gbps链路开销是2,1Gbps链路开销是4,Mbps链路开销是19,10Mbps链路开销是
b)链路开销相同的情况下,比较发送者的BridgeID(优先级+MAC地址),小的为根端口;
c)比较发送者PortID(端口ID=优先级+端口号),小的为根端口(默认portid优先级为);
d)最后优选本地PortID,小的为根端口。
(3)选择指定端口(designatedports,DP)
STP会在每个网段分别建立一个指定端口,根网桥上的所有端口都是指定端口。
选择依据:
A、端口到根桥的链路开销(rootpathcast),小的为指定端口(Mbps=19、10Mbps=、1Gbps=4);
B、链路开销相同的情况下,比较发送者的BridgeID(优先级+MAC地址),小的为指定端口;
C、比较发送者PortID(端口ID),小的为指定端口;
D、最后优选本地PortID,小的为指定端口端口(默认portid优先级为)。
(4)一个端口既不是根端口也不是指定端口,则该端口被阻塞。(AP)
5.1.2.4STP端口状态
①Blocking阻塞状态:
阻塞状态不是物理的让端口关闭,而是逻辑的让端口处于不收发数据帧的状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。
交换机刚启动的时候,所有端口都处于阻塞状态,维持20秒,是为了防止在启动中产生交换环路。
②Listening监听状态:
交换机启动20秒后,端口变成监听状态,交换机开始相互学习BPDU里的信息。这个状态维持15秒,让交换机可以学习到网络里所有交换机的信息。
监听状态下,端口可以转发BPDU报文,但不能转发用户流量,也不能进行MAC和端口的映射。
③Learning学习状态:
学习状态下,端口根据收到的用户流量构建MAC地址表,进行MAC地址和端口的映射,但不转发用户流量,维持15秒,以便网络中所有的交换机都可以学习完毕。
④Forwarding转发状态:
端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。
⑤Disabled禁用状态:
端口既不处理和转发BPDU报文,也不转发用户流量。
生成树协议STP的总时延是50秒,对于某些企业在说,效率太慢。所以出现了快速生成树协议RSTP,简化了端口的状态(丢弃、学习、转发状态),提高收敛的速度。
5.1.2.5RSTP快速生成树协议
RSTP主要从2个方面实现快速收敛:
①边缘端口
当端口没有连接其他网桥,而是直接与用户终端连接的时候,这个端口即为边缘端口。边缘端口直接进入转发状态,而不需要经过中间的其他状态。
②根端口和指定端口的快速切换
根端口和指定端口在RSTP中被保留,阻塞状态的端口分成备份端口和替换端口。
当一个端口收到来自非自身的BPDU,且优先级比指定端口接收到的差,那么这个端口就会转变为替换端口,作为通往根桥的替代路径。
当一个端口收到来自自身的BPDU,且优先级更高,那么这个端口就转变为备份端口,作为通往某网段的备份路径。
经典试题(年)
与普通以太网交换机不同,生成树网桥运行生成树协议,生成树协议主要是解决什么问题?
解答:解决交换网络中的环路问题。
经典试题(年)
根据图5-6所示的网络拓扑图,回答下列问题,将解答填入答题纸对应栏内。
网络中若采用普通二层交换机,主机1与网络中其他主机通信,当主机1发送ARP请求时,简述该网络出现的问题。支持生成树协议的交换机、VLAN交换机和支持PVST的交换机中,哪些设备能解决出现的问题?
解答:该网络中出现广播风暴和MAC地址表不稳定的情况;支持生成树协议的交换机、支持PVST的交换机(PVST是思科私有的生成树协议)。
经典试题(年)
交换机执行STP协议时,需使用交换机ID和端口ID分别由哪两部分组成?
解答:交换机ID由交换机优先级、交换机MAC地址构成;端口ID由端口优先级、端口号组成。
5.2虚拟局域网VLAN
随着以太网技术的普及,以太网的规模也越来越大,从小型的办公环境到大型的园区网络,网络管理变得越来越复杂。
首先,在采用共享介质的以太网中,所有节点位于同一冲突域中,同时也位于同一广播域中,即一个节点向网络中某些节点的广播会被网络中所有的节点接收,造成很大的带宽资源和主机处理能力的浪费。为了解决传统以太网的冲突域问题,采用了交换机来对网段进行逻辑划分。但是,交换机虽然能解决冲突域问题,却不能克服广播域问题。例如,一个ARP广播就会被交换机转发到其相连的所有网段中。当网络上有大量这样的存在时,不仅是对带宽的浪费,还会因过量的广播产生广播风暴,当交换机网络规模增加时,网络广播风暴问题还会更加严重。并可能因此导致网络瘫痪。
第二,在传统的以太网中,同一个物理网段中的节点也就是一个逻辑工作组,不同物理网段中的节点是不能直接互通信的。这样,当用户由于某种原因在网络中移动,但同时还要继续原来的逻辑工作组时,就必然会需要进行新的网络连接乃至重新布线。例如,假设某学校的学生宿舍楼A和宿舍楼B位于两个不同的网段中,当某位同学因为宿舍调整从宿舍楼A搬至宿舍楼B,而同时他又希望继续与宿舍楼A中的同学在同一逻辑工作组时,则校园网的网络管理员就必须为其重新提供一条到宿舍楼A的物理连接。显然,这不仅增加了网络管理的工作量,同时也给用户带来极大的不便。那么是否存在一种跨越物理位置而划分逻辑工作组的方法来解决这个问题呢?
为了解决上述问题,虚拟局域网(VLAN,VirtualLocalAreaNetwork)应运而生。虚拟局域网是以局域网交换机为基础,通过交换机软件实现根据功能、部门、应用等因素将设备或用户组成虚拟工作组或逻辑网段的技术,其最大的特点是在祖晨逻辑网时无须考虑用户或设备在网络中的物理位置。VLAN可以在一个交换机或者跨交换机实现。
图5-1给出一个关于VLAN划分的示例。应用VLAN技术可将位于不同物理网段、连在不同交换机端口的节点纳入了同一VLAN中。经过这样的划分,位于同一物理网段中的节点之间不一定能直接通信,如图中的主机1、主机4、主机7;而位于不同物理网段中但属于同一VLAN中的节点却可以直接通信,如图中主机1、主机2、主机3。
5.2.1VLAN的特点
采用VLAN后,在不断增加设备投资的前提下,可在许多方面提高网络的性能,并简化网络的管理。具体表现在以下几个方面:
(1)提供了一种控制网络广播的方法
基于交换机组成的网络的优势在于可提供低时延、高吞吐量的传输性能,但其会将广播包发送到所有互连的交换机、所有的交换机端口、干线连接及用户,从而引起网络中广播流量的增加,甚至产生广播风暴。通过将交换机划分到不同的VLAN中,一个VLAN的广播不会影响到其他VLAN的性能。即使是同一交换机上的两个相邻端口,只要他们不再同一VLAN中,则相互之间也不会渗透广播流量。这种配置方式大大减少了广播流量,提高了用户的可用带宽,弥补了网络易受广播风暴影响的弱点。
(2)提高了网络的安全性
VLAN的数目及每个VLAN中的用户和主机是由网络管理员决定的。网络管理员通过将可以相互通信的网络节点放在一个VLAN内,或将受限制的应用和资源放在一个安全VLAN内,并提供基于应用类型、协议类型、访问权限等不同策略的访问控制表,就可以有效限制广播域或共享域的大小。
(3)简化了网络管理
一方面,可以不受网络用户的物理位置限制而根据用户需求进行网络逻辑部署,如同一项目或部门中的协作者,功能上有交叉的工作组,共享相同网络应用或软件的不同用户群。另一方面,由于VLAN可以在单独的交换设备或跨多个交换设备实现,也会大大减少在网络中增加、删除或移动用户时的管理开销。增加用户时,只要将其所连接的交换机端口指定到其所属于的VLAN中即可;而在删除用户时,只要将其VLAN配置撤销或删除即可;在用户移动时,只要他们还能连接到任何交换机的端口,则无需重新布线。
(4)提供了基于第二层的通信优先级服务
在最新的以太网技术,如千兆以太网中,基于与VLAN相关的IEEE.1P标准可以在交换机上为不同的应用提供不同的服务,如传输优先级等。
总之,VLAN是交换式网络的灵*,其不仅从逻辑上对网络用户和资源进行有效、灵活、简便管理提供了手段,同时提供了极高的网络扩展和移动性,但是它并不是一种新型的局域网技术,而是一种基于现有交换机设备的网络管理技术或方法,是提供给用户的一种服务。
5.2.2VLAN的划分方法
VLAN的划分可以是事先固定的、也可以是根据所连的计算机而动态改变设定。前者被称为“静态VLAN”、后者是“动态VLAN”。
(1)基于交换机端口划分
基于交换机端口划分的VLAN也叫做静态VLAN划分,这种划分是把一个或多个交换机上的几个端口划分在一个逻辑组,这是最简单、最有效的划分方法。该方法只需网络管理员对网络设备的交换端口进行分配和设置,而不用考虑该端口所连接的设备。
该方法如图5-2所示。
由于该方法的配置过程简单明了,因此是目前最常用的一种划分方式。但该方式不允许多个VLAN共享一个物理网段或交换机端口。而且如果某一个用户从一个端口所在虚拟网移动到另一个端口所在虚拟网时,网络管理员必须重新进行设置。这对于拥有众多移动用户的网络来说是非常困难的。
(2)基于MAC地址划分
基于MAC地址划分VLAN就是以网卡的MAC地址来决定隶属的虚拟网。MAC地址是指网卡的物理地址,每一块网卡的MAC地址都是唯一的,并且已经固化在网卡上。MAC地址由12个16进制数表示(08:00:20:0A:8C:6D),前8个为厂商标识,后4个为网卡标识。网络管理员可以按照各个网络节点的MAC地址将一些站点划分为一个逻辑子网VLAN-1,将另外一些站点划分为另一个逻辑子网VLAN-2。如图5-3所示:
按MAC地址定义的VLAN有如下优点:
首先,VLAN与站点的物理位置无关。这是由于MAC地址是捆绑在网卡上的,所以这种形式的虚拟网允许网络用户从一个物理位置移动到另一个物理位置,并且自动保留其所属虚拟网段的成员身份。其次,这种方式独立于网络的高层协议,如TCP/IP、IP或IPX等。因此,利用MAC地址定义虚拟网可以看成是只用基于用户的网络划分手段。
按MAC地址定义的VLAN还有如下缺点:所有的用户必须被明确的分配给一个虚拟网。在这种初始化工作完成后,对用户的自动跟踪才成为可能。然而,在一个拥有成千上万个用户的大型网络中,很难要求管理员将每个用户都划分到一个虚拟网。因此,一般借助相应的网络管理工具来配置MAC地址,这些网管工具可以根据当前网络的使用情况,在MAC地址的基础上自动划分虚拟网。
(3)基于网络层协议或地址划分
路由协议工作在网络层,相应的工作设备有路由器和路由交换机(即三层交换机)。基于网络层的虚拟网有很多种划分方式,例如,当网络中存在多种协议时,可以通过不同的路由协议来划分多个VLAN。当然,也可以使用网络层地址来确定虚拟网络的成员。例如,对于使用TPC/IP协议的网络,可以使用子网段的地址来划分VLAN。
总之,有很多方式可以用来定义虚拟网。每种方法的侧重点不同,所达到的效果也不尽相同。目前,主要采用第1和第3种方式,使用第2种方式作为辅助。其中,第3种“基于网络层协议或地址”划分的VLAN智能化程度最高,实现起来也最复杂。
(4)基于策略
基于策略划分VLAN是根据一定的策略进行VLAN划分的,可实现用户终端的即插即用功能,同时可为终端用户提供安全的数据隔离。这里的策略主要包括“基于MAC地址+IP地址”组合策略、“基于MAC地址+IP地址+端口”组合策略。
5.2.3VLAN的技术原理
以太网交换机是根据MAC地址表转发数据帧。MAC地址表中包含了端口和端口所连接主机的MAC地址的映射关系。交换机从端口收到以太帧后,通过查看MAC地址表决定从哪一个端口转发出去。
在VLAN技术中,通过给以太帧加上一个标签来标记这个以太帧能够在哪个VLAN中传播。那么在VLAN中,交换机在转发数据帧时,不仅要查找MAC地址来决定转发到哪个端口,还要检查端口上的VLAN标签是否匹配。
IEEE.1Q,俗称“DotOneQ”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。IEEE.1Q里面VLAN标签的范围是0-,其中VLAN1是默认VLAN;0和是系统保留VLAN。
5.2.4交换机端口类型
交换机的端口,可以分为以下三种:
(1)Access端口,即用户接入端口,该类型端口只能属于1个VLAN,一般用于连接计算机的端口。
(2)Trunk端口,即汇聚端口,该类型端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,一般用于交换机之间或交换机与路由器之间连接的端口。汇聚链路上流通的数据帧,都被附加了用于识别属于哪个VLAN的特殊标识。
(3)Hybrid端口,即混合端口模式,该类型的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间、交换机与路由器之间,也可用于交换机与用户计算机的连接。
Hybrid端口和Trunk端口的不同之处在于,Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLANID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN1。如果设置了端口的缺省VLANID,当端口接收到不带VLANTag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VALNTag的报文时,如果该报文的VLANID与端口缺省的VLANID相同,则系统将去掉报文的VLANTag,然后再发送该报文。
5.2.5VLAN信息的传播
如果交换机收到的数据帧带有VLAN标记,但交换机上没有配置此VLAN,那么交换机会把此数据帧丢弃。如果网络中交换机数量很多,需要配置的VLAN也很多,配置交换机的工作量是巨大的。解决这个问题的方法就是通过动态VLAN配置技术GCRP协议或思科的私有协议VTP。
5.2.6VLAN间的通信
想让两个属于不同VLAN的主机能够通信,就必须使用路由器或三层交换机为VLAN之间做路由。
目前,在企业内部网络中采用三层交换机的路由模块为VLAN之间做路由也是非常普遍的。由于三层交换机的路由模块和交换模块之间通过交换机的背板总线连接,只需要在三层交换机的路由模块上定义与VLAN数量相当的逻辑接口,并让这些接口与VLAN对应,为这些接口分配IP地址就可以了。
经典试题(年)
不同VLAN成员计算机之间的广播帧也被隔离,这种说法是否正确?交换机配置VLAN时,可否将VLAN的ID号配置为?
答案:
VLAN隔离广播域,广播帧也被隔离,所以说法正确。
VLAN端口号是1-,所以不能配置为。
经典试题(年)
(1)写出两种VLAN的划分方法。
(2)常用的VLAN链路类型有哪三种?
答案:
(1)基于端口的VLAN划分、基于MAC地址的VLAN划分、基于网络层协议和网络层地址的VLAN划分、基于IP组播、基于策略、基于用户自定义
(2)Access接入链路、Trunk中继链路、Hybrid混合链路。
5.3多层交换技术
多层交换技术是相对于传统交换概念提出的,传统的交换技术是在OSI参考模型中的第二次(数据链路层)进行操作的;而多层交换技术发展初期实质就是二层交换技术加上三层转发技术,也叫做IP交换技术。随着网络技术的不断发展,四层交换技术以及七层交换技术接踵而至,因此,多层交换有了更广阔的天地。
1、三层交换
三层交换技术(也称IP交换技术),就是二层交换技术+三层转发技术。其重要表现是,当某一信息源的第一个数据流进行第三层交换后,其中的路由系统会产生一个MAC地址与IP地址的映射表,并将该表存储起来,当同一信息源的后续数据流再次进入交换环境时,交换机将根据第一次产生并保存的地址映射表,直接从第二层由源地址传输到目的地址,不再经过第三层路由系统处理,从而消除了路由选择时造成的网络延迟,提高了数据报的转发效率,解决了网间传输信息时路由产生的速率瓶颈。
这个过程常常被称为“一次路由,多次交换”,也就是说,交换机的三层引擎只需要处理数据流中的第一个数据报,而后续的数据全部由硬件来执行转发,这样就实现了三层交换机的快速转发功能。
2、四层交换
四层交换技术,是利用第三层和第四层报头中的信息来识别应用数据流会话,这些信息包括TPC/UDP端口号、标记应用会话与结束的“SYN/FIN”位以及IP源地址和目的地址。利用这些信息,第四层交换机可以做出向何处转发会话传输流和智能决定。
路由器和三层交换机在转发不同数据包时并不了解哪个包在前、哪个包在后。四层交换技术从头至尾跟踪和维持各个会话。因此,第四层交换机是真正的“会话交换机”。
3、七层交换
七层交换技术,又叫智能交换技术,是以内容为主的交换技术,可以有效地实现数据流的优化和智能负载均衡。数据流的传输决策不再只是依赖与MAC地址、IP地址和端口号进行,而是扩展到具体的内容上进行,目标节点可以打开接收到具体的数据流,根据内容进行负载均衡处理,体现出智能性。
5.4ContentDeliveryNetwork,CDN内容分发网
CDN是内容分发网络,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。CDN系统能够实时地根据网络流量、各节点的连接、负载状况、到用户的距离、响应时间等综合信息,将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
1、CDN的作用
(1)本地cache加速
提高了企业站点,尤其含有大量图片和静态页面站点的访问速度。
(2)镜像服务
消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
(3)远程加速
用户根据DNS负载均衡技术智能选择Cache服务器,加快远程访问速度。
(4)带宽优化
自动生成服务器的远程Mirror(镜像)Cache服务器,远程用户访问时从Cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。
(5)集群抗攻击
广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种DoS攻击对网站的影响,同时保证较好的服务质量。
2、CDN过程
①用户在浏览器中输入要访问的域名;
②浏览器向域名解析服务器发出解析请求,由于CDN对域名解析过程进行了调整,所以用户端一般得到的是该域名对应的CNAME(例如