1. 程式人生 > >資料鏈路層_流量控制和差錯控制、協議

資料鏈路層_流量控制和差錯控制、協議

data link layer最重要的職能就是流量控制(flow control)和差錯控制(error control), 這些控制功能就是我們所說的鏈路控制(data link control)。

那麼流量和差錯到底怎麼控制呢,下面讓我們一起來看看:

流量控制就是一系列程式,用來限制傳送方在等到確認之前傳送的資料數量,

差錯控制差錯檢測和糾正,在data link layer中差錯控制比較容易實現,在交換的任何時刻檢測到一個差錯就要重傳這個錯誤的幀,這個過程叫 自動重複請求 automatic repeat request,ARQ,

也就是 data link layer的差錯控制基於自動重複請求,即重傳資料

 

協議

現在看看資料鏈路層怎麼將 成幀、流量控制、差錯控制三者結合起來,從而實現節點對節點的資料傳輸,

此處我們討論的協議是單向的,資料幀從一個節點傳輸到另一個節點,其中有些特殊的幀我們稱之為確認,acknowledgment,ACK和否定確認 negative acknowledgment,NAK,但為了實現流量控制和差錯控制,這些幀可以反向流動,

但資料只能單向流動,

在現實網路中,資料鏈路協議是雙向實現的:資料可以雙向流動,

ACK和NAK通過捎帶piggybacking技術被包含在資料幀中,

 

Reference:《Encryptography and Networking Security》6th William Stalling