自研DCI 络路由交换协议DCIP-白牌交换机时代的企业 络

一转眼从听华为3Com的路由交换课程到现在已经13年有余了,依稀记得第一节课的时候我带着老婆去听的课(老婆是日语系的,那时还是女朋友,并不懂 络,只是跟着我去上课的),抢了个头排,讲师宋岩老师提问了一个问题:“为什么要学习 络然后看没人回答就要点名,可能是宋老师对漂亮的女生感兴趣吧,直接点名了我老婆…然后就尴尬了,不过没想到老婆回答的还真不错。自那以后,我也就开始了对 络的兴趣,对 络设备的兴趣,路由和交换这门课总体学的还不错。不过,后来我成了程序员,也就没有机会去触摸那些设备了,也算是遗憾。
        我深深知道程序员和 管之间有个鸿沟,但我就是无法填掉它,有时这道鸿沟就在我自己的心里。如今,我依然是个程序员,以往我一向喜欢说自己是比较懂 络但是编程编的不好的程序员,以此展示一下我心中的那道鸿沟,SDN的时代来临,软件定义 络,那道鸿沟可以填补了, 络不再是 管的专利,而是程序员编码的一个程序。

        在《 络虚拟化(SDN,NFV..)和企业骨干 的演化》一文中,我的观点比较原始且传统,我描述的企业骨干 是一个AS,通过IGP互联,比如OSPF,这显得企业骨干就是一个IP骨干 。但是,事实上真有这个必要在企业 部署IGP吗们看一下企业骨干 的典型结构:

这个转发规则非常简单,就是一个位图,按照从上到下,从左到右的顺序去匹配第一个bit为1的索引值,那就是要转发出去的端口,这个很容易用硬件实现,顺便说一下,这个跟Linux 2.6内核的O(1)进程调度器非常像。至于说链路负载均衡,那也不难,直接在位图的同一行选择多个链路即可。
        之所以可以构建这个位图,就是因为全交叉连线的胖树在每一个节点都有三个走向:
往树叶方向:如果目标端口位于源端口的一个方向,那么这就是最近的路径,当然是首选;
往平行方向:不同目标ToR的最优选择或者树叶方向不可达时的次优选择;
往树根方向:树叶方向,平行方向均无路可走时的默认选择,类似默认路由。
那么下一个问题,这个转发交换表是怎么生成的呢
        首先,我们要定义边缘设备,在这种设备上,源IP地址和目标IP地址被转换成源端口和目标端口,这样在数据包进入这个 络后,就可以用端口来交换了,这就避开了用最长前缀匹配计算的开销,完全用端口这个确定的一维数据来作为交换的依据,这个思路和MPLS是一致的,和MPLS不同的是,我这里的 络拓扑是确定的CLOS结构,这就让内部的交换结构更加简单,每个节点的三个固定走向分属三个不同的优先级意义也正在此。IP地址和端口之间的映射方式有很多种,我首选的是HASH映射,这样比较简单并且高效。
        下面说下节点的端口学习,最简单的方法往往是最高效的方法。在 络初启的时候,从每一个边缘设备发起以自己的端口ID为内容的Flood,每一个Flood数据包传遍全 ,这样所有的设备就可以学习到特定端口的方向信息,这个和以太 交换机是一致的。不同的是,以太 交换机是带内学习的,以太 本身就是一个广播 络,查询映射表项失败的情况下可以用广播来发送数据,而我这里的协议交换机则是带外学习的,因为我的目的是在数据传输之前就构建好每一台设备的交换表,旨在快速转发。

        最后一个问题,这个交换 络该怎么维护呢果有一条线缆断掉了,或者一台设备宕机了,如何通知其它设备更新转发交换表呢就需要一个新的协议。非常简单,仅仅需要往上游和平行两个方向传播链路状态变更即可,不需要向叶子节点传播,因为向上游转发总是最后的不得已的选择。为什么可以如此简单为这是一棵棵树组合而成的胖树CLOS结构! 认识到这个特征,很多设计都可以非常简单。
        理解了转发交换表是怎么生成的,最终的效果应该是下面这样:

自研DCI 络路由交换协议DCIP-白牌交换机时代的企业 络

这么看来,DCIP本身就是一个数据平面的交换协议,而SRP则只是一个控制平面协议。两者结合会不会更好呢
        能如此设计DCIP有个前提,那就是交换机是裸交换机或者白牌交换机。顺便说一下,就是因为有了这种交换机,才会有越来越多的厂商声称自己的交换机是自研交换机,当然,自研的水平参差不齐,毕竟现在 络技术研发才刚刚开放,以后所有公司的自研设备水平都会提高的,就跟业务编程一样简单。

以前我们听说过一般企业 会部署OSPF,而ISP会部署IS-IS,以后,在设备的控制权掌握在自己手中之后,越来越多的企业 将会自研交换协议,而不再使用标准的路由协议,迫于这种客户将脱缰的压力,设备厂商不得已而为之,也陆续将设备的编程接口逐步开放,比如推出I2RS标准,让客户可以折腾自己已经购买的设备,这样鉴于大厂商的口碑,客户依然会购买大厂的设备而不会流失掉。

        曾经, 络技术水平取决于你花钱的水平,花钱干什么呢钱来培训,考证,学习配置命令,学习Cisco之类公司的私有协议,由于钱是最硬的门槛,所以 络专家一般都是精英。现在呢, 络技术水平完全取决于你的编程水平,买来裸机,编写程序,你就有了自研的协议…知道谁是精英了吗序员!

        Google公司是SDN持续进化的推动力之一,它本身作为一家互联 公司并不生产 络设备,但是它遍布全球的服务器却需要强大的 络技术支撑,所以自研肯定是最经济的选择,在SDN还是纸面概念的时候,Google就率先拿B4作为其试验田,让SDN成为了现实,紧随其后,各大互联 公司均开始引入SDN的思想…

… 明天有时间且有新内容的话再继续

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年2月22日
下一篇 2017年2月22日

相关推荐