本文的目的就是带你轻松了解无冕之王:因特网
这个世纪是一个以网络为核心的信息时代。万物皆数据、万物皆信息是这个时代的重要特征。
完善的网络是万物皆信息的命脉,因为网络可以非常迅速地传递信息。网络对社会生活的很多方面以及对社会经济的发展已经产生了不可估量的影响。
在所有网络中,发展最快并起到核心作用的是计算机网络。计算机有两个重要的功能:连通性和共享。
而在所有计算机网络中,最特别的就是因特网。
因特网是起源于美国的,现已发展成为世界上最大的国际性计算机互联网。
为了更好的阅读后面的内容,在这里先简单介绍网络、互联网(互连网)、因特网的一些最基本的概念。
网络(network)由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等,如下图:
简单的网络(a)和由网络构成的互联网(b)
用一朵云表示一个网络,目的是可以暂时不去关心网络中的细节问题,这样可以集中精力研究与网络互连有关问题,而不被细节干扰。
从上图可知,网络和网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此互联网是“网络的网络”(network of networks)。
因特网(Internet)是世界上最大的互连网络。习惯上,大家把连接在因特网上的计算机都称为主机(host)。因特网也常常用一朵云来表示,如下图表示许多主机连接在因特网上。
通过上面的内容,我们可以建立这样的认知:
网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。
因特网的雏形就是使用了 TCP/IP 协议的 ARPANET,这一年是1983年。这个网络是美国国防部创建的。所以说因特网的前身就是 ARPANET。这个网络在1990年正式关闭,因为它的实验任务已经完成。
从1985年起,美国国家科学基金会NSF (National Science Foundation)就围绕六个大型计算机中心建设计算机网络,即国家科学基金网NSFNET。它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。这种三级计算机网络覆盖了全美国主要的大学和研究所,并且成为因特网中的主要组成部分。1991年,美国政府决定将因特网的主干网转交给私人公司来经营,并开始对接入因特网的单位收费。
从1993年开始,由美国政府资助的NSFNET逐渐被若干个商用的因特网主干网替代,而政府机构不再负责因特网的运营。这样就出现了一个新的名词:因特网服务提供者ISP (Internet Service Provider)。在许多情况下,因特网服务提供者ISP就是一个进行商业活动的公司,因此ISP又常译为因特网服务提供商。例如,中国电信、中国联通和中国移动就是我国最有名的ISP。
这个时期逐渐形成了多层次 ISP 结构的因特网。
因特网上的主机都必须有IP地址才能上网,而ISP可以从因特网管理机构申请到很多IP地址,同时拥有通信线路以及路由器等连网设备,因此任何机构和个人只要向某个ISP交纳规定的费用,就可从该ISP获取所需IP地址的使用权,并可通过该ISP接入到因特网。所谓“上网”就是指通过某个ISP获得的IP地址接入到因特网。
现在的因特网已不是某个单个组织所拥有而是全世界无数大大小小的ISP所共同拥有的,这就是因特网也称为“网络的网络”的原因。
如下图,说明了用户通过ISP上网(有线接入或无线接入):
根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分成为不同的层次:主干ISP、地区ISP和本地ISP。如下图,基于ISP的多层结构的因特网的概念示意图,图中同时给出了主机A经过许多不同层次的ISP与主机B通信的示意图:
IXP,因特网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分。
因特网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看,可以划分为以下的两大块:边缘部分、核心部分。
边缘部分:由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。
我们说:“主机A和主机B进行通信”,实际上是指:“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”。由于“进程”就是“运行着的程序”,因此这也就是指:“主机A的某个进程和主机B上的另一个进程进行通信”。这种比较严密的说法通常可以简称为“计算机之间通信”。
在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。
客户-服务器工作方式:
对等连接工作方式:
网络核心部分是因特网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。
在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(但不是主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
位于网络边缘的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。
主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。
路由器则是用来转发分组的,即进行分组交换的。
路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。
这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。
各路由器之间必须经常交换彼此掌握的路由信息,以便创建和维持在路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。