在计算机网络中,同步(Synchronous)的意思很广泛,没有统一的定义。例如,协议的三个要素之一就是“ 同步”。在网络编程中常提到的“同步” 则主要指某函数的执行方式, 即函数调用者需等待函数执行完后才能进入下一步。异步(Asynchronous)可简单地理解为“ 非同步”。
在数据通信中,同步通信与异步通信区别较大。
同步通信的通信双方必须先建立同步, 即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。主要有两种同步方式: 一种是全网同步, 即用一个非常精确的主时钟对全网所有结点上的时钟进行同步;另一种是准同步, 即各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。同步通信数据率较高,但实现的代价也较高。
异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的,但接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符, 因此必须在每个字符开始和结束的地方加上标志, 即开始位和停止位,以便使接收端能够正确地将每个字符接收下来。异步通信也可以帧作为发送的单位。这时,帧的首部和尾部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始(即帧定界)。异步通信的通信设备简单、便宜,但传输效率较低(因为标志的开销所占比例较大)。