因特网的发展大致分为哪几个阶段(因特网的发展历程)
如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代。随着使用计算机人数的不断增加,计算机也经历了一系列的快速发展,从大型通用计算机->超级计算机->小型机->个人电脑->工作站->便携式电脑->智能手机终端都是这一过程的产物。计算机网络也逐渐从独立模式演变为了网络互联模式。
独立模式:计算机在联网前都可以认为是独立模式,俗称单机模式,此时的计算机不会与其他计算机通信。
图1-1
因特网的发展大致分为哪几个阶段(因特网的发展历程)
如图1-1可以看到,在独立模式下,每个人都需要排队等待其他人在一个机器上完成工作后,其他用户才能使用。这样的数据是单独管理的。
图1-2
如图1-2,从单机模式切换到了网络互联模式,在这种模式下,每个人都能独立的使用计算机,还会有一个服务器,来为客户端A、B、C提供服务。在网络互联模式下,数据一般是集中管理的。
计算机网络由若干节点和链接这些节点的链路组成,网络中的节点可以是计算机、交换器、集线器或者路由器等,计算机网络按规模和覆盖范围进行划分,可以分为局域网、城域网和广域网。
局域网:一般指的是范围在几百到几公里办公楼或者校园内计算机相互连接成的计算机网络,一般用在狭小区域内的网络,一个社区、一栋楼、办公室经常使用局域网。
城域网:一个城市中的计算机所相互连接形成的计算机网络。城域网是介于广域网与局域网之间的一种高速网络。城域网设计的目标是要满足几千米范围内的大量企业、机关、公司的多个局城网互联的需求,以实现大量用户之间的数据、语音、图形与视频等多种信息的传输功能。
广域网:广域网中的计算机所形成的连接范围就更大了,常常是一个国家或是一个洲。其目的是为了让分市较远的各局域网互联。
1946年世界上第一台计算机问世,此时还没有计算机网络,所以计算机只能单机工作,即使两台计算机的距离非常近,他们却只能像个内向的孩子一样,守着自己的一隅。
二战之后,美苏争霸,出于军事的目的,美国组建了一个神秘的部门ARPA,这个部门接美国国防部的要求打算研制一种分散的指挥系统,这个系统会有很多节点,每当其中某些节点被摧毁后,其它节点仍能相互通信,这个项目于1966年完成,ARPA将其命名为ARPANET(阿帕网)。ARPANET是最早的计算机网络之一,它就是互联网的前身。
ARPANET是最早使用分组交换的计算机网络之一,通过包交换系统进行通信的数据会被格式化为带有目标机器地址的数据包,然后发送到网络上由下一台机器接收。
数据包一词是由DonaldDavies在1965年创造的,用于描述通过网络在计算机之间传输的数据,数据包在计算机网络中的位置举足轻重,可以说数据包是互联网的主人公。
ARPANET于1969年正式启动。同样于1969年,加州大学洛杉矶分校(UCLA)的SteveCrocker发表了第一篇RFC论文,这被认为是互联网的开端。同年,第一台网络交换机实现了在ARPANET上的第一次数据传输,这标志着互联网的正式诞生。
我们经常在某篇文章结尾引用.rfc或者与某人沟通,他提出了他不求甚解的idea,然后你继续追问他,他就让你自己查RFC文档(好像说的就是我),说的就是介个。热4
官方一点解释RFC就是描述互联网和互联网系统的方法、行为、研究或者创新的官方文档。
通俗一点就是:互联网协议的官方文档。
虽然现在能够在几个节点之间相互通信,但是节点的数量只有四个,还是比较少。而且当时阿帕网有很多局限性,比如不同计算机网络之间不能互相通信,为了解决这个问题,APPA又启动了新的研究项目,设法将不同的计算机局域网进行互联。
早期的ARPANET采用的是一种名为NCP的网络协议,但是随着网络的发展,以及多节点接入和用户对网络需求的提高,NCP协议已经不能充分支持ARPANET的发展需求。而且NCP还有一个非常重要的缺陷,就是它只能用于相同的操作系统环境中,这也就是说,Windows用户不能和MacOS用户以及Android用户进行通信。
所以,ARPANET急需一种新的协议来替换已经无法满足需求的NCP协议,这个任务的重担交给了RobertE.Kahn和VintonG.Cerf,这两位大神的理论放到现在,都是空前绝后的,那么这俩老教授到底干了什么事儿呢?我只轻描淡写的讲一句:他们提出了新的传输控制协议——TCP(TransmissionControlProtocol)。这是计算机网络两个非常著名的科学家,很多人把RobertE.Kahn和VintonG.Cerf称为互联网之父。1974年,这俩人在IEEE期刊上发表了题为《关于分组交换的网络通信协议》的论文,正式提出TCP/IP,用以实现计算机网络之间的互联。
虽然我们认为TCP/IP协议是一项非常伟大的发明,但在当时的背景下,却不被人们看好,而且TCP/IP的四层模型相比于ISO提出的七层模型来说,也显得比较简陋。但是功夫不负有心人,经过4年时间的不断改进,TCP/IP协议终于完成了基础架构的搭建。终于在1983年,美国国防部高级研究计划局决定淘汰NCP协议,取而代之的是使用TCP/IP协议。从论文到发表,再到采纳,整整用了十年的时间。1985年,TCP/IP成为UNIX操作系统的组成部分。之后几乎所有的操作系统都逐渐支持TCP/IP,这个协议成为主流。
80年代初期,ARPANET取得了巨大的成功,但是没有获得美国联邦机构合同的学校却不能使用。为了解决这个问题,美国国家科学基金会(NSF)开始着手建立给大学生使用的计算机科学网(CSNet)。CSNet是在其他基础网络之上加的协议层,它使用其他网络提供的通信能力,在用户角度下它也是一个独立的网络。CSNet采用集中控制方式,所有信息交换都经过一台中继器进行。
1986年NSF投资分别在五所大学建立了超级计算机中心,并形成了NSFNET,由于NSF的鼓励和资助,很多大学、政府机构甚至私营的研究机构纷纷把自己的局域网并人NSFNET中,从1986年至1991年,NSFNET的子网从100个迅速增加到3000多个。
不仅仅只有学校的加入,许多学术团体、企业、研究机构甚至个人也加入进来,Internet的使用者不再限于纯计算机专业人员。新的使用者发觉计算机相互间的通讯对他们来讲更有吸引力。于是,他们逐步把Internet当作一种交流与通信的工具,而不仅仅只是共享NSF巨型计算机的运算能力。
Internet是一系列全球信息的汇总,它由无数个子网组成,每个子网中都有若干台计算机。
进入90年代初期,Internet已经有了非常多的子网,各个子网分别负责自己的架设和运作费用,而这些子网又通过NSFNET互联起来。NSFNET连接全美上千万台计算机,拥有几千万用户,是Internet最主要的成员网。随着计算机网络在全球的拓展和扩散,美国以外的网络也逐渐接入NSFNET主干或其子网。
1993年是因特网发展过程中非常重要的一年,在这一年中Internet完成了到目前为止所有最重要的技术创新,WWW-万维网和浏览器的应用使因特网上有了一个令人耳目一新的平台:人们在Internet上所看到的内容不仅只是文字,而且有了图片、声音和动画、甚至还有了电影。因特网演变成了一个文字、图像、声音、动画、影片等多种媒体交相辉映的新世界,更以前所未有的速度席卷了全世界。
Internet的迅速崛起、引起了全世界的瞩目,我国也非常重视信息基础设施的建设,注重与Internet的连接。目前,已经建成和正在建设的信息网络,对我国科技、经济、社会的发展以及与国际社会的信息交流产生着深远的影响。
虽然我国互联网的起步没有美国那么早,但是我国却有着全世界最快的互联网增速。
我国互联网发展起源于1987-1993年,这段时期国内的科技工作者开始接触Internet资源。在此期间,以中科院高能物理所为首的一批科研院所与国外机构合作开展一些与Internet联网的科研课题,通过拨号方式使用Internet的E-mail电子邮件系统,并为国内一些重点院校和科研机构提供国际Internet电子邮件服务。
1990年10月,我国正式向国际因特网信息中心登记注册了最高域名cn,从而开通了使用自己域名的Internet电子邮件。
1994年1月,美国国家科学基金会接受我国正式接入Internet的要求。1994年3月,我国获准加入Internet。4月初在中美科技合作联委会上,代表我国政府向美国国家科学基金会(NSF)正式提出要求连入Internet,并得到认可。至此,我国终于打通了最后的环节,在4月20日,以NCFC工程连入Internet国际专线为标志,我国与Internet全面接触。同年5月,我国联网工作全部完成。我国政府对Internet进入我国表示认可。我国网络的域名也最终确定为cn。此事被我国新闻界评为1994年我国十大科技新闻之一,被国家统计公报列为我国1994年重大科技成就之一。
从1994年开始至今,我国实现了和因特网的TCP/IP连接,从而逐步开通了因特网的全功能服务;大型电脑网络项目正式启动,因特网在我国进入了飞速发展时期。1995年,我国电信分别在北京和上海设立专线,并通过电话线、DDN专线以及X.25网面向社会提供Internet接入服务。1995年5月,开始筹建CHINANET全国骨干网,1996年1月,CHINANET骨干网建成并正式开通,全国范围的公用计算机互联网络开始提供服务。标志着我国互联网进入快速发展阶段。
我国陆续建造了多个全国范围内的公共计算机网络,其中最大的就是下面这几个
可以发现,我国互联网建设主要分为三个阶段。
进入21世纪后,CERNET2试验网开通,CERNET2试验网是以2.5Gbit/s-10Gbit/s的速度连接北京、上海和广州三个CERNET核心节点,这标志着我国互联网已经迈入了国际先进水平。
CNNIC(中国互联网络信息中心)每年都会公布我国互联网发展情况,感兴趣的小伙伴可以通过www.cnnic.cn查询到相关信息。
和早期的计算机操作系统一样,最开始都要先经历批处理BatchProcessing阶段,批处理的目的也是为了能让更多的人使用计算机。
批处理就是先将数据装入卡带或者磁带,并且由计算机按照一定的顺序进行读入,如下图1-3所示。
图1-3
这种计算机的价格比较昂贵,并不是每个人都能够使用的,这也就客观暗示着,只有专门的操作员才能使用计算机,用户把程序提交给操作员,由操作员排队执行程序,等一段时间后,用户再来提取结果(API程序员的早期原型。。。。。。)
这种计算机的高效性并没有很好的体现,因为涉及到各种操作不断切换,让计算机计算甚至不如手动运算快。
在批处理之后出现的就是分时系统了,分时系统指的是多个终端与同一个计算机连接,允许多个用户同时使用一台计算机。分时系统的出现实现了一人一机的目的,让用户感觉像是自己在使用计算机,实际上这是一种独占性的特性,如图1-4。
图1-4
分时系统出现以来,计算机的可用性得到了极大的改善。分时系统的出现意味着计算机越来越贴近我们的生活。
还有一点需要注意:分时系统的出现促进了像是BASIC这种人机交互编程语言的诞生。
分时系统的出现,同时促进者计算机网络的出现。
在分时系统中,每个终端与计算机相连,这种独占性的方式并不是计算机之间的通信,因为每个人还是在独立的使用计算机。
到了20世纪70年代,计算机性能有了高速发展,同时体积也变得越来越小,使用计算机的门槛变得更低,越来越多的用户可以使用计算机。
没有一台计算机是信息孤岛这个理念促使着计算机网络的出现和发展。
20世纪80年代,一种能够互连多种计算机的网络随之诞生。它能够让各式各样的计算机相连,从大型的超级计算机或主机到小型电脑。
20世纪90年代,虽然实现了一人一机的环境,但是这种环境的搭建仍然价格不菲。与此同时,诸如电子邮件、万维网等信息传播方式如雨后春笋般迎来了前所未有的发展,使得互联网从大到整个公司小到每个家庭内部,都得以广泛普及。
现如今,越来越多的终端设备接入互联网,使互联网达到了前所未有的盛世,近年来3G、4G、5G通信技术的发展更是互联网高速发展的产物。
许多发展道路各不相同的网络技术也都逐渐向互联网靠拢。例如曾经一直作为通信基础设施、支撑通信网络的电话网。随着互联网的发展,其地位也随着时间的推移被IP网所取代,IP也是互联网发展的产物。
互联网也具有两面性,它的出现虽然方便了用户,但同时也方便了一些不法分子。互联网的便捷也带来了一些负面影响,计算机病毒的侵害、信息泄漏、网络诈骗层出不穷。
在现实生活中,通常情况下我们挨揍了会予以反击,因为这种行为完全是动物本能驱动的。但是在互联网中,你被不法分子攻击通常情况下是无力还击的,只能防御,因为还击需要你精通计算机和互联网,这通常情况下很多人办不到。
通常情况下公司和企业容易被作为不法分子获利的对象,所以,作为公司或者企业,要想不受攻击或者防御攻击,需要建立安全的互联网连接。
协议这个名词不仅局限于互联网范畴,也体现在日常生活中,比如情侣双方约定好在哪个地点吃饭,这个约定也是一种协议,比如你应聘成功了,企业会和你签订劳动合同,这种双方的雇佣关系也是一种协议。注意自己对自己的约定不能成为协议,协议的前提条件必须是多人约定。
那么网络协议是什么呢?
网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。
没有网络协议的互联网是混乱的,就和人类社会一样,一个个体不能想怎么样就怎么样,你的行为是受到法律约束的。那么网络中的每台计算机也不能自己想发什么发什么,也是需要受到通信协议约束的。
我们一般都了解过HTTP协议,HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
但是互联网又不只有HTTP协议,它还有很多其他的比如IP、TCP、UDP、DNS协议等。下面是一些协议的汇总和介绍。
网络体系结构
协议
主要用途
TCP/IP
HTTP、SMTP、TELNET、IP、ICMP、TCP、UDP等
主要用于互联网、局域网
IPX/SPX
IPX、NPC、SPX
主要用于个人电脑局域网
AppleTalk
AEP、ADP、DDP
苹果公司现有产品互联
ISO在制定标准化OSI模型之前,对网络体系结构相关的问题进行了充分的讨论,最终提出了作为通信协议设计指标的OSI参考模型。这一模型将通信协议中必要的功能分为了7层。通过这7层分层,使那些比较复杂的协议简单化。
图1-5
在OSI标准模型中,每一层协议都接收由它下一层所提供的特定服务,并且负责为上一层提供服务,上层协议和下层协议之间通常会开放接口,同一层之间的交互所遵守的约定叫做协议。
上图只是简单的介绍了一下层与层之间的通信规范和上层与下层的通信规范,并未介绍具体的网络协议分层,实际上,OSI标准模型将复杂的协议整理并分为了易于理解的7层。如下图所示
图1-6
互联网的通信协议都对应了7层中的某一层,通过这一点,可以了解协议在整个网络模型中的作用,一般来说,各个分层的主要作用如下
图1-7
TCP/IP协议是我们程序员接触最多的协议,实际上,TCP/IP又被称为TCP/IP协议簇,它并不特指单纯的TCP和IP协议,而是容纳了许许多多的网络协议。
OSI模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在TCP/IP协议中,它们被简化为了四个层次
图1-8
和OSI七层网络协议的主要区别如下
我们的主要研究对象就是TCP/IP的四层协议。
下面我就和你聊一聊TCP/IP协议簇中都有哪些具体的协议。
IP是网际互联协议,英文InternetProtocol,位于网络层。IP协议是整个TCP/IP协议簇的核心,也是构成互联网的基础。IP能够为运输层提供数据分发,同时也能够组装数据供运输层使用。它将多个网络连接成为一个互联网,这样能够提高网络的可扩展性,实现大规模网络互联。二是分割顶层网络和底层网络之间的耦合关系。
ICMP协议是Internet报文控制协议,英文InternetControlMessageProtocol,ICMP协议主要用于在IP主机、路由器之间传递控制消息。ICMP属于网络层的协议,当遇到IP无法访问目标、IP路由器无法按照当前传输速率转发数据包时,会自动发送ICMP消息,从这个角度来说,ICMP协议可以看作是错误侦测与回报机制,让我们检查网络状况、也能够确保连线的准确性。
ARP协议是地址解析协议,英文AddressResolutionProtocol,它能够根据IP地址获取物理地址。主机发送信息时会将包含目标IP的ARP请求广播到局域网络上的所有主机,并接受返回消息,以此来确定物理地址。收到消息后的物理地址和IP地址会在ARP中缓存一段时间,下次查询的时候直接从ARP中查询即可。
TCP是传输控制协议,英文TransmissionControlProtocol,它是一种面向连接的、可靠的、基于字节流的传输协议,TCP协议位于传输层,TCP协议是TCP/IP协议簇中的核心协议,它最大的特点就是提供可靠的数据交付。TCP的主要特点有慢启动、拥塞控制、快速重传、可恢复。
UDP协议是用户数据报协议,英文UserDatagramProtocol,UDP也是一种传输层协议,与TCP相比,UDP提供一种不可靠的数据交付,也就是说,UDP协议不保证数据是否到达目标节点。当报文发送之后,是无法得知其是否安全完整到达的。UDP是一种无连接的协议,传输数据之前源端和终端无需建立连接,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序等现象。但是UDP具有较好的实时性,工作效率较TCP协议高。
FTP协议是文件传输协议,英文FileTransferProtocol,应用层协议之一,是TCP/IP协议的重要组成之一,FTP协议分为FTP服务器和FTP客户端两部分,FTP服务器用来存储文件,FTP客户端用来访问FTP服务器上的文件,FTP的传输效率比较高,所以一般使用FTP来传输大文件。
DNS协议是域名解析协议,英文DomainNameSystem,它也是应用层的协议之一,DNS协议是一个将域名和IP相互映射的分布式数据库系统。DNS缓存能够加快网络资源的访问。
SMTP协议是邮件传输协议,英文SimpleMailTransferProtocol,应用层协议之一,SMTP主要是用作邮件收发协议,SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转用户发出的电子邮件
SLIP协议是指串行线路网际协议,英文SerialLineInternetProtocol,是在串行通信线路上支持TCP/IP协议的一种点对点式的链路层通信协议。
PPP协议是点对点协议,英文PointtoPointProtocol,是一种链路层协议,是在为同等单元之间传输数据包而设计的。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
网络根据传输方式可以进行分类,一般分为面向连接型和面向无连接型。
在互联网应用中,每个终端系统都可以彼此交换信息,这种信息也被称为报文(Message),报文是一个集大成者,它可以包括你想要的任何东西,比如文字、数据、电子邮件、音频、视频等。为了从源目的地向端系统发送报文,需要把长报文切分为一个个小的数据块,这种数据块称为分组(Packets),也就是说,报文是由一个个小块的分组组成。在端系统和目的地之间,每个分组都要经过通信链路和分组交换机,分组要在端系统之间交互需要经过一定的时间,如果两个端系统之间需要交互的分组为L比特,链路的传输速率问R比特/秒,那么传输时间就是L/R秒。
一个端系统需要经过交换机给其他端系统发送分组,当分组到达交换机时,交换机就能够直接进行转发吗?不是的,交换机可没有这么无私,你想让我帮你转发分组?好,首先你需要先把整个分组数据都给我,我再考虑给你发送的问题,这就是存储转发传输。
下面是一个存储转发传输的示意图。
图1-9
由图1-9可以看出,分组1、2、3向交换器进行分组传输,并且交换机已经收到了分组1发送的比特,此时交换机会直接进行转发吗?答案是不会的,交换机会把你的分组先缓存在本地。这就和考试作弊一样,一个学霸要经过学渣A给学渣B传答案,学渣A在收到答案后,它可能直接把卷子传过去吗?学渣A说,等我先把答案抄完(保存功能)后再把卷子给你,当然一个及其有素质的学渣就另说了。
什么?你认为交换机只能和一条通信链路进行相连?那你就大错特错了,这可是交换机啊,怎么可能只有一条通信链路呢?
所以我相信你一定能想到这个问题,当多个端系统同时给交换器发送分组,一定存在顺序到达和排队问题。事实上,对于每条相连的链路,该分组交换机都会有一个输出缓存(outputbuffer)和输出队列(outputqueue)与之对应,它用于存储路由器准备发往每条链路的分组。如果到达的分组发现路由器正在接收其他分组,那么新到达的分组就会在输出队列中进行排队,这种等待分组转发所耗费的时间也被称为排队时延,上面提到分组交换器在转发分组时会进行等待,这种等待被称为存储转发时延,所以我们现在了解到的有两种时延,但是其实是有四种时延。这些时延不是一成不变的,其变化程序取决于网络的拥塞程度。
因为队列是有容量限制的,当多条链路同时发送分组导致输出缓存无法接受超额的分组后,这些分组会丢失,这种情况被称为丢包(packetloss),到达的分组或者已排队的分组将会被丢弃。
下图说明了一个简单的分组交换网络。
图1-10
下面来一个情景模拟:假定主机A和主机B要向主机E发送分组,主机A和B首先通过100Mbps以太网链路将其数据包发送到第一台路由器,然后路由器将这些数据包定向到15Mbps的链路。如果在较短的时间间隔内,数据包到达路由器的速率(转换为每秒比特数)超过15Mbps,则在数据包在链路输出缓冲区中排队之前,路由器上会发生拥塞,然后再传输到链路上。例如,如果主机A和主机B背靠背同时发了5包数据,那么这些数据包中的大多数将花费一些时间在队列中等待。实际上,这种情况与许多普通情况完全相似,例如,当我们排队等候银行出纳员或在收费站前等候时。
我们刚刚讲过,路由器和多个通信线路进行相连,如果每条通信链路同时发送分组的话,可能会造成排队和丢包的情况,然后分组在队列中等待发送,现在我就有一个问题问你,队列中的分组发向哪里?这是由什么机制决定的?
换个角度想问题,路由的作用是什么?把不同端系统中的数据包进行存储和转发。在因特网中,每个端系统都会有一个IP地址,当主机发送分组时,会在分组的首部加上主机的IP地址。每台路由器都会有一个转发表(forwardingtable),当一个分组到达路由器后,路由器会检查分组中目的地址的一部分,并用目的地址搜索转发表,以找出适当的传输链路,然后映射成为输出链路进行转发。
那么问题来了,路由器内部是怎样设置转发表的呢?详细的我们后面会讲到,这里只是说个大概,路由器内部也是具有路由选择协议的,用于自动设置转发表。
在计算机网络中,另一种通过网络链路和路由进行数据传输的另外一种方式就是电路交换(circuitswitching)。电路交换在资源预留上与分组交换不同,什么意思呢?
就是分组交换不会预留每次端系统之间交互分组的缓存和链路传输速率,所以每次都会进行排队传输;而电路交换会预留这些信息。一个简单的例子帮助你理解:这就好比有两家餐馆,餐馆A需要预定而餐馆B不需要预定,对于可以预定的餐馆A,我们必须先提前与其进行联系,但是当我们到达目的地时,我们能够立刻入座并选菜。而对于不需要预定的那家餐馆来说,你可能不需要提前联系,但是你必须承受到达目的地后需要排队的风险。
下面显示了一个电路交换网络
图1-11
在这个网络中,4条链路用于4台电路交换机。这些链路中的每一条都有4条电路,因此每条链路能支持4条并行的链接。每台主机都与一台交换机直接相连,当两台主机需要通信时,该网络在两台主机之间创建一条专用的端到端的链接(end-to-endconnection)。
分组交换的支持者经常说分组交换不适合实时服务,因为它的端到端时延时不可预测的。而分组交换的支持者却认为分组交换提供了比电路交换更好的带宽共享;它比电路交换更加简单、更有效,实现成本更低。但是现在的趋势更多的是朝着分组交换的方向发展。
因特网可以看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。我们希望在计算机网络中任意两个端系统之间传递数据都不会造成数据丢失,这是一个极高的目标,实践中难以达到。所以,在实践中必须要限制端系统之间的吞吐量用来控制数据丢失。如果在端系统之间引入时延,也不能保证不会丢失分组问题。所以我们从时延、丢包和吞吐量三个层面来看一下计算机网络。
计算机网络中的分组从一台主机(源)出发,经过一系列路由器传输,在另一个端系统中结束它的历程。在这整个传输历程中,分组会涉及到四种最主要的时延:节点处理时延(nodalprocessingdelay)、排队时延(queuingdelay)、传输时延(totalnodaldelay)和传播时延(propagationdelay)。这四种时延加起来就是节点总时延(totalnodaldelay)。
如果用dprocdqueuedtransdpop分别表示处理时延、排队时延、传输时延和传播时延,则节点的总时延由以下公式决定:dnodal=dproc+dqueue+dtrans+dpop。
下面是一副典型的时延分布图,让我们从图中进行分析一下不同的时延类型。
图1-12
分组由端系统经过通信链路传输到路由器A,路由器A检查分组头部以映射出适当的传输链路,并将分组送入该链路。仅当该链路没有其他分组正在传输并且没有其他分组排在该该分组前面时,才能在这条链路上自由的传输该分组。如果该链路当前繁忙或者已经有其他分组排在该分组前面时,新到达的分组将会加入排队。下面我们分开讨论一下这四种时延。
节点处理时延
节点处理时延分为两部分,第一部分是路由器会检查分组的首部信息;第二部分是决定将分组传输到哪条通信链路所需要的时间。一般高速网络的节点处理时延都在微秒级和更低的数量级。在这种处理时延完成后,分组会发往路由器的转发队列中。
排队时延
在队列排队转发过程中,分组需要在队列中等待发送,分组在等待发送过程中消耗的时间被称为排队时延。排队时延的长短取决于先于该分组到达正在队列中排队的分组数量。如果该队列是空的,并且当前没有正在传输的分组,那么该分组的排队时延就是0。如果处于网络高发时段,那么链路中传输的分组比较多,那么分组的排队时延将延长。实际的排队时延也可以到达微秒级。
传输时延
队列是路由器所用的主要的数据结构。队列的特征就是先进先出,先进食堂的先打饭。传输时延是理论情况下单位时间内的传输比特所消耗的时间。比如分组的长度是L比特,R表示从路由器A到路由器B的传输速率。那么传输时延就是L/R。这是将所有分组推向该链路所需要的时间。正是情况下传输时延通常也在毫秒到微秒级。
传播时延
从链路的起点到路由器B传播所需要的时间就是传播时延。该比特以该链路的传播速率传播。该传播速率取决于链路的物理介质(双绞线、同轴电缆、光纤)。如果用公式来计算一下的话,该传播时延等于两台路由器之间的距离/传播速率。即传播速率是d/s,其中d是路由器A和路由器B之间的距离,s是该链路的传播速率。
计算机网络中的传输时延和传播时延有时候难以区分,在这里解释一下,传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。而传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的倒数,而与分组长度和链路传输速率无关。从公式也可以看出来,传输时延是L/R,也就是分组的长度/路由器之间传输速率。传播时延的公式是d/s,也就是路由器之间的距离/传播速率。
在这四种时延中,人们最感兴趣的时延或许就是排队时延了dqueue。与其他三种时延(dproc、dtrans、dpop)不同的是,排队时延对不同的分组可能是不同的。例如,如果10个分组同时到达某个队列,第一个到达队列的分组没有排队时延,而最后到达的分组却要经受最大的排队时延(需要等待其他九个时延被传输)。
那么如何描述排队时延呢?或许可以从三个方面来考虑:流量到达队列的速率、链路的传输速率和到达流量的性质。即流量是周期性到达还是突发性到达,如果用a表示分组到达队列的平均速率(a的单位是分组/秒,即pkt/s)前面说过R表示的是传输速率,所以能够从队列中推出比特的速率(以bps即b/s位单位)。假设所有的分组都是由L比特组成的,那么比特到达队列的平均速率是Labps。那么比率La/R被称为流量强度(trafficintensity),如果La/R>1,则比特到达队列的平均速率超过从队列传输出去的速率,这种情况下队列趋向于无限增加。所以,设计系统时流量强度不能大于1。
现在考虑La/R<=1时的情况。流量到达的性质将影响排队时延。如果流量是周期性到达的,即每l>=1时的情况。流量到达的性质将影响排队时延。如果流量是周期性到达的,即每l>
图1-13
横轴是La/R流量强度,纵轴是平均排队时延。
我们在上述的讨论过程中描绘了一个公式那就是La/R不能大于1,如果La/R大于1,那么到达的排队将会无穷大,而且路由器中的排队队列所容纳的分组是有限的,所以等到路由器队列堆满后,新到达的分组就无法被容纳,导致路由器丢弃(drop)该分组,即分组会丢失。
除了丢包和时延外,衡量计算机另一个至关重要的性能测度是端到端的吞吐量。假如从主机A向主机B传送一个大文件,那么在任何时刻主机B接收到该文件的速率就是瞬时吞吐量(instantaneousthroughput)。如果该文件由F比特组成,主机B接收到所有F比特用去T秒,则文件的传送平均吞吐量(averagethroughput)是F/Tbps。
在网络通信中,可以根据目标地址的数量对通信进行分类,可以分为单播、广播、多播和任播。
单播最大的特点就是1对1,早期的固定电话就是单播的一个例子,单播示意图如下。
图1-14
我们一般小时候经常会跳广播体操,这就是广播的一个事例,主机和与他连接的所有端系统相连,主机将信号发送给所有的端系统。
图1-15
多播与广播很类似,也是将消息发送给多个接收主机,不同之处在于多播需要限定在某一组主机作为接收端。
图1-16
任播是在特定的多台主机中选出一个接收端的通信方式。虽然和多播很相似,但是行为与多播不同,任播是从许多目标机群中选出一台最符合网络条件的主机作为目标主机发送消息。然后被选中的特定主机将返回一个单播信号,然后再与目标主机进行通信。
图1-17
网络的传输是需要介质的。一个比特数据包从一个端系统开始传输,经过一系列的链路和路由器,从而到达另外一个端系统。这个比特会被转发了很多次,那么这个比特经过传输的过程所跨越的媒介就被称为物理媒介(phhysicalmedium),物理媒介有很多种,比如双绞铜线、同轴电缆、多模光纤榄、陆地无线电频谱和卫星无线电频谱。其实大致分为两种:引导性媒介和非引导性媒介。
最便宜且最常用的引导性传输媒介就是双绞铜线,多年以来,它一直应用于电话网。从电话机到本地电话交换机的连线超过99%都是使用的双绞铜线,例如下面就是双绞铜线的实物图。
图1-18
双绞铜线由两根绝缘的铜线组成,每根大约1cm粗,以规则的螺旋形状排列,通常许多双绞线捆扎在一起形成电缆,并在双绞馅的外面套上保护层。一对电缆构成了一个通信链路。无屏蔽双绞线一般常用在局域网(LAN)中。
与双绞线类似,同轴电缆也是由两个铜导体组成,下面是实物图。
图1-19
借助于这种结构以及特殊的绝缘体和保护层,同轴电缆能够达到较高的传输速率,同轴电缆普遍应用在在电缆电视系统中。同轴电缆常被用户引导型共享媒介。
光纤是一种细而柔软的、能够引导光脉冲的媒介,每个脉冲表示一个比特。一根光纤能够支持极高的比特率,高达数十甚至数百Gbps。它们不受电磁干扰。光纤是一种引导型物理媒介,下面是光纤的实物图。
图1-20
一般长途电话网络全面使用光纤,光纤也广泛应用于因特网的主干。
无线电信道承载电磁频谱中的信号。它不需要安装物理线路,并具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力。
一颗卫星电信道连接地球上的两个或多个微博发射器/接收器,它们称为地面站。通信中经常使用两类卫星:同步卫星和近地卫星。
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 203304862@qq.com
本文链接:https://jinnalai.com/n/171226.html