数据传输方式和交换方式
@[toc]
---
## 数据传输方式
### 按数据传输的流向和时间关系分类
1)**单工通信**:单工数据传输是两数据站之间只能沿一个指定的方向进行数据传输。即发送方和接收方固定。单向传输,仅需要一条信道(类比**广播**)

2)**半双工通信**:半双工数据传输是两数据站之间可以在两个方向上进行数据传输,但不能同时进行。即通信的双方都可以发送和接收,但不能同时发送和接收。交替传输,需要两条信道(类比**对讲机**)

3)**全双工通信**:全双工数据传输是在两数据站之间,可以在两个方向上同时进行传输。即双方可以同时发送和接收。双向同时传输(类比**打电话**)

### 按数据传输的顺序分类
1)**串行传输**:串行传输是数据流以串行方式在一条信道上传输。该方法易于实现。缺点是要解决收、发双方码组或字符的同步,需外加同步措施。

2)**并行传输**:并行传输是将数据以成组的方式在两条以上的并行信道上同时传输。例如采用 8 单位代码字符可以用 8 条信道并行传输,一条信道一次传送一个字符。因此不需额外的措施就天然的实现了收发双方的字符同步。
缺点是传输信道多,设备复杂,成本较高,故较少采用。

### 按数据传输的同步方式划分
1)**同步传输**:同步传输就是,数据没有被对方确认收到则调用传输的函数就不返回。接收时,如果对方没有发送数据,则线程就一直等待,直到有数据了才返回,可以继续执行其他指令
2)**异步传输**:异步传输就是,发送端调用一个函数发送数据,马上返回,可以继续处理其他事,接收时,对方有数据来,接收端会接收到一个消息,或者相关接收函数会被调用。
## 数据交换方式
### 什么是数据交换?为什么需要数据交换?
数据交换(Data Switching)是指在多个数据终端设备之间,为任意两个终端设备建立数据通信临时互连通路的过程。
通俗来说**交换是就通过某些交换中心将数据进行集中和传送,传输线路为各个用户共用,从而大大节省通信线路,降低系统费用**。
如果网络规模较大,还可以把交换设备连接在一起形成交换网络。

数据交换可以分为:
- 电路交换
- 报文交换
- 分组交换
### 电路交换
所谓电路交换就是:用户之间要传输数据时,交换中心在用户之间建立一条暂时的数据电路。电路接通后,用户双方便可传输数据,并**一直占用到传输完毕拆除电路为止**。

最典型的电路交换网络:电话网络
- 优点:传输时延很小,而且交换机对数据不加处理,是这几种交换方式中最快的一种。因而适合传输实时性强和批量大的数据
- 缺点:就是建立连接时间长;信道利用率低;缺乏统一标准;灵活性差
### 报文交换
报文交换不同于电路交换,它**无需在两个站点之间建立一条专用通路**,其数据传输的单位是报文,传送过程采用**存储转发**的方式。
所谓存储转发呢:比如说 A 发送报文给 D,需要经过 B,那么 **B 收到完整的报文并检查有无错误后进行转发给下一个节点**

显然,这个接收存储以及转发的过程显然是存在时延的
- 优点:无需建立连接;可靠性高;线路利用率高;可提供多目标服务
- 缺点:由于存储转发导致时延;对报文大小没有限制,需要较大的存储缓存空间
### 分组交换
所谓分组,就是将一个大的数据包分成一个个更小的数据包,这些一个个更小的数据报就称为分组
分组交换同样采用**存储转发**,不同站点的数据分组可以交织在同一线路上传输,也就是说**一个大的数据包分成了若干个分组之后,这些分组不一定都沿着同一条路径进行转发**,提高了线路的利用率。当然,由于将大的数据包分割成了若干小分组,所以分组交换的速度比报文交换快得多。
不过也正是由于会分为众多的分组,传输的工作量比较大,可能会出现丢包的现象,这也是分组交换的缺点。


网络中什么时候会使用分组交换呢?
当一个网络层的 IP 数据报从一个主机传输到另一个主机时,它可能通过不同的物理网络。每个物理网络上都有各自的最大帧的大小(即**最大传输单元 MTU**),若传输的 IP 数据报超过 MTU,此时就会对 IP 数据报进行分组。
