专栏名称: quantOS
quantOS 量化开源系统的一站式解决方案
目录
相关文章推荐
51好读  ›  专栏  ›  quantOS

生活中的网络

quantOS  · 公众号  ·  · 2018-03-15 12:16

正文

请到「今天看啥」查看全文


一、日常生活中的案例

案例 1 :因为工作关系,经常要坐飞机往返于京沪两地。我在飞机上喜欢听听音乐,看看航空公司的杂志。每家航空公司都会在杂志最后几页,详细介绍自己的航线网络,航空公司用“航线网路”把世界各地的城市连接在了一起。


一张海南航空航线网络图


案例 2 :我的夫人在电信运营商 “中国联通”工作,设计最新的“ 5G ”网络商用方案。手机终端、固话、无线基站、骨干光纤网络节点、核心交换枢纽等等,都是需要考虑的事情。“ 5G ”网络建成使用后,用户将能享受到更高品质的语音通话、视频通话、无线宽带上网服务。电信运营商用复杂的“电信网路”将世界各地的人们连接在了一起。

案例 3 :我们有一个开源项目 quantos ,已经有了数千的注册用户。为了方便为用户服务,我们建了两个微信群。用户有问题只要在群里反馈,我们的工程师就会第一时间去解答。对于比较复杂的问题,很多用户还会选择与我加个好友,一对一私聊。在微信上,我不但可以为 quantos 用户提供服务,还可以每天与我的家人、朋友、同事聊天,在朋友圈分享我的文章。微信是腾讯公司的核心产品,通过软件和互联网之上的“社交网络”,为全球超过 10 亿人提供服务。


“航线网络”、“电信网络”、“社交网络”都是生活中的网络,这样的例子还有很多。在大学有一门专业的课程“计算机网络”,讲解在计算机的世界里,网络是如何构成的,都能做些什么,这也是本文需要讲述的重点内容,不过我们不讲理论,只谈应用场景。

二、如何理解网络


先思考一下,网络的核心要素有哪些?我自己总结,一共有三个核心要素:

1 )参与网络的节点

2 )节点之间的连接关系

3 )在相互连接的节点之间能够传递的信息或服务


  • 在“航线网络”中,节点是各大城市,连接关系是航线是否开通,节点之间传递的是航空运输服务。

  • 在“电信网络”中,节点是各类电信设备,连接关系是设备间的连通,节点见传递的是电信服务,包括打电话、看视频、发短信等等。

  • 在微信“社交网络”中,节点是微信客户端和微信的中心服务器,连接关系除了客户端和服务器之间的连接外,还包括微信提供的好友、朋友圈等虚拟的连接。节点间传递的就是微信提供的聊天、语音、视频、朋友圈等等服务。


可以说,我们每个人都生活在各种各样的网络中,享受着网络给我们带来的便利,也承受着网络带来的影响和冲击。我们无法离开网络而独立生存。


网络如此重要,那谁拥有网络、如何构建和运营一个网络?

  • “航空网络”是由航空公司建设和运营的。航空公司通过扩大航线把更多的城市加入到网络中,为客户提供更好的航空运输服务。

  • “电信网络”是由电信公司建设和运营的。电信公司通过设备扩容、新建基站、赠送手机和流量套餐等各种手段,扩大网络容量和用户数量,提高市场影响力。

  • “社交网络”微信是由腾讯公司建设和运营的。腾讯通过各种手段引导用户注册、下载和使用微信进行聊天和工作,在微信平台上开发支付、公众号、小程序等社区生态,不断扩大影响力,已成为世界上最大的“社交网络”之一。


网络从来都不是孤立运行的,网络之间的互联互通和融合是重要的网络扩张手段。

  • “共享航班”是不同的“航空网络”互联的结果。

  • “电信网络”互联互通是国家法规的要求,联通用户和电信用户可以顺畅打电话。

  • “社交网络”通过“三方认证”、“分享”等手段实现了用户和内容的交叉融合。你可以用微信的账户登录新浪微博,再把新浪微博的文章分享到微信的朋友圈。


三、互联网

互联网已经成为人们日常生活的重要组成部分。这个网络有一些不同寻常的特点:

  • 是全世界最大的网络。

  • 没有一个确定的拥有者。互联网实际上是由全世界各国政府和组织共同建设、运营和维护的一张网络,没有一个国家或组织拥有其所有权。

  • 全世界在以互联网为基础,开发了大量有巨大商业价值的应用,比如“社交媒体”、“电子商务”,并且诞生了“移动互联网”、“物联网”等全新的生态。

  • 事实上,我们每个人已经无法离开互联网了。

互联网是在国际社会共同的努力下发展起来的,没有一个国家、公司或组织可以控制或者主导互联网的发展,协议和技术标准是互联网的发展逻辑和推动力。


1 OSI 网络模型和 TCP/IP 协议族

这应该是互联网最基础的协议,是互联网的基石。

这里面,不同的参与者可以关注不同的层次,如:

  • 网络设备制造商需要关注链路层、网络层、传输层的协议,但可以不关心应用层。

  • 应用开发者可以在传输层之上,只关注应用层的协议,不需要关注网络和链路层的实现

2 、基础应用协议

1 )万维网协议 HTTP HTTPS

2 )文件传输协议 FTP SFTP

3 )域名解析协议 DNS

4 )邮件传输协议 SMTP POP3

5 )远程访问协议 Telnet SSH

Socket 套接字是建立在 TCP/UDP 上的抽象层,方便用户进行网络操作。


3 、高级应用协议

在基础应用协议上,为了适用特殊的应用场景,又开发出了很多高级应用协议。如:实时视频传输协议 RTP/ RTCP

除了这些通信协议外,在互联网发展的过程中,一些核心的公司和组织还制定了许多的技术标准,如 HTML5 JavaScript 。这里面最重要的软件就是浏览器, Chrome IE Firefox 是最主流的三大浏览器,在技术标准上,也存在大量不兼容的情况。移动互联网上,则存在终端技术标准之争,有苹果公司 ios google android 两大阵营。

网络结构

互联网是一个大集合,里面有无穷无尽的应用,但应用的拓扑结构却非常精炼。

1 、星形拓扑,即客户端服务器模式。如下图所示:

  • 网站 WWW 服务,就是一种典型的星形结构。处在中心的是 Web 服务器,用户通过浏览器连接到中心服务器获取信息和服务。

  • FTP 服务,也是星形结构,中心是 FTP 服务器,四周是 FTP 客户端

  • 类似的例子还有:视频点播、电子商务、社交媒体,都是一种星形网络结构


星形拓扑的优点是:简单清晰,客户端只和服务器通信,客户端之间不通信,信息集中存储。缺点是:这种结构需要保障中心服务器的绝对稳定性,所以需要采取负载均衡、集群热备、容灾转移等技术手段。星形拓扑对中心服务器的资源和网络都有很高的要求。


2 、网状拓扑,如下图所示:

在网状拓扑中,没有明显的中心节点,每个节点都可以与另外的节点有连接和数据传输。使用这种拓扑的最典型的应用是“ P2P 对等网络”。在 P2P 网络中 , 每个参与的节点既是服务器又是客户端 , 既是信息的提供者又是信息的消费者。 P2P 网络一般包括信息查询和信息服务两个阶段,通过查询可以获取到所需信息的位置,然后再通过点对点信息服务获取。有一些 P2P 网络有中央的信息检索节点,只负责保存信息的位置,供其他节点检索使用。现在纯粹的 P2P 网络已经不需要中央信息检索节点了。


P2P ”网络典型的应用包括:

  • BitTorrent 文件下载。 BitTorrent 协议是架构于 TCP/IP 协议之上的一个 P2P 文件传输协议,处于 TCP/IP 结构的应用层。 BitTorrent 对于大型的视频、影音文件的传输,大大提高了效率,节省了中央服务器的带宽。

  • 比特币账本区块的传播。比特币使用 P2P 作为底层的账本区块链同步技术,每个节点可以向其他节点请求或广播最新的区块信息,是一个无任何中心节点的纯 P2P 网络。为了保证网络的运行,比特币网络维护了一些长期稳定运行的节点(大约 10000 个左右),比特币客户端一般也会维护一个稳定运行的客户端列表。新客户端首先会去连接这些稳定的客户端获取最新的区块信息,然后再扩散到其它客户端。


P2P 网络是比特币运行的基础。


四、网络控制

虽然网络的精神是自由、开发、平等。但在现实中,对网络的控制永远都存在。

1 、在微信平台上,腾讯拥有绝对的主导权,可以在微信中屏蔽“淘宝网”的链接,虽然这是那么的不方便。作为回报,在支付宝上你也打不开微信的红包。

在微信里输入“天猫”网址的效果


2 、各国政府都会对互联网进行一定程度的干预和控制。包括但不限于过滤不健康的内容、反政府的言论、不真实的谣言,限制某些节点的访问等。

3 、互联网巨头牢牢控制着访问入口,为了自己的商业目的,对用户获取的内容进行干预。案例就太多了,比如搜索引擎通过竞价排名对搜索结果进行修改,电商网站通过付费广告对商品推荐进行干预等等。

虽然如此,我们还是坚信,互联网的明天应该会更加包容和开放。 P2P 网络就是一种方向,比特币就是一个很好的案例。








请到「今天看啥」查看全文