Netscreen的岁月 之十三 ISG-2000

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




2002年我开始构思下一代高端平台。NS-5400和Saturn毕竟有许多先天的不足。这段时间公司并购了一家做IPS的公司,叫OneSecure。 OneSecure的创始人是Nir Zuk, 一个以色列人,之前在Checkpoint干过。我就在考虑如何能够在一个系统里同时支持Firewall和IPS,甚至包括和Trend Micro合作的病毒防护功能。把别人的软件融合到ScreenOS里是不现实的,软件升级很麻烦,bug又多,还把整体性能给拖下来了。

因此我设想规划四个内部处理模块,除了防火墙主控CPU外,还可以支持另外三个CPU板,板间通过Xilinx FPGA的Rocket I/O串行总线相连,拿ASIC和一颗大FPGA组成交换总线板,前面板还有固定端口和4个接口扩展槽 。有了三个CPU板,类似IPS和AV的处理功能就可以跑在各自独立的操作系统上了。事后证明,这是一个非常优越和超前的设计。后来Netscreen的IPS主要通过这个平台销售,始料未及的是,客户大多买的是独立的IPS系统,因为通过三块双CPU卡加速的IPS性能已经可以与一些专业硬件加速的平台相竞争。

我给这个项目取了一个代码名,叫Tasmania。 原因是公司每年都有President Club,拉业绩优异的销售去风景优美的地方有吃有玩,让我们一帮工程师十分眼热。他们也请工程师,不过只请支持过项目的工程师,而且每年就一个名额,那就只有测试组的人才有资格参加。那一年,他们去的是澳大利亚的Tasmania岛,我留了这个私心,希望产品大卖的时候那帮销售能够想起我来,不过到我离开,这个心愿也没有实现。

这个设计构想没有异议地得到了大家的支持。不过后来Raymond找到邓锋,担心Rocket I/O技术太新,会有风险。在他俩的坚持下,第一版还是用传统的FIFO bus作为主数据通道,但是我还是要求FPGA一定要支持Rocket I/O,可以不用但是生产时要可以测试。多年后,我离开了Juniper,老兄弟聚会的时候,有人还提起幸好当年留下了Rocket I/O,解决了板间互联的性能问题,这个平台才能支撑那么久。屈指一算,ISG-2000在市场上活跃了八年,可谓长寿矣。

这次做ISG-2000,软件方面又是老搭档老黄来负责。其实当时整个软件部门也在讨论大的改变。创业时柯严写的ScreenOS操作系统,修修补补多年,已经不敷使用。首先要解决的是内存保护的问题,不然一个飞指针就能把系统搞死,太可怕了,尤其是代码量越来越大,新手不断进入,这个问题非解决不可。

2000年底,陈怀临加入Netscreen。陈怀临就是现在大名鼎鼎弯曲评论的创始人,他在这个项目上的工作首先就是给ScreenOS加上内存保护,基本上是改变直接寻址的模式,转而用虚地址和MMU映射,一旦发生内存overwrite,CPU会启动Exception,这样就可以定位问题了。

ISG-2000用的是PowerPC G4,而且麻烦的是,为了追求性能,我设计了两片处理器,跑在一个LVTTL并行总线上。从电路设计上,这是我遇到最难的一个,原因是信号的终结termination非常麻烦,因为是T形总线。后来的串行技术,就算速率再高,比起这个几乎就没有太大技术含量了。

当时我还年轻,火气也比较大,遇事不服输,系统不稳定,陈怀临怀疑是硬件问题,我就和他争辩。他吵不过,干脆要port一个Linux来验证。邓锋是学并行计算出身的,他推荐我读了一本处理器原理的权威著作,最后我也弄明白了Cache, MMU的工作原理,因此能够读懂Exception寄存器的含义了,算是一大收获。

这个项目上我基本上只负责架构,我们硬件组的Edward, Scott Chastain和机构工程师Eugene负责具体的设计。技术的挑战最终提升了整个团队的个人和团队协同作战能力,这是第二个收获。

几经周折,这个系统终于发布了,而且大获成功。

—————————- 版权所有Hillstone 老童 欢迎转载  —————————-

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

雁过留声

“Netscreen的岁月 之十三 ISG-2000”有26个回复

  1. asr1k 于 2011-10-10 7:55 上午

    哈哈, 首席登场..

  2. 陈怀临 于 2011-10-10 7:59 上午

    童总对ISG2000的描述是有一定问题的。。。

    首先,ISG2000的软件或者系统部分与老黄关系不是特别大。都是YumingGroup(我是试飞员)做的。老黄是我们把东西都做好之后,直接ScreenOS 3。3放上来的。但之前,new CPU target,session flow,chipset所有的东东都是我们整的。。。

  3. 理客 于 2011-10-10 9:04 上午

    邓总对硬件架构和总线的把握确实比较强,不好评价和H当时IP产品硬件架构设计的顶级人物的比较。首席刚出手就做内存保护,我当时大概刚刚开始真正做研发,接触内存例外问题

  4. 叹息 于 2011-10-10 9:11 上午

    唉,2000年的时候,小弟就已经花了2年在单位写了近12万行涉及到科学计算以及数据处理的代码,那时候,较年轻呀,2年当成了4年花呀,可现在,还是码农。。。首席,理客,却早已是名人,领导者,思想家。。。

  5. Daemon 于 2011-10-10 9:13 上午

    2000年底,陈怀临加入Netscreen。陈怀临就是现在大名鼎鼎弯曲评论的创始人,他在这个项目上的工作首先就是给ScreenOS加上内存保护,基本上是改变直接寻址的模式,转而用虚地址和MMU映射,一旦发生内存overwrite,CPU会启动Exception,这样就可以定位问题了。

    ->这个97年时北研所做第一版数通VOS时就加入了

  6. 陈怀临 于 2011-10-10 9:30 上午

    童总是做system的,对软件这部分了解的略微少了点。。。我以后有时间了,可以写一写。。。

  7. anonym 于 2011-10-10 10:27 上午

    发到弯曲上来的版本能不能增加一点首席的戏份啊?

  8. guest 于 2011-10-10 6:01 下午

    戏说也可以

  9. James Hughes 于 2011-10-10 6:13 下午

    一出现首席,俩人就开始争论了。呵呵。

  10. James Hughes 于 2011-10-10 6:15 下午

    这么说来,ScreenOS还真是一行一行coding出来的,还以为是从XXXBSD or Linux or minix porting出来的,抑或用的商业OS: GNX, VxWorks, pSoS etc…

  11. 首席原谅我八卦 于 2011-10-10 6:37 下午

    老童的新浪博客上:
    “2000年底,老毛介绍了他的南开学弟陈怀临加入Netscreen。陈怀临就是现在大名鼎鼎弯曲评论的创始人,不过当时他既不姓陈,也不叫怀临”

  12. synmyth 于 2011-10-10 8:46 下午

    请问童总“处理器原理的权威著作”是?有兴趣。

  13. chinaslot 于 2011-10-10 9:39 下午

    最近正要把一对ISG2000替换成H3C的墙,对ISG2000的感情真的很深。最初干网络,SUN440和ISG2000是我最早开始学习的设备,SUN440三天两头因为臭名昭著的电源问题挂掉。ISG2000在我印象中只有一次因为年轻气盛把策略划得太细,导致约有上万rules。从而使其在业务高峰的时候不断主备倒换。后来想想,胡主席说的对,不折腾。
    真的感到很荣幸能看到ISG2000的缔造者们的文字。

  14. billy 于 2011-10-10 9:57 下午

    首席登场了…不会是首席“要挟”童sir的广告需要吧?…:)just kidding…

  15. spike 于 2011-10-10 10:11 下午

    首席一登场就是火星撞地球的气场啊

  16. MANINFO 于 2011-10-10 10:15 下午

    “独立CPU的板卡和主控CPU—-哪位能给扫一下盲,先谢过了。

  17. ABC 于 2011-10-10 10:23 下午

    有人报料了!首席要深入挖掘啊。

  18. man_info 于 2011-10-10 10:29 下午

    “主控CPU + 独立CPU的板卡”—-求扫盲,硬件架构,流程图。先谢过了。

  19. xyz 于 2011-10-10 10:50 下午

    首席的戏太少了。

  20. Terren 于 2011-10-10 11:11 下午

    请问童总“处理器原理的权威著作”是什么?

  21. willchen 于 2011-10-11 12:36 上午

    还没等到ISG2000在国内卖我就不做netscreen了。当时204和208确实好卖,而且不坏。赞一个

  22. 理客 于 2011-10-11 1:02 上午

    to 叹息:我刚工作时,一年只写了2个函数,只好练习一些简单的软件密码解析,到现在也只是做一个和码农类似只是不同方向的工作。
    中国近代史有一大清进士翰林编修,41岁为留学德国,谎报年龄35,后成为开创中国现代高等教育的奠基人。如果历史一定要盘旋才能前进,那我们比那个时代退步了太多,但退步更多的不是ZF,是人。梁启超、蔡元培、鲁迅…,许多前辈高人的思想其实是类似的,确实是百年之后当思侬,举国发狂欲语谁。当土壤松土和质量不够时,你种瓜的收获更多的是本非你想要的歪瓜劣枣,现实社会不存在理想的至清,歪瓜劣枣总是要有的,但不能成为主流,说日韩台MZ成功,主要是他们的歪瓜劣枣还在一个可控范围,而在东南亚、非洲、美洲,很多MZ的结果是歪瓜劣枣成为多数,89给中国MZ造成的悲剧,虽然ZF要负主要责任,但另外一方也要负责,在土壤差距太大的情况下,第一工作不是革命,而是松土和养土,先把土壤的质量改良到一定程度,此时再做动作,就顺水乘舟得多了,这个和中国的道家哲学是有些类似的,五四运动的时间太短,没能成为中国的文艺复兴,导致对土壤的影响不够,原因很复杂,被外族暴力打断也是一个重要原因,比如二战日本鬼子的大规模侵略是一个很大的因素,所以西式的外力主导型快速暴力MZ基本上是错的,因为西方真正关心的是其本身的利益,而不是其他国家如何走MZ才是最合适的,89悲剧的第三方责任人就是西方,西方ZF远不是善人。中国MZ目前的悲剧状态,全赖在ZF身上是当代中国人集体退步的表现

  23. 理客 于 2011-10-11 1:47 上午

    to 叹息:我刚工作时,一年只写了2个函数,只好练习一些简单的软件密码解析,到现在也只是做一个和码农类似只是不同方向的工作。
    。。。。

  24. Memory 于 2011-10-11 4:09 上午

    他在这个项目上的工作首先就是给ScreenOS加上内存保护,基本上是改变直接寻址的模式,转而用虚地址和MMU映射,一旦发生内存overwrite,CPU会启动Exception,这样就可以定位问题了。

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    疑惑:内存overwrite了,一定会产生Exception吗?如果一定产生,是因为使用了虚拟地址和MMU映射吗?linux不是这么做的吗?
    哪位牛人能给解释下?

  25. Hillstone老童 于 2011-10-11 4:20 上午

    “请问童总“处理器原理的权威著作”是?有兴趣。”

    回家从书柜里找出这本书,”Computer Architecture: A Quantitative Approach”, 据老毛讲,当年他在Stanford上过其中一名作者的课,教授布置给学生们的一个作业就是验证书中习题的答案是否正确,如果找出毛病的奖励五大毛。所以五毛党其实源自于美国. :)

    不过看到扉页上我的记录,是99年7月在Standford书店买的,那时首席还没来呢,这段回忆部分可能有误。

    这本书的中英文版本在当当上有售,中文译名《计算机系统结构——量化研究方法》,不过建议大家买英文版的。

    摘录其中对作者的介绍:
    John L.Hermessy,斯坦福大学校长,1977年开始在斯坦福大学电子工程系和计算机系任教。 他是IEEE和ACM会士,美国国家工程院院士及美国科学与艺术院院士。由于其在RISC技术领域的杰出贡献,于2001年被授予Eckert-Mauchly奖;他获得的其他奖项还包括2001年度Seymour cray计算机工程奖以及2000年度同David Patterson共同获得的John von Neumann奖。同时他还获得了荣誉博士学位。 1981年,Hennessy带领几个研究生开始其在斯坦福大学的MIPS项目。在1984年完成该项目 之后,他从学校离开了1年时间去开发一个MIPS计算机系统,在开发该系统的过程中研制出了世界上第一个商用的RISC微处理器。MIPS Technologies公司从1991年被SGI公司收购,后来在1998年脱离出来成为一个独立的公司,并将其战略重点转向嵌入式微处理器。截至2006年,已经有超过5亿个MIPS微处理器被用于视频游戏、掌上电脑、激光打印机和网络交换机等设备中。

    读通这本书,就可以和首席平起平坐,这才是专业必读, 呵呵

  26. 理客 于 2011-10-11 4:49 上午

    在弯曲的日子,从弯曲看到了学到了很多东西,非常感谢首席等朋友和这里所有的人