新TCP/IP详解(序言)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享

系列目录 新TCP/IP分享

  1. 新TCP/IP详解(序言)
  2. 新TCP/IP详解(1)
  3. TCP/IP分享(2)——链路层
  4. TCP/IP Sharing – 3

【陈怀临注:这本书的由来是这样,这样的:】

陈首席,你好,我是弯曲的一名读者,曾经有一篇文章(互联网应用如何穿越NAT)有幸被您转载,一直深怀感激。我从事IP维护行业已近5年,一直深受Richard Stevens TCP/IP详解的影响,可以说我的IP之路是看他的书铺就的,本人也一直示他为自己的楷模,那本书完成于1993年,距今已经17年有余,他本人也已经辞世,这么些年来,IP领域发生了很多革新,但他的书本质上依然没有过时,但英文版的国人很难以阅读,翻译版的也一时难以接收,所以我在去年就一直怀着一个梦想,改写中文版的TCP/IP详解卷一的前面一些章节,主要是让进入IP维护领域的人更容易上手,同时添加一些新的协议如IPv6、PPPoE、WIFI、接入安全,淘汰一些旧的协议如SLIP之类的,目前已经完成了第一章(可见附件),目前准备写第二章。

我目前把文章发表在新浪的博客中,但想来想去,为了能够更多地影响一些想进入这个行业的人,并且也想向一直从事科技行业的奋斗国人致敬,还是想借助弯曲发表发表,不知质量是否可行,内容是否合适,还请首席给予指导。

晚辈丘子隽,敬上。

新TCP/IP详解(序言)

因为从事网络设备厂家售后维护的缘故,有不少朋友都向我表达了一个想法,表示对网络很感兴趣,但头一回接触,没有底子,但是不知道怎么学,不知道什么很好的资料可以自学。为这些事情,我憋了很久,终于想写点什么,和大家分享一下。里头很多英文的术语或者简写不知道的话就上百度、谷歌去搜内事不决问百度、外事不决问谷歌、房事不决问天涯。

00、01年接触网络的时候,我还是个单纯的使用者和彻底的技术门外汉,怎么上网都要别人教我怎么设置,对于各种协议、架构一无所知。

02年下半年有一门课叫《计算机网络》,讲课的老师是我的班主任,使用的教材是谢希仁教授编著的《计算机网络》,我当时可不是个好学生,一个学期下来就记住了IP、ARP、DNS、网关的全称而已,网关Gateway和网桥Bridge什么区别,完全没有印象,失败。虽然现在反过来再去看这本教材,却发现这是中国人自己写的几乎是最精简的一本书,知识点、架构、历史全在 200来页的教材上。这个时候的我应该说是一个与TCP/IP技术有过轻微接触的人。

03年阴错阳差没有选上我青睐的嵌入式专业,而选择了计算机网络,确切地说是专门研究IPv6,因为上课的原因,很多老师推荐了很多教材,比较有名的有Andrew S.Tanenbaum写的《Computer Network》(也叫计算机网络,这是我的导师推荐的),还有Douglas E.Comer写的《Internetworking With TCP/IP》
(TCP/IP 网际互联,IEEE前主编推荐),因为老师的推荐,去买了英文版,我这人当时也没什么耐心,看了1个月就看不下去了,一是英文不好,二是只看书,没有实验做,记忆相当不深刻,到现在我还对这两本书有成见,现在我把它归结为书本的易用性不好,不太适合我这种新手,当然2位作者可是业界响当当的教授,立功无数,水平是绝对很高很高的。

后来又是一次偶然的机会在清华一同学那得到了一本William Richard Stevens写的《TCP/IP Illustrated Volume 1》(也就是我今天要介绍的书),Faint,虽然也是英文的,但是作者除了向我们描述各个技术、架构,给力之处在于他通过搭建一个实验环境来验证各个协议是怎么工作的、怎么衔接的,按照现在的话来说就是“相当带感”,我看得津津有味,我的脑海中迅速确立了TCP/IP体系架构的模型,各个协议是怎么工作的,又是通过什么来联系的,同时通过实验也说明了协议和实现的差距(网络工程师整天围绕的2大技术就是协议和产品),我从此开上了网络学习的快车道,开始树立自信,开始看RFC……后来我才知道这本书的作者是个专门写畅销书(比如很多网络编程高手入门书籍Unix环境编程三卷)的专家,99年9月1日去世(享年48岁),据说留下尚未完稿的 Linux详解,他的去世是整个计算机教育界的巨大损失。可我读他的作品的时候,他已经去世5年。可能Jon B Postel[1]空前绝后、Vinton Cerf和Robert Kahn[2]因为在研究TCP/IP上的杰出贡献享誉于世,Robert Metcalfe(也是3COM的创建人)发明了横扫链路层的以太网……但是对于我们这些后辈,记得最牢的始终是那些领我们入门的师父,对我们的工作起到巨大帮助作用的人,我的师父就是Stevens(准确地说我是受他影响的一名无名晚辈),是他的书启蒙了我,对我帮助甚大。从事网络工作三年了,日益发现这枚瑰宝是所有工程师的财富,我不应该贪天功为己有,很多人问我入门看什么好,很多人推荐 Cisco的《TCP/IP路由》,我觉得这个讲的太集中了,不够基础,其它的读物也没怎么入我的眼,我推荐的最基础的读物就是《TCP/IP详解》。

对于这位良师的作品,从我工作的角度而言,这本书是最适合我们这行的人入门的一本书,他并没有重点讲现在常见的VLAN、路由协议、MPLS、网络应用,而是从最基本的分层、协议、封装开始,循序渐进。我可以保证对这本书掌握一半的兄弟,学习各个路由协议不是什么难事;掌握精通的兄弟,对各种新网络新技术上手绝对要比别人快一倍。因为这本书是按照这个层次写的:
1、协议是怎么工作的。
2、告诉你一些协议为什么这么工作。
3、让你想一想为什么要这么工作。
我们的网络工程师工作不就主要是协议或者产品怎么工作的嘛。哪些研究协议为什么应该这么工作的人就是写协议的人,研究这个咱不够格啊,还是整点实际点的,成为一名产品专家或者方案专家[3]。

2009年因为维护公司论坛,经常帮人解答各类网络问题,觉得大部分问题都可以通过这本书解决,是大家不太了解这本书,还是这本书吸收起来也不易。我重温了一下这本书的目录,找到了一些问题:
1、这本书完成于1993年,目前应用的很多协议当时都没有开发,因此也没有介绍,对Stevens不礼貌地说,是不Fashion了。
2、中国读者向来不太看英文原版书籍,也就是说英文门槛要比中文高。
3、中文译本不够有趣,愿意看的人也不太多。
4、这本书总共有3卷,对于入门而言,只需要看卷1的前面半本即可,看都后面2卷,很多入门的人有点望而生畏。

想了那么多,我就有个想法,重写一本中文版的《TCP/IP详解》,把一些目前大量使用的技术(WLAN、接入安全、IPv6、路由协议)完善一下;把一些入门用不着的协议实现删减掉。目的也有2个,一个是向偶像致敬,不知道这算不算侵权,二是把自己的一些经验和大家分享,也算是对自己一直立志从事的科技行业做一些绵薄的贡献。

这么多年来,自感IP技术之路很艰辛,很漫长,如果没有毅力、兴趣、实践、思考,即使有再好的书籍、师父,也是寸步难行的。但是这个门槛其实也不算高,只要突破了,天地广阔,不管是下五洋捉鳖也好,还是上九天揽月也罢,都是干一些技术集成的活,提升机会多,转型也方便,竞争再激烈也有一碗热饭。

[1] Jon Bruce Postel于98年去世,生前参与写作200多个RFC,其中不乏RFC791~RFC793这样整个IP标准架构的开山之作。他在IP领域的地位无人能及,Vinton Cerf在听闻Postel去世的噩耗后还专门写了一个RFC2468纪念他,大概意思就是很久以前网络互连领域还是一片混沌,是Jon带领人澄清宇内,开创此不世之业。IP领域最牛逼的机构IP Society专门成立Postel奖,专门奖励那些为数据通信领域做出过杰出贡献的人。我们现在有碗饭吃,还真需要感谢他。

[2] Cerf和Kahn被誉为互联网之父,TCP就是他们的Idea,克林顿总统因为信息高速公路计划专门为此2人颁奖,以表彰两人互联网奠基人的历史地位和贡献。因为我导师的关系,还曾有幸在会堂见过Cerf的风采,这位白胡子老头现在是Google的特约科学家。

[3] 专家分为两种:应用型和理论型,上这个论坛的人基本上是应用型的,有的人可能理论也不俗,但也只是工程师里的不俗;真正理论型的专家在IETF里头去找吧,这些家伙的工程经验也都是很了得,因为IETF的口号是”不ducai、不投票,只相信能够正确运行的代码“。

(9个打分, 平均:4.67 / 5)

在荆棘中挣扎前进的NetApp

NetApp最近推出了FAS3200和FAS6200新一代产品。这一代产品相对上一代FAS3100以及FAS6000有什么区别?发生变化的形态背后有何隐情?NetApp为何迟迟不推出真正Scale-Out的集群或者分布式NAS?NetApp在固态存储方面的行为为何如此另类?本文将会解开一个个谜团。

怪诞之一:昙花一现

FAS3100系列才出来没多久,就被FAS3200替了。我记得那时候,其他厂商同档的存储系统基本都已经用了DDR2 667的内存以及PCI-E的总线,但是那时FAS3000系列依然使用PCI-X总线以及DDR2 400内存。终于在09年FAS3100升级到了DDR2 667以及PCI-E总线,同时硬件也做了改动,把NVRAM集成到主板,并且使用背板来连接两边NVRAM,消除了物理线缆。但是好像为时已晚,在NetApp从内存和总线方面追赶上别人之后,PCIE2.0、SAS2.0、8G FC时代都到来了,所以NetApp决定痛改前非,一次到位,推出FASx200,用新CPU、新总线、新接口、新硬件打造新一代硬件平台,FAS3100只能是昙花一现了。对此NetApp一定非常难受,阵痛隐隐。

怪诞之二:形态回退,接口转变

FAS3100是把NVRAM集成到了主板,并且双控各自的NVRAM之间的连线已经被固化到背板中去了,通过这种手段降低接触不良等造成的故障。但是FASx200系列好像又回来了,还是通过外置接口和连线来连接两边的NVRAM,不过这次不用Infiniband了,而就用最普通的10GbE,看来NetApp这次也随波逐流了。之前用10Gb的Infiniband来作为两边NVRAM同步的链路,看好的就是其低延迟,Infiniband我印象中应该是每Frame. 512Bytes,具体不记得了,总之比一般FC与以太网的帧要短,这样,在传输小message的时候可以获得更低的延迟,有利于NVRAM之间的纤细日志的同步,但是我一直也想不明白的一件事,帧短了,再传大数据块时候的开销也就增加了,被更多的EOF,SOF等占用带宽,这样岂不是降低了效率么?所以Infiniband有用40Gb版本的,比如Isilon等,用高速率来弥补大数据块时的低效率。那么对于FAS,是否有必要用Infiniband,从这次NetApp的策略来看,不管是从技术角度还是产品、商务角度,用个10Gb的Infiniband相比以太网来讲确实有点得不偿失。

但是为何他又回到外置连线形态了呢?我就很纳闷,怎么回事?一会东一会西的。但是仔细一看才知道个中辛酸啊。欲知详情,往下看。

 

怪诞之三:大胆创新——IO扩展模块的出现

IO扩展模块,这东西说实话,在中端存储里面还没有哪个厂商这么搞,基本上都是“IO扩展卡”的方式,而不是一整个模块。在高端存储里则屡见不鲜,比如IBM的DS8000里的IO扩展柜。而如今NetApp在中端里用了IO扩展模块,我就在想,是创新,还是迫不得已?但是仔细想来,确实没有什么迫不得已的地方,为什么呢?我们来看看这两张图。

大家可以发现,NetApp这次在硬件方面做了很大的创新,即可以在同一个柜子中插入两个控制器,或者插入一个控制器和一个IO扩展模块,两种模式任选一种。而且我估计,如果初始购置时选择了一柜双控制器的模式,后期如果想扩充,那么可以做到不停业务扩充,再上一个柜子,移出其中一个控制器,插入IO扩展模块,不过这个动作也是非常繁琐和复杂的了。这样做可以极大降低初始购置成本,不用预留任何空槽位。但是这样做也是有代价的,不言而喻,双控制器可能会不在同一个柜子中,那么NVRAM背板连接模式就不可能了。可灵活扩展的IO模块与NVRAM背板连接,要哪个?在FASx200这一代产品,NetApp不得不将双控的NVRAM再次用外接连线的方式来连接。不过这里澄清一下,如果采用一柜双控的模式,也就是NetApp所谓的“CC”模式,即两个Controller,那么可以不用在外面连线,背板上自动导通连线,而外面的接口自动被屏蔽,但是如果采用CI模式,即Controller-IO扩展模块模式,那么双控之间就必须从外置接口连接了。

这是不是又很难受呢?可以想象到NetApp的相关设计人员当初做出这个决定之后,他们的产品团队、市场团队、销售团队,是否一定也经历了阵痛去接受这个事实?如何向用户和市场去交代?不过说实话,可扩展的IO模块,这确实是个巨大创新了。在硬件方面创新,这对于一个软件公司来讲是很不容易的,不知道本次产品是否依然由Xyratex供货,硬件设计究竟是由NetApp主导还是Xyratex主导,这个我无从考证,但是不管怎么样,不容易!

怪诞之四:USB接口

包括IBM的Storwize V7000以及NetApp这次的FASx200系列,都留了USB口。理论上讲,所有厂商基本上都会留有后门来管理整个存储系统,这些特殊的接口和命令,用户不会知道。但是管理口也可以开后门,没必要用USB,我推测USB口被引入存储系统,可能与x86以及Linux Based操作系统在阵列系统中越来越普及有关,有一个USB,后续对OS的升级等会方便很多,根据资料显示,这次FASx200系列确实可以从外置USB驱动器来启动,用于紧急修复损坏的OS。其内部其实也是用一块USB接口的U盘来存放OS内核影像的。

怪诞之五:SSD和PAM卡,疯狂的Cache帝!

很早的时候NetApp就对SSD抱有疑虑,我记得当时其他厂商已经在着手开发动态数据分级了,而NetApp却犹豫的很,最终推出一块叫做Performance Acceleration Module(PAM)的PCI-E接口卡,专用于FAS3100系列。一开始其上是插DDR SDRAM内存条的。WAFL虽然是个很有特色的文件系统,但是其所存在的问题也是不可小视的,也就是经典的Sequential Read After Random Write的问题,也就是本来逻辑上连续的块,被WAFL处理之后底层却变得不连续了,这样在连续地址读IO的情况下,底层却表现为随机IO的行为,从而影响性能。PAM卡的推出可能也有这方面原因。

那么究竟为何NetApp不使用SSD来解决性能问题,或者自己也开发自动分级存储模块呢?我猜测,这与其WAFL的原理有很大关系。SSD这东西,所有人看到它的表现,一定都是竖起大拇指的,但是我估摸着唯独NetApp对SSD具有那么一点点排斥心理,为何呢?

首先,SSD的出现,让WAFL的那一套写加速算法颜面尽失,包括全重定向写、尽力整条写等针对机械磁盘所作的大量优化,随着SSD的出现,一切都解决了,那么WAFL这一套势必在SSD面前就显得白费了,这一定让NetApp很难受的,其实NetApp一直都难受,即便是使用机械盘,WAFL依然面临着Sequential Read After Random Write(SRARW)问题,早就在研究新架构的WAFL了,比如知否可以支持Raid5而不是Raid4,是否可以不再重定向写了等等。但是对于WAFL这样一个复杂而庞大的架构来讲,牵一发会动全身,不是那么好改革的了。

第二,WAFL的重定向写措施,会迅速耗尽SSD上的空余空间,懂点SSD的人都知道,SSD自己内部会去记录哪些page存有数据,哪些没有,这么做是为了损耗平衡算法,SSD内部也会有大量的重定向写操作,其做法与WAFL类似,但是WAFL这么做是为了方便的快照与整条写,SSD这么做纯粹是为了损耗平衡,不管怎么样,这两者是重复和部分冲突了,另外,WAFL不断的写到空余位置,那么SSD上的“曾经写过多少”这个高水位线就会迅速达到顶峰,SSD内部空余空间迅速降低到最低值,严重影响SSD的性能,而WAFL的作用原理又不可能实时的将SSD中的“垃圾”块回收回来,因为WAFL从本质上讲可以认为是无时无刻不在产生垃圾(重定向写之后,以前的块便是空闲块了,但是SSD却无法感知文件系统层面的空闲块,依然认为是有用块),它根本来不及回收的,况且WAFL内部的两层FS之间已经为了忙活着回收空间而做了大量复杂流程了。如果说SSD让WAFL的优化变得价值全无,这一点还可以容忍,但是如果WAFL想用SSD而眼看着效果不好,那么就真的没治了。

第三,我们退一步讲,就算WAFL会很快耗尽SSD的空余空间到最低值(也就是SSD厂商隐藏的那部分为了保证性能而预留的空余空间,比如100GB的SSD其实是有128GB物理空间的),效果再不好,但是也比机械硬盘要快的,所以NetApp只能退而求其次将就着上SSD了。还有最重要的一点,别忘了,SSD目前的容量还太小,如果上SSD,会有两种用法,一种就是直接将SSD当做普通盘来用,做Raid,做Aggregate,做WAFL,然后做Volume,做Lun或者目录的Exports。但是这种做法适用的场景很少,比如一部分小容量的数据却要求极高的访问速度,那么没有问题,这种做法可以满足。但是如果遇到短尾型应用的数据访问场景,大量的数据却只有一部分为热点,那么此时你将所有数据都放到SSD上,显然是得不偿失,此时自然就需要有一种动态的细粒度的热点数据分级解决方案了,这也是目前几乎所有存储厂商都在搞的技术,而且主流厂商也都推出了各自的产品了。而我们回来看NetApp,她何尝不想推出自己的动态分级方案?她很难受,为什么呢?WAFL如果是老虎,那么NetApp可以说已经骑虎难下了。想在WAFL上引入动态分级子模块,不是那么容易的。动态分级子模块包含至少两个亚模块,一个是热点数据监控、统计模块,另一个是数据迁移模块。监控和统计子模块,可以作为一个旁路模块存在,不会对现有的任何FS架构产生太大影响,这个WAFL做起来没有问题,但是数据迁移亚模块,这对WAFL来讲,又很难受了,WAFL不按常理出牌,与其他传统FS不同,总是去重定向写,改一改就动全身,所以从技术上讲,实现动态分级还是太费劲,风险也很大,需要测试很长时间,所以我推测这也是NetApp迟迟没有推出动态分级的可能原因之一吧。

所以我估计,NetApp一开始就定下了基调,SSD目前来讲就作为大缓存的角色而存在。可以看到本次FASx200系列,最高规格的FAS6280已经可以使用8TB FLASH的PAM卡了,当然,需要插多块PAM卡来堆叠成这么高的容量,而且两个控制器上的PAM卡规格必须对称,成双成对出现,而不能够只插一组卡让全局使用。

但是后续如果NetApp真的推出了动态分级功能,那么势必等于抽了自己一嘴巴。除非有很好的说辞,至于说辞,编造起来比技术要容易的多了,这个我们就不必担心了。但是总归还是很难受的。在今年年初,NetApp的Tom Georgens提出“分级存储终将走向死亡”的论断,我认为,这句话绝对是正确的,不过时间是个问题,当SSD成本不断降低,技术不断提高,容量逐渐变大之后,这种过渡的动态分层肯定走向死亡,所以这句话是有退路的,就得看你怎么理解了。但是短期来看,分层是有必要的。PAM卡只对读加速,而不对写加速。其实缓存本身就是一种动态分层,所以这个论断显然带有强烈的主观色彩了。

怪诞之六:FlexShare与FlexCache的推广

2年之前这两个技术还都处于潜伏期,如今被NetApp推到水面高调示人了。同样,还有Multistor,为了应对云时代,这些之前似乎无关紧要的功能,如今却变得很有噱头。FlexShare之前基本没人用,它属于一个QoS模块,可以设定特定的资源在访问的时候能获取多大的优先级,在大规模云基础架构中,QoS显得颇为重要。FlexCache则是一种类似CDN的远程访问加速解决方案,这在一些IPTV或者视频编辑领域颇有作用。而MultiStor,则属于一种存储虚拟化的范畴,这个虚拟化不是指虚拟化其他厂商的存储空间,而是将一台物理设备虚拟成多台逻辑设备,类似虚拟机,这在存储系统中比较少见,尤其是中端存储,就更少见了,据我了解NetApp是第一家在中端存储实现这种虚拟化功能的厂商。这个功能被包装为更被云所认可的名词,也就是“Secure multi-tenancy”,安全多租户。这种虚拟化正是云梭需要的,而且被加入了“安全”二字,也更能往“云安全”上靠,噱头十足!所以说,这一点并不算怪诞,应该是见怪不怪了,其他厂商也都在这么搞噱头。

怪诞之七:NetApp的集群NAS呢?

Ibrix、3PAR、Isilon、Compellent等这些Scale-out架构的存储系统,该收的都被收了。NetApp也收过,他很早就收购的Spinaker,是一家做Single Namespace的文件系统的厂商,基于Spinaker而搞出来的NetApp GX系列,一直不给力。究其原因,很大程度上是因为GX只是一个Single Path Image模式的架构,类似于微软的DFS,将多个独立文件系统,从路径上加一次虚拟,仅此而已,多个文件系统(控制器机头)之间依然采用松耦合方式。他没有从骨子里表现为一个Single Filesystem Image的集群或者分布式文件系统,市场认同度不高。就WAFL的目前的架构来看,想做成骨子里的集群或者分布式文件系统,不是不可能,NetApp的技术还是很强的,但是需要伤筋动骨,兴师动众,需要革掉旧东西,一定会有阵痛。目前来讲,NetApp可能尚未考虑好究竟要怎么做。新推出的Ontap8.0操作系统,我认为基本上没有太大的变动。这一切都显示了,NetApp正在荆棘中痛苦的挣扎着、创新着前进。

综述——

NetApp的软件很有特色,这次连硬件也能玩出个花色来。这一点NetApp确实很具有创新思想。作为NAS存储的开山鼻祖,经历了20年的NetApp,一直在引领NAS潮流,包括众多独特的细节功能以及它的基于WAFL之上的统一存储的概念。但是时代在变,潮流在变。就拿统一存储来说,这个潮流前几年确实一直被推崇,但是随着云的出现,统一不一定非要在存储控制器中实现了,云上层的资源管理完全可以统一,底层存储在云中能折腾起的浪花会越来越小,离用户越来越远,最后会变成一片平静的海面。而在硬件规格大换代的潮流中,NetApp前期没能跟得上,这次在FASx200中终于随波逐流了,但是可喜的一点是在硬件形态方面依然做了创新。而在固态存储与动态分级潮流面前,NetApp显然已经落后了至少2年了,其PAM卡这个大缓存还有多少生命力,不好预测。在这个变革的时代,WAFL这个存在了20年的文件系统,是否也应该思变了呢?现在不变,更待何时,否则就只能在不断的追赶当中逐渐退去。

就在不久前,NetApp决定大力拓展中国市场,欲将中国市场的销售额超过日本,成为亚太区第一。我对此也产生了一些联想,国内的经济发展导致国内存储市场逐年被挖掘,而NetApp假设就算已经无法引领潮流,那么至少在国内NAS市场还是能有很大作为的。后续NetApp对中国市场会有什么动作,会加大宣传力度么,会高调示人么?让我们拭目以待吧。

(6个打分, 平均:5.00 / 5)

Patterns in network system design (2)

3) Queue based design

Pattern Name and Classification: queue based design 
Intent: 简化包处理流程
Also Known As: pending and polling 
Motivation (Forces):

  包交换(存储转发)网络,最基本的操作就是enqueue/dequeue。这个和电路交换网络有本质的不同。电路交换,在包通过的路径上,有资源预留,所以不会有等待的情况;而包交换网络是按跳(hop)转发的,在包通过的路径上,没有资源预留,所以当一个包不能被立即转发时,需要放到队列里面。队列可以分为很多种,比如按包大小分类的队列,按协议分类的队列等等。由于入队和出队是两个独立的操作,所以有多种入队和出队的策略。网络设备的处理基本上就是:从队列里面取出packet;处理;把packet放入队列。不同的处理可以基于不同的队列,比如在tunnel的处理过程中,可以把封装后的包放入一个新的队列,后续的处理流程可以从队列里面把包取出来,然后发送出去。引入队列以后,针对不同队列,可以有不同的处理过程,这些过程相对独立,编程或者纠错都方便一些。

  引入队列之后,可能会使得系统的处理时间变长,从而是系统的latency变大。入队,出队操作越多,latency就越大,这一点需要注意。
Known Uses: ip network gateway
Related Patterns: event-driven programming
References:

1:  http://en.wikipedia.org/wiki/Queueing_theory

2:  Elements of Queuing Systems

3:  Event-driven programming

4) Per thread queue

Pattern Name and Classification: per thread queue
Intent: 每个thread有自己的队列,减小冲突,增加并行
Also Known As: M model;costco model
Motivation (Forces):

  在多核编程里面,任务调度非常重要。如果每个核都是独立poll自己的队列,那么这些核之间就不需要锁。锁只存在于:其他核把包放入接收队列;处理完成之后,把包放入发送队列,由发送核把包发出去。

       Receiving core —> Processing core —> Transmitting core

只需要两个锁,而且最多有两个core在竞争这些锁。

  这里面的问题在于:Receiving core如何把packet有效分配给processing core,使得每个processing core的workload是均衡的;还有就是如果processing core需要把包放入入队列,它只能放入当前core所在的队列,这样就是的任务处理更加不均衡。
Known Uses: multicore gateway
Related Patterns: Global queue
References:

1: Queueing Theory In Action, plus, frogs

5) Global queue

Pattern Name and Classification:  global queue
Intent: 多个thread共享队列,任务共享,均衡调度
Also Known As: W model; fry’s model
Motivation (Forces):

  在多核编程里面,如果多个核共享一个队列,每个核都是从这个队列里面把包取出来,然后处理。这样就每个核的load就是均衡的,因为每个核都是平等的,处理相同的任务。

                                              /—> Processing thread —\

Receiving core —> Queue —–> Processing thread —> Queue —> Transmitting thread

                                              \—> Processing thread  —/

  这里面的问题在于:锁冲突的几率增大;queue管理比较复杂。
Known Uses: multicore gateway   
Related Patterns: per thread queue
References:

1: Queueing Theory In Action, plus, frogs

6) Run to completion

Pattern Name and Classification:  run to completion
Intent: 在任务处理过程中,禁止调度
Also Known As: No
Motivation (Forces):

  在实时系统里面,一个任务开始运行后,它应该被执行完成之后,才能调度其他任务到当前的CPU上运行,也就是说,这个任务不应该不中断,否则的话,任务运行的时间就是无法估计的,而且需要保护的东西将会有很多。网络系统是一个典型的实时系统,所以在包处理过程中,它是run to completion的。
Known Uses: network system
Related Patterns: pipe line; preemptive 
References:

1: Design Patterns for Packet Processing Applications on Multi-core Intel® Architecture Processors

2: More about multicores and multiprocessors

7) Pipe line

Pattern Name and Classification:  pipe line
Intent: 复杂任务需要分解成多个任务,分阶段执行
Also Known As:  pipeline and filter
Motivation (Forces):

  在网络系统里面,如果一个任务很复杂,需要很多CPU时间,那么这个任务需要分解成多个小任务来执行,否则的话,这个任务占用CPU时间过长,导致其他任务无法执行。而且多个每个核都执行这样的任务,那么,整个系统就无法处理其他任务,这将会导致严重的丢包。所以,每个任务执行的时间不应该有很大的差别,否则,任务调度就有困难。

  一个任务分解成多个小任务后,每个小任务之间由queue连接,上一次处理完成之后,放入下一个队列。这样可以任务调度更均衡。每个小任务都是run to completion的,这一点需要注意。
Known Uses: network system
Related Patterns: run to completion; parallel 
References:

1: Design Patterns for Packet Processing Applications on Multi-core Intel® Architecture Processors

2: More about multicores and multiprocessors

(2个打分, 平均:5.00 / 5)

盛科CTC6048参数和MPLS-TP解密

(没有打分)

云计算背后的秘密(6)-NoSQL数据库的综述

 

我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoSQL不仅非常博大精深,而且我个人对NoSQL的理解也只是皮毛而已,但我还算是一个“知耻而后勇”的人,所以经过一段时间的学习之后,从本系列第六篇开始,就将和大家聊聊NoSQL,而本篇将主要给大家做一下NoSQL数据库的综述。

首先将和大家聊聊为什么NoSQL会在关系型数据库已经非常普及的情况下异军突起?

 

诞生的原因

随着互联网的不断发展,各种类型的应用层出不穷,所以导致在这个云计算的时代,对技术提出了更多的需求,主要体现在下面这四个方面:

  1. 低延迟的读写速度:应用快速地反应能极大地提升用户的满意度;
  2. 支撑海量的数据和流量:对于搜索这样大型应用而言,需要利用PB级别的数据和能应对百万级的流量;
  3. 大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理;
  4. 庞大运营成本的考量:IT经理们希望在硬件成本、软件成本和人力成本能够有大幅度地降低;

虽然关系型数据库已经在业界的数据存储方面占据不可动摇的地位,但是由于其天生的几个限制,使其很难满足上面这几个需求:

  1. 扩展困难:由于存在类似Join这样多表查询机制,使得数据库在扩展方面很艰难;
  2. 读写慢:这种情况主要发生在数据量达到一定规模时由于关系型数据库的系统逻辑非常复杂,使得其非常容易发生死锁等的并发问题,所以导致其读写速度下滑非常严重;
  3. 成本高:企业级数据库的License价格很惊人,并且随着系统的规模,而不断上升;
  4. 有限的支撑容量:现有关系型解决方案还无法支撑Google这样海量的数据存储;

业界为了解决上面提到的几个需求,推出了多款新类型的数据库,并且由于它们在设计上和传统的SQL数据库相比有很大的不同,所以被统称为“NoSQL”系列数据库。总的来说,在设计上,它们非常关注对数据高并发地读写和对海量数据的存储等,与关系型数据库相比,它们在架构和数据模型方量面做了“减法”,而在扩展和并发等方面做了“加法”。现在主流的NoSQL数据库有BigTable、HBase、Cassandra、SimpleDB、CouchDB、MongoDB和Redis等。接下来,将关注NoSQL数据库到底存在哪些优缺点。

 

优缺点

在优势方面,主要体现在下面这三点:

  1. 简单的扩展:典型例子是Cassandra,由于其架构是类似于经典的P2P,所以能通过轻松地添加新的节点来扩展这个集群;
  2. 快速的读写:主要例子有Redis,由于其逻辑简单,而且纯内存操作,使得其性能非常出色,单节点每秒可以处理超过10万次读写操作;
  3. 低廉的成本:这是大多数分布式数据库共有的特点,因为主要都是开源软件,没有昂贵的License成本;

但瑕不掩瑜,NoSQL数据库还存在着很多的不足,常见主要有下面这几个:

  1. 不提供对SQL的支持:如果不支持SQL这样的工业标准,将会对用户产生一定的学习和应用迁移成本;
  2. 支持的特性不够丰富:现有产品所提供的功能都比较有限,大多数NoSQL数据库都不支持事务,也不像MS SQL Server和Oracle那样能提供各种附加功能,比如BI和报表等;
  3. 现有产品的不够成熟:大多数产品都还处于初创期,和关系型数据库几十年的完善不可同日而语;

上面NoSQL产品的优缺点都是些比较共通的,在实际情况下,每个产品都会根据自己所遵从的数据模型和CAP理念而有所不同,接下来,将给大家介绍NoSQL两个最重要的概念:数据模型和CAP理念,并在本文最后,对主流的NoSQL数据库进行分类。

 

数据模型

传统的数据库在数据模型方面,主要是关系型,它的特色是对Join类操作和ACID事务的支持。在NoSQL领域,主要有三种主流的数据模型:

Column-oriented(列式)

列式也主要使用Table这样的模型,但是它并不支持类似Join这样多表的操作,它的主要特点是在存储数据时,主要围绕着“列(Column)”,而不是像传统的关系型数据库那样根据“行(Row)”进行存储,也就是说,属于同一列的数据会尽可能地存储在硬盘同一个页(Page)中,而不是将属于同一个行的数据存放在一起,这样做的好处是,对于很多类似数据仓库(Data Warehouse)的应用,虽然每次查询都会处理很多数据,但是每次所涉及的列并没有很多,这样如果使用列式数据库的话,将会节省大量I/O,并且大多数列式数据库都支持Column Family这个特性,通过这个特性能将多个Column并为一个小组,这样做好处是能将相似Column放在一起存储,这样能提高这些Column的存储和查询效率。总体而言,这种数据模型的优点是比较适合汇总(Aggregation)和数据仓库这类应用。.

Key-value

虽然Key-value这种模型和传统的关系型相比较简单,有点类似常见的HashTable,一个Key对应一个Value,但是其能提供非常快的查询速度、大的数据存放量和高并发操作,并非常适合通过主键对数据进行查询和修改等操作,虽然不支持复杂的操作,但是可以通过上层的开发来弥补这个缺陷。

Document(文档)

在结构上,Document和Key-value是非常相似的,也是一个Key对应一个Value,但是这个Value主要以JSON或者XML等格式的文档来进行存储,是有语义的,并且Document DB一般可以对Value来创建Secondary Index来方便上层的应用,而这点是普通Key-Value DB所无法支持的。

 

CAP理论

这个理论是由美国著名科学家,同时也是著名互联网企业Inktomi的创始人Eric Brewer在2000年PODC(Symposium on Principles of Distributed Computing)大会上提出的,后来Seth Gilbert 和 Nancy lynch两人也证明了CAP理论的正确性,虽然在后来近十年的时间很多人对CAP理论提出了很多异议,但是在NoSQL的世界中,它还是非常有参考价值的。它的意思是,一个分布式系统不能同时满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。

  1. 一致性(Consistency):任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;
  2. 可用性(Availability):每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的。
  3. 分区容忍性(Partition Tolerance): 在出现网络分区(比如断网)的情况下,分离的系统也能正常运行。

由于一致性、可用性和分区容忍性这三方面只能选择两个,所以大多数NoSQL系统都会根据自己的设计理念来进行相应的选择,但由于许多NoSQL数据库都以水平扩展著称,所以在CAP的选择上面,都倾向于坚持分区容忍性,而放弃一致性或者可用性,它们的做法主要是通过消减关系型和事务相关的功能。

 

具体分类

下面的具体分类是来自于Visual Guide to NoSQL Systems一文,虽然对于这块分类我个人觉得还存在一些牵强的地方,比如将能支持多种CAP配置的Dynamo和其衍生产品Cassandra归类为AP,但是总体而言,这个分类还是相当不错,在现阶段非常具有参考价值,在每个相关的数据库后面还会介绍对应的数据模型。

logo

图1. NoSQL产品分类图(参考1)

关注一致性和可用性的 (CA)

这些数据库对于分区容忍性方面比较不感冒,主要采用复制(Replication)这种方式来保证数据的安全性,常见的CA系统有:

  1. 传统关系型数据库,比如Postgres和MySQL等(Relational) ;
  2. Vertica (Column-oriented) ;
  3. Aster Data (Relational) ;
  4. Greenplum (Relational) ;

关注一致性和分区容忍性的(CP)

这种系统将数据分布在多个网络分区的节点上,并保证这些数据的一致性,但是对于可用性的支持方面有问题,比如当集群出现问题的话,节点有可能因无法确保数据是一致性的而拒绝提供服务,主要的CP系统有:

  1. BigTable (Column-oriented) ;
  2. Hypertable (Column-oriented) ;
  3. HBase (Column-oriented) ;
  4. MongoDB (Document) ;
  5. Terrastore (Document) ;
  6. Redis (Key-value) ;
  7. Scalaris (Key-value) ;
  8. MemcacheDB (Key-value) ;
  9. Berkeley DB (Key-value)  ;

关于可用性和分区容忍性的(AP)

这类系统主要以实现"最终一致性(Eventual Consistency)"来确保可用性和分区容忍性,AP的系统有:

  1. Dynamo (Key-value) ;
  2. Voldemort (Key-value) ;
  3. Tokyo Cabinet (Key-value) ;
  4. KAI (Key-value) ;
  5. Cassandra (Column-oriented) ;
  6. CouchDB (Document-oriented) ;
  7. SimpleDB (Document-oriented) ;
  8. Riak (Document-oriented) ;

在下一期云计算背后的秘密中,将重点给大家介绍我个人设计一款的NoSQL数据库,名为YunTable。

 

参考资料

  1. Visual Guide to NoSQL Systems
  2. NoSQL数据库笔谈
  3. NoSQL数据库探讨之一 - 为什么要用非关系数据库?
(3个打分, 平均:5.00 / 5)

北美创业大赛决赛暨创业峰会–2011.1.9

【陈怀临注:前期我也已经报道。这是最新发布。似乎请了硅谷华人电台的著名女DJ,一个很八卦的女主持人来主持,从而增加亮点。。。简直是。。。祝笙,从电台里听她忽悠,感觉是个知识量不太够的知识分子:-)。当然,这都挡不住在大辽这种环境下对母文化的饥渴和其他品位的鉴定的downgrade。。。另外,感觉各路VC和基金都将登场,来自北宋的许多人马也过了长江。。。邓锋已经混的无法再混了。名字直接就是在大宋总领事的后面。。。感觉谁将来得罪了锋哥,基本上N道都别混了。。。另外,身处大宋的有志青年,如果希望弯曲评论和陈首席能帮你,悄悄的,与若干大佬,谈谈你的BZ Plan的,请与huailin AT gmail DOT com或者huailin AT tektalk DOT org联系。】

了解北美华人创业趋势,观摩专家精彩点评,对话VC园区投资方向、领军人才政策,实地对接园区、中美VC、天使基金创业团队、专业人士不可错过的盛会:

北美创业大赛决赛暨创业峰会, 2011年1月9日(周日),9:00AM-6:00PM, Santa Clara Convention Center(Lunch included)

1,从185个参赛团队脱颖而出进入决赛的20个团队,进行上下午两轮答辩和评委现场点评。

2,决赛20个项目,分属生物医药、云计算和移动互联网、清洁能源和技术、集成电路和系统、其他交叉科学类

2,VC Panel和园区Panel

3,独立展厅,VC、高新园区、初创公司、专业服务公司分区展出和交流。

主持:著名主持人 祝笙

Keynote: 高占生总领事、邓锋(北极光创投合伙人、董事总经理)、黄海燕(张江孵化器总经理)、王庆华(苏州人社局长)等

现场点评:邓锋、王庆华、黄海燕、Jack Jia、Ben Yu、Paul Hsiao、Bobby Chao、王大成、Jackie Yang、武平、陈大同、薛军、傅涛、张于庆、夏淳、杨镭、余军、黄竖、Eric Wang等 

现场对接:苏州市代表团、张江高科技园区、张江孵化器管理中心、常熟大学科技园、宜兴大学科技园、镇江新区、苏州国际科技园、苏州工业园区、苏州高新区、张家港、长沙、清华科技园、中关村等

中美VC:北极光创投、TEEC天使投资、金沙江创投、华山资本、启迪创投、Sierra、Translink、无锡沅渡天使基金、泰山天使基金、北京德合瑞源科技投资、中晶投资、NEA、DFJ、橡子园等

报名出席决赛峰会(含午餐)

1,Full day Pass (lunch included), $30(12/29前),$50(12/30后)(特延长两日)

付费:Paypal to contest2010@ucahp.org, 支票,payable to UCAHP, PO BOX 1563, Cupertino, CA 95015, USA

2,网上注册http://bit.ly/startupcontest

3,携报名回执和付费纪录1月9日8:30AM到会(前300名可领取数码相框钥匙扣等小礼品,可先期与园区领导交流)

联系:http://www.ucahp.org,(408)384-9688

Mission City Ballroom,Santa Clara Convention Center 5001 Great America Parkway, Santa Clara, CA 95054

(408) 748-7000 ‎ santaclara.org

(没有打分)

本土嵌入式处理器初创公司PWRSemi简介

PWRSemi,2010年中创立于深圳,是一家由私人投资持有的处理器IP核设计公司,致力于为嵌入式市场提供具有性价比领先优势的处理器IP核,以降低芯片产品开发的商业风险,共同推动本土电子半导体产业的繁荣。我们的处理器产品支持运行PowerPC/Power指令,以方便用户延续使用熟悉的开发环境和工具,充分利用成熟的基础系统软件,并保护现有智力投资。

根据目标市场特点不同,PWRSemi产品主要分为FPGA系列和ASIC系列:
首先推出的处理器IP核产品专门针对FPGA市场设计。面积优化的内核性能约为0.9 DMIPS/MHz;基本配置的情况下约占4k个LUT4单元;运行频率在130nm的FPGA器件上约为75MHz。性能优化的内核性能约为1.2 DMIPS/MHz;基本配置的情况下约占6k个LUT4单元;运行频率在130nm的FPGA器件上约为120MHz。进一步的FPGA处理器IP核产品将包括多核多线程支持等特性。
ASIC产品将主要面向32位控制器市场,入门级内核性能约为1.0 DMIPS/MHz;基本配置的情况下约为30k门;运行频率和面积根据工艺条件具有较大变化。

为适应片上系统的不同架构,PWRSemi处理器产品可通过桥接逻辑支持AMBA,CoreConnect,OCP,Avalon,WishBone,Sonics和Arteris等多种片上互连接口或用户私有互连协议。同时,为方便用户的系统集成和应用开发,PWRSemi将进一步提供系统开发套件:包括评估板,集成开发环境,指令集模拟器,SystemC行为模型和TLM模型,以及可支持各种全系统模拟器和软硬件协同验证工具的处理器模型包等。

我们计划在2011年的第一季度和第二季度正式发布FPGA和ASIC产品,在此之前,我们真诚希望能有机会和感兴趣的客户进行初步接触,获取您对我们产品的宝贵反馈,并在合适的情况下开展早期合作,有意向的朋友请电邮至:mkt@pwrsemi.com

另外,对PWRSemi的未来计划和产品有兴趣的朋友可以选择加入:
Yahoo新闻发布小组:PWRSemiNews@yahoogroups.com(http://groups.yahoo.com/group/PWRSemiNews)
Google新闻发布小组:PWRSemiNews@googlegroups.com(https://groups.google.com/group/PWRSemiNews)
以即时获取我们的下一步信息发布,敬请关注。

最后,祝各位朋友新年快乐!

(2个打分, 平均:4.50 / 5)

面向法规与人本的新一代信息安全架构

         根据中国互联网络信息中心最新发布的数据,截至2010年6月底,我国网民规模已达4.2亿人,互联网普及率持续上升增至31.8%。2010年上半年CNCERT共接收4780次网络安全事件报告(不包括扫描和垃圾邮件类事件),与2009年上半年相比增长105%。其中,恶意代码、漏洞和网页仿冒事件报告次数居前三位。仅2010年上半年就有59.2%的网民在使用互联网过程中遇到过病毒或木马攻击;30.9%的网民账号或密码被盗过;电子商务网站访问者中89.2%的人担心假冒网站,其中,86.9%的人表示如果无法获得该网站进一步的确认信息,将会选择退出交易。网络安全和信任问题已经成为网络向深层次发展的最大制约因素,互联网向政务、商务交易型应用的发展,急需建立更加可信、可靠的网络环境。

        发达国家已经将网络安全列为国家发展的战略话题,特别是OBAMA总统上台后,更是将加强网络安全列为《2009国家情报战略》的六大任务之一。他专题演讲中屡发居安思危之慨。倡导政府部门、公益机构、科研院校和公司企业等加强合作,共同应对信息安全挑战,甚至将中国视为假想敌和战略对手,大肆鼓噪“中国网络威胁论”。美国相继推出《国家网络空间安全战略》与“曼哈顿计划”(HSPD23/NSPD54总统令),随后2009年6月25日,英国政府发布《网络安全空间战略》,并宣布成立网络安全办公室和网络安全运作中心;2009年7月,法国成立国家网络与信息安全局,年预算9000万欧元;澳大利亚宣布启动新的国家网络安全战略,突出重要基础设施保护;韩国宣布提前于2010年建立网络司令部;日本则强调“信息安全是日本综合安保体系的核心”,加大相关设施投入。

         信息技术已经渗透并影响到我国政治、经济、军事、文化和社会生活的各个方面,我国在核心技术、高端设备和主流应用方面受制于人,技术漏洞和安全隐患日益突出。我国政府部门已经成为国内外网络攻击和窃密的重点目标,2010国家有关部门查处窃密案件百余起,窃取文件数量为30多万份,已发现受控主机数量2000多台。2009年以来,网络信息安全与社会稳定相互交织,2009年的77件重大公共突发事件中,有23件在网络论坛上率先暴光,网上群体事件以维权居多、泄愤为主,诱发社会性骚乱的风险不断增大。而且网络动员具有煽动面广、组织号召力强、事前预兆不多、公众参与度大、聚集速度极快等鲜明特点。“个案”很快变为“公案”、“一呼百应”迅速发展为“一呼百万应”,“网络曝光、舆论推动、影响扩大、问题解决”已成为网络群体事件的发酵路径。

         面对严峻的安全挑战,从基础设施到上层应用,从跨媒体终端到后台存储,一套符合中国国情的完整的信息安全理论体系显得尤为重要,锐捷网络Slab安全研究小组专家提出的“面向法规与人本的新一代信息安全架构”应运而生。


                           面向法规与人本的新一代信息安全架构示意图

面向法规

         美国早在2000年提出《信息保障技术框架》IATF 3.0(2000),后期逐步完善为基线风险评估体系。所谓基线风险评估,就是确定一个信息安全的基本底线,信息安全不仅仅是资产的安全,应当从组织、人员、物理、逻辑、开发、业务持续等各个方面来确定一个基本的要求,在此基础之上,再选择信息资产进行详细风险分析,这样才能在兼顾信息安全风险的方方面面的同时,对重点信息安全风险进行管理与控制。这种信息安全管理体系是组织在整体或特定范围内建立的信息安全方针和目标,以及完成这些目标所用的方法和体系。在这个领域,ISO27001标准得到了广泛的应用,并被采纳为通用的国际标准。

         ISO27001确立了组织机构内启动、实施、维护和改进信息安全管理的指导方针和通用原则,以规范组织机构信息安全管理建设的内容,因此,风险评估时,可以把ISO27001作为安全基线,与组织当前的信息安全现状进行比对,发现组织存在的差距,这样一方面操作较方便,更重要的是不会有遗漏。

         我国政府也在积极探索为信息安全设立法规政策。特别是电子政务安全关系到政府的办公决策、行政监管和公共服务的高质量和可信实施的大事,必须由国家统筹规划、社会积极参与,才能有效保障电子政务安全。国家必须采用法律威慑、管理制约、技术保障和安全基础设施支撑的全局治理措施才更有效。1994年国家就有最早的政策出台,《中华人民共和国计算机信息系统安全保护条例》(国务院147号令),专门规范信息安全保护工作。随后在2004年有明确的《关于信息安全等级保护工作的实施意见》文件为国内信息安全建设规定了基线。等级保护政策根据信息资产的价值等级、所面临的威胁等级,寻求一个投入和风险可承受能力间的平衡点,持续保障电子政务系统健康积极地发展。等级保护政策推行至今,已经成为国内信息系统安全建设的基本准则,2010年4月国家还最新发布了《关于推动信息安全等级保护测评体系建设和开展等级测评工作的通知》。

 面向人本

         传统上,我们谈到信息安全防护时,首先考虑到的就是网络边界防护,也就是通过防火墙/VPN、网关安全技术给自己的网络安装一道防护的“闸门”,通过网络访问控制技术来实现对内部网络的保护。可是,这种防护的负面影响甚至超过了它能带来的利益,给用户的限制要多于其所能消除的安全隐患。随着互联网的大量普及,我们的网络和信息系统不可避免地要对外开放,要开放给客户,要越来越多地共享应用系统和数据库给合作伙伴,在这种情况下,保护数据本身比建一堵围墙重要得多也有效得多。

         我们在数据周围建了很高的墙,但是却忽略了数据是流动的,不会呆在墙内原先的地方,我们要保护的是国王而不是城堡,而国王是要到处走动的。人们建起了更宽的护城河和更厚的城墙,但很多人却忘记在君主打开城门走出城堡时保护他——这恰恰是一个公司最重要的资产。

         整体上来看,目前的安全思想整体已不能应对这个无论在公司内外都可以接入公司网络的互联网时代,利用“高打墙深挖壕”方法护卫网络的传统思想需要改变了。因此,人们必须转变观念,将原本清晰的网络边界更加模糊化。准确来讲,今天的网络边界与以往不同,它不再是数据中心中的物理资产,也不是办公室中的桌面电脑,而是应用网络的人。用户才是真正的网络边界。

         理念的变化将带来安全防护方式的巨大变化。我们不仅要对自己的信息系统的安全负责,还要对与自己网络紧密相连的用户、客户、合作伙伴的信息系统的安全负责。因此,防护系统不能仅仅局限在网络边缘,而应该融入到所有的信息系统之中,这样才能作到“Keep it open, Keep it safe(保持开放,保持安全)”。

         要解决这些问题,就需要彻底摈弃传统的安全策略与控制手段,将目光聚焦在系统中的人、应用、资源。面向人、应用、资源的下一代网络安全技术拥有如下功能:

        1)基于精确识别用户身份作安全策略(对网络上的任何一个人做到可控)

        2)基于应用程序技术做策略分类(而不论应用使用何种IP、端口、协议或规避策略)。

        3)基于服务器群组和虚拟化应用资源的策略(而不是单一某台硬件服务器)

 符合国情的解决方案

         以国内政府用户的基础安全需求作为出发点,紧密结合国内等级保护等相关法规要求,面向身份、应用、资源的人本安全策略支撑,我们提出了政府信息安全五大解决方案。

         1)内网应用安全域解决方案

         内网应用安全域解决方案由安全防护设备、身份管理平台和终端软件组成。通过终端软件接入并由身份管理平台进行身份认证和终端安全状态评估,确保每一个接入端点的安全,预防内网病毒、蠕虫的泛滥。安全防护设备对各个业务区域的数据和应用进行隔离和控制;身份管理平台后与网络和安全设备联动,控制攻击来源,迅速对违规的用户进行处理,让指定的人进入指定的区域。通过点(端点准入)、线(在线控制)、面(统一管理)相结合的立体防护,为用户提供最有效的内网安全解决方案,符合等级保护要求。

          2)互联网出口安全解决方案

         互联网出口安全解决方案由出口引擎、负载均衡、流量管控、行为管控、防火墙、VPN网关、Web防火墙等组成。出口引擎加速互联网访问的速度与体验,流量与行为管控确保互联网流量与资源的高效利用,防火墙/VPN融合2~4层的包过滤、状态检测、安全接入等技术,配合Web防火墙 4~7层的防护,实现全面的2~7层安全防护,有效地抵御了非法访问、病毒、蠕虫、Web页面攻击、篡改等非法入侵。

          3)纵向网安全互联解决方案

          VPN方案是目前业内最佳的纵向网互联方案之一,它不仅节省了专线费用,更确保了纵向互联的数据安全性。可以快速实现分支机构、合作伙伴、移动用户的一体化远程安全接入,并通过统一管理平台实现众多防火墙/VPN的统一部署、监控、管理。

          4)数据中心安全解决方案

         数据中心安全解决方案由安全防御系统、Web防护系统、数据库审计系统组成。安全防御系统融合DDoS防御、区域安全隔离、深度入侵防御等技术,实现对2~7层攻击的防御,并在部署时充分考虑可靠性,保障业务持续不间断地运行;Web防护系统可以有效防止数据中心访问者对Web服务器的攻击、SQL注入、挂马、篡改等行为。数据库审计系统则对数据库使用人员进行控制和监管,并通过日志手段,确保事后的审计。

          5)门户网站保护解决方案

          门户网站解决方案将网页漏洞扫描、网页入侵防护、网页防挂马、网页防病毒、网页防篡改等多个系统合一,提供事前扫描、事中防御、事后恢复的全循环防护流程。既抵制住来自外界的非法入侵,又确保政府单位满足国家合规性要求,更加避免网站被攻击后可能带来的舆论事件,可能对社会安定带来的影响。

 安全与网络的融合

         我们非常注重通过发挥解决方案的灵魂作用,实现网络与安全的深度融合,从而最容易地实现全方位安全防护。比如将安全产品以插卡的方式集成到核心网络设备中;将VPN账户与计费账户的统一管理;IDS事件系统与实名制身份认证系统的安全事件联动;防火墙与IDS的联动;流量控制与实名制身份认证系统的联动,实现基于用户的流量管理;防火墙与身份认证系统联动实现动态安全事件的下发等。确保网络与安全的无缝融和,避免设备界限带来的安全死角隐患。

         自2003年推出第一台状态检测防火墙至今,锐捷网络的安全产品已经走过了八年的历程。2006年拥有全系列防火墙、IDS、IPsec/SSL VPN网关等传统安全产品,2007年率先推出了高性能NAT和智能负载均衡的网络出口引擎NPE;2008年,推出流量管理功能业界首屈一指的应用控制引擎ACE,这同时也标志着锐捷网络在解决安全与速度这一矛盾方面迈出了坚实的一步。2009年,锐捷网络推出了国内领先的防网页篡改和防挂马的Web安全防护网关,让锐捷真正进入应用层安全防护第一梯队;直到2010年锐捷网络正式推出“面向法规与人本的新一代信息安全架构”,这标志着锐捷网络对信息安全解决方案的深刻理解和精通,同时也是锐捷网络持续关注和贴近国内客户应用,持续为用户网络提供最贴心的安全保障。

         锐捷网络将目光投注到打造独具的价值和鲜明的特色上。锐捷网络安全产品结合客户现状和技术发展趋势,全系列产品采用万兆处理,为用户提供高速安全的访问通道,带给用户无阻塞的网络访问体验,同时产品全面支持IPv6和可视化,帮助客户提供了以零成本过渡到下一代互联网,让用户对自身的网络了如指掌,充分感受投资价值。

         锐捷网络特色鲜明的技术解决方案与安全产品相配合,已规模应用于政府、金融、电信和教育等行业,成功服务国家环保部、国家审计署、北京奥运会、广州亚运会、深圳大运会、国资委、民政部、新华社、知识产权局、中国移动、歌华有线、中华联保、清华大学、北京大学等客户,并得到用户的广泛认可。

ps:作者系锐捷网络首席架构师王丰辉,有任何问题可沟通。ihappybear@gmail.com

欢迎访问博客http://blog.sina.com.cn/iflyingbear

(5个打分, 平均:3.80 / 5)

Patterns in network system design (1)

Pattern是系统设计过程中,重复出现的结构或者原则。不同的设计层次或者领域,有不同的pattern,比如analysis pattern, architecture pattern, design pattern, debug pattern, bug pattern等,甚至还有很多anti-pattern。Pattern是对已有知识的总结和优化,它对现有系统的维护,以及未来系统的设计都有帮助。

在这里,我要总结的是在网络系统设计里面出现的pattern,这只是经验的总结,每一个pattern并没有经过深思熟虑,所以pattern的描述可能是不完整的。而且这些pattern还不能形成一个完整的pattern language,也就是说,它们还可以提炼和扩展。如果能够形成一个pattern language,它将是我写这些文字最大的收获。

Pattern描述需要一定的格式,这里使用的是我自己简化过的描述方式,只保留了最基本的东西。复杂,详细的描述要花费时间和精力,有时间再慢慢扩充。下面就按顺序来描述这些pattern,大概有十多个,将会分几个部分发出来。

 1) control plane/data plane

Pattern Name and Classification: control plane/ data plane
Intent: 把转发和协议分离,隔离错误,提高性能
Also Known As: control plane/ forwarding plane
Motivation (Forces):

  在网络设备里面,最重要的工作就是转发,大部分流量都是在数据平面处理的。控制平面处理协议。一般来说,数据平面需要处理的是需要转发的流量,而控制平面处理的是终结在本机的流量。可能还需要加一个管理平面(management plane),用于配置,管理设备。  很明显,数据平面需要高性能的处理器,而控制平面就稍差一点。但控制平面往往会成为被攻击的重点,所以控制平面更关心协议实现的正确性和安全性。 
Known Uses: 网关设备
Related Patterns: service plane

References:

  1: Requirements for Separation of IP Control and Forwarding

 2) first path/ fast path

Pattern Name and Classification:  first path/ fast path
Intent: 把慢速路径和快速路径分离,隔离错误,提高性能
Also Known As: slow path/ fast path; exception path/ fast path
Motivation (Forces):

  在session-based的网络设备里面,创建session的过程比较复杂,而根据session进行转发的工作则比较简单。所以把创建session的path分离出来,可以只针对这个部分进行优化。一般来说,在connection rate测试,考验的是first path的能力,而throughput 测试考验的是fast path的能力。
Known Uses: session-based gateway
Related Patterns: service plane
References:
1: How to choose the best router switching path for your network

(4个打分, 平均:5.00 / 5)

浪潮之巅第一章 帝国的余辉(AT&T)(四):外来冲击

4. 外来冲击

如果说终结 AT&T 帝国的内因是华尔街和 AT&T 自己的贪婪和短视,那么互联网的兴起从外界彻底击垮了这个帝国。在互联网兴起以前,固定电话几乎是人类唯一的交互通信手段,因此,只要在这个产业中占领一 席之地,即使不做任何事,也可以由着它的波浪推着前进。AT&T一百年来就是这样。它不紧不慢地发展着,还有很多失败的投资,但这些丝毫伤害不到 它。也不能阻止它一次又一次的形成垄断。

互联网兴起后,情况就不同了。当人们有一个不要钱的实时通信方式后,就无人为一分钟三美元的国际 长途买单了。以前,人们查找任何商业信息都离不开电话本。现在有了互联网,人们更多地从网上查找信息。为了促销,所有的长途电话公司不得不通过降价来维持 生意。我十几年前到美国时,从美国到中国的长途电话费是一美元一分钟,现在电话卡打国际长途只有两美分一分钟。

随着互联网崛起的是移动电 话业务。本来,AT&T 在此领域是领先的,借着移动电话业务,它可以在当今的通信业一拼。(谷歌不少优秀的科学家和工程师都来自于 AT&T,包括 Unix 操作系统和 C 语言的发明人汤普生 — Ken Thompson)但是,当 AT&T 自断左右臂后,一切都变得不可能了。

互联网对朗讯的冲击也是同样的。在互联网时代,世界上对数据交换设备的需求渐渐超过对语音交换设备的需求。前者是新兴公司思科(Cisco)的长项,而后者才是朗讯的强项。思科战胜朗讯,又成为一股不可阻挡的潮流。

互 联网的崛起,对原贝尔实验室研究的影响也是巨大的。比如,语音的自动识别,曾经被认为是人类最伟大的梦想之一,现在随着电话时代的过去变得不重要了。今 天,世界上主要的语音识别公司只剩下 Nuance 一家,美国整个语音识别市场的规模一年不到五亿美元,相当于谷歌两个星期的收入。而同时,世界上对文字处理、图像处理技术的需求随着互联网的普及不断增 加。

在工业史上,一种新技术代替旧的技术是不以人的意志为转移的。人生最幸运之事就是发现和顺应这个潮流。投资大师巴菲特在谈到上个世纪 初他父亲失败的投资时讲,那时有很多汽车公司,大家不知道投哪个好,但是有一点投资者应该看到,马车工业要完蛋了。巴菲特为他的父亲没有注意到这一点而感 到遗憾。今天,互联网虽然还不能完全代替固定电话,但是前者已经大大挤压了后者的发展空间,因为它可以提供更灵活,更丰富,而且更便宜的通信手段。

回 顾 AT&T 百年历史,几乎每个人都为这个百年老店的衰落而遗憾。它曾经是电话业的代名词,而它的贝尔实验室曾经是创新的代名词,现在这一切已成为历史。我和很多 AT&T 的主管和科学家们聊过此事,大家普遍认为 AT&T 的每一个大的决定,在当时的情况下都很难避免,即使知道它是错的。上个世纪 90 年代,AT&T 已经不属于一个人,一个机构,没有人对它的十年百年后的发展着想。(我们以后还会多次看到,当一个公司没有人对它有控制时,它的长期发展就会有问题)从华 尔街,到它的高管和员工,大都希望从它身上快快地捞一笔。以前,美国政府多次要求拆散 AT&T 而做不到,但是从十年前起,它自行地把自己拆了卖。这样,它不但不能把握过去十年信息革命的机会,反而将自己葬送在互联网的浪潮中。


(2个打分, 平均:5.00 / 5)