Monday, December 26, 2011

也谈谈TRILL

TRILL最近很火。
最早在09年的时候,就有rfc提出来,要设计一个新的协议,改进现有STP的种种问题。11年小半年时间更是连发了5个rfc出来讨论TRILL的设计和应用(6325-6327,6361,6439)。

可能有对网络不太熟悉的同学,先来介绍下STP。
STP是Spanning Tree Protocol的缩写。我们知道对于现在的局域网(LAN)来说,交换机是实现多个节点互相通信的基础。而想要连接多个LAN,就需要交换机之间能有一定的机制来互通。如果交换机拓扑中含有环,那么就可能会出现循环转发,整个网络也就容易挂掉。因此,被称为“互联网之母”的Radia Perlman大妈就跳出来设计了个STP,还因此开心的写了一首小诗。

I think that I shall never see
A graph more lovely than a tree.

A tree whose crucial property
Is loop-free connectivity.

A tree that must be sure to span
So packets can reach every LAN.

First, the root must be selected.
By ID, it is elected.

Least-cost paths from root are traced.
In the tree, these paths are placed.

A mesh is made by folks like me,
Then bridges find a spanning tree.

其实STP的理念十分简单,拓扑中有环存在不是么?我禁掉其中的某些链路,自然就没有环了(当然要具体实现还需要很多的机制和协议)。STP因为其简洁有效,成为了事实上二层网络互通的标准。当然,凡事都会有利有弊,STP的问题主要有两点,一个是仅仅用了某些链路,很可能降低网络的性能;另一个是一旦出现链路故障,重新计算STP收敛不够快。

也正是为了解决这两个问题,Radia Perlman和其他的一些专家一同又提出了TRILL。
TRILL的设计理念也十分明确,把二层和三层各自的优点都结合起来,设计一个新的2.5层的协议出来。总的想法是在每个二层网络内部用传统的二层,而在各个交换机之间采用类似三层路由的机制,来实现多路径和快速收敛等。

TRILL的提出,为实现大规模的二层网络和保持高性能的互通带来了曙光。而现代云计算数据中心的发展,更是在这两方面提出了很强的需求,这也是为何TRILL在近些年讨论的越来越多,并被Cisco等支持,还作为其面向下一代数据中心核心网络技术FabricPath中的核心技术。

话说在TRILL的rfc6325中,Radia大妈又写了一首小诗。

I hope that we shall one day see
A graph more lovely than a tree.

A graph to boost efficiency
While still configuration-free.

A network where RBridges can
Route packets to their target LAN.

The paths they find, to our elation,
Are least cost paths to destination!

With packet hop counts we now see,
The network need not be loop-free!

RBridges work transparently,
Without a common spanning tree.

让人不得不赞叹,大妈真是个人才(随便搜搜大妈的简历,就知道大妈功力之深厚)。

附:Radia大妈照



No comments:

Post a Comment