一、tcp/ip的信息交换
tcp/ip是基于无连接的分组交换技术,选择分组交换的好处是显而易见的,因为无连接(此处的无连接是网络层的无连接,传输层可以建立连接,比如tcp在每次传输数据前,都要3次握手确认可以和接收方建立连接),所以能同时和多个端保持通信;另外分组交换技术将数据分成了一个个小的数据包,经过路由选择和存储转发,可以最大化的利用端和端之间的多条线路,并减少了传输错误。
正是由于这些特性,tcp/ip才被越来越广泛的使用,但是在某些特殊应用场景下,tcp/ip的优点却变成了缺点:在传输连续的大数据时,无连接意味着每次传递数据都要寻址,就会消耗更多时间;分组转发数据拆成小的数据包,在接收端就要对数据包进行排序、纠错等额外操作;模拟信号不能分组转发,需要调制解调器将模拟信号转换成数字信号,对信号的还原保真要求更高,所以说tcp/ip不是万能的。其实在tcp/ip诞生之前,就已经存在分组交换通信网,只不过它的重要性远远没有电话网和电报网重要, 电话网和电报网中的电路交换和报文交换才是当时的主流数据交换方式。
电路交换在通信双方通信之前要建立一条独占的通信线路,数据按照终端实际速率实时传输。电路交换分为3个阶段:连接建立,通信,连接拆除。
电话网就是典型的电路交换网,如果要和别人通话,先拨号建立连接,然后接通电话说话,最后挂掉电话。在和别人通话时,其他人就不能给你打电话了。以前拨号上网时,电话就接通不了,也是因为网络连接占用了电话线路(现在的adsl技术实现了既能上网又能打电话,但并没有改变电路交换方式,而是使用了频分技术融合和分离电话信号和网络信号)。
如果再细分电路交换,有空分交换和时分交换两种方式。
空分交换:“指在交换过程中的入线是通过在空间的位置来选择出线,并建立连接。通信结束后,随即拆除。比如,人工交换机上塞绳的一端连着入线塞孔,由话务员按主叫要求把塞绳的另一端连接被叫的出线塞孔,这就是最形象的空分交换方式。”,电话网就是空分交换,交换机自动接线替代了人工接线,如下图。
时分交换:“时分交换是将通信的时间划分为许多独立的时隙,每个时隙都对应一个子信道,通过时隙的交换,实现时隙所承载的数据的传输。”,在计算机还是巨型机器的时代,两台机器A、B通过电路交换方式连接,其中机器A提供给多个用户使用,用户同时通过机器A发送不同数据给机器B,有3种方式:顺序发送,分割时间片,顺序发送是不做任何处理的电路交换,不用再介绍了。分割时间片,即时分交换,使用同步时分复用技术,把时间划分为若干互不重叠的时隙,由不同的时隙建立不同的子信道。多个用户同时发送数据时,会将每个用户的消息按照划分好的子通道顺序填充到每个时隙,通过机器A和机器B的电路交换通路发送,机器B接收到数据,按照子通道的顺序拆分数据。如下图:
电路交换优点:
(1)由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。
(2)通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。
(3)双方通信时按发送顺序传送数据,不存在失序问题。
(4)电路交换既适用于传输模拟信号,也适用于传输数字信号。
电路交换缺点:
(1)电路交换平均连接建立时间对计算机通信来说较长。
(2)电路交换建立连接后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低(同步时分分复用是在一个连接上的复用)。
(3)电路交换时,数据直达,不同类型,不同规格,不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
报文交换不要求在两个通信结点之间建立专用通路。结点把要发送的信息组织成一个数据包——报文,该报文中含有目标结点的地址,完整的报文在网络中一站一站地向前传送,每一站接收整个报文,检查目标结点地址,然后根据网络中的交通情况在适当的时候转发到下一站。经过多次的存储——转发,最后到达目标。
手机短信就是报文交换的一个典型场景,手机只要一开机,就会连接最近的基站,并通知运营商服务器,当发送短信时,基站接收到完整短信并存储,然后发送给运营商服务器,服务器接收到短信,寻找收信人的基站信息,如果发现收件人连接的基站,就会将短信转发给收件人基站,基站收到短信后立马转发到收信人手机上。一条短信发送经历了:发件人手机-->基站-->运营商服务器-->基站-->收信人手机,每个短信的发送、转发和接收节点,都完整的存储了整条短信,所以这种发送方式发送短信,一般都是以文字为主,长度也会限制。如下图。
报文交换的最大优点是不需要在通信双方之间建立独占的通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。但是由于报文交换是以一个个完整的数据报文为单位存储转发的,如果报文很大,经过多次的存储转发,会有很大的延迟,不适合传送实时性要求很强的数据,另外在转发节点上都要有较大容量的存储设备。
四、分组交换
基于报文交换,将报文分割成一个个以分组为单位的数据块,在传输节点上还是存储转发,因为数据单位很小,所以实时性高,对转发节点的存储空间容量要求更低,特别适合传递互联网实时业务。
电路交换的时分交换是同步时分复用,用多个物理子通道标记和发送多路信息,而分组交换在传递多路信息时,使用了逻辑通道,将数据拆分成分组时,每个分组的头部字段都标记了数据的归属和顺序,数据接收方根据头部字段组装分组,形成完整的数据报文。如下图:
tcp/ip 就是典型的分组交换。tcp/ip是以ip技术的无连接的分组交换,在分组交换通信网上,也能支持类似电路交换的虚电路连接,虚电路在通信两方建立逻辑连接,通信数据一直以相同的路径传输数据,通信结束拆除连接。这里需要注意下,tcp在传输数据时也要建立连接,但tcp的连接和虚电路的连接是不同的,tcp的连接是传输层,这里的虚电路是建立网络层的连接,tcp是可以在虚电路分组网上传输数据的,比如帧中继网和ATM网是支持tcp/ip的。
分组交换的优缺点可以参考前面提到的tcp/ip的优缺点。
五、总结
数据传递经历了电路交换-->报文交换-->分组交换,每种方式都有自己的场景,基于这三种方式的电话网、电报网和互联网互相共存,但是由于基于分组交换技术的tcp/ip太强大,互联网正逐步统一电话网(ip电话)、电报网,分组交换也成为了主流的数据交换方式。