码迷,mamicode.com
首页 > 其他好文 > 详细

一些错误的想法和错误的感悟

时间:2014-05-11 13:00:54      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:c   http   数据   a   使用   算法   

1.为什么不适合用SSL纪录协议封装一个新的协议

记住,SSL只是一个传输层上的封装协议,传输层上的。它代表的语义一定要比传输层更具体而比应用层更不具体。怎么能拿它来封装一个具体应用呢?这是典型的主次颠倒,本末倒置,喧宾夺主的极端做法!HTTPS只能在SSL之上,难道能在SSL之下吗?
       这里最重要的是数据边界问题,你是用你的应用协议来定义数据边界还是用SSL来定义你的数据边界?谁能定义数据边界谁就要在外边,显然,作为且仅仅作为一个传输层安全增强协议,SSL只能在里面。如果在外面,那么你就必须要处理SSL record边界和真正的你的应用边界之间的关系,而这种对应关系的处理是极其不便的,不是因为复杂,而是不便,因为,只要你颠倒SSL和你的应用协议之间的封装关系,这个问题就能得到完美的解决。看看OpenVPN的协议,这就是答案!
       使用SSL record来封装应用数据是一个颠倒的做法,一个典型的以SSL为中心的错误做法。

2.IP层的VPN的架构为何要分离认证和传输

注意到IPSec的每一个包都携带SPI,用于对等体识别SA,为何每个包都要携带一个SA而不是在传输前搞一个握手,建立一个“连接”,这样SA们就可以保存在该连接中而不用每次传输了。事实上,这样做是对的,因为IP层本来就是没有连接的,在这个意义上,OpenVPN建议用UDP封装,我觉得是合理的。而SSL最初为TCP应用而设计,内在有一个连接保持,建立一个会话,SSL将这种识别机制内置在了会话中,因此SA类似的概念便可以分别存储在端到端的本地,不需要传输,这是另一种方式,和IPSec不在一个层次。但是如果要在应用层实现一个IP层的VPN,则OpenVPN的UDP方式统一了它们。
       我理解的IPSec已经不再是一个框架以及相关的实现,而是一套思想,因此也就没有了“虽然不必定制应用但是需要定制操作系统协议栈而带来了复杂性和不稳定性”这种和一旦和SSL相比较时总会被人提到的劣势,而这个劣势几乎是IPSec的唯一劣势。排除了这个劣势后剩下的这个思想就是协商认证和安全传输的分离。这个思想不仅仅可以让你保持IP的语义,几乎任何一个层次的语义都是可以保持的,其带来的灵活性更是带来了更多的实惠,你可以在认证机制之外重新协商传输密钥,你可以在安全传输的同时重新用同一种方式或者不同的方式进行协商,随便怎么都行。

3.并行匹配算法

匹配算法将会变得越来越重要,毫不夸张。早年接触过ASIC芯片,后来又接触了并行CAM查找硬件,在那个时候,我都是很激动的,如今,我在周末的时候写出的模块体现了这些思想,那就是你如何让多个匹配过程同时进行,然后将匹配结果相与得到最后的结果。
       在软件上,你需要一个框架,而这个框架在硬件上就是那些门电路,这个框架可以满足任何匹配进入并给出是否匹配的结果。这个算法可以硬件化,并且可以证明硬件还是比软件高效,但是却没有软件灵活,很多时候在灵活和高效两边,必须权衡,但是在并行匹配算法方面,不用权衡。试想,用硬件来实现并行匹配查找,失去了什么,本来我真的不好用一个词来表达,恰恰昨天同事告诉了我一个术语,那就是“短路”,诚然,硬件查找难以实现短路,是的,但是硬件算法根本不需要短路。如果有5个匹配,同时我有5个匹配硬件单元,如果要用软件算法,没有短路机制的情况下,需要5个时间单元,就算在第一个匹配后短路,也需要1个时间单元,但是用硬件的话,总共也就一个时间单元。这就是硬件算法的好处。
       我设计了一个基于路由匹配算法的访问控制软件模块,实际上就是按照源和目的地址的匹配,按照这个思想,我的意思是还可以用别的match,而不仅仅是源和目的地址,我需要做的就是将所有这些match映射成和源/目标地址那样的u32数值(或者别的任何类型的数值,OO而已),然后按照最长掩码匹配进行精确匹配,天啊,最长掩码匹配真是一个思想而不仅仅是一个方法!由于算法是固定的,那么我就很容易将其硬件化,简单的CAM而已...思想。

4.《枪炮,细菌与钢铁》

这是一本绝棒的书,我超级喜欢!
早在几年前我就在公司的书架上看到了这本书,当时觉得这是一本畅销书,加上书名也没有神马吸引我的地方,我就没有在意,要知道我从不读畅销书,我喜欢那种出版几十年上百年的那种,另外我也不喜欢花哨的书名,我比较喜欢学术化的书名,因此我错过了这本书,直到上周,我才买了一本,发现很好。
       好在什么地方呢?推理!推理太严谨了,作者提出一个问题,并不直接解决这个问题,而是将这个大问题一步步分解,然后也不是逐步解决这些小问题,绝妙的地方在于,在作者描述之后,这些问题不解自答,这让读者不自觉认定作者所述的都是真理。虽然作者的观点并不一定是真理,但是这种毫无漏洞的论述方式不禁让人叹为观止。

5.公立幼儿园有啥好的

我不知道,反正都往里面挤。便宜吗?是的!家长缺钱吗?不!关键是主导的传统观念在作怪。实际上就算公立幼儿园把小孩训练成傻子,家长也很乐意将孩子送去,因为它是迈向高考的第一步。

6.人们都喜欢将事情夸张化

马可波罗将西方人引来了吗?某种意义上是的,虽然不是他个人。什么中国遍地黄金,丝绸挂在树上之类的,全是夸张之辞。如果你理解不了这个,那么请看看周围,外地的人,过年回家的时候,天天嚷嚷买不上票的一定可以买的上票,并且没有几个人,几乎没有人回不了家。再看看周围,大家都在嚷嚷房价贵,买不起,可是却都买上了房子。都说户口难迁,事实上,不是那回事。言不由衷,人的本性。
       我根本不屑于这种夸张。

一些错误的想法和错误的感悟,布布扣,bubuko.com

一些错误的想法和错误的感悟

标签:c   http   数据   a   使用   算法   

原文地址:http://blog.csdn.net/dog250/article/details/25498109

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!