计算机网络和因特网
一、计算机网络的形成与发展
计算机网络和因特网的发展历史大致可以分为五个阶段:
1、分组交换网络的初步显现与快速发展(1961-1972):在计算机诞生之前,以电路交换为主要信息分发方式的电话网络在通信领域占据了统治地位。随着计算机的诞生,为了寻找新的更加适合计算机网络的通信传输方式,分组交换发展起来。关于分组交换的研究首次公开发表出自于麻省理工学院的一名研究生:Leonard Kleinrock,与其同时期发明分组交换的还有兰德公司的Paul Baran以及英国国家物理实验室(NPL)的Donald Davies和Roger Scantlebury。这三个小组的研究共同推动了分组交换的发明,奠定了今天因特网的基础。
随后,分组交换取得了快速发展:
1967年,Roberts公布了一个ARPA-net的总体计划,它是第一个分组交换计算机网络,是今天公共因特网的直接祖先。
1972年,ARPnet成长到15个网络节点,网络控制协议(NCP)在其上实现,为在网络上编写应用程序提供了基础。同年,第一个电子邮件程序被编写。
2、专用网络和网络互联(1972-1980):20世纪70年代早期和中期,其他分组交换网络大量涌现,研究将各个网络连接在一起的时机已经成熟。这一互联网的先驱工作得到了美国国防部高级研究计划署的支持,并由Vintpn Cerf和Robert Kahn完成。截至20世纪70年代末期,今天最为重要的三个协议:TCP、UDP、IP均已设计完成。
3、网络的激增(1980-1990):
1986年,建立了CSNET(计算机科学网)
1983年1月1日,NCP向TCP/IP迁移。
20世纪80年代初期,法国启动了Minitel计划
20世纪80年代后期,DNS域名系统研制成功。
4、因特网爆炸:20世纪90年代:在20世纪90年代,万维网的诞生推动了计算机网络的快速发展,各种网络应用程序被发明,包括:电子邮件、Web、即时通讯、MP3的对等文件共享。
5、21世纪以来的最新发展:
家庭宽带因特网接入的积极部署以及上网人群的迅速扩大
公共WiFi网络和4G技术的大规模部署以及即将到来的5G时代
社交网络应用程序的涌现与广泛使用
专用网络和数据中心的建设和发展
云技术的迅速发展
二、网络、因特网以及万维网之间的区别和联系
主机或端系统可以看作可以并且已经与其他通信设备建立通信联系的单个通信节点,它既可以是传统的桌面PC、linux工作站和服务器,也可以是各种可穿戴电子设备。主机或端系统可以看作对于联网系统中的各种各样的设备的抽象,联网系统中的每个单一设备都可以看作是一个联网系统中的节点,也就是主机或端系统。
在实际的联网系统中,端系统之间通过通信链路和分组交换机联系在一起,通信链路是对各种物理信息传输载体的抽象,分组交换机则是对于任何具有分组交换功能的中介系统的抽象。端系统将数据分段并根据相应的协议为其添加首部字段,形成分组,然后将其发送给分组交换机。分组交换机接收并转发分组。
分组交换机通常包括路由器和链路交换机。两者的共同点在于两者都提供分组信息的接收和转发功能,区别在于:链路层交换机通常用于接入网中,而路由器通常处于网络核心中。从发送端到接收端,一个分组所经历的分组交换机和通信链路称之为该分组所经历的路径。
端系统通过因特网服务提供商(ISP)接入网络,并运行一系列网络协议。因特网工程任务组(IETF)负责研发因特网标准,以协调不同网络间的互联,推动互联网的发展,IETF的标准文档成为请求评论(RFC),还有其他的标准制定组织。
因此,网络可以看作由两个或两个以上的主机或端系统以及相应的通信链路和分组交换机构成的通信互联体系。在这个体系中的任何一个节点可以到达同一网络中的其他节点。因特网则可以被称之为网络的网络,原因在于,公共因特网并非指代某个专用网络,而是连接全球的大部分非专用公共网络,不同地域、不同形式的网络连接在一起,构成了因特网。同时,因特网也可以看作应用程序的平台,它使得我们可以通过编程的方式来制作特定的软件为该网络上的所有用户提供相应的免费或收费服务。万维网则指向前面所提及的用户服务层,它的主要标志是互联的浏览器以及在浏览器上或通过浏览器得以显示和运行的各种Web应用。网络、因特网、万维网之间的联系在于它们都强调互联性,而且因特网建立在网络的基础之上,是不同网络互联形成的,万维网建立在因特网提供的抽象服务基础上,区别在于三者的规模或所处的层次不同:因特网是网络的网络,而万维网的主要标志浏览器则运行在因特网所提供的统一平台上,更加靠近用户层。
三、计算机网络协议的定义与本质
协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。
从本质上来看,协议是一种人为制定的标准,正是这种标准使得不同国家、不同厂商生产的设备之间的互联成为可能,正是协议使得网络的互联得以可能,在这个意义上来说,协议等同于某种事先的约定,这种约定规定了不同通信实体之间交流所遵循的规则。一个良好的协议结构有助于构筑良好的网络体系以及保障网络安全。
常用的协议有TCP/IP协议、拥塞控制协议、Http协议等
四、分组交换与电路交换的特点、联系与区别
1、分组交换:分组交换并不事先为某条报文转发事先提供资源的缓存和通道的预留,而是将报文信息分割转换为分组直接沿着相应的路径从发送端转移到接收端。当同一路径中存在多条需要被转发的分组信息时,可能会存在部分分组信息无法及时输送到接收端,甚至有可能丢失,这就是信息拥塞。
分组交换与存储转发传输:多数分组交换机会采用存储转发传输的机制,即在完整的接收到整个分组后再进行转发,为此,分组交换机必须内置输出缓存和输出队列以方便缓存信息的存储和决定转发的优先顺序。这种机制有助于避免拥塞和提高数据传输的可靠性,但同时也会产生排队时延。值得注意的是,即使采用了存储转发传输,丢包和信息缺失也是不可避免的。
在实际的分组交换传输中,一个交换机可能涉及多条链路,为了保证转发路径的正确性。分组交换机通常内置了转发表以存储相应的信息,传输的报文本身会携带目的IP地址,借助于对于IP地址的分层扫描,分组交换机得以确认下一步需要转发的地址并根据路由选择协议确定最便捷的道路完成分组的转发。
2、电路交换:电路交换事先为某条报文的转发预留资源和通道,在发送之前在发送端和接受端之间建立连接的小型通道,然后再发送报文信息,这使得报文信息不会受损,并按照预定的时间到达接受端。但随着所需要连接的节点和发送报文的增多,原有的链路信道资源会被切割,使得通信速率大大下降并造成资源浪费。
电路交换与复用:由于电路交换会为每两个节点之间的路径预留资源通道,使得优先的通道资源被切割,造成了资源浪费。为了应对这个问题,事先链路通道资源的复用极为重要。常用的复用手段有频分复用和时分复用。
频分复用(FDM):将链路的频谱划分为若干个频段,并且为网络中的所有节点所共享,因此某个特殊节点只需要根据它所需要接收的频谱的特定频段接收信息即可,避免了将单个链路直接分割成多个小通道造成资源浪费。
时分复用(TDM):时间被划分为指定的帧,帧又划分为指定的时隙,某条路径上的信息在特定的时隙内进行传输,避免了信息的混杂,又避免了信道的分割,提高了链路通道资源的利用率。
3、分组交换与电路交换的对比:
相比较于电路交换,分组交换在某种意义上并不适合于实时服务。原因在于分组交换没有为两个连接之间预留通道和资源,使得当链路通道中需要转发的信息过多时,可能会产生不可预测的时延,而这对于某些产品来说可能是无法接收的。尽管如此,因为电路交换需要预留资源和通道为每个连接,所以电路交换可能极大地制约链路通道的传输速率,从而造成不必要的浪费。相比较于电路交换,分组交换可以实现更好的带宽共享,并且他比电路交换更简单、更有效,实现成本更低。
五、常用的计算机网络媒介名词的内涵
DSL:数字用户线,常用于家庭电话网接入,按照不同的频率进行编码,分成高速下行信道、中速上行信道、普通的双向电话信道
电缆:电缆因特网接入实际上同时使用了光纤和同轴电缆
光纤到户(FTTH):主动光纤网络(AON)、被动光纤网络(PON)
LAN:局域网
WiFi:无线LAN接入
双绞铜线:最便宜和最常用的导引型传输媒体,常用于住宅因特网接入,特别是电话网和局域网中。
同轴电缆:常用于住宅接入,特别是电缆电视系统中。
光纤:光纤是一种柔软的、能够导引光脉冲的媒体,不受电磁干扰,速率低,较为安全。
陆地无线电信道:具有穿透性,不需要物理链路,但易受到环境和距离的影响。
卫星无线电信道
六、分组交换网络中的时延、丢包和吞吐量
处理时延:分组交换机在接收到某个分组后,需要检查分组首部和比特级差错以及决定该分组导向何处所需要的时间
排队时延:分组在链路输出队列中等待转发的时间。如果队列为空,则等待时间为0.如果队列中分组较多,则等待时间较长。
传输时延:从队列中出去到正式开始转发所需要的时间
传播时延:从链路中交换机的一端到另一端交换机所需要的时间
丢包:当输出队列中已满,则新加入的分组直接丢弃,称之为丢包
吞吐量:瞬时吞吐量等于接受端接收某个文件的比特速率,平均吞吐量等于一段时间内接收端接收某个文件的平均比特速率
七、常用的计算机网络分层协议机制
协议分层机制是因特网体系结构中的重大创举。利用协议分层,可以提高因特网各个层次的模块化水平,屏蔽了下层向上层提供服务的具体细节,使得上层可以直接调用下层的服务而不必关心具体的实现细节,而下层可以在保证服务和接口不变的情况下优化或重构自身的实现,从而为整个因特网结构的发展和调整提供了便利。
常用的计算机网络分层协议有两种,五层协议和七层协议。
五层协议栈:物理层、链路层、网络层、运输层和应用层
OSI七层协议栈:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层
应用层:应用层是网络应用层序及它们的应用层协议留存的地方。位于应用层的信息分组称为报文。
运输层:运输层是在应用程序端点之间传送应用层报文。运输层的分组称为报文段。
网络层:网络层负责将数据报的网络层分组从一台主机移动到另一台主机。
链路层:链路层负责沿着路径将数据包转发到下一个节点
物理层:物理层的任务是将帧中的一个个比特从一个节点移动到下一个节点