互联网是模仿蚁群而设计的么?

互联网是模仿蚁群而设计的么?

一群收获蚁生活在美国亚利桑那沙漠中,日复一日,收获蚁都要外出寻找种子作为食物,并运回蚁窝。对于他们来说,找不到种子,宁愿饿死、累死也不回窝。然而,沙漠中的天气有时会变得又热又干,食物减少,死亡危险增加。斯坦福大学生物学Gordon教授发现,每当这种天气来临,蚂蚁们就会自觉减少外出觅食的数量。难道说,蚁群中有位管家每天都查看天气预报,并且决定该派多少只蚂蚁出门么?并没有。

在蚁窝出口,等候外出的蚂蚁排着长长的队伍,每只回窝的蚂蚁在放下食物之后,都会与排队的蚂蚁互相碰碰触角。这些排队的蚂蚁会根据回窝蚂蚁的数量和频率来判断自己是否需要外出觅食。天气干热,蚂蚁找不到食物或者死掉,回窝的蚂蚁就会变少,排队的蚂蚁就不会大量出动。所以说,单只蚂蚁之间的交互决定了整个蚁群的觅食行为。一只蚂蚁也许并不聪明,整个蚁群却似乎拥有了智慧!

沙漠中有干热的天气,互联网中也有宕机和过载。蚁群的目标是收集食物,避免蚂蚁牺牲;互联网的目标则是传输文件,避免网络过载。斯坦福大学电子工程与计算机科学Prabhakar教授发现,实际上,互联网中的文件传输与蚂蚁的觅食行为非常相似。

传输控制协议TCP会将文件分成众多小包,这些小包叫做package。一些package会被先发出去,并且监控是否被成功接收,成功则返回ACK码,类似于邮件回执;如果宕机或过载出现,很慢或无法收到回执,服务器就会减慢甚至停止队列中剩余package的发送。

发出一个package就像一只蚂蚁外出觅食,收到ACK回执则类似于蚂蚁找到食物回窝。蚂蚁回来得又多又快,说明食物充足,那么就派出更多的蚂蚁。ACK回执快速及时,则说明网络带宽良好,那么赶快把剩下的package发出去吧。

蚁群依靠单只蚂蚁之间的交互控制觅食行为,互联网依靠单个package之间的发送与接收,控制拥堵和过载。不需要先知或强大的管理者存在,个体的简单协作即可以控制群体行为。TCP协议的这个设计思想使得网络具有了可伸缩性,使得任何网络都可以连接到一起,成为今日互联网的基石。

实际上,研究者们已经发现了很多生物系统与计算机系统间的相似之处。比如,粘液菌与网络路由,蜂群与分布式搜索,塘鹅与空间分割算法等等。

下一次你在厨房里发现蚂蚁的时候,别急着宣战。单只蚂蚁也许比较笨,但整个蚁群的能力不容小视,也许比你还要聪明哦。

编译&语音:Mia
原作者:Rosie Cima
原文链接:http://priceonomics.com/the-independent-discovery-of-tcpip-by-ants/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 蚂蚁是一种社会性昆虫。所谓社会性,就是有类似人类社会的各种特性。除了蚂蚁,一些蜂类比如蜜蜂黄蜂都有。蚂蚁的起源非常...
    09f70d5e7741阅读 49,793评论 12 31
  • 00:12 I study ants in the desert, in the tropical forest ...
    造物家英语阅读 677评论 0 0
  • 从戎人生, 血色志, 豪情万丈。 铸军魂, 冬练三九, 夏练三伏。 钢铁意志军中砺, 铁骨铮铮誓为国。 好儿男, ...
    山边兰阅读 664评论 0 3
  • ❀01❀ 有一个叫丹尼的24岁女孩,她上了奇葩说的现场。从一上场她就不停地笑,很卖力很夸张的表演,竭力想表现出搞笑...
    4a34c445cdc5阅读 2,434评论 0 0
  • 迭代器 迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,...
    程猿先生阅读 189评论 0 0