個人檔案different life, differen...相片部落格清單更多 工具 說明
6月30日

阅读RFC一月有感

阅读RFC/draft差不多一个月了,看了大概10来篇的文档。
刚开始看的时候气势如虹,最近又有点松懈了,犯了老毛病,虎头蛇尾。
 
记得在以前的公司的时候,公司几乎没人对RFC懂得人,最牛的人是一个姓周的同学,苦干型的,对嵌入式系统比较厉害。可怜的我也没人问,看了RFC就心里发怵。可怜啊,一个公司里找不到对RFC了解的人,居然也号称做数据通信。
 
其实看了这些RFC,才能对整个datacom的技术架构有一个基本了解,才能预估工作量,知道各种设备如何协同工作。
 
来到centec之后,压力大,做的事情比较杂,对datapath的东西还算比较厉害,忙了一年,现在回个头去看,还是很有收获的。现在看起RFC就比较轻松了。
 
其实看RFC的过程也是一个了解如何做engineering的过程,当初80年代末期的路由器都是在UNIX主机上插一些网卡来完成,纯软件的,上面跑一些RIP/OSPF/BGP等。
后来随着要求越来越多,慢慢的,开始硬件化,加了Mcast,加了IPv6,加了MPLS,加了VPN,加了TE这些。。。
 
当初80年代的时候肯定不能预计以后的发展,但是先做起一个东西来,随着时间发展,不停的完善,加功能。
 
我们做工程也一样,不可能在刚开始做的时候考虑到所有的事情,但是可以先做起来,再慢慢完善。
 
另外RFC的制定过程也反映了老美做事的开放作风,一切都是不同的工程师/公司讨论,协商,妥协的结果。
并没有什么权威组织来强制制订什么,谁都可以发言,谁的意见都有可能被采纳。
 
 
 
 
 
 
 
 

Draft Kompella VPLS

Juniper坚持的一种VPLS control path的东西.
与RFC4762(VPLS using LDP)相比,
                                    Auto discovery              Singaling
Draft Kompella VPLS      BGP                             BGP
RFC4742                      No                                LDP
 
所谓Auto discovery指的是Peer PE之间的相互发现,在RFC4762上没有这种机制,所以在Foundry的产品上,是靠手动配置Peer的IP address来完成的.
 
而在Draft Kompella VPLS中,是通过BGP自动完成的.
 
觉得BGP功能很强大,上面附属了很多功能,下一步看BGP吧.
 
 
 
 
 
6月21日

RFC finished

RFC 3031 MPLS ARCH
RFC3032 MPLS LABEL STACK ENCODING
RFC3036 LDP SPEC
 
RFC3209 RSVP-TE
RFC3212 CR-LDP
 
RFC4664 L2VPN FRAMEWORK
RFC4762 VPLS USING LDP
RFC3985 PWE3 ARCH
RFC4447 PW SETUP AND MAINTAIN USING LDP
6月20日

RFC 3209 RSVP-TE

LDP仅仅是Label destribution Protocol的一种.
RSVP的扩展RSVP-TE也可以用做label destribution Protocol,而且还支持Traffic Engineering.
 
实际上LDP的扩展CR-LDP rfc3212也支持Traffice Engineering,不过可能支持的没有RSVP-TE好.
 
6月19日

看的太快了

放慢脚步,看看各家的实现。
 
6月16日

PWE3, L2VPN, VPLS

这周读完了rfc3985
PWE3-arch
 
rfc4664
Framework for Layer2 VPN
 
rfc4672
VPLS using LDP
 
看明白了IP/MPLS想一统江湖的决心.
在PWE3上可以仿真SDH, bit stream, ethernet,ATM这类东西,支持sequence,timing,也就是说与了IP/MPLS核心网络,在上面构架PWE3,可以将现在电信网络替代了,从此世界太平了。
 
不过最现实的将一个公司分布在世界各地的二层ethernet连接起来,形成一个VPN,于是有了Layer2 VPN
而Framework for Layer2 VPN这些东西,就是具体化定义了VPLS, VPWS, IPLS这些服务,但是他们的基础是PW(pseduo wires).
 
rfc4672 VPLS using LDP将VPLS详细化,在信令里支持mac address learning, mac address aging.
6月14日

没得选择

跟一个市场老兄聊天,我说MPLS搞的越来越复杂,会不会跟ATM有一样的命运.
 
他回答说,很有可能这样,但是对于小公司我们没得选择,只能一条路走到黑.
 
有什么办法呢?
对于个人也是这样,当你弱小的时候,其实是没的选择.
6月13日

VPLS and VPWS

从这一周开始进入
VPLS。
相关的RFC有
rfc4664
Framework for Layer2 VPN
 
rfc4672
VPLS using LDP
 
VPLS实际上在MPLS网络上仿真LAN.有地址学习和老化功能.
从AC近来的frame根据MAC DA, port, VLAN来决定去打怎样的label,去那里的PE,从而到目的地。
加入一个VPLS有5个站点,就要维持5*4=20条PW,因为它是full mesh的。
 
而VPWS是点对点的,PE就是把frame传到对端,只要判定它是属于哪个VPWS,就可以了,。
而属于那个VPWS只需要从src port or src VLAN判定就可以了。
它没有地址老化和学习功能。
 
 
6月12日

PBT or VPLS

Metro现在有两大流派,一个Alcatel为首,发展VPLS,做的很是红火.
另外一个就是PBT,Nortel/British Telecom推的,由IEEE802.1ah发展而来.
VPLS/PWE现在看起来,管理比较难,信令比较复杂,设备成本比较高.
PBT要简单一些,当然功能也要少一些.不过说不定它会占先锋.
 
 
6月11日

浏览完RFC3212 CR-LDP

LSP建立的过程是从ingress LSR到Egress LSR建立起来的。
这实际上在无连接的IP网络上建立了一个面向连接的网络。
既然是面向连接,在发起连接的时候就可以显式指定下一跳,也可以协商QoS参数。
所谓CR-LDP就是在用LDP建立LSP过程中,加上这些限制/参数。
从而可以实现Explicit routing and Traffic Engineering.
 
到今天为止,看了MPLS Architecutre, LDP, CR-LDP,算是有了一个粗浅的认识。
有些感想:IP网络从99年以后实际上改变了很多,在上面加上了 VPN,Traffic Engineering这类东西,让IP网络更加controlled,更加可靠,应对业务的时候更加方便,实际上向IP-电信网络发展。
 
譬如Ethernet这种东西,电信级别ethernet和Enterprise ethernet虽然好像差不多,实际上差远了,从设计思路和内涵方面根本就不一样。
ethernet实际上是一个interface 而已。
 
名字一样,而实不一样。
 

读完了RFC 3032 and RFC 3036

RFC3032太平庸,不值得一述
 
RFC3036 LDP sepcification是RFC3031(MPLS Arch)的延伸,具体的定义了一种Label destribution procedure,详细到bit级.
 
基本上讲述了如何Peer之间如何request label and map label.
 
下面我不太想阅读RSVP and RSVP-TE,太冗长.还是读一读Contrained Routing based LDP.(RFC 3212)
 
这段时间心情不是很好,可能是这部分工作太枯燥了.
希望早点度过这段时间,做点有意思的工作.
 
 
6月5日

读RFC 3031(MPLS Arch)

一直不愿意读RFC,觉得过于细节.喜欢读一些描述性和介绍性的文档,而且还是中文的.不过效果并不好.
还是应该硬着头皮读RFC,因为RFC权威和标准,尽管罗嗦,如果能够选择性的读,应该有收获的;而且隔一段时间应该读一遍,这样理解可能不一样。
 
MPLS Arch这篇RFC文档内容太多,涉及很多方面,难以综述。
我只能讲一些我所理解的东西。
里面我感兴趣的是Label Distribution Procedures的玩法。
这里面不是特指LDP,而是一般意义上的Label Distribution Procedures.
 
就是Upstream LSR和Downstream如何就an address prefix生成label.
这里面要牵涉到用OSPF或者BGP生成的routing table来生成label.
 
在这片文档里主要讲述如何从Egress LSR到Ingress LSR里生成LSP.
当然也有从Ingress LSR到Egress LSR生成LSP,如果要支持Traffic Engineering(source route),就必须这样做。