目录
零、前言
一、计算机网络发展初期面临的问题
1.1 电路交换的主要特点【电话网络采用电路交换技术】
1.1.1 电路交换的基本知识介绍
1.1.2 电路交换的优缺点
1.3 报文交换技术的特点【电报网络采用报文交换技术】
1.3.1 报文交换的基本知识介绍
1.3.2 报文交换技术的优缺点
1.4 分组交换技术【现代计算机网络采用分组交换技术】
1.4.1 分组交换技术基本概念
1.4.2 分组交换技术举例
1.4.3 分组交换技术的优缺点
零、前言
网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信。
所谓连通性(connectivity),就是互联网使上网用户之间,不管相距多远(例如,相距数千公里),都可以非常便捷、非常经济地(在很多情况下甚至是免费的)交换各种信息(数据,以及各种音频、视频),好像这些用户终端都彼此直接连通一样。这与使用传统的电信
在网络核心部分起特殊作用的是路由器( router),它是一种专用计算机(但不叫作主机)。路由器是实现分组交换( packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。为了弄清分组交换,下面先介绍电路交换的基本概念。
一、计算机网络发展初期面临的问题
第一阶段是从单个网络 ARPANET向互连网发展的过程。1969年美国国防部创建的第一个分组交换网 ARPANET最初只是一个单个的分组交换网(并不是一个互连的网络)。所有要连接在ARPANET上的主机都直接与就近的节点交换机相连。但到了20世纪70年代中期,人们已认识到不可能仅使用一个单独的网络来满足所有的通信需求。于是 ARPA开始研究多种网络(如分组无线电网络)互连的技术,这就导致了互连网络的出现,成为现今互联网(Internet)的雏形。1983年TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信,因而人们就把1983年作为互联网的诞生时间。1990年ARPANET正式宣布关闭,因为它的实验任务已经完成。
事实上,在计算机网络之前,人类历史上就已经出现其他类型的通信网络,最早可追溯到公元前5世纪,如下图所示。
那么在那个年代,参与ARPNET项目的科学家自然而然会想到,我们搭建的计算机网络可不可以抄个作业呢?
首先排除邮政网络,计算机网络不可能使用邮政网络那么原始的方法去解决问题,那电报网络、电话网络之中该抄那份作业呢?首先我们来看电话网络。
1.1 电路交换的主要特点【电话网络采用电路交换技术】
电路交换——整个数据的比特流连续地从源点直达终点,好像在一个管道中传送。
1.1.1 电路交换的基本知识介绍
在电话问世后不久,人们就发现,要让所有的电话机都两两相连接是不现实的。图1-7(a)表示两部电话只需要用一对电线就能够互相连接起来。但若有5部电话要两两相连,则需要当10对电线,如图1-7(b)所示。显然,若N部电话要两两相连,就需要N(N - 1)/2对电线。电话机的数量很大时,这种连接方法需要的电线数量就太大了(与电话机的数量的平方成正比)。于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如图 1-7(c)所示。每一部电话都连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。电话发明后的一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换(circuit switching)。
当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。
从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源。在使用电路交换打电话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。
这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”三个步骤的交换方式称为电路交换。如果用户在拨号呼叫时电信网的资源已不足以支持这次的呼叫,则主叫用户会听到忙音,表示电信网不接受用户的呼叫,用户必须挂机,等待一段时间后再重新拨号。
图1-8为电路交换的示意图。为简单起见,图中没有区分市话交换机和长途电话交换机。应当注意的是,用户线是电话用户到所连接的市话交换机的连接线路,是用户独占的传送模拟信号的专用线路,而交换机之间拥有大量话路的中继线(这些传输线路早已都数字化了)则是许多用户共享的,正在通话的用户只占用了中继线里面的一个话路。电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的,即往往是高频次、少量地传输数据,因此线路上真正用来传送数据的时间往往不到10%甚至1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。例如,当用户阅读终端屏幕上的信息或用键盘输入和编辑一份文件时,或计算机正在进行处理而结果尚未返回时,宝贵的通信线路资源并未被利用而是被白白浪费了。
如果计算机网络采用“电路交换”技术?是否可行?
答案是:不可行的。基于电路交换的特点,如果H1和H2之间需要通信,那么我们需要给他俩分配一条专用的物理线路,同样的,如果H3和H5之间想要通信,那么我们也要给他俩分配一条专用的物理线路,并且,在通信结束之前,整条物理线路是被独占的。如下图所示:
此时,如果H6要给H5发送一些数据,由于通信资源不够,因此H5和H6之间就无法建立通信。这就意味着,如果小红(H3)正在和小美(H5)聊微信,小扁(H6)给小美发送的任何信息都无法传输到小美的计算机上,这显然不符合计算机网络的要求。
1.1.2 电路交换的优缺点
电路交换的优点:
- 通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输速率高
电路交换更适用于:低频次、大量地传输数据【想一想:打电话,等电话2分钟,讲话5秒,体验差
;打电话,等电话2分钟,讲话1小时,体验好】
电路交换的缺点:
- 建立/释放连接,需要额外的时间开销。
- 线路被通信双方独占,利用率低。
- 线路分配的灵活性差。
- 交换节点不支持“差错控制”(无法发现传输过程中的发生的数据错误)
因此,综上,计算机网络不能抄电话网络这份作业,那电报网络呢?请看1.3小节。
1.3 报文交换技术的特点【电报网络采用报文交换技术】
报文交换—--整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
1.3.1 报文交换的基本知识介绍
一封电报中至少包含两部分信息,控制信息【指明这封电报是从哪里发出要被谁所接收】和用户数据【发送的内容】,这两部分信息我们称之为message,在计算机网络中,message称之为报文。
接下来我们来学习这些报文是如何在网络中传递的。
假设小帅要给小美、小丑要给小红发送报文,小帅和小丑的电报机连接的都是报文交换机A,因此他们各自的报文会被发送到交换机A上,交换机A首先会把这两个报文存储起来【可以理解为交换机A中有一部分内存空间,即交换机A接收到的所有报文都会先存储在交换机A中】。如下图所示:
接下来交换机需要检查各报文的控制信息是什么,以便后续转发。例如,交换机A检查右边的报文的控制信息发现该报文是要发送给小红(H3)的,那么接下来该报文就会被转发到交换机C中。如下图所示:
同样的道理,报文交换机C也会先把该报文存储起来,然后检查控制信息,最后完成转发。如下图所示:
上述流程使用到了存储转发的思想,即把传送的数据单元先存储进中间节点,再根据目的地址转发至下一节点。
1.3.2 报文交换技术的优缺点
报文交换的优点:
- 通信前无需建立连接
- 数据以“报文”为单位被交换节点间“存储转发”,通信线路可以灵活分配
- 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
- 交换节点支持“差错控制”(通过校验技术)
报文交换的缺点:
- 报文不定长,不方便存储转发管理
- 长报文的存储转发时间开销大、缓存开销大
- 长报文容易出错,重传代价高
因此,我们发现,报文交换技术对于计算机网络应该采取什么样的技术进行通信有非常好的参考价值,但是我们要解决一个问题,即:报文不定长的问题。 解决的办法是:分组交换技术。详细内容请参考1.5小节。
1.4 分组交换技术【现代计算机网络采用分组交换技术】
分组交换——单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。
1.4.1 分组交换技术基本概念
分组交换则采用存储转发技术。图 1-9表示把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分为一个个更小的等长数据段,例如,每个数据段为 1024 bit。在每一个数据段前面,加上一些必要的控制信息组成的首部(header)【包含:源地址、目的地址、分组号等】后,就构成了一个分组(packet)。分组又称为“包”,而分组的首部也可称为“包头”。分组是在互联网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。
1.4.2 分组交换技术举例
假设小帅要给小美发送数据,那么在数据发送之前,该数据会被拆分为多个分组,如下图所示:
首先,主机H1将分组发送至分组交换机A,这些分组将先在分组交换机A处进行存储,然后进行转发至下一节点,在此,我们发现有两条路径可以进行转发,一条是分组交换机A-->B-->D-->H5,另一条是A-->C-->E-->D-->H5,这两条路都是可以走的。
现在,故事是这样的,分组0和分组1走上面这条路,当分组2开始转发的时候,分组交换机A发现上面的路已经足够拥堵了,那不妨把分组2发送到下面这条空闲的路上,那么分组2就被转发至分组交换机C中。
接下来,由于下面的这条路比较空闲,分组2早早就到达H5,即H5先接收到分组2,如下图所示:
紧接着,分组0和分组1也逐次存储转发,来到了H5,如下图所示:
所以收到这些分组的顺序是分组2-->分组0-->分组1,那么通过分组首部中分组号的信息,H5这台电脑可以对这些分组进行排序,重新排成0、1、2的顺序,如下图所示:
然后再把不必要的首部信息拆出去,之后合并成用户数据,如下图所示:
以上的过程就是分组交换技术的流程。
在现代计算机网络当中,路由器就是一种典型的分组交换机,网络中的数据以固定的长度的分组为单位,在各个路由器之间交换。
位于网络边缘部分的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则用来转发分组,即进行分组交换。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。
1.4.3 分组交换技术的优缺点
分组交换的优点:
- 通信前无需建立连接
- 数据以“分组”为单位被交换节点间“存储转发”,通信线路可以灵活分配
- 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
- 交换节点支持“差错控制”(通过校验技术)
相比于报文交换,分组交换改进了如下问题:
- 分组定长,方便存储转发管理
- 分组的存储转发时间开销小、缓存开销小
- 分组不易出错,重传代价低
分组交换的缺点:
- 相比于报文交换,控制信息占比增加
- 相比于电路交换,依然存在存储转发时延
- 报文被拆分为多个分组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度