查看: 10635|回复: 8

R1的那些坑——香蕉派路由器的缺点和不足

[复制链接]
  • TA的每日心情
    开心
    2014-11-19 16:40
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2014-12-2 13:51:36 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 jarod_ch 于 2014-12-2 14:09 编辑

    香蕉派的路由器板子——即BPI-r1到手已经有一段时间了,但是官方的系统支持一直不是很好,所以影响了大家在上面折腾各种应用。我的做法是用原先的香蕉派板子来模拟r1的环境,然后在上面尝试构建路由器系统和进行其他的应用开发。具体的做法可以参考我的另外一篇帖子  


      DIY 香蕉派BPI 路由器完整方案[有线+无线]   http://jingyan.eeboard.com/article/73679


    但是经过进一步的研究,发现r1的物理结构和我上面采用的双有线网卡(一个网卡接外网,一个接内网)的结构是不同的,r1的主板上面只有一个

    有线物理网卡(另外的4个lan口实际上是通过交换机并联到那个唯一的网卡上的)。r1的这种单有线网卡的布局又被称为 "单臂路由器"   

    为了说明其内部结构,下面我做了一张示意图来展示它的内部实际结构:


    路由器.jpg

    图片左侧是双网卡的路由器,右侧是单臂路由器(即r1的实际物理结构)


    也就是说r1实际上是在一个物理网卡上用vlan技术模拟出两个虚拟网卡,分别作为连接外网的设备和连接内网的设备,然后利用一个交换机芯片来接如局域网内的其他设备。这种做法是市面上不少家庭路由器采用的方案。

    优点:

         节约成本,省点电

    缺点:

          但是我觉得这个设计就是r1最大的坑,也是目前收到测试版的玩家遇到的最头痛问题,官方linux系统迟迟没有推出,除了那个fex问题外,这个配置估计也是折腾开发人员的重要原因。具体来说:

      1. 硬件工程师偷懒折腾死软件工程师

          因为只有一个物理网卡,但是却要负责两个网卡的工作,所以需要依赖一些软件技术来实现,主要是vlan(虚拟局域网),linux下的网桥之类的机制来实现,而这些都需要系统开发者和软件开发人员非常熟悉网络方面的知识,但是大部分玩家实际上是缺乏这些知识储备的。作为一种开源硬件,如果大部分玩家都搞不定,估计会严重打击大家折腾的积极性。

      2. 复杂性带来的维护性和安全性问题

         因为依赖复杂的网络设置,所以会带来后期开发的各种问题。简单举例来说,r1定位为智能路由器,那么后期在上面部署复杂的web应用和服务是开发和折腾的方向。而r1依赖的vlan机制不是每个人都熟悉的,可能会因为vlan,网桥等的设置而导致错误,而大部分不具备相关知识的开发者是无法独立解决的。而作为日常的路由器使用,估计也会频繁遇到这些只有网络高手才能解决的问题。

      3. 安全性问题

        因为单臂路由器,实际上外网和内网是联通的,没有物理隔离措施,这会带来潜在的安全问题。普通的路由器估计问题不大,但是r1作为智能路由器和智能家居中心服务器的定位,这个安全问题是不容小视的。举例来说,如果用r1做一个智能家居的中心服务器来控制家庭照明,空调等设备。那么如果r1对电灯和其他设备的控制通讯协议中没有安全验证机制,那么有可能出现这样一种情况:互联网上的某个不怀好意的人,通过伪造数据包,就可以控制你家庭内部的电灯、空调等设备。因为单臂路由器的vlan机制决定了来自互联网的数据是不经过路由器的防火墙过滤的,是直接可以进入局域网的。思科的防火墙原理相关的书籍在论述vlan的时候已经特别提醒了这个潜在的安全威胁。

       有没有办法解决呢? 有,在虚拟局域网(vlan)上构建虚拟防火墙!估计vlan已经让很多人晕菜了,至于这虚拟防火墙该如何构建那真是鬼知道了。而且就算你成功配置了虚拟防火墙,也同样会带来维护性的问题,一个疏忽大意导致的防火墙规则漏洞就可以让所有的安全措施形同虚设。

      4. 性能问题

       让一个网卡干两个网卡甚至三个网卡的工作,意味着千兆网卡的带宽和性能是被平分掉的,性能的损失是不言自明的。





    建议:




    强烈要求给r1配上两个独立的物理网卡!!!!








    其他建议:

        1、 提供DC的电源接口,由于r1带sata硬盘接口、无线网卡、交换机芯片,再加上未来的双有线网卡,耗电绝对是个问题。在microUSB线材质量

    难以保证的前提下,还是DC接口比较安全。

        2、sata的硬盘位置最好能给一个屏蔽罩。




















































    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-11-10 21:00
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2014-12-2 13:56:14 | 显示全部楼层
    顶顶顶。。。。。。。。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-15 09:28
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-12-2 14:00:24 | 显示全部楼层
    顶顶顶+1
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-24 17:07
  • 签到天数: 1771 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-12-2 14:09:10 | 显示全部楼层
    vlan解释很简洁明了。
    软件不要钱,硬件要钱,我忍了。
    硬盘位置设计得实在不敢恭维,也实在需要几个固定孔来固定硬盘。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-10-9 10:25
  • 签到天数: 886 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-12-2 14:09:42 | 显示全部楼层
    给楼主一些建议,micro USB线有一些质量好的,过流2A线损也不大。当然也可以使用5.2V左右的电源适配器,带线损补偿,市面上卖的也很多,比如联想或者苹果平板电脑的电源适配器就是5.2V,也不贵,某宝20多块搞一个。不是啥大问题。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2022-4-28 09:50
  • 签到天数: 443 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-12-2 15:14:26 | 显示全部楼层
    顶一个哈   最近我也因私事忙   没有折腾了  这周继续玩起
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-12-12 08:17
  • 签到天数: 161 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-12-2 16:59:12 | 显示全部楼层
    bananapi的PCB也有点薄,建议赶紧给每人发个外壳抓紧保护起来
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-12-2 18:42:33 | 显示全部楼层
    整理的非常专业,学习了!
    我最近没怎么搞,哎,自己要动个手术,可能得过段时间弄了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-12-3 13:04:57 | 显示全部楼层
    估计问题就在这了吧……路由要上网且给其他的设备联网自己还要单独接一根到WLAN口上才能访问……不过感觉也不应该啊……可能还得好好研究一下板载的有线网卡的功能。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-6-16 09:13 , Processed in 0.270038 second(s), 32 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.