線路規程及流量控制

2021-10-01 05:10:27 字數 2209 閱讀 4990

在osi模型的物理層,實現了傳輸但是仍沒有實現通訊。

通訊至少需要兩個一起工作的裝置,乙個傳送乙個接收,同時雙方還需要大量的協調工作。

資料鏈路層控制是實現了通訊中的線路規程、流量控制和錯誤控制等功能。

資料鏈路層的線路規程功能監視鏈路的建立,以及給定時刻乙個具體裝置進行資料傳送的權力。

資料規程可以以兩種方式實現::詢問/應答(enq/ack)方式輪詢/選擇方式。第一種方式在對等式通訊中採用,第二種方式在主從式通訊中採用。

詢問/應答模式(enq/ack)應用在當兩個裝置之間存在一條 專用鏈路時的情況下。它負責協調哪個裝置可以開始傳輸以及預期 的接收方是否已經就緒並可以進行接收。

在半雙工和全雙工傳輸下,啟動裝置建立會話過程。在半雙工 傳輸中,啟動方在響應方等待時就將資料傳送出去;響應方在啟動方 結束操作或要求乙個回應時可以接管鏈路控制。在全雙工傳輸中,一 旦會話建立,兩個裝置就可以同時進行傳送。

輪詢/選擇模式是在以乙個裝置設計為主裝置而其它裝置為從 裝置的拓撲結構中採用的。因此,既需要確定裝置是否就緒,還需 要確定通道的使用權問題。

主裝置控制鏈路,總是會話的發起者,從裝置遵從其指令工作。 如果主裝置希望接收資料,它將詢問從裝置是否有資料待傳送,這個 過程稱為輪詢;如果主裝置希望傳送資料,它告知目標從裝置準備好 接收資料,這個過程稱為選擇。

在多點鏈路中,每個裝置都有乙個不同的位址。在任何一次傳輸中,這個位址會在每一幀資料的位址域或報文頭出現。

當主裝置有資料待傳送時採用選擇模式。在傳送資料前,主裝置 產生並傳送乙個選擇幀(sel),如果相應的從裝置當前是啟用的並 且正在執行,就向主裝置返回乙個肯定應答幀(ack),然後主裝置 可以開始傳送資料。

當主裝置請求從裝置進行傳輸採用輪詢模式。當詢問到達從設 備時,它如果沒有資料要傳送,就發回乙個否定應答(nak),否則 就傳送資料幀。這裝置讀入該資料幀後向從裝置返回乙個應答幀( ack)來確認已經接收。

流量控制是指一組過程,這組過程被用來被用來限制在等待應答前通過傳輸鏈路的資料量。

在控制通過傳輸鏈路的資料流量上採用兩種方法:停等協議和 滑動視窗協議。

在停等協議中,傳送方每發出一幀後就等待乙個應答幀。只有 當收到應答訊號後,才傳送下一幀,直到傳送方傳送了乙個傳輸結 束幀(eot)。

停等協議實現簡單,採用半雙工工作模式,效率比較低。

停等協議

在滑動視窗協議中,傳送方在收到應答訊息前可以傳送若干幀 資料,使用乙個ack幀來對多個資料幀的接收進行確認。

滑動視窗協議需要傳送方和接收方都要建立額外的緩衝區。這 個視窗可以在收發兩方儲存資料幀,並且對收到應答之前可以傳輸 的資料幀的數目進行了限制。

傳送視窗

當資料幀傳送出去時,傳送視窗從左面開始收縮。當應答來到 時,傳送視窗向右方擴充套件。

接收視窗

當接收資料幀時,接收視窗從左面開始收縮。當應答來到時, 傳送視窗向右方擴充套件。

例項為了更好地區分幀編號,視窗的大小應該比模數小1。

Linux 線路規程

line discipline ldisc 線路規程,是linux和類unix系統終端子系統的乙個軟體驅動層。終端子系統從上到下可劃分為三層 驅動的工作是以硬體能夠理解的方式格式化傳送給它的資料,並且從硬體接收資料.也就是說,驅動的作用是接受硬體資料或者傳送硬體能夠理解的資料至硬體裝置,並且承擔了配...

linux 終端裝置 線路規程

line discipline ldisc 線路規程,是linux和類unix系統終端子系統的乙個軟體驅動層。終端子系統從上到下可劃分為三層 頂層tty core驅動層提供字元裝置介面 因為所有的終端裝置都是字元裝置 最底層是tty driver層用來和硬體進行通訊,實現tty operations...

mysql流量控制 UDP流量控制之分析

關健字 udpudx udttcp 吞吐量流量 代寬擁塞控制 大都知道,udp是不可靠傳輸協議與tcp剛好相反.不過因為udp的特性適合傳輸不需要確認的資料,在應用層如果設計好的傳輸協議一樣可以進行很好的可靠傳輸.比如rudp協議.但是光可靠傳輸還不夠,流量控制是很重要的.我們從簡單的情況說起來說明...