Cisco FastEthernet Channel

1/6/2008来源:Cisco网络人气:2714


  对网络带宽要求越来越高的intranet应用的不断繁殖促使交换网络已经进入了桌面应用的层次。Web浏览和诸如视频会议这样的应用的普及促使越来越高的园区核心网络中带宽的可扩展性的需求,因此,重要应用需要更有弹性的网络设计。随着快速交换以太网在园区中的普及,最终用户们正在等待在他们的主干网络中应用标准的Gigabit以太网(千兆以太网)产品来扩展其性能。
  基于标准的802.3全双工的Cisco的快速以太网通道技术为网络治理者们提供了一种可靠的,高速的园区网络主干的解决方案。快速以太网通道技术通过提供200到800Mbps的带宽在园区中来实现带宽的可扩展性。在将来,这种技术将提供数G的容量。
  在网络主干中,FEC技术并不仅仅解决当前的带宽的可扩展性的问题,也为标准的千兆以太网和更高级的技术铺平了道路,这是因为FEC的带宽聚合技术也可以用来支持千兆以太网通道技术GEC。
  这本应用手册提供了在Catalyst5000 系列交换机上实现FEC的细节信息。而且,这本手册也描述了在cisco 7500系列与cisco8500系列园区交换路由器等cisco 路由器平台上FEC的操作。
  
  1.解决方案--快速以太网通道 技术
  
  通过提供标准的聚合解决方案,FEC技术促使主干技术向例如千兆以太网等技术的迁移。虽然千兆以太网技术的标准制订已经完成,但是会直到6-18个月后,当第一代可协调工作的设备和解决方案被开发出来后,用户才会出现。FEC技术被设计用来提供一种过渡的解决方案。FEC技术有几个要害益处。
  
  基于标准的解决方案
  首先,这是基于标准的。EFC连接,无论是在非屏蔽双绞线UTP(100BaseTX)或者光纤(100BaseFX),都是兼容的IEEE802.3连接。需要注重的是,尽管FEC技术提供了可以扩展到800Mbps的连接,其中的每条连接仍然是100Mbps(或者200Mbps)。
  
  多平台支持
  FEC技术可以在包括路由器和交换机的多平台上部署,在各种产品上实现的法则是非常简单的(在后面论述)。尽管当前仅仅可以在Catalyst 5000系列上部署,FEC很快会支持Catalyst 3000系列,Catalyst 企业级桌面系列(包含1900 和 2820),以及Catalyst 2900XL 系列。而且,几家服务器和网卡制造商将支持这项技术,以便实现在交换机和服务器之间的高速带宽聚合。
  
  扩展性
  FEC以提供多条200Mbps连接(假设是全双工连接)的能力答应网络治理者来扩展其网络。例如,网络治理者可以在单个配线间和数据中心之间配置由几对全双工快速以太网链路组成的FEC来提供400Mbps的连接。在数据中心中,可以在服务器和网络主干设备间配置最高到800Mbps容量的连接来实现高带宽的网络核心。当802.3z标准(定义了千兆以太网)完成和广泛部署之后,这项技术将会扩展到千兆以太网通道速度(最高支持到8Gbps)。
  
  负载平衡和冗余
  FEC技术的实现,在提供高带宽的同时也提供了负载平衡和冗余。这项技术通过将负载分布到通道中的多条链路上的方式来提供对每条链路的治理和负载平衡。单播,多播和广播传输也分布到通道中的多条链路上。而且,FEC提供了对链路失效的冗余。假如FEC中的一条链路被切断,在几毫秒内,传输被重新分配到其他的链路上,并且对于用户来说,收敛是透明的。
  
  与Cisco IOS 兼容
  因为FEC连接被交换机和路由器视为单一逻辑链路,FEC技术和所有Cisco IOS特性完全兼容。这些特性包括Inter-Switch Link(ISL)trunking,ISL提供了在一条快速以太网通道上中继多虚拟局域网VLAN的能力。并且,HSRP(路由热备份协议)也可以在带有RSMs(route switch modules)的交换机或者Cisco 7500路由器上运行。
  
  千兆以太网就位(Gigabit Ethernet Ready)
  最后,FEC技术的一项要害益处是当标准完备后,其可以很轻易的升级到千兆以太网。这个想定可以使高速网络核心扩展到数G的带宽。
  
  
  2.Catalyst 5000系列快速以太网通道的实现
  
  FEC技术相对轻易理解和实现。这节描述了该技术的运转原理和其组成部分。
  
  以太网集束控制器 EBC
  在论述FEC的运转之前,回顾一下Catalyst 5000是如何进行包交换是非常必要的。当input端口的SAINT专业集成电路(ASIC application-specific integrated circuit)接收到包后,它向总线仲裁器发出要求访问总线的信号。在同一时刻,SAINT将包发送到line card上的、轮流发信号询问编码地址识别逻辑(Encoded Address Recognition Logic EARL)的本地目标逻辑控制器(Local Target Logic controller-LTL)上。假设交换机已经学习过这个地址,EARL通过在目的端口之外的所有端口上进行buffer flush(缓冲区清洗)往返应。
  以太网集束控制器(Ethernet Bundling Controller)决定在出口包选择的链路。包从任何端口进来,该端口也许是集束也许不是,然后到EARL进行地址学习和包交换。假如包是从一个bundle进来的,EARL学习到的是那个bundle的一个端口的地址,也就是包进入交换机的端口。
  假如目的端口在一个bundle上,EARL将该端口和与其相关的端口视为一个bundle,并且将包转发到目的line card上的LTL上。对于离开交换机的包来说,LTL将包发向 EBC ,EBC 进行XOR异或操作来决定包使用bundle中的哪条链路。 EBC 使得集束中的任何链路有承载带有该源/目的地址对的包的可能性,而不考虑EARL从哪个端口学习到的地址。异或XOR操作发生在源和目的 MAC 地址的最低2位上。然后该包穿越这条选定的链路,并且被连接到正在使用的bundle的另一端的Catalyst 5000交换机当做该bundle上的一条链路来学习。
  
  http://www.52rock.com/luntan/attachment.php?s=&postid=162777
  图1 EBC
  
  在12口FEC模块上的一个EBC支持4个端口。在Supervisor EngineII 或者 III上的上行端口,一个EBC支持2个端口(假如在Supervisor Engine上有4个端口,一个EBC也可以支持这4个端口)。每个EBC最多支持到2个FEC,每个FEC包含2个端口。FEC中的端口必须是毗邻的。例如,端口1 2 可以组成一个通道,端口3 4可以组成第2个通道。但是端口1 3 不可以组成通道。Catalyst 5000没有可以配置的FEC的数量限制(但是必须考虑交换机可以接受的oversubscription过预定)。但是,要记住通道可以包含2个或者4个端口。
  图2展示了正确的和不正确的创建FEC的方法。
  
  http://www.52rock.com/luntan/attachment.php?s=&postid=162778
  图2
  
  只有带有板载EBC的模块才可以支持FEC技术。表1展示了如今支持这项技术的模块。
  WS-X5213A 12口 10/100模块或者WS-5224 24 口10/100模块不支持FEC技术,因为他们并没有板载EBC的模块。
  将来的用于Catalyst 3000系列的软件版本将会支持FEC技术。Catalyst 2900XL系列也会支持FEC。
  
  决定链路(Link Determination)
  决定使用快速以太网通道中的哪条链路的操作非常简单。通过FEC的连接使用源地址/目的地址对来决定。EBC在源MAC地址和目的MAC地址的最后2位上进行异或XOR操作。操作会产生4个结果:(0 0)、(0 1)、(1 0)、(1 1)。这四个值中的每一个指向FEC集束中的一条链路。下面是写例子。
  例1 最后2bits 异或结果 FEC中的链路
  源 MAC 0000.0000.0001 0 1 0 1 link 2
  目的 MAC 0000.0000.0004 0 0
  
  例2
  源 MAC 0000.0000.0002 1 0 1 1 link 4
  目的 MAC 0000.0000.0005 0 1
  
  例3
  源 MAC 0000.0000.0003 1 1 0 0 link 1
  目的 MAC 0000.0000.0007 1 1
  
  例4
  源 MAC 0000.0000.0006 1 0 1 0 link 3
  目的 MAC 0000.0000.0008 0 0
  对于2个端口FEC的情况,在XOR操作中只使用一个bit。产生2个结果,每一个指向bundle中的一个链路。
  可以使用XOR操作是因为在运行FEC的两台交换机之间存在很多的源/目的地址对。因此,尽管在0000.0000.0001和0000.0000.0004之间的连接使用链路2,0000.0000.0001和0000.0000.0002之间的连接使用链路4,在另一个方向上(例如,0000.0000.0004 到 0000.0000.0001),使用相同的链路,因为XOR操作在两个方向上得到同样的值。
  即使源/目的地址中有一个是常量,传输仍然使用不同的链路,因为另一个值是变化的。
  但是,在一种情况下,在FEC的实现中不存在负载平衡:当通过Catalyst 5000交换机的源/目的地址是两台路由器。例如,源/目的地址是2个RSMs,它们的连接通常会使用FEC中的固定链路。因此,在这种情况下,建议使用诸如 OSPF 等3层路由协议来替代FEC技术。OSPF自动实现负载平衡。但是,2个端口需要配置在不同的子网(VLANs)。
  相同的现象出现在2台服务器之间的传输上。
  
  带宽治理
  FEC经由网络上的不同源/目的MAC提供负载平衡。这种负载平衡不是 packet by packet;packet by packet机制可能会带来包的乱序,其结果是其上的应用不得不要求已发送包的重传。(IP稍有些对这种包的乱序的承受力,但是其他诸如 IPX 和 DECnet 的协议会完全的 break 掉。)
  bundle中的每条链路可以提供单向的100Mbps 和 全双工模式下的200Mbps的带宽。因为是标准的IEEE 802.3快速以太网连接,因此这些是每条连接的带宽限制。基于前面讨论过的XOR操作的结果,每个源/目的地址对使用一个bundle中的一条100Mbps的连接。
  负载平衡机制假设所有的源/目的地址对使用相等的带宽。这个假设意味着假如每条链路包含50个地址对并且每个地址对需要持续不变的100kbps的带宽,那么每条链路上总共需要5Mbps的带宽。但是,很有可能在一条特定的链路上由于一个或多个地址对需要高带宽而导致该链路饱和。
  在理论上,当一条链路已经到达100%容量利用的时候,其他链路仅仅使用15%的带宽的情况是会出现的。重要的是理解 EBC 不是根据负载来将传输进行负载平衡。运算法则的本性提供的是地址的负载平衡,这种本性轮流提供传输和负载平衡。虽然不会总是这种情况,但在现实网络中,一个bundle中的单一链路出现过载的机会并不很大。
  
  失效恢复
  FEC技术的理论在一个集束的多条链路上提供了统计学的连接负载平衡。假如bundle中的一条链路失效了,EBC 将这个失效通知 EARL,EARL将从该链路上学习的地址全部老化。这种方法使得 EBC 和 EARL 在硬件上重新计算。当一个源地址查询和目的地址响应发生,该bundle中的另一条链路再学习到了这些地址。
  失效恢复时间是新地址被再学习所花费的时间。假设由源地址发出的包立即得到响应,失效恢复会在10毫秒左右完成。当特定应用使用滑动窗口来发送包,当其等待一个确认的情况下会花费更长的时间。即使是在那种情况下,再学习也不会超过数毫秒的时间,因此不会出现由于链路失效而导致的应用或者会话超时的现象。
  当一条链路失效时,该链路上的所有传输被再学习到毗邻的链路上。例如,假如bundle中的链路 1 失效了,所有的传输被再学习到链路 2 上,假如第2条链路失效了,所有的传输再学习到链路3上。假如链路3失效了,所有的传输再学习到链路4上。在bundle中的链路没有被修复的情况下,假如链路4也失效了,两台交换机之间的连接就down了。
  在这个例子中,假如链路1在其他链路还有效的情况下恢复了,原先其上的传输还会回复回来。链路2上的传输(或者在链路1失效后承载1上传输的链路)直到其自然的从content-addressable memory(CAM)表中老化后,才会被链路1重新学习回去。
  CAM表通常老化在一个特定时间内没有使用的地址。(通常是5分钟)
  假设在一个FEC的实现中负载被均匀的分布。当先前分布在所有链路上的负载因为链路失效而转移到唯一一条链路上时,有可能会造成该链路的过饱和。
  重要的是应该直到只有在传输是双向的情况下失效恢复才会起作用。当发生链路失效的情况时,Catalyst 地址表会老化所有这些条目。因此会在bundle上发生flooding直到得到返回包。因为网络是这样运转的,因此当新地址始终不能学习到的情况下,网络上的包会流入一个“黑洞”。当在测试FEC模块使用的时候,运行单向传输不会促使地址被再学习到,因此失效恢复永远不会发生。
  
  FEC技术和VLANs
  FEC连接可以被配置成ISL中继(ISL Trunks)。bundle中的端口必须是trunking enable或者disable的,it is not possible to mix-and-match trunking modes。ISL 封装是独立在源/目的地址对负载平衡机制之外的。实际上,VLAN ID并不关系到包选取哪条链路。为中继上的多VLANs的负载平衡配置的bundle仅仅基于MAC地址对。ISL仅仅使得中继trunk属于多个VLANs。假如没有enable trunking,那么所有的端口必须属于同一个VLAN。