移动网络山寨版(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 ...
随机推荐
- javascript中,数组常用的方法有哪些?
答案: push pop shift unshift join sort concat reverse splice slice indexOf
- java压缩/解压缩zip格式文件
因为项目要用到压缩.解压缩zip格式压缩包,只好自己封装一个,对于网上流行的中文乱码的问题,本文的解决方法是用apache的包代替jdk里的.基本上还是比较好用的. 废话少说,直接上代码. } ...
- PHP扩展开发之PHP的启动与终止
PHP程序的启动可以看做是两个概念上的启动,终止也有两个概念上的终止.其中一个是PHP作为Apache(拿它举例,板砖勿扔)的一个模块的启动与终止, 这次启动php会初始化一些必要数据,比如与宿主Ap ...
- Wordpress 常用代码解释
1. 最新文章 Wordpress最新文章的调用可以使用一行很简单的模板标签 wp_get_archvies来 实现. 代码如下: <?php get_archives('postbypost' ...
- Python信息采集器使用轻量级关系型数据库SQLite
1,引言Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者为python网络爬虫存储数据.SQLite还在其它 ...
- 国外大神Leo-G的 DevopsWiki
https://raw.githubusercontent.com/Leo-G/DevopsWiki/master/README.md 总结的太好了,直接把md文件贴过来好了!慢慢学习!分享给大家,觉 ...
- MySQL query_cache_type 详解
MySQL设置查询缓存的用意: 把查询到的结果缓存起来,下次再执行相同查询时就可以直接从结果集中取:这样就比重新查一遍要快的多. 查询缓存的最终结果是事与愿违: 之所以查询缓存并没有能起到提升性能的做 ...
- [置顶] access函数-linux
表头文件 #include<unistd.h> 定义函数 int access(const char * pathname, int mode); 函数说明 检查是否可以读/写某一已存在的 ...
- raft 一致性算法
介绍: 过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑. 来自Stanford的新的分布式协议研 ...
- 全国计算机等级考试二级教程-C语言程序设计_第5章_循环结构
for循环结构的嵌套 外层循环每循环一次,内层循环会完整循环一次. 外层循环是竖. 内层循环是横. for, do...while, while的选择: 如果有固定次数,如阶乘! ,判断素数,用 fo ...