一个乌托邦式单纯形协议
单纯形协议是计算机网络上用于帧传输的数据链路层协议。它是一种假设的协议,设计用于在理想信道(即永远不会出错的信道)上进行单向数据传输。
假设发送方和接收方始终准备好进行数据处理,并且两者都有无限的缓冲区。发送方在数据可用后立即将其所有可用数据发送到信道中,因为它们可以使用缓冲区。假设接收方可以立即处理所有传入数据。它没有处理流控制或错误控制。由于该协议完全不切实际,因此它通常被称为乌托邦单纯形协议。
此协议的重要性在于,它展示了可用的协议构建上的基本结构。
设计
发送方站点:发送方站点中的数据链路层等待网络层发送数据包。在接收到数据包时,它会立即处理该数据包并将其发送到物理层进行传输。
接收器站点:接收器站点的接入层等待帧可用。当帧可用时,接收器站点会立即处理帧并将其发送到网络层。
单工协议发送器站点算法
begin while (true) //check repeatedly do Wait_For_Event(); //wait for availability of packet if ( Event(Frame_Available)) then Get_Data_From_Network_Layer(); Make_Frame(); Send_Frame_To_Physical_Layer(); end if end while end
单工协议接收器站点算法
begin while (true) //check repeatedly do Wait_For_Event(); //wait for arrival of frame if ( Event(Frame_Arrival)) then Receive_Frame_From_Physical_Layer(); Extract_Data(); Deliver_Data_To_Network_Layer(); end if end while end
流程图
以下流程图描述了通过单工协议进行通信。
广告