Bojie Li (李博杰)
2013-09-04
IP 足够了吗?
从初中的计算机课开始,我们就在学习计算机网络所谓的 “OSI七层模型”,记得当年死记硬背了一大堆概念。那些烂课本毁了多少计算机天才,其实这个模型并不难理解:(学过计算机网络的请自行跳过)
- 物理层:就是信号传输的媒介,光纤、双绞线(我们常用的网线)、空气(wifi)……每种介质都需要自己的编码和调制方式,才能把数据变成电磁波送出去。
- 数据链路层:拿开会打个比方。说话可能不小心说错或者听错,需要有纠错、让对方重说的机制(校验和、重传);几个人都想发言,需要有一种方式进行仲裁,谁先说谁后说(信道分配、载波监听);一个人发言前后需要示意,以便让别人知道他说完了(成帧)。
- 网络层:这是计算机网络初期争议最大的地方。电信行业的传统巨头认为,应该像打电话一样在两端点间的路径上预留出一部分带宽,建立起通信双方的 “虚电路”。而当时正处于冷战时期,美国国防部要求建立起的网络在中间几条线路遭到毁灭性打击时,通信仍然不能中断。于是,最终采用了 “分组交换” 方案,把数据分成若干小块分别封装和投递。就像寄信一样,要投递到远方的机器,就要在信封上写明地址,而且地址要使得邮递员看到它就知道该走哪条路送给下级邮局(比如用身份证号作为地址就是个很糟的主意)。IP 协议是网络层协议的事实标准,大家应该都知道 IP 地址。
- 传输层:计算机网络早期最重要的应用就是在两台计算机间建立“连接”:远程登录、远程打印、远程访问文件……传输层就是在网络层数据包的基础上,抽象出连接的概念。这里的“连接”跟“虚电路”的主要区别是“虚电路”要预留一定的带宽,而“连接”是尽力而为投递的,不对带宽作任何保证。由于互联网上的流量多是突发(burst)的,分组交换比虚电路提高了资源利用率。事实上,历史往往是轮回的,如今在数据中心里,由于流量可预测且可控,又正在回到中心控制的预留带宽方案。
- 应用层:这就不用多说了,Web 基于的 HTTP、FTP、BitTorrent 都是应用层协议。
2013-09-01
Update (2014-09-29): 由于 mirrors 配置文件里有一些不适合公开的内容,现在配置文件不再公开,本文中的一些链接变成了死链,非常抱歉。
由于科大开源软件镜像(mirrors.ustc.edu.cn)发生磁盘故障,stephen、tux 和我 (boj) 都不在学校,加上7月 mirrors 出故障之后就一直没恢复彻底,是时候推倒重来了。这次 mirrors 重建要完全由在校的同学们完成,这也是锻炼技术的一个机会。这里,我来简要解释开源软件镜像包括哪些部分,应该如何搭建。由于 sourceforge 还在等着我们同步,希望能在三天内恢复基本服务,一周内重建好包括同步在内的整个系统。
WTF?
所谓开源软件镜像,就是从官方站点同步一些 GNU/Linux 发行版和知名开源软件的软件仓库。用户通过修改配置文件,就近使用软件仓库镜像,以加快下载速度,减轻官方站点的负载。
2013-08-23
Note: 本文的目标读者是计算机专业学生和希望深入了解计算机的朋友们。
今天参加了微软学生夏令营的 Windows Azure Camp,大约从下午 16:00 到晚上 21:30。共有10个队,每个队分为四组,其中 Coding 组有必做题和选做题。必做题是,在 Windows Azure 云平台上,搭建一个 Web 应用,用户上传图片,把图片旋转后显示给用户,并保存到云存储上。选做题是,把用户上传的原图和旋转后的图片拼成一张图片。(我没有听题,可能不准确,见谅)
我没有在自己的队里工作,而是在场里四处乱转,跟各队选手聊聊天,看大家都在干什么。初看起来,似乎有点像 ACM 的赛场。
2013-08-22
8月21日下午 16:00~17:30,2013 MSRA Summer Camp 的 Poster 环节在微软亚洲研究院公共展示区举行。参加活动的有参加夏令营的微软小学者和各高校微软俱乐部成员、MSRA Researcher & Intern。
本来我没想展示什么,在活动组委会的要求下,我选择了 Blog 和 Freeshell 作为展示项目。在组委会的建议下,修改成了 “Cloud Services in USTC” 这个看起来很大、很时髦的标题。
2013-08-20
上图(点击看大图):我们 Xbox 队在今天活动中获得第一名的作品。比赛形式是在20分钟内,用若干根筷子、若干张报纸、一卷胶带和一根胶棒,制作高度最高、最美观的“塔”。Xbox 队以高度100分(最高)、美观70分,总分170分,在现场10支队伍中夺冠。
8月23日19:00,2013 微软学生夏令营第0天“破冰之旅”在微软大厦 Tower #1 一楼举行。(吐槽一下名字,“破冰之旅”,还以为是对立阵营要谈判呢)近200名来自全国各高校的微软小学者和微软学生俱乐部代表参加活动。刚开场,主持人的一句“让大家互相认识自己”就雷倒一片。
2013-08-03
802.11a/g wifi 路由器上标称的是 54Mbps,除个8,至少也有 6MB/s 啊。为什么实际速度只有 2M 多呢?网上的解释大多语焉不详,我只好班门弄斧了,欢迎指正。
Wifi 通信在一个给定的载波频段(频道)上进行,就像大家在大厅里说话一样,每个人说话都会干扰到其他人。
为什么不多搞一些频道呢?一方面,可以不申请许可就使用的 ISM 频段在适合无线通信的 2.4GHz 区域是很有限的;另一方面,为了保证通信速度,频道不能太窄。在 802.11a/g(wifi 协议)中,频道宽度是 22MHz,共划分出 14 个频道(其中有些频道在有些国家不属于 ISM 频段)。每个频道对周围的频道也有干扰(见下图),这就是无线路由器有十几个频道,但只有相隔较远的 1、6、11 频道才能同时使用的原因。
2013-08-03
导读:这是“走进 SIGCOMM 2013”系列的第二篇。Google 首次将其数据中心广域网 (WAN) 的设计和三年部署经验完整地公之于众,这篇论文可能被评为 Best Paper。为什么 Google 要用 Software Defined Networking (SDN)?如何把 SDN 渐进地部署到现有的数据中心?透过论文,我们能窥见 Google 全球数据中心网络的冰山一角。
带宽的巨大浪费
众所周知,网络流量总有高峰和低谷,高峰流量可达平均流量的 23 倍。为了保证高峰期的带宽需求,只好预先购买大量的带宽和价格高昂的高端路由设备,而平均用量只有 30%40%。这大大提高了数据中心的成本。
2013-08-02
作者按:从今天起,本博客将陆续推出一系列文章,走进即将举行的通信领域顶级学术会议 SIGCOMM 2013,看看世界各地的 Wireless & Networking 研究者们都在做什么。尽管这些看起来很 fancy 的设计在生产环境中有可能完全不 work,但它们至少给我们提出了一些可能的方向。
Ambient Backscatter: Wireless Communication Out of Thin Air
从空间吸收能量并用作电源,这听起来是不是很疯狂?华盛顿大学研究团队制作了不需要电源的 RFID 卡,可以从每个城市都有的 TV Tower 获取能量用于支持传感器和单片机工作,并反射 TV Tower 射频信号的能量,实现两个相距不超过 50~75 厘米的 RFID 卡之间的自主通信,通信速度可达 1kbps。套用一句广告词,就是 “我们不生产信号,我们只是电视信号的搬运工”。
2013-07-25
万通驿馆的无线网络是需要用户名密码进行认证的。在 Windows 上,只要连接上 “Vantone Inn” 这个接入点,就会弹出浏览器窗口,显示用户认证界面。访问任意 HTTP网址,也会跳转到认证界面。认证成功后,无线网络就畅通无阻了。今日某同学问我,这个接入点怎么这么NB,能强制电脑弹出窗口,莫非是病毒?
这个问题我也不知道,于是就抓了抓包,然后 Google 了一把。为了便于理解,我们先不讨论自动弹出浏览器,先想想如何实现“访问任意 HTTP 网址都会跳转到认证界面”。
2013-07-24
根据微软小学者项目的要求,我要给必应的产品提一些建议。我注意到,在 MSRA,似乎大多数人用的是 Google,为什么大家不用微软自家的 bing 呢?下面是一些技术层面的比较。
精确匹配能力
搜索关键词是 “b4: experience with a globally-deployed software defined wan”,是 SIGCOMM 2013 的一篇 paper,大约6月时被公布出来。
在 Google 中,只输入了三个关键词,自动补全就已经出来,结果第一条是 paper 本身,第二条是 SIGCOMM 官方网站,第一页的10条结果全部是相关的。