OpenVPN多处理之为什么一定要做

作者: 云计算机网 分类: 云计算知识 发布时间: 2016-10-21 04:34
做技术的,就是有一种较真儿的精神!有点完美主义,更高尚的是,知道什么该做,什么不该做,如果说傻,那也真的傻的可以。今天去了无锡苏州,带小小去太湖景区,然后去苏州看萤火虫。之所以选择今天是因为虚张声势的天气预报吓退了很多人,果然,景区的高级动物特别少,其次,个人感觉会飘一些雨点,不会太热,没有大太阳,刚刚好,果然,哈哈。回到酒店就快10点了,带着电脑出来旅行,夜深人静时可以写点总结,也挺好,总结什么呢?还是OpenVPN了。不过,话说在旅行期间,千万别调试代码,那会坏了好心情。写点总结是最好不过的,因为那只是一些思绪的回顾,自己完全可以把控的住。或者,喝点小酒之后,写篇散文,打油诗?..可惜,我已经没那个雅兴了。
让我从头说起。
1.James Yonan的理由OpenVPN 2.0去除了多线程(其实就是去除了单独处理TLS的线程,OpenVPN一直都没有实现数据通道多线程),理由很充分,详情请搜索maillist。其中很大的原因在于OS底层的复杂性以及接口规格不统一。正如JY所说,即使OpenVPN本身使用了多个线程处理,那么在绝大部分的操作系统下,比如Linux,最终还是要汇集到一个内核线程处理,这是tun驱动的特性决定的。这种让步性质的说辞不仅仅是一种责任推卸。事实上,在tun驱动明确支持了Multiqueue之后,这种说法便不成立了。
另一方面,多个进程/线程中每一个都要维护自己的socket,这个socket是从主线程继承还是分别创建呢?如果继承,那么可能会有惊群问题,如果分别创建,那么便不能bind重复的IP地址和端口。就这样,不管是涉及到tun网卡的管理方面,还是涉及到socket的负载均衡方面,当前的操作系统内核都不给力,鉴于实现的复杂性以及稳定性考虑,JY明确指出,不提供多处理版本的OpenVPN支持。
最终,我总结下来,JY不提供多处理OpenVPN支持的理由:1.由于OpenVPN需要使用诸多的操作系统底层的机制,内核不给力,各个操作系统平台实现并非整齐划一,用户态适配复杂性太高且各个平台实现高度不一致;2.保持紧凑的OpenVPN单进程实现,用户在外部实现多处理会更好,并且他真实给出了random remote机制。
2.我的理由如果JY真的是那么想的,正如其在maillist所说,那么我会说,至少对于Linux,那些限制已经不存在了。为什么呢?自从内核3.9版本开始,支持了SO_REUSEPORT这个socket选项,支持了Multiqueue TUN驱动,完美的解决了JY的困惑。
是时候让OpenVPN支持多处理了。然而对于JY而言,他的想法的关注点可能与我的并非一致,我们考虑的并不是一个问题,他需要给出的是一个跨平台的OpenVPN源代码,不仅仅针对Linux,还有Windows,BSD族,Mac OS甚至IOS...敢问所有的操作系统都支持SO_REUSEPORT以及Multiqueue TUN么?我可以肯定的是BSD支持了REUSEPORT,但是对于别的,估计够呛。难道我不能使用预编译宏来解决这个问题吗?比如#ifdef LINUX之类的...我可以,但是这会让本已丑陋的代码更丑陋。
  • 什么是AMD推土机处理器?相信这是很多人都了解的问题,那么小编现在就从多方面来为大家讲解一下AMD推土机处理器的知识。

      什么是AMD推土机处理器?相信这是很多人都了解的问题,那么小编现在就从多方面来为大家讲解一下AMD推土机处理器的知识。

    AMD推土机处理器

      AMD推土机处理器

      AMD“推土机”是代号Bulldozer(推土机)的全新架构,“推土机”架构最早是在2007年年中提出的,依然沿用AM3+处理器接口,与AMD之前所有处理器都有所不同的是,“推土机”采用了“模块化”的设计,每个“模块”包含两个处理器核心,这有些像一个启用了SMT的单核处理器。每个核心具有各自的整数调度器和四个专有的管线,两个核心共享一个浮点调度器和两个128位FMAC乘法累加器。AMD最近发布了首批推土机处理器,我们可以看到全新的推土机处理器外壳都FX标签,下面为大家分享出最新AMD公布的首批推土机产品与性能。fat32和ntfs的区别 什么是ntfs格式分区

    AMD首批推土机处理器产品规格

      AMD首批推土机处理器产品规格

      通过上面的表格我们可以清晰看到每一款推土机FX系列处理器的具体参数,可以看到规格最高的自然是物理八核心的FX-8150处理器了,而这款规格最高的产品报价也仅为245美金(千颗采购价),折合人民币也仅有1550元——从价格上我们就可以看出AMD在推土机产品上给足了消费者性价比诚意。

      AMD推土机处理器采用全新的架构工艺,依然沿用AM3+处理器接口平台,因此具有很高的兼容性,最新的AMD推土机采用32nm技术,在功耗上占有一定优势,另外AMD推土机FX系列处理器的超频能力不能小觑,目前的处理器主频世界纪录也是由推土机FX系列处理器来打破的,这也足够让很多热爱超频的玩家为之倾心了,还有一点是AMD推土机在核心数量上有很大优势,因此在多任务多线程等应用方面表现十分强劲,可以这么说AMD推土机的处理将加速多核处理器的普及。用户关注的产品价格上AMD推土机处理器也依然延续了高性价比的特点,最新八核心处理器价格也不过1000元出头,性价比十分不错,对推土机处理器有兴趣的A饭朋友值得关注一下。

      以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持爱站技术频道。

  • 相关推荐:

  • AMD推土机处理器的知识
  • 巧克力键盘的介绍
  • Google Play是什么?
  • 红米卢伟冰:很多人会逐
  • 惠普和微软联合推出多款
  • 两大新招让多核心处理器
  • 到底部署vSphere需要消耗
  • 多云解决方案将主导云计
  • 你啊,改变不了测试服务
  • 爆料|某数据中心故障致
  • 网站内容禁止违规转载,转载授权联系中国云计算网