移动网络山寨版(OpenBTS)的意义或者无意义 【1】
在美国内华达州北部,靠近加州的峡谷中,有一片平坦的沙漠,名叫黑岩沙漠(Black Rock Desert)。自从1986年以来,每年夏天,在这片沙漠中,都会举办一个为期八天的狂欢节。这个狂欢节的名字叫“火人(Burning Man)”,节日的高潮是点燃一个木制的人偶,寓意烈火涅磐。
2009年火人狂欢节吸引了4万多人,木制的人偶高达20米。在为期8天的节日期间,全部参与者自发组成一个短暂的城市,成为这个城市的居民,他们通过各式各样的雕塑和其它艺术品,声光和机械装置,前卫服饰甚至裸体,以及形形色色的行为艺术,来表达自己。

Figure 1. Burning Man Festival
Courtesy http://upload.wikimedia.org/wikipedia/en/8/82/BurningMan-picture.jpg

Figure 2. Black Rock City, a 8-day self-organized city in desert for the Burning Man Festival.
Courtesy http://farm3.static.flickr.com/2762/4244354080_393e873d78_o.png
很多人认为,火人狂欢节是民间力量的一次盛会,城市的管理由志愿者承担,唯一的公共设施是厕所,唯一使用货币的商业活动是售卖冰和饮料,其它生活用品和食物由参与者自理。这里没有政府,没有警察,甚至没有移动运行商。由于没有赢利前景,没有哪一家移动运行商愿意在这片沙漠地区架设基站。
但是民间力量自己动手解决了移动通讯的问题。2008年火人节,OpenBTS 做了初步试验,一年后,2009年的火人节,OpenBTS 正式亮相。 OpenBTS 利用开源软件,自行搭建了一个移动网络。这个民间移动网络,不仅解决了4万多名火人节的参与者之间的本地移动通讯,而且可以还可以连接到区域外的商用移动网络 [1]。

Figure 3. OpenBTS 70-feet tower with 3 antennas [1] Courtesy http://farm3.static.flickr.com/2799/4244434122_8f48013c08_o.png

Figure 4. OpenBTS facilities [2] Courtesy http://farm3.static.flickr.com/2688/4244354084_858475c9f2_o.png

Figure 5. OpenBTS hardware integration [3]
Courtesy http://farm3.static.flickr.com/2800/4244591932_c56e48f30b_o.png
Figure 3, 4, 5分别显示了 OpenBTS 使用的天线,部分硬件设备,尤其是射频部分的硬件设备,以及系统结构。整个射频系统的关键部件是 USRP,USRP 代表通用软件无线电外设(Universal Software Radio Peripheral)。
传统上无线电处理基本上由硬件设备完成。USRP 的设计理念是把智能化程度比较高的信号处理,交给PC上的软件执行,包括调制和解调。而其余的按部就班的简单操作,包括数字上下变频,抽样和内插等等,交给 USRP 板上的 FPGA 完成。USRP 板与 PC 之间,通过 USB 端口连接。
把按部就班的简单操作,与智能化程度比较高的工作分开,分别交给硬件和软件合作完成,即保证了无线电信号处理的速度,又有利于创造新型无线设备,尤其是降低创新所面临的开发难度。

Figure 6. OpenBTS system and its integration with PLMN and PSTN [2]
Courtesy http://farm5.static.flickr.com/4046/4244754580_604a2b3d23_o.png
射频部分的硬件设备,只是整个 OpenBTS 系统的一部分。Figure 6 显示的是 OpenBTS 系统的全貌。
把70英尺高天线,加上射频硬件包括 USRP,通过 USB 端口,连接到一台 PC 上,就完成了一个完整的民间移动网络的硬件构建。火人节居民之间的本地移动通讯,由 OpenBTS 系统独立完成,不需要外界商用移动网络的协助。
OpenBTS的软件系统包括三部分,
1. OpenBTS,充当传统移动网络中手机基站(BTS)和基站控制器(BSC)的角色,它的基本功能是调制和解调,给每一路通讯分配一个信道,监测信号强弱等等。
2. Asterisk,充当传统移动网络中程控交换机(PBX)和移动交换中心(MSC)的角色。如果两个火人节手机用户想通话,Asterisk负责建立本地的点对点的通讯。如果一个火人节手机用户想给区域外的手机用户通话,那么Asterisk通过 Link2Voip 公司提供的 VOIP Gateway,建 立与区域外移动网络和固话网络的联系。
3. MySQL 数据库,负责手机用户帐号管理,同时也负责传统移动网络中 HLR(Home Location Register)和 VLR(Visitor Location Register)的职能。
如果说目前商业的移动网络,离不开手机,基站(BTS),基站控制器(BSC),移动控制中心(MSC),以及(HLR/VLR)五大要素,那么 OpenBTS系统,事实上除了手机外,不需要其它四个要素,就可以组建一个实用的移动网络。是否就此可以做出结论,OpenBTS一旦成熟,将成为现有移动运行商的掘墓人呢?
Reference,
[1] Phone at burning man. Can you hear me now? (http://news.cnet.com/8301-27080_3-10348913-245.html)
[2] OpenBTS and its demo in the Burning Man’s festival, by David Burgess 2009. (http://www.slideshare.net/eCommConf/david-a-burgesss-presentation-at-ecomm-2009)
[3] Burning Man 2009 OpenBTS RF Chain. (http://gnuradio.org/trac/wiki/OpenBTS/BM2009RF)
移动网络山寨版(OpenBTS)的意义或者无意义 【1】的更多相关文章
- 移动网络山寨版(OpenBTS)【2】频段的故事
OpenBTS 系统有两个看点.一个是无线收发,尤其是频段的处理,另一个是网络系统,尤其是替代传统的基站(BTS),基站控制器(BSC),移动控制中心(MSC),以及(HLR/VLR)的另类方案. 先 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Java 网络编程----基本概念
网络现在是一个非常普遍的概念. 以下是维基百科上的解释: 网络一词有多种意义,可解作: 网络流也简称为网络(network).一般用于管道系统.交通系统.通讯系统建模. 有时特指计算机网络. 或特指其 ...
- BGP网络学习总结
1.前言 云计算在中国发展越来越快,企业逐步开始将业务迁移到公有云中,方便运维,节省成本.公有云最复杂的地方是网络,客户对网络的需求千奇百怪,造成网络环境极其复杂,稍有不慎,就会出现网络连通性 ...
- 转:TCP/IP协议(一)网络基础知识
转载:http://www.cnblogs.com/imyalost/p/6086808.html 参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知 ...
- TCP/IP协议(一)网络基础知识 网络七层协议
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- Neutron网络学习
学习 Neutron 系列文章: 转http://www.cnblogs.com/sammyliu/p/4622563.html (1)Neutron 所实现的网络虚拟化 (2)Neutron Ope ...
- Neutron 理解 (1): Neutron 所实现的网络虚拟化 [How Neutron Virtualizes Network]
学习 Neutron 系列文章: (1)Neutron 所实现的网络虚拟化 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
随机推荐
- python针对于mysql的增删改查
无论是BS还是CS得项目,没有数据库是不行的. 本文是对python对mysql的操作的总结.适合有一定基础的开发者,最好是按部就班学习的人阅读.因为我认为人生不能永远都是从零开始,那简直就是灾难. ...
- PHP设计模式之装饰器模式
装饰器模式:如果已有对象的部分内容或功能性发生改变,但是不需要修改原始对象的结构或不使用继承,动态的扩展一个对象的功能,则应该使用装饰器模式.简单点说:就是我们不应该去修改已有的类,而是通过创建另外一 ...
- android widget->progressbar
其中的indeterminteDrawable属性就是用来设置进度条颜色等属性的
- 将数组适配到ListView
public class TutListActivity extends ListActivity { @Override public void onCreate(Bundle savedInsta ...
- 关于GPS偏移的基础知识
转载地址 我们平时用到的地球坐标系统,叫做WGS84坐标,国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为的加偏处理,按照几行代码的算法,将真实的坐标加密成虚假的坐标, ...
- codeforces gym 100187M Heaviside Function
//大概就是没想起来怎么做 解法:首先观察seitan方程,发现我们要找的是满足seitan(si*x-ai)=1的方程数,即si*x-ai>=0的方程数,因为si=1 or -1,于是分类讨论 ...
- .net MVC内置js验证 jquery.validate.unobtrusive.js重置验证操作(备忘,找了很多次了)
(function ($) { $.validator.unobtrusive.parseDynamicContent = function (selector) { //use the normal ...
- STL set接口中使用结构体类型
需要在结构体中重载'<'运算符,下面是我写的一个例子: #include<iostream> #include<set> using namespace std; str ...
- c++冒泡排序的模板函数设计
说明 由于课程设计需要,特编写本程序.本程序首先定义了一个冒泡程序的模板函数,然后在main()函数中定义了两个不同类型的数组,调用模板函数对其进行排序.(注意,本程序是在linux下编写,但是直接拷 ...
- last reboot
last reboot是一个linux命令,查看上次重启时间等相关信息