既然入了网工的坑,那么我们首先就需要对网络的发展历程有个大致的了解。这就好比日后别人问起你的奋斗史,假若你连自己的奋斗历程都说不明白,这可就有点尴尬了。好了,闲话少说,咱们步入正题。
前言
虽然计算机网络仅仅经历了几十年的发展历程,但如今它已经成为了人们生活中不可或缺的一部分。21世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。要实现信息化就必须依靠完善的网络,因为网络可以迅速的传递信息,网络已经成为信息社会的命脉和发展知识经济的重要基础。
一、 Internet的发展历程
互联网的基础结构大致经历了三个阶段的演进。这三个阶段在时间划分上并非截然分开的,而是存在部分重叠,这是因为网络的演进是渐变的,而非在某一天突然发生了质的飞越。
- 从单个网络ARPANE向互联网发展的过程。
1969年美国国防部创建的第一个分组交换网络ARPANET最初只是一个单个的分组互联网(当时连一个互连的网络都算不上)。所有要连接在ARPANET上的主机都直接与就近的结点交换机相连。但是到了20世纪70年代中期,人认识到不可能仅使用一个单独的网络来满足所有的通信问题。于是ARPA开始研究多种网络(如分组无线网络)互连的技术,这就导致了互连网络的出现。当时的美国国防部只是希望通过网络加快信息的传递,以此应对可能面临的威胁,因此,互联网的诞生只是一个意外。他们未曾想到,有朝一日,网络会成为人们生活中不可或缺的一部分。
此时的互连网络就成为了现如今互联网的雏形。1983年TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互联网进行通信。因而人们把1983年作为互联网的诞生时间。1990年ARPANET宣布关闭,因为它的实验任务已完成。
- 建成三级结构的互联网
从1985年其,美国国家科学基金会NSF(National Science Foundation)围绕六个大型计算机中心建设计算机网络,即国家科学基金会网NSDNET。它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。该三级网络覆盖了全美主要的大学和研究所,并成为互联网中的主要组成部分。1991年,NSF和其他政府机构开始认识到,互联网必将扩大其使用范围,不应当仅限于大学和研究所。此时,世界上许许多多的公司纷纷接入到互联网,使得网络上的通信量急剧上升,互联网当时拥有的容量已经无法满足需求。于是美国政府决定将互联网的主干网转交给私人公司经营,并开始对接入互联网的单位收费。1992年互联网上的主机超过100万台。1993年互联网主干网的速率达到45Mbit/s(T3速率)。
- 逐渐形成的多层次ISP结构互联网
从1993年开始,由美国政府资助的NSFNET逐渐被若干个商用互联网主干网取代,政府机构不再负责互联网的运营,这就出现了一个新名词:互联网服务提供者ISP(Internet Service Provider)。在多数情况下,ISP就是一个进行商业活动的公司。例如中国电信,中国移动,中国联通等公司就是我国有名的ISP。
ISP可以从互联网管理机构申请到很多IP地址(互联网上的主机必须有IP地址才能上网),同时还拥有通信线路(大的ISP公司自己建造通信线路,小的ISP公司租用大ISP公司的通信线路)以及路由器等连网设备,因此任何机构和个人只要向ISP交纳规定的费用,即可从该ISP获取所需IP地址的使用权并接入互联网。我们常说的所谓的“上网”,就是指接入到互联网。IP地址的管理机构不会把单个的IP地址分配给单个用户,而是把某一批IP地址有偿租赁给经审查合格的ISP(IP地址管理机构只搞批发,不搞零售哈哈)。由此可见,现在的互联网为世界无数大大小小的ISP共同拥有,这就是互联网也被称为“网络的网络”的原因。
-----------------------------------------分割线------------------------------------------------
二、 互联网的标准化工作
互联网的迅猛发展始于20世纪90年代。由欧洲原子核研究组织CERN开发的万维网WWW(world wide web)被广泛使用在互联网上,大大方便了广大非网络专业人员对网络的使用,成为互联网指数级增长的主要驱动力。万维网的站点数目也急剧增长。
下图为1993-2016年互联网用户增长情况
俗话说得好:“没有规矩,不成方圆”。随着互联网的迅猛发展,世界各国都广泛的使用互联网作为通信手段。但此时的互联网并没有统一的标准,因此给用户带来了较大的不方便。制定国际标准是一个非常复杂的问题,这里面既有很多技术问题,也有很多非技术问题,如不同厂商之间经济利益的争夺(如大家所熟知的Cisco和华为设备问题)。
由于从1992年开始,互联网不再归美国政府管辖,因此成立了一个国际性组织:互联网协会(Internet Society,简称ISOC),以便对互联网进行全面管理以及在世界范围内促进其发展和使用。ISOC下辖技术组织为互联网体系结构委员会IAB(Internet Architecture Board),负责管理互联网相关协议的开发。
IAB也有两个下辖机构:互联网工程部IETF(Internet Engineering Task Force),IETF是由许多工程组WG(working group)组成的论坛,这些工作组划分为若干个领域,每个领域集中研究某一特定的短期和中期工程问题,主要是针对协议的开发和标准化。
另一个下辖机构为互联网研究部IRTF(Internet Research Task Force),是由一些研究组RG(research group)组成的论坛。任务是研究一些需要长期考虑的问题,包括互联网的一些协议、应用、体系结构等。
这些机构制定的所有网络标准都是以RFC(request for comments)的形式在互联网上发表的,所有的RFC文档都可以从互联网上免费下载。但并非所有的RFC都是网络标准,只有少数RFC文档最后才会变成互联网标准。
制定互联网的正式标准要经过一下三个阶段:
⑴ 互联网草案——互联网草案的有效期为六个月,此阶段不能成为RFC文档。
⑵ 建议标准——RFC文档
⑶ 互联网标准——达到正式标准后,每个标准就分配到一个编号STD xx。一个标准可以与多个RFC文档关联。
-----------------------------------------分割线------------------------------------------------
三、 互联网的组成
互联网的拓扑虽然非常复杂,但从其工作方式上看,可以划分为如下两类:
- 边缘部分
由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。这些主机又称为端系统(end system),也就是我们常说的终端。边缘部分利用核心部分所提供的服务,使众多主机之间能够互相通信并交换或共享信息。
我们首先要明确一个概念:主机A与主机B进行通信,实际上指的是“运行在主机A上的某个进程和运行在主机B上的另一个进程进行通信”。这种比较严格的说法通常可简称为“计算机之间的通信”。
端系统之间的通信方式通常可划分为两大类:客户-服务器模式(C/S)和对等模式(P2P模式)。
⑴ 客户-服务器模式
是互联网上最常用、最传统的方式。我们在发邮件。查资料时,使用的就是C/S模式。
客户(client)服务器(server)是指通信中所涉及的两个应用进程,C/S模式描述的是进程之间服务与被服务的关系。客户是服务请求方,服务器是服务提供方。他们都要使用网络核心部分所提供的服务。
⑵ 对等连接模式
对等连接是指两台主机在通信时并不区分哪一个是服务请求方,哪个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方存储在硬盘中的共享文档。
- 核心部分
网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘的大量主机提供连通性,使边缘部分的任意一台主机能够向其他主机通信。
在核心部分其特殊作用的是路由器,是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组。交换又分为电路交换和分组交换。
⑴ 电路交换
电话问世后不久,人们便意识到,要让所有的电话两两相连来进行通信,这是非常不现实的。其工作量之大,耗费的人力物力之多,是人们所难以接受的。于是人们想的使用一台中间设备,将所有的电话连接到这台中间设备上,从而使所有的电话可以相互通信。这就是电话交换机,使用的交换方式为电路交换。
当电话机的数量增多时,就要使用很多彼此相连的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。
从通信资源来看,交换就是按照某种方式动态地分配传输线路的资源。在使用电路交换之前,必须先拨号请求建立连接。当被叫用户听到交换机发来的提示音并摘机后,主叫端与被叫端就建立了一条连接,也就是一条专用的物理通路,此后主叫与被叫双方就能相互通话。这条连接保证了双方通话时所需要的通信资源,这些资源在双方通信时不会被其他用户占用。通信完毕挂机后,交换机释放之前建立的物理通路。
这种必须经过 建立连接(申请并占用通信资源)→通话(持续占用通信资源)→释放连接(归还通信资源)三个步骤的交换方式称为电路交换。
电路交换的重要特点:在整个通信时间内,进行通信的两个用户始终占用端到端的通信资源。在使用电路交换传输计算机数据时,其线路利用率很低。
⑵ 分组交换
与电路交换的即时交换相比,分组交换则采用存储转发技术。下图表示把一个报文重新划分为几个分组后再进行传输。分组是在互联网中传输的数据单元,分组中的首部包含了诸如目的地址和源地址等重要控制信息,每个分组可以在互联网中独立地选择传输路径,并最终正确的交付到传输终点。
以分组为基本单位在网络中传输
在分组传输的过程中,位于网络边缘部分的主机为用户进行信息处理,并可以通过网络和其他主机交换信息。路由器用来转发分组,进行分组交换。
路由器收到一个分组后,先暂时储存一下,检查该分组的首部,按照其目的地址查找路由表,找到合适的接口转发出去。这样通过N个路由器转发后,最终将分组交付给目的主机。
下图为各交换方式的比较
-----------------------------------------分割线------------------------------------------------
四、 我国互联网的发展
我国互联网的发展始于20世纪80年代末。1987年9月20日,钱天白教授通过意大利公用分组交换网ITAPAC设在北京的PAD发出我国的第一封电子邮件,与德国卡尔斯鲁厄大学进行通信,揭开了中国人使用Internet的序幕。
1989年9月,国家计委组织建立中关村地区教育与科研示范网络(NCFC)。立项的主要目标是在北京大学、清华大学和中科院3个单位之间建设高速互联网络,并建立一个超级计算中心。这个项目于1992年建设完成。
1990年10月,中国正式在DDN-NIC注册登记了我国的顶级域名CN。1993年4月,中科院计算机网络信息中心召集部分网络专家调查了各国的域名系统,据此提出了我国的域名体系。
1994年1月4日,NCFC工程通过美国Sprint公司连入Internet的64k国际专线开通,实现了与Internet的全功能连接,从此我国正式成为有Internet的国家。
从1994年开始,分别由国家计委、邮电部、国教教委和中科院主持,建成了我国的四大因特网,即中国金桥信息网、中国公用计算机互联网、中国教育科研网和中国科技网。在短短几年间,这些主干网就投入使用,形成了国家主干网的基础。
1996年以后,我国互联网的发展进入应用平台建设和增值业务开发阶段。中国互联网进入了空前活跃的高速发展时期。一大批中文网站,包括综合性“门户”网站和各种专业性的网站纷纷出现,提供新闻报道、技术咨询、软件下载和休闲娱乐等ICP服务,以及虚拟主机、域名注册、免费空间等技术支持服务。与此同时,各种增值服务也逐步展开,其中主要有电子商务、IP电话、视频点播和无线上网等。在互联网的应用面扩宽和普及率快速增长的前提下,一些中国互联网公司开始进军海外股市纳斯达克,成为世纪之交中国新经济发展的重要标志。
1997年6月3日,根据国务院信息化工作领导小组办公室的决定,中科院网络信息中心组建了中国互联网络信息中心(CNNIC),同时,国务院信息化工作领导小组办公室宣布成立中国互联网络信息中心工作委员会。
1997年11月,CNNIC发布了一次《中国Internet发展状况统计报告》。截止到1997年10月31日,我国共有上网计算机29.9万台,上网用户62万人,CN下注册的域名4066个,WWW站点1500个,国际出口带宽为18.64Mbps。
2017年1月22日,中国互联网络信息中心(CNNIC)发布第39次《中国Internet发展状况统计报告》。截止2016年12月,中国网民规模达7.31亿,互联网普及率达到53.2%。手机网民规模达6.95亿,增长率连续三年超过10%。台式电脑、笔记本的使用率均出现下降,手机不断挤占其他个人上网设备的使用。
-----------------------------------------分割线------------------------------------------------
五、 计算机网络体系结构
计算机网络发展到今天,已经演变为一种庞大而复杂的系统。在计算机专业人员中,对复杂系统进行系统组织分层,即把很多相关功能分解,逐个予以解释和实现。
- 计算机网络体系结构的形成
我们可以先设想一种最简单的情况:网络中的两台计算机要互相传输文件。显然,要完成这个目标,计算机之间必须有一条传输数据的通路,除此之外,还需要去完成以下几项工作:
⑴ 激活数据通信的通路,保证数据能够在这条通路上正确的发送和接收。
⑵ 检测对方计算机是否与网络连接正常。
⑶ 确保对端计算机已做好文件的接收与储存工作。
⑷ 若两台计算机文件格式不兼容,则至少其中一台计算机能够完成格式转换功能。
⑸ 对可能出现的各种差错和意外事件,如数据传输错误、报文重复或丢失、网络中某个结点出现故障等,应当有可靠的措施保证对端最终能够接收到正确的文件。
由此可见,互相通信的两台计算机系统必须高度协调工作才行,而这种协调是相当复杂的。为设计这种复杂的网络,早在最初的ARPANET设计时便提出了分层的方法。“分层”可将庞大而复杂的问题转化为若干较小的局部问题,而较小的局部问题便于研究和处理。
1974年,美国IBM公司宣布了系统网络体系结构SNA(system network architecture)。这个著名的网络标准就是按分层的方法制定的。不久之后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。
不同网络体系结构出现后,,使用不同网络体系结构的设备很难相互连通。然而,全球经济的发展使得不同网络体系结构的用户迫切要求能够相互交换信息。为使不同体系结构的计算机网络都能互联,网络标准化组织ISO于1977年成立机构以研究该问题。他们提出了 开放系统互连基本参考模型OSI/RM(open systems interconnection reference model),简称为OSI。
“开放”指非独家垄断的,因此只要遵循OSI标准,一个系统就可以与遵循同一标准的任何系统进行通信。
“系统”指在现实的系统中与互连有关的各部分。
在1983年形成了开放系统互连基本参考模型的正式文件,即著名的ISO 7489国际标准,也就是现今的OSI七层参考模型。
OSI试图达到一种理想境界,即全球计算机网络都遵循这个标准,使得全球计算机能够很方便的进行互连和交换数据。在20世纪90年代,虽然整套的OSI国际标准都已经制定出来,但却几乎没有厂家能够生产出符合OSI标准的商用产品,且当时急于TCP/IP的互联网已在全球大范围成功运行了。因此,OSI只获得了理论研究的成果,但在市场化方面失败了。所以现在我们常说,OSI是法律上的国际标准,TCP/IP是事实上的国际标准。现如今,技术标准具有浓厚的商业气息,一个新标准的出现,有时不一定反映其技术水平是最先进的,而是有着一定的市场背景。
- 协议与划分层次
在网络中要做到有条不紊的交换数据,就必须遵守事先约定好的规则。这些规则明确规定了所交换的数据的格式以及相关的同步问题。这些为网络中的数据交换而建立的规则、标准或约定称为网络协议。网络协议主要有三要素组成:
⑴ 语法:数据与控制信息的结构或格式。
⑵ 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
⑶ 同步:事件实现顺序的详细说明。
协议通常有两种不同的形式,一种是使用便于人来阅读和理解的文字描述。另一种是使用计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上的信息交换过程做出精确的解释。
ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。开放系统的每一层次由一些实体组成。实体是软件元素(如进程)或硬件元素(如智能I/O芯片)的抽象。处于同一层的叫做对等实体,一个层次由多个实体组成。为了叙述上的方便,任何层都可以称为(N)层,它的上下临层称为(N+1)层和(N-1)层。
分层的基本思想是每一层都在使用下层提供的服务的基础上,为上层提供服务,而更高层提供能运行分布式应用程序的服务。分层的另外一个目的是保证层次间的独立性。即(N)层不需要知道它的下层是如何实现的,只需要通过与下层的接口,使用下层所提供的服务为上层提供服务即可。由于每一层只实现一种相对独立的功能,因而可以将一个难以处理的复杂问题分解为若干个较容易处理的小问题。这样,整个问题的复杂程度就下降了。
总的来说,分层具有以下优点:
⑴ 各层之间相互独立
⑵ 灵活性好
⑶ 结构上可以分割开
⑷ 能够促进标准化工作
当然,分层也具有一些缺点:如有些功能会在不同的层次中重复出现,产生了额外的开销。
计算机网络的各层及其协议的集合就是网络的体系结构。
前文曾提到过,OSI七层协议体系结构,具有完整的理论,但却复杂而不实用。TCP/IP体系结构则不同,现在具有非常广泛的应用。TCP/IP在实际应用中是一个四层体系结构,包含应用层、运输层、网际层(为解决不同网络的互联问题)和网络接口层。但实质上,网络接口层并没有具体的内容,故TCP/IP只有最上面的三层。一般来说,我们综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。
至此,计算机网络的体系结构便正式的确立并完善了。至于各层的作用、具有何种协议,在这里先不讨论,后面会专门写一篇文章来说明。
-----------------------------------------分割线------------------------------------------------
END
最近注册了公众号,打算把计算机网络和计算机基础的知识从头整理一遍分享给大家。公众号刚刚起步,希望在这里面结识一些志同道合的朋友,大家相互勉励,共同进步。文末是我公众号的二维码,欢迎各位看官关注
原文地址:https://blog.51cto.com/14671287/2481413