由于项目的需要,老板让我使用arm开发板(友善之臂的tiny6410)搭建无线mesh网络。一般而言,无线自组织网络的网络设备都是由用户的终端设备来充当,这些终端设备既要处理用户的应用数据,比如娱乐,办公等各方面数据,又要充当路由器,来进行路由转发;另一方面,这些用户终端设备的移动性也较强。对于前者,终端设备的绝大多数软硬件资源都花费在了用户的应用数据处理上了,留给网络转发使用的资源所剩无几,因此这些终端设备一般无法胜任大规模的网络拓扑结构、大数据量(比如音、视频多媒体数据)转发的这些任务;对于后者,终端设备的移动性较强将造成电力供应的问题(一般将使用电池来供电,电池容量相当有限),因此终端设备在制造时,也不可能选择性能很强的处理器,因为处理器处理能力越强,功耗越大,电池不能满足其需求,此外,终端的移动性很强也将使得整个网络拓扑的变动很大,网络不稳定。

  为了解决上述的问题,无线mesh网络应运而生。无线mesh网络从本质上讲,还是无线自组织网络(adhoc),只不过无线mesh网络在adhoc的基础上抽象出了一个骨干网(mesh)。不像adhoc网络那样,所有节点都由用户的终端设备承担,而且所有节点之间都是完全对等的关系,移动性很强。无线mesh网络的骨干网是由专门的网络设备(路由器等)组建的,而且组成骨干网的这些设备一般是不移动的或者是弱移动性的。这将解决掉上述adhoc网络所面临的很多问题。首先,骨干网节点由专门的路由设备来承担,这些路由设备不用处理用户的应用数据,只用来做路由转发的任务,因此所有的软硬件资源都是为路由转发服务的,因此可以承担大拓扑结构(大拓扑结构的网络首先需要网络设备具有足够大的存储空间来存储庞大的路由表,而且需要较强的处理器在路由表中随时查找或更新路由条目)、大数量的路由转发任务;其次,骨干网节点不移动,那么节点也不存在电力供应不足的问题,可以直接使用固定电源来供电,因此骨干网节点的这些设备在软硬件选择上,就不考虑功耗问题,性能无上限;再次,骨干网节点不移动,整个mesh网络拓扑将是稳定的,mesh网络的可靠性、应用的现实性也就具备了。下面给出adhoc网络和无线mesh网络的拓扑图示,以示其区别:

(a)adhoc网络

  可以看出,adhoc网络的节点之间是完全对等的,没有骨干网络,呈分布式状态。

(b)无线mesh网络

   无线mesh网络和adhoc网络并无本质区别,都是以自组织形式来管理节点,不过无线mesh网络出现了骨干网,上层最大的那个网络就是骨干网。

   我的任务,就是要使用arm开发板+linux系统来“制造”无线mesh网络的骨干网节点。节点的具体搭建过程,(二)中介绍。

使用arm开发板搭建无线mesh网络(一)的更多相关文章

  1. 使用arm开发板搭建无线mesh网络(二)

    上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ...

  2. ARM开发板搭建NFS网络文件共享方法

    前边 已经提到过吧vmare的IP改成了静态IP,对于上网来说,这个是个麻烦的事.现在重新配置Vmware的IP VMware-Edit-Virtual network editor 选择PC机的无线 ...

  3. 关于ARM开发板与PC主机的网络设置问题

    直观来讲,ARM开发板多数情况下会有条网线与主机相连,所以最重要的一步是保证PC主机与ARM开发板能互通. 互通的意思进一步来讲就是互相能ping通.也就是说在瘟都死的dos下(假设主机是瘟都死系统) ...

  4. TPYBoard开发板搭建与阿里云服务发送数据

       今天给大家带来的是TPYBoard V202开发板的一次测试项目使用心得.而测试项目就是给服务端发送硬件底层数据,而数据有产品名称,WF模块MAC地址,温湿度数据.      什么是MicroP ...

  5. 基于全志H3芯片的ARM开发环境搭建

    基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ...

  6. Windows10、ARM开发板、VMware虚拟机同时连接Internet

    前段时间有人遇到一些网络连接问题,让我帮忙处理,他想让ARM开发板连接外网,可以连接网络数据库,同时保证自己的电脑可以上网. 本来说直接可以连接一个路由器,分配一个内网IP给ARM就可以了,但是当时那 ...

  7. ubuntu 交叉编译qt 5.7 程序到 arm 开发板

    ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ...

  8. [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统

    本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...

  9. 无线Mesh网络技术基础与应用

    无线Mesh网络主要包含三类节点,构成了Mesh的基本服务集. 1.与有线网络相连的节点(GateWay节点),其主要负责实现无线Mesh网络和有线网络的数据交换. 2.可以进行Mesh组网并拥有Ro ...

随机推荐

  1. KMP,模式匹配算法

    [QQ群: 189191838,对算法和C++感兴趣可以进来] 我们经常会遇到一种情况是匹配两个字符串,看strPar中是否含有str子串,如果有则返回子串在父串strPar中的位置,如果不存在则返回 ...

  2. php去除数组中重复数据

    <?php /** * 去除数组中重复数据 * by www.jbxue.com **/ $input = array("a" => "green" ...

  3. Android HTTPS(4)直接用SSLSocket,黑名单,客户端证书

    Warnings About Using SSLSocket Directly So far, the examples have focused on HTTPS using HttpsURLCon ...

  4. BZOJ 1507 Editor(块状链表)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1507 题意:一个文本编辑器,模拟以下操作: 思路:块状链表的主要操作: (1)find( ...

  5. 基于Linux的oracle数据库管理 part5( linux启动关闭 自动启动关闭 oracle )

    主要内容 1. 数据库自动启动与关闭 数据库自动启动与关闭 - 单数据库模式 启动监听器及数据库 启动脚本: #! /bin/bash su - oracle<<EOF lsnrctl s ...

  6. 【Todo】深入PHP内核系列

    看到一个<深入PHP内核>系列,Todo: http://www.csdn.net/article/2014-09-15/2821685-exploring-of-the-php [问底] ...

  7. web开发workflow

    web development是一个创建和实施一个新的互联网展示的过程,web网站可以是个非常成熟包罗万象的网站,也可以只是一个blog或者一两个页面.如果未做好充分的准备,web开发将是一个非常复杂 ...

  8. HDU 1072 (不一样的入队条件) Nightmare

    之前的BFS都是需要一个标记数组,但这个题不一样,因为可能一个格子不止走一次. 那么我们就要寻找新的入队条件:left比上次经过的时候大才入队(left表示上次经过该点时剩余的时间). 为什么呢?我们 ...

  9. UISegment

    UISegment分段控制 属性 1.segmentedControlStyle 设置segment的显示样式. typedef NS_ENUM(NSInteger, UISegmentedContr ...

  10. BZOJ 2120/BZOJ 2453

    分块傻逼题. memset很慢的...而且其实也没有用.... #include<iostream> #include<cstdio> #include<cstring& ...