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