使用arm开发板搭建无线mesh网络(一)
由于项目的需要,老板让我使用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网络(一)的更多相关文章
- 使用arm开发板搭建无线mesh网络(二)
		上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ... 
- ARM开发板搭建NFS网络文件共享方法
		前边 已经提到过吧vmare的IP改成了静态IP,对于上网来说,这个是个麻烦的事.现在重新配置Vmware的IP VMware-Edit-Virtual network editor 选择PC机的无线 ... 
- 关于ARM开发板与PC主机的网络设置问题
		直观来讲,ARM开发板多数情况下会有条网线与主机相连,所以最重要的一步是保证PC主机与ARM开发板能互通. 互通的意思进一步来讲就是互相能ping通.也就是说在瘟都死的dos下(假设主机是瘟都死系统) ... 
- TPYBoard开发板搭建与阿里云服务发送数据
		今天给大家带来的是TPYBoard V202开发板的一次测试项目使用心得.而测试项目就是给服务端发送硬件底层数据,而数据有产品名称,WF模块MAC地址,温湿度数据. 什么是MicroP ... 
- 基于全志H3芯片的ARM开发环境搭建
		基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ... 
- Windows10、ARM开发板、VMware虚拟机同时连接Internet
		前段时间有人遇到一些网络连接问题,让我帮忙处理,他想让ARM开发板连接外网,可以连接网络数据库,同时保证自己的电脑可以上网. 本来说直接可以连接一个路由器,分配一个内网IP给ARM就可以了,但是当时那 ... 
- 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 一 概述 ... 
- [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统
		本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ... 
- 无线Mesh网络技术基础与应用
		无线Mesh网络主要包含三类节点,构成了Mesh的基本服务集. 1.与有线网络相连的节点(GateWay节点),其主要负责实现无线Mesh网络和有线网络的数据交换. 2.可以进行Mesh组网并拥有Ro ... 
随机推荐
- C# 字符流打印类
			using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ... 
- 数组工具类 - ArrayUtil.java
			数组工具类,提供数组.对象之间转换的方法. 源码如下:(点击下载 - ArrayUtil.java .commons-lang-2.6.jar) import java.lang.reflect.Ar ... 
- html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计
			序:通常我们只能控制div的宽度 而不能控制高度,在响应式页面里 如果要这个div是正方形那么必须的用媒体查询在不同的分辨率下写死宽高度 今天突发奇想研究了个 用百分比来动态控制div的高度让其与宽度 ... 
- Debian 如何更改hdmi接口输出的分辨率
			1. 先删除无用的文件: a) Boot/boot.src b) Boot/script.bin 2. 打开boot/script.fex,找到disp_init节点 a) 将screenX_outp ... 
- [ionic开源项目教程] - 第3讲 左右滑动菜单的实现(使用Tabs和SlideBox)
			使用Tabs和SlideBox实现左右滑动菜单 1.将tab1.html的代码改为如下: <ion-view view-title="健康"> <ion-cont ... 
- jquery radio 取值 取消选中 赋值
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- HDU 1494 跑跑卡丁车
			很无爱的一道题. 题解都看得一知半解的. acm之家的题解,留着以后慢慢体会: 把这题转化为背包模型,每个%20能量算一个单位,最多有15个,如果大于5个有一个加速卡,如果大于10个有2个加速卡,如果 ... 
- 浅谈网络爬虫爬js动态加载网页(三)
			上一篇讨论了web driver对动态网页的抓取与分析,可以很清楚的看出这是一种集中式处理方式,简单说,就是利用服务器,打开一个真正的brower,然后将需要解析的地址交给浏览器,浏览器去解析,然后将 ... 
- sed总结
			[-] 简介 调用方式 选项 命令集合 寻址方式 基本用法 文件操作 附加-插入-修改文本 删除文本 替换文本 转换文本 补充 ------------------------------------ ... 
- 20160128.CCPP体系详解(0007天)
			以下内容有所摘取,进行了某些整理和补充 论浮点数的存储原理:float浮点数与double浮点数的二进制存储原理–>阶码 浮点数转二进制 1.整数int类型和浮点数float类型都是占用4个字节 ... 
