7.1 二层网络的困境
今天大部分的数据中心网络是遵循标准的层次化理念建立起来的,分为接入层,汇聚和核心层。接入层和汇聚层之间为二层链路,三层网关设在汇聚或核心,所有的二层链路上都运行STP协议(Spanning Tree Protocol-生成树协议),当任意两点间有一条以上的路径到达时,STP会阻止多余的路径,以保证两点之间只有一条路径可以到达,从而防止环路的产生。
未来数据中心内部的横向流量越来越大,二层无法支持业务的快速发展;当交叉链路数量增加时,二层建设会变得很复杂;传统的二层MAC地址没有层次化的概念,很容易导致边缘设备的空间MAC地址耗尽。
7.2 为什么二层网络不给力
二层交换机干的活可以按前后顺序概括为以下几步:
收到数据帧;
查看目的地址;
查看MAC地址表;
将数据从对应端口发送出去
当设备之间存在环路时,数据帧被无限转发,形成广播风暴。
二层交换机过去简单,只会学习网络地址,不会基于学习到地址规划出一套转发数据的最优方案,它的问题类似于只有数据平面,没有控制平面。
7.3 FabricPath的目标
FabricPath是Cisco Nexus 7000交换机上的一项技术特性,其目标是在二层网络基础上修复二层网络的缺陷,技术特点要求如下:
实现两点间多条路径同时转发流量ECMP(Equal Cost Mutil Pathing);
类似IP网络的平滑扩展;
快速收敛;
防止广播风暴;
保持二层网络配置的简单性。
7.4 FabricPath的实现-新的控制平面
新的控制平面具备以下功能:
主动建立邻居关系,并基于链路状态维护一个路由数据库;
支持等价路由;
支持灵活的寻址方式;
保留原有二层网络配置简单的风格。
7.4.1 新增一个二层帧头
新的帧头添加在原有数据帧之外,包含了丰富的信息,其中最重要的三个字段是源地址,目的地址和TTL(Time to Live-最大跳数)。
7.4.2 增加一套简化的IS-IS路由协议
FabricPath最大的改进在于引入IS-IS(中间路由协议),IS-IS是一个广泛运行于运营商等大型网络的路由协议,是一个链路状态协议,会维护一个链路状态数据库。
7.5 第一个问题-为什么需要新的地址空间
路由协议在计算逻辑树的过程中会用到设备的唯一标识,MAC地址没有任何规律,生成将是一个随机结构,导致最终转发路径不是当前最优路径。
7.6 FabricPath的工作模式
数据帧进入FabricPath网络时,会被打上新帧头,在FabricPath网络中根据Swicth ID进行转发,离开FabricPath网络时,脱去帧头,进入传统网络。
7.7 第二个问题-现有技术不够吗
VPN大多使用IP包承载,协议开销大,与二层快速转发相悖;MPLS控制平面仍然要IP报文进行路由,每个节点仍需要IP配置。
7.8 TRILL-FabricPath的公开标准
TRILL定义了一种名为RbBridges或Routing Bridges的网络节点,这个节点相当于FabricPath网络中的FaricPath网关,RbBridge形成的网络就是TRILL。提出者是IETF
7.9 另一个TRILL-SPB
SPB(Shortest Path Bridge-最短桥接路径)还有一个正式的名称是802.1aq,是802.1以太网协议集的一员。IEEE对SPB期望是取代802.1D,802.1w等一系列老的STP生成树协议。
7.10 TRILL vs SPB
发明STP生成树协议和IS-IS协议的大牛人-Radia Perlman。IETF和IEEE是当前世界上最重要的两大标准化组织。在OSI模型中,IETF掌管网络层,负责维护因特网协议集;IEEE统领数据链路层,开发了以太网协议集。