本節(jié)內(nèi)容主要對(duì)流量控制原理認(rèn)識(shí),接下來(lái)的章節(jié)會(huì)對(duì)二層通信知識(shí)點(diǎn)進(jìn)行系統(tǒng)講解。
流量控制需求產(chǎn)生:
流量控制可以有效的防止由于網(wǎng)絡(luò)中瞬間的大量數(shù)據(jù)對(duì)網(wǎng)絡(luò)帶來(lái)的沖擊,保證用戶網(wǎng)絡(luò)高效而穩(wěn)定的運(yùn)行。
流量控制定義:
流量控制用于防止在端口阻塞的情況下丟幀,這種方法是當(dāng)發(fā)送或接收緩沖區(qū)開始溢出時(shí)通過將阻塞信號(hào)發(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ā)送端,一方則固定為接收端。信息只能沿一個(gè)方向傳輸,使用一根傳輸線,不需要回傳信息想回通信的可以用單工模式。
半雙工(Half Duplex):
指數(shù)據(jù)可以在一個(gè)信號(hào)載體的兩個(gè)方向上傳輸,但是不能同時(shí)傳輸,相對(duì)于單方向一次性傳輸。
全雙工(Full Duplex):
數(shù)據(jù)傳輸允許在兩個(gè)方向上同時(shí)傳輸,它在能力上相當(dāng)于兩個(gè)單工通信方式的結(jié)合。
當(dāng)以太網(wǎng)交換控制電路端口工作在半雙工模式時(shí),符合IEEE 802.3協(xié)議的載波偵聽多路訪問/沖突檢測(cè)(CSMA/CD)算法,可以實(shí)現(xiàn)隱式的流量控制,即采用背壓技術(shù)(Back Pressure)防止緩沖區(qū)的溢出,在發(fā)送方數(shù)據(jù)到來(lái)前采取某種動(dòng)作,阻止發(fā)送方發(fā)送數(shù)據(jù)。
背壓技術(shù)(Back Pressure):
背壓技術(shù)是交換控制電路發(fā)出一種偽碰撞信號(hào)(False Collision Signal)技術(shù)。就是消費(fèi)者需要多少,生產(chǎn)者就生產(chǎn)多少,接收方根據(jù)自己的接收端口的情況來(lái)控制接收速率,并通過反向的ACK包來(lái)控制發(fā)送方的發(fā)送速率。
背壓技術(shù)實(shí)現(xiàn)分析:
根據(jù)已經(jīng)使用緩沖區(qū)的容量比例來(lái)判斷,當(dāng)已用緩沖區(qū)容量達(dá)到一個(gè)預(yù)先設(shè)定的比例時(shí),端口將根據(jù)這個(gè)閾值生成阻塞信號(hào),類似告警功能,主動(dòng)發(fā)出信號(hào)包ACK。
而當(dāng)空閑緩沖區(qū)容量比例高于設(shè)定值時(shí),端口將取消阻塞信號(hào)。
在擁塞端口所在的網(wǎng)段內(nèi),阻塞信號(hào)ACK包的傳輸可以使該網(wǎng)段里所有的端口都能檢測(cè)到?jīng)_突,等待阻塞信號(hào)結(jié)束后再傳輸數(shù)據(jù)幀,從而阻止更多的碰撞,暫時(shí)中止了數(shù)據(jù)的傳輸,使緩沖區(qū)的空間得到釋放。
這個(gè)是一種防止丟包策略的技術(shù),相應(yīng)的還有節(jié)流(丟棄),打包(小包裹轉(zhuǎn)大包裹降低傳輸開銷)等技術(shù)。
全雙工網(wǎng)絡(luò)控制:
而在全雙工網(wǎng)絡(luò)中,交換控制電路端口不會(huì)檢測(cè)沖突,并且忽略可延遲傳送的載波偵聽,
所以不能采用背壓技術(shù)解決擁塞,需要采用顯式的流量控制機(jī)制,使交換控制電路能夠阻塞處
于擁塞狀態(tài)的站點(diǎn)。于是,IEEE 802.3協(xié)議為mac控制子層提供了一個(gè)全雙工流量控制結(jié)構(gòu)框架,MAC控制子層是介于邏輯鏈路控制子層和介質(zhì)訪問控制子層間的可選功能。既然是全雙工可以互相通信,所以接收方可以告訴發(fā)送方利用“pause”幀方式。






