cbench用来测试OpenFlow控制器或是OpenFlow网络虚拟化平台实在是太合适了。它的原理是不断循环产生“新的”流(注意是新的),从而用大量的packet-in消息检验控制器或是平台的抗压能力。通过发送packet-in消息和查看flow-mod消息下发的统计消息,将性能指标呈现给用户。

cbench毕竟不是mininet,它的着眼点在调试。所以,虽然cbench也能虚拟出许多多台交换机和大批主机,但是开放的参数很少。不过,这对于测试已经足够了。

安装配置过程如下,官网上的过程可以照搬。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#第一步:安装依赖包 无脑apt-get即可
$ sudo apt-get install autoconf automake libtool libsnmp-dev libpcap-dev
#第二步:安装oflops 因为cbench是在oflops环境下的 不要装在openflow目录下 同目录下即可
$ git clone git://gitosis.stanford.edu/oflops.git
#进入目录 完成更新
$ cd oflops; git submodule init && git submodule update
#第三步:安装openflow环境 接着进入分支
$ git clone git://gitosis.stanford.edu/openflow.git
$ cd openflow; git checkout -b release/1.0.0 remotes/origin/release/1.0.0
#第四步 安装libconfig包 对cbench编译配置
$ wget http://hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz
$ tar -xvzf libconfig-1.4.9.tar.gz
$ cd libconfig-1.4.9
$ ./configure
$ sudo make && sudo make install //容易出错权限不够 sudo 或者 sudo chmod 777 别忘了改回去
$ cd ../../netfpga-packet-generator-c-library/
$ sudo ./autogen.sh && sudo ./configure && sudo make //同理
$ cd ..
#第五步 可以开始安装cbench了
$ sh ./boot.sh ; ./configure --with-openflow-src-dir=<absolute path to openflow branch>; make
$ sudo make install //同理 安装好即可出现启动文件
$ cd cbench

以上的步骤中容易出两种情况的错误:

  • 权限不够,make报错 “xxxxxx Permission denied”,/usr/local/lib,include,share会出现
  • 依赖包补全,make报错“xxx: command not found”,笔者的错误是g++不识别,sudo apt-get install g++ 再次make就好了
    至此,cbench安装完成。可以使用cbench的各种参数完成你的仿真了。下面这行代码即可执行仿真命令(前提是本机上6633端口得有控制器),由于cbench有默认参数,所以这也是可以执行的。
    1
    2
    $ ./cbench
    $ ./cbench -h
    cbench的参数就都能看到了。参数的详细介绍可以见SDNAP

要想进行测试,还需要安装控制器。如POX或者Floodlight等。这比较简单,POX:

1
2
3
$ cd pox
# 启动
$ ./pox.py openflow.of_01 forwarding.l2_learning

Floodlight要稍复杂一点:

1
2
3
4
5
6
7
8
# 先安装操作环境,Floodlight是用Java写的所以要有标准JDK和构建工具ant Eclipse可选
$ sudo apt-get install build-essential default-jdk ant python-dev eclipse
$ git clone http://github.com/Floodlight/Floodlight.git //文件较大
$ cd Floodlight
$ checkout fl-last-passed-build
$ ant
# 启动
$ java -jar target/Flooglight.jar

根据个人经验,如果之前做个SDN的相关实验,有可能报错端口6633已被占用。这很可能是ovs-controller的开机启动导致的。

1
2
$ ps -aux | grep controller //杀干净吧
$ kill xxxx(进程号)

不过Floodlight的服务器可能还会启动不成功,不过并不影响实验。在Floodlight/src/main/resources/Floodlightdefault.properties中可以更改Floodlight的默认配置。

控制器也安好后,可以根据你的需要来启动测试了。cbench存储了范例,便是如下一行代码的结果。

1
./cbench -c localhost -p 6633 -m 10000 -l 10 -s 16 -M 1000 -t

-M 后的参数是不同MAC地址的主机数。根据个人体验,主机数较多点仿真出来的效果会比较好。

(处于隐私考虑,当事人名字均用化名代替)

“今天白天,我遇到一个人。让我在这个健忘的年代,回忆起了什么。

“在我初中阶段,有个女孩叫小伍,是我的同班同学。她发型蹩脚,其貌不扬,平日话也不多。每次同我讲话时,总会攥紧衣角。那时,我是成绩很好的那种。而她的成绩怎么努力也提高不了。她的问题总是很多,一有问题就会来找我。那时我年方十四,正是初恋的大好时光。小伍芳龄十五。可我却并不喜欢她。我喜欢隔壁班的小宛,却因为害羞不曾表白。这绝不是我现在的风格。转眼间,中考结束提交志愿,我们最后一次回到学校。小伍挤过人群,简单同我寒暄几句,将一张叠好的纸塞在我的手里。‘我猜你一定想要这个吧。’她没再说下去,微笑地又消失在人群里,留下纸上小宛的字体。这是小宛写给小伍的同学录。

“事后,我总觉得她还有什么没说,而那些没说的正是我一直的遗憾。这个遗憾,我从未向她谈起。

“后来,我去了市重点。她去了另一所学校。我以为自己一定再也见不到她了。在这里,我每天都能遇到许多陌生的人。我以为以我那可怜的记忆,一定渐渐就记不起她的名字了。就这样又过了两年。我再一次见到小伍是在网上,好友推荐里出现了她的名字。只是头像我一点都不认识。好奇地点进去,在惊讶中我愣了许久。大图里,她迎着光,长发垂肩,出落成一副亭亭玉立的模样。颤抖着,我羞赧地关掉了网页。深思熟虑下,还是点击了好友申请。到现在,我都能记起揣摩用词时,自己羞耻的样子。

“那时,有股莫名的伤感涌上心头。生活不会重演。我和小伍已不是数年前的关系。这么简单的道理,当时的我却不明白。行将陌路,覆水难收。

“就这样沉默着又过了半年,覆水突然有了重收的希望。她分手了,从每日的状态看得出来。不知为何,她把我选为倾诉的对象。也许是人在悲痛时总会犯傻吧。我陪她一聊一下午,一聊一晚上,一聊一夜。甚至,我们有几次约出来看球赛,对着空无一人的球场,嬉笑,怒骂。那段时光,我学业一落千丈,可是我很开心。她,我想,也很开心吧。在这开心里,我却有一丝的不安。因为我突然发现,除了这短暂的快乐,我没有什么东西可以留住她。

“果然,这快乐始于分手,终于爽约。又一次约去看球赛,空无一人的球场,嬉笑怒骂,只是只有我一个人。她消失了,消失得很彻底。连网上也找不到了。

“再后来,故事似乎开始快进。高考发挥有失水准,大学三年一晃即逝。好不容易,找到份工作糊口。终日西装革履,行走在高楼大厦间,单身。今天并不是双休日,我停下忙碌的脚步,在路边的甜点店要了个甜筒。准备歇会儿再走。这时,身边来了个也买甜筒的姑娘,红帽长裙,拖着拉箱。她转头的时候,我发现她是小伍。

“在那最后一个甜筒的时间里,我用尽浑身解数想让她注意到我。我做着鬼脸,做着各种奇怪的动作,在她身边。而小伍只是惬意地四顾。在这期间,她甚至望了我一眼。却只有礼貌的微笑。最后,她扬了扬手,走向远处的男子,没有一丝回头。就像,身边是个陌生人。

“在这里,我每天都能遇到许多陌生的人。若不是刻意,我也许已记不清她的名字了。在她离去的那一刻,我突然意识到,这离去似乎是必然的。因为我还有什么能留住她的理由呢?

–END–

远处天际射来温暖的光,闪得我睁不开眼。下午的宁静包围着我,追逐着我。

这一瞬,像鸟般飞翔。整个躯体,难言般轻松。整个躯体,飘在空中。

风吹向我下落的方向,呼啸着,不留情面。


猛地,我从梦里惊醒。刚才的情景原来只是个梦。不知为何,感觉如此真实。房间里寂静无声。斗室边的窗户外,有微弱的光。是个午后。

奇怪,身边怎么没人。

我洗了把脸,趿拉着拖鞋。推开一楼的门,外面是单元楼的小院,可是依然一个人都没看到。我一扭头,望着通向二楼的台阶。顿时,一股恐惧的感觉涌上来。

仿佛有人在悄悄说:“上来吧上来吧。”

我强忍住好奇,慢慢走向院外。院口的铁闸门半开着,依旧没有人。就在我迈步准备走出小院时,突然听到了人声。

“你醒了?”


猛地,我从梦里惊醒。什么?刚才又是个梦?睁开眼,母亲穿着围裙,正在床边笑着唤我。斗室边的窗户外,有微弱的光。是个午后。

我拿水抹了把脸,趿拉着拖鞋。推开一楼的门,外面是单元楼的小院,几个同单元的大妈正惬意着,仰卧在摇椅上闲聊。我仰起头,望向天空。高耸的单元楼压住我视野。

一扭头,又看见通向二楼的台阶。

那股恐惧感更强烈了。

一阵困意袭来,我无力地瘫在地上。

又是个梦吗?


我睁开眼。躺在那张熟悉的床。果然又是梦。房间里寂静无声。斗室边的窗户外,有微弱的光。是个午后。

奇怪,身边又没有人了。

推开卧室的门,墙上的时钟静止在13:41.厨房里,泡着水的电饭锅没有人管。几只洗干净的碗就放在池子边。一种诡异的吸引力愈发明显了。

看着通向二楼的台阶,脑海即将褪色的记忆,一点点聚合。无边的恐惧从身边包围。

再给我点时间,我就能弄清楚这一切了。

时间不多了。

眼前,院墙上的爬山虎一点点模糊。


我睁开眼,逃离那张熟悉的床。房间里寂静无声。斗室边的窗户外,有微弱的光。是个午后。墙上的时钟静止在13:41。

我套上拖鞋,朝母亲打声招呼,朝院外匆匆走去。

然而每一步,都比我想象的要艰难许多。通向二楼的台阶始终牵引着我,让我忍不住回头。

脑海里的记忆慢慢聚合,一阵阵剧痛袭来。

终于。我坐在院门口,无法动弹。


不知又过了多少次,有的时候,母亲在;有的时候又不知去了哪里。唯一不变的是墙上的挂钟,精准无比地指向13:41。

我用尽力量,企图远离台阶,走出院门。可是从没成功过。

而且,我隐约感觉,自己的力量一次不如一次。

脑海里,记忆一点点拼凑。消耗着我所剩无几的精力。


我爬下床,倚着墙,挤开卧室的门。墙上的时钟静止在13:41。我光脚走出门。终于倒在门口,正视着来自台阶的恐惧。

究竟为什么?!

模糊不清的意识里,一下子,回忆突然聚拢还原,一刹后又瞬间消湮。


我随着自己走上了台阶,一楼,二楼,三楼……


终于我意识到,这一切已无法挽回。

可是连流泪后悔的时间,都没有了。


我看着自己走上天台。看着自己纵身一跃。

远处天际射来温暖的光,闪得我睁不开眼。下午的宁静包围着我,追逐着我。

这一瞬,像鸟般飞翔。整个躯体,难言般轻松。整个躯体,飘在空中。

风吹向我下落的方向,呼啸着,不留情面。


–END–

(出于隐私考虑,当事人名字均为化名)


小D是我的高中同学,也是同桌兼好朋友。他做事踏实,平时话却很少,有什么新想法总会让我参谋参谋。所以他暗恋小丽这个秘密我第一个知道。

这是从刚分班没多久开始的,小丽成绩好人又俊俏,小D堕入情网符合贝努利的预测。小D学习挺努力,人也踏实认真,攻略小丽似乎十拿九稳。

为了以上一段简短的分析,小D请我吃了顿饭。秉着谈感情伤钱的原则,他觉得没什么不妥。

小D不仅话少,且真正有说话机会时,脑海里只能回忆起 “I’m fine thank you and you? I’m fine too!” 这样的糟糕句式。为了避免更多不必要的失误,他明智地将每次交流中的信息量交给我做大数据分析。然后得出最佳策略。

在他看来,这实在是一个万无一失的策略,因为我搭讪能力一流。

尽管开始,我对这种最优化策略不抱什么希望,不过进展却意外的顺利。小D每天仍会交给我许多小丽的信息,眉头却舒展了许多。

“计划成功!”我俩击掌喝彩。

可是高兴没持续多久,过了大概仅半个月,小丽的态度又渐渐冷淡下去。最后索性断了联系。小D和我分析了半天,也没搞清具体原因,最后只能归咎到“她又有新追求者了”。

小D倒也是条汉子,并未气馁,把精力投入在学习里,最后去了一所好大学。小丽到高考结束也没有谈成朋友。我则中规中矩,只是有幸和小丽考到了另一个城市。

故事到这里还没有结束。

我和小D在大学三年级的时候还见过一次面,他来我这个城市商量保研的事宜,顺道看我。聊着聊着就聊到了小丽,我告诉他:“小丽有男朋友了你知道么?”

小D意外地冷静:“哦。”

一片沉默后。

“其实我到高考甚至大学里都还一直喜欢着小丽,不过这么久了,今天突然听到这个消息,倒没有多大的震撼,似乎她从未属于过我似的。”

说完这番话,小D叹了口气。


我没有告诉过他,小丽的男朋友正是我。而这段感情的开始大约是在我和小D击掌后不久。我至今还记得她夸我的那句话:
“Y,我从未见到过一个人了解我那么多,我原来却一点都没意识到。”


–END–

一个凉爽的夜晚,Bill淡定地收拾着现场,他身边躺着一具新鲜的尸体。尸体旁是个血字“5”。Bill将带血的榔头、雨衣和手套一并收进旅行袋,轻松起身离去。

推开门后,Bill正欲走下楼梯。走廊的另一端突然冲上来一堆警察。“不许动!”警察们大喝。“好玩。”Bill冷笑一声,一闪再次躲进房内。

很显然警察们相当专业,没花什么功夫冲进屋内,将Bill包围起来。Bill身后正是那具温热却毫无生机的身体。他一步步后退,脸上却没有丝毫紧张。只见他将旅行袋甩在一边,耸耸肩说到:

“隔壁那人对么?”说罢神经质地笑了出来。

整个房间又陷入可怕的沉静。

警察们丝毫不敢冒进,慢慢向前逼近。Bill马上就无路可退了。

大约晚上11:30时,窗外路旁草丛里的情侣听到了从房间里传出的一声大笑。“哈哈——”Bill猛地仰身,手伸向裤兜的枪。随即被全副武装的警察们打成了筛子。


等警长K赶到时已经晚了,Bill已经死透了。K推开门口看热闹的人群和胆怯的等待领赏的隔壁宅男,焦急地奔进现场。看到屋内两具尸体时,K失望极了。

“抓住了,就是他。”身边的警探高兴地说。

这里的他指代着最近几月里一个连环杀人案的罪魁祸首,T市治安很好,凶手得到了政界舆论界的一致关注。凶手在每场凶案后还会在尸体的旁边写上血字,已经发现的三个按照时间顺序分别写着“1”“2”“3”。每次凶案的时间大约相隔半个月,而“3”出现后都过了一个月了,凶手还是没抓到。可以想见,市长的三令五申给了K巨大的压力。这次接到群众举报有可疑人员活动时,K扔下喝了一半的烈酒和莫名其妙的同事,就跑出了酒吧。

在发动那辆老爷车的过程里,K一个劲地在念叨:

“特勤队那帮呆子可他妈千万别把人给毙了”


K没有理会身边人的欢呼,又仔细地观察了下,犯罪方式与前几次完全一致,一样的杀人方式,一样的血字。估计不会有错了。身旁的鉴定科描绘好现场轨迹,把Bill清走后,死者的血字显露了出来。

“5,看来还有一场凶案没有被发现啊。”


之后又是几个月,这个系列凶案的余波还远未结束。Bill已被多方证据证明是凶手无疑;“4”的死者仍未被发现。悬赏下出现了不少冒领的“假凶案”。K和他的团队核查了失踪人口等各种资料,毫无头绪。

“看来得成为永远的谜题了。”手下的警探相当气馁。

“不像是他的作风。”K也只能推理到这里。最后因为一件新案子而放弃追究。

“真是奇怪啊。”手下的警探又补充一句。


一个凉爽的夜晚,Bill淡定地收拾着现场,他身边躺着一具新鲜的尸体。之前已经收拾掉三个人了,Bill想着,抓住那人的手,写起血字。正要下笔,Bill一迟疑,微笑地改变了最初的笔画,在地上写下了一个“5”。

0%