無錯誤通道下的單工停等協議
停等協議是一種資料鏈路層協議,用於在無噪聲通道上傳輸幀。它提供單向資料傳輸和流量控制功能,但不提供錯誤控制功能。
該協議考慮了接收器具有有限處理速度的事實。如果資料幀到達接收器端的速率大於其處理速率,則幀可能會丟失。為了避免這種情況,接收器在每個幀到達時傳送一個確認。傳送方只有在收到接收方發來的肯定確認後,才傳送下一個幀,確認接收方已準備好進一步處理資料。
設計
傳送端:傳送端的資料鏈路層等待網路層的資料包。然後檢查是否可以傳送幀。如果從物理層收到肯定通知,則將資料打包成幀併發送。然後等待確認,然後再發送下一幀。
接收端:接收端的資料鏈路層等待幀到達。當幀到達時,接收器處理它並將其傳遞給網路層。然後將確認傳送回傳送方。

無噪聲通道下單工停等協議的傳送端演算法
begin
canSend = True; //Allow the first frame to be sent
while (true) //check repeatedly
do
Wait_For_Event(); //wait for availability of packet
if ( Event(Request_For_Transfer) AND canSend) then
Get_Data_From_Network_Layer();
Make_Frame();
Send_Frame_To_Physical_Layer();
canSend = False;
else if ( Event(Acknowledgement_Arrival)) then
Receive_ACK();
canSend = True;
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();
Send_ACK();
end if
end while
end流程圖
下面的流程圖描述了透過無噪聲通道的單工停等協議進行通訊的過程。

廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP