什麼是提前令牌釋放和延遲令牌釋放?
令牌環是一種物理單向環,系統透過某種介面連線到環上。
在令牌環中,一個特殊的幀稱為令牌,它始終在環上迴圈。如果一個系統要傳輸資料,則需要獲取令牌;沒有令牌,任何系統都無法傳輸。一次只能有一個系統傳輸。因此,它是一種無衝突協議。
令牌環源負責從環中移除幀。在正常的令牌環操作中,傳送資訊的站點會持有令牌,直到傳送的資料繞整個環一週。
傳送站從環中剝離資料後,就會發出一個空閒令牌。系統在幀到達後或幀傳輸後重新生成令牌。
令牌環的型別
我們將令牌環分為以下兩種型別:
提前令牌釋放
系統在幀傳輸後立即重新生成令牌,無需等待到達。在延遲令牌釋放中,系統僅在幀到達後才生成令牌。
提前令牌釋放的效率如下:
- 只有一個系統想要傳輸時。
- 每個系統都想要傳輸時。
環延遲 - 環延遲或傳播延遲是指單個位元遍歷整個環所需的時間。我們假設系統等距分佈。
如果環延遲為“R”,系統總數為“N”,則單個位元在兩個中間站之間傳輸所需的時間 = R/N。
讓我們看看只有一個系統想要傳輸時提前令牌釋放的效率:
總時間 = tx + txt + tp
其中 tx = 幀傳輸時間,
txt = 令牌傳輸時間。
$\mathrm{\eta\:=\:t_x/(t_x\:+\:t_{xt}\:+\:t_p)}$
如果沒有給出令牌長度,則 txt 可忽略不計。令牌傳輸是開銷,那麼它就不是一個有用的協議。如果存在某種延遲,我們將把該令牌環作為帶有開銷的環。
在儲存幀的位置,我們必須考慮系統的傳輸時間;在不儲存幀的位置,我們不必考慮。
讓我們看看每個系統都想要傳輸時的效率:
$\mathrm{\eta\:=\:t_x/(t_x\:+\:t_{xt}\:+\:t_p/N)}$
延遲令牌釋放
在延遲令牌釋放中,令牌會一直保持,直到資料包的最後一個位元傳輸完畢,資料包繞環一週回到傳送站。
每當一個站點獲取令牌時,它會執行以下操作:
它傳輸資料包。
令牌將被持有,直到資料包返回到它。
每當資料包到達時,它都會丟棄該資料包,因為它的旅程已完成。
最後,它釋放令牌。
以下是延遲令牌釋放的示意圖:
只有一個系統想要傳輸時延遲令牌釋放的效率:
總時間 = $\mathrm{t_x+t_p\:+\:t_{xt}\:+\:t_p}$
tx + tp = 幀傳輸和遍歷。
txt + tp = 令牌傳輸和遍歷。
每個系統都想要傳輸時延遲令牌釋放的效率:
$\eta\:=\:t_x/(t_x\:+\:t_{p}\:+\:t_{xt}\:+\:t_p/N)$