分组交换根据其通信子网向端点系统提供的服务,还可以进一步分为面向连接的虚电路方式和无连接的数据报方式。这两种服务方式都由网络层提供。
1.数据报
当作为通信子网用户的端系统要发送一个报文时,在端系统中实现的高层协议先把报文拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)。中间结点存储分组一段很短的时间,找到最佳的路由后,尽快转发每个分组。不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。
1)假定主机A先将分组逐个发往与它直接相连的交换结点A,交换结点A将收到的分组缓存。
2)然后查找自己的转发表。由于不同时刻的网络状态不一样,因此转发表的内容可能不完全相同。因此有的分组转发给交换结点C,有的分组转发给交换结点D。
3)网络中的其他结点收到分组后,类似地转发分组,直到分组最终到达主机B。
当分组正在某一链路上发送分组时,分组并不占用网络的其他部分资源,因而采用存储转发技术,资源是共享的,所以主机A在发送分组时,主机B也可以同时向其他主机发送分组
数据报服务具有如下特点:
1)发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接受分组。
2)网络尽最大努力交付,传输不保证可靠性,所以可能丢失;为每个分组独立地选择路由,转发路径可能不同,因而分组不一定按序到达目的结点。
3)发送的分组中药包括发送端和接受端的完整地址,以便可以独立传输。
4)分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点 的通信量较大或网络发生拥塞时,这种时延会大大 增加,交换结点还可根据情况丢弃部分分组。
5)网络具有冗余路径 ,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强。
6)存储转发的延时一般较小,提高了网络的吞吐量。
7)收发双发不独占某一链路,资源利用率较高。
2.虚电路
虚电路方式试图将数据报方式与电路交换结合起来,充分发挥两种方式的优点,以达到最佳的数据交换效果。在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,并且连接一旦建立,虚电路所对应的物理路径也就固定了。与电路交换类似,整个通讯过程分为三个阶段:虚电路建立、数据传输和虚电路释放阶段。
在虚电路方式中,端系统每次建立虚电路时,选择一个没用过的虚电路分配给该虚电路,以区别于本系统中的其他虚电路。在传送数据时,每个数据分组不仅要有分组号、检验和等控制信息,还要有它要通过的虚电路号,以区别于其他虚电路的分组。在虚电路网络中的每个结点上都维持一张虚电路表,它的每一项记录了一个打开的虚电路的信息,包括在接受链路和发送链路的虚电路号,前一结点和下一结点的标识。数据的传输是双向进行的,上述信息是在虚电路的建立过程中确定的。
1)为了进行数据传输,主句A与主机B之间先建立一条逻辑通路,主机A发出一个特殊的“呼叫请求分组”,该分组通过中间结点送往主机B,如果主机B同意连接,就发送“呼叫应答”分组予以确认。
2)在虚电路建立之后,主机A就可以向主机B发送数据分组。当然,主机B也可以在虚电路上向主机A发送数据。
3)传送结束后主机A通过发送“释放请求”分组以拆除虚电路,整个连接就逐段断开了。
通过上面的例子,可以总结出虚电路服务具有如下特点:
1)需电路通信链路的建立和拆除需要时间开销,对交互式的应用和小量的短分组情况显得浪费,但对长时间、频繁的数据交换,则效率较高。
2)虚电路的路由选择体现在连接建立阶段,连接建立后,传输路径就确定了。
3)虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可以对两个数据端点的流量进行控制,当接收方来不及接受数据时,可以通知发送方暂缓发送。
4)虚电路有一个致命的弱点,即当网络中某个结点或链路出故障而彻底失效时,则所有经过该结点或链路的虚电路将遭到破坏。
5)分组首部并不包含目的地址,而是包含虚电路标识符,相对数据报方式开销小。
虚电路之所以是“虚”的,是因为这条电路不是专用的,每个结点到其他结点之间的链路可能同时有若干虚电路通过。它也可能与多个结点之间具有虚电路。每条虚电路支持特定的两个端系统之间的数据传输,两个端系统之间也可以有多条虚电路为不同的进程服务,这些虚电路的实际路由可能相同也可能不相同。
数据传输过程是由确认的传输(由高层实现),主机B收到分组后要发回相应分组的确认。网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
数据报服务 | 虚电路服务 | |
---|---|---|
连接的建立 | 不要 | 必须有 |
目的地址 | 每个分组都有完整的目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号 |
路由选择 | 每个分组独立地进行路由选择和转发 | 属于同一条虚电路的分组按照同一路由转发 |
分组顺序 | 不保证分组的有序到达 | 保证分组的有序到达 |
可靠性 | 不保证可靠通信,可靠性由用户主机来保证 | 可靠性由网络保证 |
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择发生变化,可正常传输 | 所有经过故障结点的虚电路均不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责,也可由用户主机负责 |