本節(jié)內(nèi)容主要對流量控制原理認(rèn)識,接下來的章節(jié)會對二層通信知識點(diǎn)進(jìn)行系統(tǒng)講解。

流量控制需求產(chǎn)生:
流量控制可以有效的防止由于網(wǎng)絡(luò)中瞬間的大量數(shù)據(jù)對網(wǎng)絡(luò)帶來的沖擊,保證用戶網(wǎng)絡(luò)高效而穩(wěn)定的運(yùn)行。
流量控制定義:
流量控制用于防止在端口阻塞的情況下丟幀,這種方法是當(dāng)發(fā)送或接收緩沖區(qū)開始溢出時通過將阻塞信號發(fā)送回源地址實(shí)現(xiàn)的,是點(diǎn)到點(diǎn)的協(xié)議。
控制流量的方式:
1)在半雙工方式下,流量控制是通過反壓(Backpressure)實(shí)現(xiàn)的。
2) 在全雙工方式下,流量控制一般遵循IEEE 802.3X標(biāo)準(zhǔn),是由交換機(jī)向信息源發(fā)送“pause”幀【 01-80-C2-00-00-01 】令其暫停發(fā)送。

單工(Simplex Communication):
通信雙方中,一方固定為發(fā)送端,一方則固定為接收端。信息只能沿一個方向傳輸,使用一根傳輸線,不需要回傳信息想回通信的可以用單工模式。
半雙工(Half Duplex):
指數(shù)據(jù)可以在一個信號載體的兩個方向上傳輸,但是不能同時傳輸,相對于單方向一次性傳輸。
全雙工(Full Duplex):
數(shù)據(jù)傳輸允許在兩個方向上同時傳輸,它在能力上相當(dāng)于兩個單工通信方式的結(jié)合。

當(dāng)以太網(wǎng)交換控制電路端口工作在半雙工模式時,符合IEEE 802.3協(xié)議的載波偵聽多路訪問/沖突檢測(CSMA/CD)算法,可以實(shí)現(xiàn)隱式的流量控制,即采用背壓技術(shù)(Back Pressure)防止緩沖區(qū)的溢出,在發(fā)送方數(shù)據(jù)到來前采取某種動作,阻止發(fā)送方發(fā)送數(shù)據(jù)。

背壓技術(shù)(Back Pressure):
背壓技術(shù)是交換控制電路發(fā)出一種偽碰撞信號(False Collision Signal)技術(shù)。就是消費(fèi)者需要多少,生產(chǎn)者就生產(chǎn)多少,接收方根據(jù)自己的接收端口的情況來控制接收速率,并通過反向的ACK包來控制發(fā)送方的發(fā)送速率。
背壓技術(shù)實(shí)現(xiàn)分析:
根據(jù)已經(jīng)使用緩沖區(qū)的容量比例來判斷,當(dāng)已用緩沖區(qū)容量達(dá)到一個預(yù)先設(shè)定的比例時,端口將根據(jù)這個閾值生成阻塞信號,類似告警功能,主動發(fā)出信號包ACK。
而當(dāng)空閑緩沖區(qū)容量比例高于設(shè)定值時,端口將取消阻塞信號。
在擁塞端口所在的網(wǎng)段內(nèi),阻塞信號ACK包的傳輸可以使該網(wǎng)段里所有的端口都能檢測到?jīng)_突,等待阻塞信號結(jié)束后再傳輸數(shù)據(jù)幀,從而阻止更多的碰撞,暫時中止了數(shù)據(jù)的傳輸,使緩沖區(qū)的空間得到釋放。
這個是一種防止丟包策略的技術(shù),相應(yīng)的還有節(jié)流(丟棄),打包(小包裹轉(zhuǎn)大包裹降低傳輸開銷)等技術(shù)。

全雙工網(wǎng)絡(luò)控制:
而在全雙工網(wǎng)絡(luò)中,交換控制電路端口不會檢測沖突,并且忽略可延遲傳送的載波偵聽,
所以不能采用背壓技術(shù)解決擁塞,需要采用顯式的流量控制機(jī)制,使交換控制電路能夠阻塞處
于擁塞狀態(tài)的站點(diǎn)。于是,IEEE 802.3協(xié)議為mac控制子層提供了一個全雙工流量控制結(jié)構(gòu)框架,MAC控制子層是介于邏輯鏈路控制子層和介質(zhì)訪問控制子層間的可選功能。既然是全雙工可以互相通信,所以接收方可以告訴發(fā)送方利用“pause”幀方式。