文章目录
- 2.1_5 数据交换方式
- (一)为什么要数据交换?
- (二)数据交换方式
- (1)电路交换(Circuit Exchanging)
- (2)报文交换(Message Exchanging)
- (3)分组交换(Packet Exchanging)
- a)数据报方式
- b)虚电路方式
- (三)数据交换方式的选择
2.1_5 数据交换方式
(一)为什么要数据交换?
如果两台计算机要进行通信,那么两台计算机之间要有链路连接。假设我们现在使用的都是有线的链路。那么,若要使得计算机两两互连,就有 C n 2 C^2_n Cn2条链路。——比较低效、浪费资源。
因此,我们就产生了上图这种交换方式。通过使用交换设备,可见,链路个数就变成了n条。当然,这个拓扑结构也叫“星型”拓扑结构。
交换是通过某些交换中心将数据进行集中和传送。
传输线路为各个用户共用,从而大大节省通信线路,降低系统费用。
(二)数据交换方式
(1)电路交换(Circuit Exchanging)
在上图所示的例子中,假设A主机是发送信息的,B主机是接收信息的。中间的都是交换设备。黑色的线是传输线路。
电路交换的原理:
在数据传输期间,源结点与目的结点之间有一条由中间结点构成的专用物理连接线路,在数据传输结束之前,这条线路一直保持。
发送主机A会发出请求到某个交换设备上,之后,中间的交换设备会执行路由选择算法,选择要转发到哪个中间交换设备上。最终,呼叫请求发送到接收主机B上。
B接收到呼叫请求之后,再原路返回,返回一个呼叫应答到主机A上。至此,A、B两台主机之间的连接线路就算连接成功了。就已经通过中间的网络,将A、B两台主机牵在了一起。
建立连接之后,A、B都是可以发送数据的,也就是全双工的通信方式。进行通信。
在双方通信完毕之后,就要释放连接。此时,假如是A主机想要跟B断开连接,那么A主机要发送释放请求,这个请求会在之前所选好的那个路径之上进行转发,直至发给B主机。当B主机收到释放请求之后,就会返回一个释放应答,并且按照中间设备D、C、B、A
的顺序,把这个连接依次地释放掉。
至此,A、B主机的通信就算已经结束了。
特点:
独占资源。用户始终占用端到端的固定传输带宽。适用于远程批处理信息传输或系统间实时性要求高的大量数据传输的情况。
(2)报文交换(Message Exchanging)
报文
报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。
比如,我要给你发送一个文件,那么这一个文件就是一条报文。我要给你发一个语音,那么这一个语音就是一条报文。我给你发送一个字,这个字就是一个报文。——报文指的就是单次要发送的数据块。
报文交换的原理
无需在两个站点之间建立一条专用通路,其数据传输的单元是报文,传送过程采用存储转发方式。
报文交换的原理,用“存储转发”四个字概括足矣。
从源主机发出的信息,加上报头,那么这个信息+报头组合起来就形成了报文。之后就可以开始传输了。
首先,报文要走到交换设备A
处。交换设备A就要做存储转发
工作。
1.每个节点收下整个报文后,暂存报文并检查有无错误;
2.当所需要的输出电路空闲时,利用路由信息找到下一个节点地址,传送给下一个节点。
此外,在两个通信用户间的其他线路段,可传输其他用户的报文,不像电路交换那样必须占用端到端的全部信道。
比如上图中的报文被传输到
交换设备B
处了,那么此时的交换设备A、C
可以转而去处理其他用户的报文。——即,线路并非独占的,而是共享的。类似于公共车道一样。
(3)分组交换(Packet Exchanging)
分组
大多数计算机网络都不能连续地传送任意长的数据,所以实际上网络系统把数据分割成小块,然后逐块地发送,这种小块就称作分组(packet)。
分组交换的原理
分组交换与报文交换的工作方式基本相同,都采用存储转发方式。形式上的主要差别在于,分组交换网络中要限制所传输的数据单位的长度,一般选128B
。发送节点首先对终端设备送来的数据报文进行接收、存储,而后将报文划分成一定长度的分组,并以分组为单位进行传输和交换。接收结点将收到的分组组装成信息或报文。
在发送端首先将大数据块切成一个个的小数据块。然后还要在各个小数据块上附加相关控制信息。对于每个附加了相关信息的小数据块,我们称之为一个分组。
小数据块 + 控制信息(源和目的地址、编号) = 分组。
这一个个的小分组,在发送的时候,它可以根据实际情况到处的跑。第一个分组可以走上面、第二个分组可以走下面。具体选择哪条路走,取决于当时的网络状况。
这些小的分组,可谓是“走着走着就散了”。那么,到了目的主机之后,怎样把它们重新拼回去呢?——此时就需要用到各个分组的编号了。按照各个分组携带的编号,就可以实现按序重组,还原成原来的、完整的、正确的报文。
a)数据报方式
1.源主机A将报文分成多个分组,依次发送到直接相连的结点A;
2.结点A收到分组后,对每个分组差错检测和路由选择,不同分组的下一跳结点可能不同;
3.结点C收到分组P1后,对分组P1进行差错检测,若正确则向A发送确认信息,A收到C确认后则丢弃分组P1副本。
4.所有分组到达主机B,并按照编号顺序重组。
数据报方式的特点
1.数据报方式为网络层提供无连接服务。发送方可随时发送分组,网络中的结点可随时接收分组。
无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
2.同一报文的不同分组到达目的结点时可能发生乱序、重复与丢失。
但是不需要担心,我们在接收端可以按照各个分组的编号进行重组,就可以还原了。
3.每个分组在传输过程中都必须携带源地址和目的地址,以及分组号。
4.分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
如果丢弃部分分组,没关系,它会有相应的机制进行处理,让它重新发一次。所以也只是早到、晚到的问题。这些分组迟早都会到的。
5.网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强,适用于突发性通信,不适用于长报文、会话式通信。
b)虚电路方式
虚电路将数据报方式和电路交换方式结合,以发挥两者优点。
虚电路
一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有节点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。
虚电路方式的特点
1.虚电路方式为网络层提供连接服务。源节点与目的结点之间建立一条逻辑连接,而非实际物理连接。
连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
2.一次通信的所有分组都通过虚电路顺序传送,分组不需携带源地址、目的地址等信息,包含虚电路号,相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
3.分组通过虚电路上的每个节点时,节点只进行差错检测,不需进行路由选择。
4.每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务。
5.致命弱点:当网络中的某个结点或某条链路出故障而彻底失效时,则所有经过该节点或该链路的虚电路将遭到破坏。
(三)数据交换方式的选择
1.传输数据量大,且传送时间远大于呼叫时间,选择电路交换。电路交换传输时延最小。
很好理解,电路交换是独占整条链路,当然传输的最顺畅、传输时延最小。
2.当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。
3.从信道利用率上看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。