一个乌托邦式单纯形协议


单纯形协议是计算机网络上用于帧传输的数据链路层协议。它是一种假设的协议,设计用于在理想信道(即永远不会出错的信道)上进行单向数据传输。

假设发送方和接收方始终准备好进行数据处理,并且两者都有无限的缓冲区。发送方在数据可用后立即将其所有可用数据发送到信道中,因为它们可以使用缓冲区。假设接收方可以立即处理所有传入数据。它没有处理流控制或错误控制。由于该协议完全不切实际,因此它通常被称为乌托邦单纯形协议。

此协议的重要性在于,它展示了可用的协议构建上的基本结构。

设计

  • 发送方站点:发送方站点中的数据链路层等待网络层发送数据包。在接收到数据包时,它会立即处理该数据包并将其发送到物理层进行传输。

  • 接收器站点:接收器站点的接入层等待帧可用。当帧可用时,接收器站点会立即处理帧并将其发送到网络层。

单工协议发送器站点算法

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

流程图

以下流程图描述了通过单工协议进行通信。

更新于: 2019-07-30

6 千次围观

开启你的 职业

完成课程以获得认证

开始学习
广告