您好,欢迎访问三七文档
第10章分组交换.分组交换是为了在数据通信量突然增大时提供比电路交换更高效率的设施而设计的。使用分组交换,站点以称为分组的小数据块的形式传输数据每个分组都由一部分的用户数据及控制信息组成,这些控制信息是网络正常工作所必需的。.分组交换网络与众不同的一个关键要素是其内部操作足数据报或虚电路。使用内部虚电路时,在两个端点之间定义了一条路由,而该虚电路的所有分组都沿着这条相同的路由前进。使用内部数据报时,各分组独立对待,终点相同的分组可能沿不同的路由前进。.分组交换网络的路由选择功能试图找到穿过网络的最小费用路由,而费用的计算是基于跳数、预期的时延或其他度量。通常,自适应路由选择算法依赖于在节点之间交换的有关通信量状况的信息。.X.25是端系统与分组交换网络之间接口的标准协议大约在1970年左右,人们开始研究一种新形式的远距离数字数据通信体系:分组交换。虽然自此之后,分组交换技术得到了极大的发展,但值得注意的是:(1)在今天的网络中,分组交换的基本技术与20世纪70年代早期的网络中运行的分组交换技术没有本质区别,并且(2)分组交换一直是少数几个实际应用的远距离数据通信技术之一。本章全面介绍了分组交换技术我们将会肴到分组交换具有的许多优点(灵活性、资源共享、稳健性、响应性)都是要付出代价的:分组交换网络是分布式分组交换节点的集合。理想情况下所有分组交换节点应当总是知道整个网络的状态。可惜,由于这些节点是分布式的,所以在网络的某部分状态发生变化与网络所有节点全都得知这一变化这两者之间,在时间上总会存在时延。再者,要传送状态信息必然会涉及到额外的开销。由此得出的一个结沦是,分组交换网络永远无法做到“完美无瑕”。而且,为了妥善处理好网络操作的时延和额外开销问题,需要使用非常精密的算法。当我们在第五部分讨论网际互联时会再次遇到同样的问题。本章首先介绍了分组交换网络的原理(接着浏览了这此网络的内部操作,并介绍虚电路和数据报的概念。然后是详细介绍路由选择的主要技术。本章以对X.25的介绍作为结束,这个标准是终端系统与分组交换网络之间的标准接口。10.1分组交换原理长途电路交换电信网的最初设计目标是为了处理话音通信量,并且这些网络的主要通信量一直以来都是话音通信量。电路交换网络的一个主要特点是网络内部资源被某次呼叫所专用话音连接后得到的电路能够亨有百分比很高的利用率,因为在大多数时间里,通话双方之中总会有一方在说话。但是,由于电路交换网络开始越来越多地用于数据连接,因而它的下述两个缺点也越来越明显:.在典型的用户/主机数据连接中(例如个人计算机用户登录到一个数据库服务器上),线路在大多数时间是空闲的。因此,对于数据连接,电路交换方式是低效率的。.在电路交换网中,为传输而提供的连接是数据率恒定的。因此,相连的两个设备彼此必须以相同的数据率进行传送和接收这样,在连接各种各样不同的主计算机和终端时,网络的利用率就受到了限制。为了理解分组交换技术是如何处理这些问题的,让我们简单地概括一下分组交换的操作过程。数据以短分组的形式传输分组长度的上限值一般为1000个八位组(字节)。如果某个源具有更长的报文需要发送,那么这个报文被分割成一个分组序列(图10.1)。每个分组中包含了部分的(或者对一个短报文来说是全部的)用户数据,再加上一些控制信息。控制信息至少要包括这样一些网络需要的信息,它们使分组能够在网络中按一定的路由前进,并传递到它意图到达的目的。在路由途中的每个节点上,分组被接收到,被暂时保存,并被传递到下一个节点。让我们来回顾图9.1,不过现在我们假设它描绘的是一个简单的分组交换网络。设想一个分组从站点A发送到站点F.。这个分组中所含的控制信息指出了意图到达的目的站点是E。该分组先从站点A发送到节点4。节点4暂存分组,判断下一段路由(比如说是到节点5),并且让该分组排队等待发送到这条链路上(从节点4到节点5的链路)。一旦该链路可用,分组被传输到节点5,而节点5将继续计分组前进到节点6,并最终到达站点E。这种方法相对于电路交换有以下几个优点:.线路的效率较高,因为单条节点到节点的链路在一段时间内可以被许多分组动态地共享。这些分组排队等候,并尽可能快地通过这条链路传输。相反,使用电路交换,节点到节点链路上的时隙资源通过同步时分复用被预先分配。在大多数时间里,这条链路可能是空闲的,因为它的部分时隙是某个空闲连接专用的。.分组交换网络能够完成数据率之间的转换。两个不同数据率的站点可以互相交换分组,因为它们以各自合适的数据率与自己的节点相连接。.当电路交换网络中的通信量变得非常拥挤时,某些呼叫会被阻塞。就是说网络拒绝接受更多的连接请求,直至网络负荷有所减轻。在分组交换网络中,分组仍然能够被接受,只是传递的时延增长。.能够使用优先级别。这样,如果一个节点有多个分组在队列中等候传输,那么优先级较高的分组将被首先传输。因此这些分组经历的时延要比优先级低的分组少。10.1.1交换技术某站点有一个报文需经过分组交换网发送,且该报文的长度大于分组的最大长度,那么这个报文被分割成一此分组,并且每次一个地向网络发送这些分组。这时人们会想到这样一个问题,网络试图让这些分组沿一定的路由经过网络,并将它们交付给意图到达的目的,那么网络是如何处理这个分组流的?目前的网络使用了两种方式:数据报和虚电路。在数据报(datagram)方式中,每个分组被视为是独立的,它和以前发送的分组之间并没有关系。让我们设想一下这种为式的实现。假设图9.1中的站点.A有一个报文由三个分组组成,并且要发送到站点E:它将3个分组1-2-3传送到节点4。每个分组中都含有它的目的地址,在这里就是E。节点4必须为每个分组做出路由选择判决。为了交付给站点E,分组1到达节点4:.作为下一段路由,节点4可以将分组发送到节点5或者是节点7,这两种选择看起来都是合理的。此时,节点4经判断得知到节点5去的分组队列要比到节点7去的短,因此这些分组被插人到去节点5的队列中。对分组2的处理也是一样。但是对于分组3,节点4发现这时到节点7的分组队列比较短,因而它将分组3放在到节点7的队列中。这样看来,虽然各分组具有相同的目的地址,但是它们不一定全部沿相同的路由前进。其结果是,分组3可能比分组2,甚至比分组1先到达节点6。因此,这些分组在传递到站点E时的顺序也就有可能与它们发送时的顺序不一致。如何才能重新顺序排列这些分组是站点E的任务。同样,一个分组在网络中被损毁也是有可能的。例如,如果某个分组交换节点突然崩溃,那么所有在这个节点上排队等待的分组可能会全部丢失。假如这种情况发生在我们例子中的某个分组上,节点6无法得知这个分组序列中已经有一个分组丢失了。依旧是由站点E负责检测分组的丢失,并解决如何恢复的问题。在这种技术中,被独立对待的一个分组就称为一个数据报。在虚电路(virtualcircuit)方式中,发送任何分组之前,首先要建立一条预定的路由。例如,假设站点A有一个或多个报文要发送到站点E。它首先向节点4发送一个特殊的控制分组,称为呼叫请求分组,用它来请求建立一条到达站点E的逻辑连接。节点4经选路后决定将这个请求以及其后所有的分组传送到节点5,而节点5则经选路后决定将这个请求及后面所有的分组传送到节点6,最后由节点6将这个呼叫请求分组交付到站点E。如果站点E准备接受这条连接,那么它向节点6返回一个呼叫接受分组二这个分组经过节点5和节点4被返回到站点A。这时站点A和站点E之间就可以通过这条已经建立的路由来交换数据了。由于在逻辑连接期间该路由是固定的,这使得它看起来有点像是电路交换网中的一条电路,因而称为虚电路。此时除了数据之外,每个分组还含有一个虚电路标识,而不是目的地址。在这条预先建立的路由上,每个节点都知道应该如何引导这些分组,因而不需要路由选择判断。这样,从站点A发送到站点E的各个分组沿途都要经过节点4、节点5和节点6,而从站点E发送到站点A的各分组沿途则要经过节点6、节点5和节点4。最后,这两个站点之一通过“清除请求”分组终止连接。在任何时刻,任何站点都可以具有到达其他任何一个站点的多条虚电路,并且也可以拥有到达多个站点的多条虚电路。这样看来,虚电路技术的主要特点是在数据传送之前,站点之间已经建立了一条路由。请注意这并不是说它是一条专用通路,就像电路交换一样。分组还是要在每个节点被缓存,并排队等待经一条线路输出,与此同时其他虚电路上的其他分组可能正在共享这条线路。它与数据报方式的区别在于,使用虚电路时,节点不需要为每个分组选择路由。对于使用同一条虚电路的所有分组只需要做一次路山选择。如果两个站点希望在很长的一段时间内交换数据,那么使用虚电路肯定是有好处的。首先,网络可以提供与虚电路有关的服务,包话按序传输和差错控制。按序传输指的是这样一个事实,由于所有分组都沿相同的路由前进,因此它们在到达时仍然是以最初的顺序排列的。差错控制作为一种服务,不仅确保分组按正确的顺序到达,而且要保证所有分组都能够正确到达。例如,假设从节点4到节点6的分组序列中有一个分组没有能够抵达节点6,或者抵达时有错误,那么节点6就可以请求从节点4重传该分组。另一个优点是使用虚电路时,分组在网络中的传送速度更快,因为没有必要在每个节点上为每个分组选择路由。数据报方式的一个优点是省掉了呼叫建立过程。因此,如果一个站点只想传送一个或几个分组,那么使用数据报方式传递会更加快捷一些。数据报服务的另一个好处是,因为它更加原始,所以也就更灵活。例如,如果在网络的某一部分发生了拥塞,那么节点可以为收到的数据报选择一条绕过拥塞区域的路由。如果使用虚电路,分组是沿预定的路由前进的,因而网络在处理拥塞时比较困难。第三个优点是数据报与生俱来就比较可靠。使用虚电路时,如果-个节点出现故障,那么经过这个节点的所有虚电路都会丢失。使用数据报传递方式,如果一个节点出现故障,那么其后的分组可以找到一条替换路由,从而绕过该节点。最近实际应用的分组交换网使用了虚电路来完成它们的内部操作。从某种程度上说,它反映了我们早期的动机,就是要提供一种能够带来与电路交换网一样可靠的服务(从按序传输的角度说)的网络。不过,也有一些专用分组交换网的供应商采用了数据报操作。从用户的观点来看,不论是基于数据报还是虚电路的使用,从网络的外部行为来看没有多大区别。最后应当注意的是,数据报形式的操作在互联网络中很常见(在第五部分中讨论)。10.1.2分组大小分组大小和传输时间之间有很大关系,如图10.2所示。在这个例子中,假设有一条虚电路从站点X经节点a和b到达站点Y。发送的报文由如个八位组组成,且每个分组都含有3个八位组的控制信息,这些控制信息位于各分组的前端,称为首部。如果整个报文被当作一个分组发送,这个分组具有43个八位组(3个八位组的首部加上40个八位组的数据),这个分组先从站点X传输到节点a[见图10.2(a)]。只有当完整的分组被接收后,它才能从节点a传输到节点b。当节点b接收到这个完整的分组后,将它传送到站点Y。不计其交换时间,它在这些节点上的总传输时间为129个八位组的时间(43个八位组x3次分组传输)。现在假设将这个报文分割成两个分组,每个分组含有20个八位组的内容,当然,每个分组还有3个八位组的首部或者说控制信息。在这种情况下,一旦从站点X发出的第一个分组到达节点a。节点a就可以开始传输第一个分组了,不需要等待第二个分组的到达。正是因为传输中有了并行的部分,所以总传输时间下降到92个八位组的时间。通过将报文分割成5个分组,那么每个中间节点可以更快地开始传输,因而节省了更多的时间,总计为77个八位组时间。不过,使用更多更小化分组的过程最终将会导致时延的增加,而不是减少,如图10.2(d)所示。这是因为每个分组都含有大小固定的首部,分组越多意味着首部越多。再者,这个例子中并没有显示出在每个节点上的处理及排队等待的时延。当使用更多的分组来处理一个报文时,这些时延量也会增加。不过我们将在下一章中看到,使用一种极小的分组大小(53个八位组)可以得到高效率的网络设计。10.1.3电路交换与分组交换的对比
本文标题:分组交换技术
链接地址:https://www.777doc.com/doc-5557110 .html