相關(guān)協(xié)議
1) 802.1Q Virtual Bridged Local Area Networks
2) MEF5 Traffic Management
3) MEF10.2 Ethernet Services Attributes
4) RFC2697 srTCM - Single Rate Three Color Marker
5) RFC2698 trTCM - Two Rate Three Color Marker
服務(wù)模型
通常QoS提供以下三種服務(wù)模型(服務(wù)模型,是指一組端到端的QoS功能):
1)Best-Effort service(盡力而為服務(wù)模型)
2)Integrated service(綜合服務(wù)模型,簡稱IntServ)
3)Differentiated service(區(qū)分服務(wù)模型,簡稱DiffServ)
Best-Effort服務(wù)模型,網(wǎng)絡(luò)盡最大的可能性來發(fā)送報文。但對時延、可靠性等性能不提供任何保證。
Best-Effort服務(wù)是現(xiàn)在Internet的缺省服務(wù)模型,它適用于絕大多數(shù)網(wǎng)絡(luò)應(yīng)用,如FTP、E-Mail等,它通過FIFO隊(duì)列來實(shí)現(xiàn)。
IntServ服務(wù)模型,在發(fā)送報文前,需要向網(wǎng)絡(luò)申請?zhí)囟ǖ姆?wù)。
這個請求是通過信令RSVP(Resource Reservation Protocol)來完成的。
DiffServ服務(wù)模型,網(wǎng)絡(luò)不需要為每個流維護(hù)狀態(tài),它根據(jù)每個報文的差分服務(wù)類,來提供特定的服務(wù)。
QoS技術(shù)包括流分類、流量監(jiān)管、流量整形、接口限速、擁塞管理、擁塞避免等。
流分類:采用一定的規(guī)則識別符合某類特征的報文,它是對網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行區(qū)分服務(wù)的前提和基礎(chǔ)。
流量監(jiān)管:對進(jìn)入或流出設(shè)備的特定流量進(jìn)行監(jiān)管。當(dāng)流量超出設(shè)定值時,可以采取限制或懲罰措施,以保護(hù)網(wǎng)絡(luò)資源不受損害??梢宰饔迷诮涌谌敕较蚝统龇较?。
流量整形:一種主動調(diào)整流的輸出速率的流量控制措施,用來使流量適配下游設(shè)備可供給的網(wǎng)絡(luò)資源,避免不必要的報文丟棄和延遲,通常作用在接口出方向。
擁塞管理:就是當(dāng)擁塞發(fā)生時如何制定一個資源的調(diào)度策略,以決定報文轉(zhuǎn)發(fā)的處理次序,通常作用在接口出方向。
擁塞避免:監(jiān)督網(wǎng)絡(luò)資源的使用情況,當(dāng)發(fā)現(xiàn)擁塞有加劇的趨勢時采取主動丟棄報文的策略,通過調(diào)整隊(duì)列長度來解除網(wǎng)絡(luò)的過載,通常作用在接口出方向。
QoS策略包含了三個要素:類、流行為、策略。
用戶可以通過QoS策略將指定的類和流行為綁定起來,靈活地進(jìn)行QoS配置。
用戶可以通過命令定義一系列的規(guī)則來對報文進(jìn)行分類。同時用戶可以指定規(guī)則之間的關(guān)系:and或者or。
流行為用來定義針對報文所做的QoS動作。用戶可以通過命令在一個流行為中定義多個動作。
策略用來將指定的類和流行為綁定起來,對分類后的報文執(zhí)行流行為中定義的動作。用戶可以在一個策略中定義多個類與流行為的綁定關(guān)系。
1. 流分類(Traffic Classification)
流分類策略除可以包括IP報文的IP優(yōu)先級或DSCP值、802.1Q的VLAN Priority Code Point (PCP)值等帶內(nèi)信令,還可以包括輸入接口、源IP地址、目的IP地址、MAC地址、IP協(xié)議或應(yīng)用程序的端口號等。
(1) 基于IP 優(yōu)先級的業(yè)務(wù)分類
IPv4報文在IP報文頭的ToS(Type of Service)域中定義了8種IP業(yè)務(wù)類型。
(2) 基于DSCP(Differentiated Services Codepoint) 的業(yè)務(wù)分類
DiffServ模型定義了64種業(yè)務(wù)類型。
(3) 以太網(wǎng)QoS業(yè)務(wù)分類
802.1Q VLAN Tag的PCP字段(3Bit)定義了以下8種Traffic types。
=======================================================
Traffic Types Acronym Priority 協(xié)議舉例 業(yè)務(wù)特征
Network Control NC 7 BGP, PIM, SNMP 網(wǎng)絡(luò)維護(hù)與管理報文的可靠傳輸,要求低丟包率
InternetWork Control IC 6 STP, OSPF, RIP 大型網(wǎng)絡(luò)中區(qū)分于普通流量的網(wǎng)絡(luò)協(xié)議控制報文
Voice VO 5 SIP, MGCP 適用于語音業(yè)務(wù),一般要求時延小于10 ms
Video VI 4 RTP 適用于視頻業(yè)務(wù),一般要求時延小于 100 ms
Critical Applications CA 3 NFS, SMB, RPC 適用于要求確保最小帶寬的業(yè)務(wù)
Excellent Effort EE 2 SQL 用于一般的信息組織向最重要的客戶發(fā)送信息
Best Effort BE 0(default) HTTP, IM, X11 缺省業(yè)務(wù)類型,只要求"盡力而為"的服務(wù)質(zhì)量
Background BK 1 FTP, SMTP 適用于不影響用戶或關(guān)鍵應(yīng)用的批量傳輸業(yè)務(wù)
=======================================================
關(guān)于Traffic Type 和Priority的默認(rèn)對應(yīng)關(guān)系,注意由于缺省的發(fā)送Priority是0,缺省的Traffic
Type是Best Effort,所以Best Effort的Priority為0。(The default priority used for
transmission by end stations is 0. Changing this default would result
in confusion and likely in interoperability problems.
At the same time, the default traffic type is definitely Best Effort. 0
is thus used both for default priority and for Best Effort, and
Background is associated with a priority value of 1. This means that the
value 1 effectively communicates a lower priority
than 0.)
802.1Q推薦的Traffic Type到隊(duì)列的映射關(guān)系的映射關(guān)系定義。
Number of queues / Traffic types
1 {Best Effort, Background, ..., Network Control}
2 {Best Effort, Background, Excellent effort, Critical Applications}
{Voice, Video, Internetwork Control, Network Control}
3 {Best Effort, Background, Excellent effort, Critical Applications}
{Voice, Video}
{Network Control, Internetwork Control}
4 {Best Effort, Background}
{Critical Applications, Excellent effort}
{Voice, Video}
{Network Control, Internetwork Control}
5 {Best Effort, Background}
{Critical Applications, Excellent effort}
{Voice, Video}
{Internetwork Control}
{Network Control}
6 {Background}
{Best Effort}
{Critical Applications, Excellent effort}
{Voice, Video}
{Internetwork Control}
{Network Control}
7 {Background}
{Best Effort}
{Excellent effort}
{Critical Applications}
{Voice, Video}
{Internetwork Control}
{Network Control}
8 {Background}
{Best Effort}
{Excellent effort}
{Critical Applications}
{Video}
{Voice}
{Internetwork Control}
{Network Control}
2.流量監(jiān)管(Traffic Policing)
約定訪問速率(Committed Access Rate: CAR)
采用令牌桶(Token Bucket)對流量的規(guī)格進(jìn)行評估。
令牌桶可以看作是一個存放一定數(shù)量令牌的容器。系統(tǒng)按設(shè)定的速度向桶中放置令牌,當(dāng)桶中令牌滿時,多出的令牌溢出,桶中令牌不再增加。
每到達(dá)一個報文就進(jìn)行一次評估。每次評估,如果桶中有足夠的令牌可供使用,則說明流量控制在允許的范圍內(nèi),此時要從桶中取走與報文轉(zhuǎn)發(fā)權(quán)限相當(dāng)?shù)牧钆茢?shù)量;否則說明已經(jīng)耗費(fèi)太多令牌,流量超標(biāo)了。
MEF 制定了Bandwidth Profile parameters <CIR, CBS, EIR, EBS, CF, CM>.
1)Committed Information Rate(CIR),承諾信息速率,單位bits/秒,正常情況下業(yè)務(wù)的平均速率,>=0。
2)Committed Burst Size(CBS) ,承諾突發(fā)長度,單位bytes,正常情況下業(yè)務(wù)的突發(fā)報文大小,當(dāng)CIR大于0時CBS必須大于或等于業(yè)務(wù)中最大報文長度(MTU)。
3)Excess Information Rate(EIR) ,擴(kuò)展信息速率,單位bits/秒,業(yè)務(wù)可以占用的擴(kuò)展帶寬,>=0。
4)Excess Burst Size(EBS) ,擴(kuò)展突發(fā)長度,單位bytes,占用擴(kuò)展帶寬的業(yè)務(wù)的突發(fā)報文大小,當(dāng)EIR大于0時EBS必須大于或等于業(yè)務(wù)中最大報文長度。
5)Coupling Flag(CF) ,耦合標(biāo)志,一個bool型參數(shù),取值為0或1。
6)Color Mode(CM) ,顏色識別模式,只有兩個取值,color-blind或者color-aware。
每個從UNI進(jìn)入的業(yè)務(wù)報文都會依照帶寬限制的執(zhí)行準(zhǔn)則根據(jù)一定的帶寬限制算法被判斷、標(biāo)記不同的服務(wù)級別:綠色、黃色或者紅色。
CIR是業(yè)務(wù)幀根據(jù)業(yè)務(wù)性能進(jìn)行傳遞的平均速率,CIR必須大于等于0。把和CIR一致的業(yè)務(wù)幀標(biāo)記為綠色。平均速率超過CIR的業(yè)務(wù)幀與CIR不一致,
可以把它們標(biāo)記為黃色(如果EIR非0),也可以丟棄(如果EIR等于O)。CIR為0意味著業(yè)務(wù)供應(yīng)商沒有提供帶寬或者沒有為傳遞用戶業(yè)務(wù)幀提供性能保
證。這就是通常所說的"盡力而為"業(yè)務(wù),此時所有的業(yè)務(wù)幀都被標(biāo)記為黃色。非O的CIR可以定義為小于或者等于UNI(User Network
Interface)速率。如果在UNI上應(yīng)用多個帶寬輪廓,那么每個帶寬輪廓的CIR值的總和必須小于或者等于UNI速率。
CBS是和CIR一致的業(yè)務(wù)幀的最大字節(jié)數(shù)。CBS的值和應(yīng)用的類型或者業(yè)務(wù)支持的的流量有關(guān)系。例如,對于一個支持具有突發(fā)性的基于TCP的數(shù)據(jù)應(yīng)用來講,CBS會遠(yuǎn)遠(yuǎn)大于支持速率比較恒定的基于用戶數(shù)據(jù)報協(xié)議(UDP)的應(yīng)用的業(yè)務(wù),例如VoIP。
EIR定義了大于等于CIR的可以進(jìn)入供應(yīng)商網(wǎng)絡(luò)的業(yè)務(wù)幀。注意這些業(yè)務(wù)幀和CIR不一致因此它會沒有任何性能保證地進(jìn)行傳遞。EBS是指和EIR一致的
業(yè)務(wù)幀最大的字節(jié)數(shù)。和EIR一致的業(yè)務(wù)幀被標(biāo)記為黃色。平均速率大于EIR的業(yè)務(wù)幀屬于和EIR不一致的業(yè)務(wù)幀被標(biāo)記為紅色,會被丟棄。
從用戶的角度,帶寬輪廓定義了在UNI允許進(jìn)入供應(yīng)商網(wǎng)絡(luò)的滿足"承諾信息速率(CIR)"以及"超額信息速率(EIR)"的以太網(wǎng)業(yè)務(wù)幀。允許沒有超
過"承諾"信息速率的業(yè)務(wù)幀進(jìn)入供應(yīng)商網(wǎng)絡(luò)并且根據(jù)業(yè)務(wù)性能指標(biāo)進(jìn)行傳遞,需要承諾保證這部分報文的服務(wù)質(zhì)量,例如時延、丟失率以及可用性等。這些業(yè)務(wù)幀
屬于"輪廓內(nèi)"或者和帶寬輪廓"一致的"業(yè)務(wù)幀。到達(dá)時高于CIR但是沒有超出EIR的業(yè)務(wù)幀也允許進(jìn)入網(wǎng)絡(luò),但是不承諾這部分報文的服務(wù)質(zhì)量,報文的延
遲、抖動可能很大,甚至?xí)淮罅縼G棄。這些業(yè)務(wù)幀屬于"輪廓外"或者和帶寬輪廓"不一致的"業(yè)務(wù)幀。
MEF規(guī)定的Bandwidth Profile 算法如下:
但事實(shí)上上述算法只是一套理論上的執(zhí)行過程,實(shí)際的網(wǎng)絡(luò)設(shè)備或許無法完全按照上述過程執(zhí)行,所以只要設(shè)備能夠使執(zhí)行結(jié)果和上述算法的結(jié)果近似即可。這樣我們可以用兩個簡單的公式來實(shí)現(xiàn)類似的效果,即在任何時間段 ti 到 tj 內(nèi):
進(jìn)入UNI的綠色報文數(shù)量不超過WG,其中WG≥Bc(ti)+CIR×(tj-ti);
進(jìn)入UNI的黃色報文數(shù)量不超過WY,其中WY≥Be(ti)+EIR×(tj-ti);
針對黃色報文的帶寬限制方式有兩種,CF標(biāo)志位的作用就是確定該UNI使用哪一種。具體來說,當(dāng)CF位被置0的情況下,黃色報文的長期平均進(jìn)入速率只要不
超過EIR即可;當(dāng)CF被置1的情況下,黃色報文的長期平均進(jìn)入速率被限制在CIR+EIR減去綠色報文的進(jìn)入速率。不管采用那種方式,黃色報文的突發(fā)速
率總不超過EBS。(The Coupling Flag CF is set to either 0 or 1. The choice of
the value for CF has the effect of con-trolling
the volume of the Service Frames that are declared Yellow. When CF is
set to 0, the long term average bit rate of Service Frames that are
declared Yellow is bounded by EIR. When CF is set to 1, the long term
average bit rate of Service Frames that are declared
Yellow is bounded by CIR + EIR depending on volume of the offered
Service Frames that are declared Green. In both cases the burst size of
the Service Frames that are declared Yellow is bounded by EBS.)
簡單來講,CF置1等同于C桶溢出的令牌可以加到E桶。
RFC 2697 srTCM 單速率三色標(biāo)記指定3個參數(shù):承諾信息速率CIR 、承諾突發(fā)尺寸CBS 和超額突發(fā)尺寸EBS。
為方便,將兩個令牌桶稱為C桶和E桶,用Tc和Te表示桶中的令牌數(shù)量,Tc和Te初始化等于CBS和EBS。
Tc和Te在每秒鐘內(nèi)更新CIR次,更新時遵循以下規(guī)則:
如果Tc < CBS,則Tc增加1,否則
如果Te < EBS,則Te增加1,否則
Tc和Te都不增加
色盲模式下,在對到達(dá)報文(假設(shè)報文大小為B)進(jìn)行評估時,遵循以下規(guī)則:
如果Tc-B >= 0,則報文被標(biāo)記為綠色,且Tc降低B,否則
如果Te-B >= 0,則報文被標(biāo)記為黃色,且Te降低B,否則
報文被標(biāo)記為紅色且Tc和Te都不降低。
非色盲模式下,在對到達(dá)報文(假設(shè)報文大小為B)進(jìn)行評估時,遵循以下規(guī)則:
如果報文已被標(biāo)記為綠色且Tc-B >= 0,則報文被標(biāo)記為綠色,且Tc降低B,否則
如果報文已被標(biāo)記為綠色或黃色且Te-B >= 0,則報文被標(biāo)記為黃色,且Te降低B,否則報文被標(biāo)記為紅色且Tc和Te都不降低。
RFC 2698 trTCM算法 雙速率三色標(biāo)記指定4個參數(shù):承諾信息速率CIR 、峰值信息速率PIR、承諾突發(fā)尺寸CBS 和峰值突發(fā)尺寸PBS。
trTCM算法中兩個令牌桶的填充令牌的速率不同,分別為承諾的平均速率CIR(Committed Information Rate)和峰值速率PIR(Peak Information Rate)。
為方便將這兩個令牌桶稱為C桶和P桶,這兩個桶的尺寸分別為承諾突發(fā)尺寸CBS(Committed Burst Size)和峰值突發(fā)尺寸PBS(Peak Burst Size)。
用Tc和Tp表示桶中的令牌數(shù)量,Tc和Tp初始化等于CBS和PBS。Tc和Tp在每秒鐘內(nèi)分別更新CIR和PIR次,每次更新增加一個令牌(除非桶滿)。
在色盲模式下,在對到達(dá)報文(假設(shè)報文大小為B)進(jìn)行評估時,遵循以下規(guī)則:
如果Tp-B < 0,則報文被標(biāo)記為紅色,否則
如果Tc-B < 0,則報文被標(biāo)記為黃色,且Tp降低B,否則
報文被標(biāo)記為綠色且Tc和Tp都降低B。
在非色盲模式下,在對到達(dá)報文(假設(shè)報文大小為B)進(jìn)行評估時,遵循以下規(guī)則:
如果報文已被標(biāo)記為紅色或者Tp-B < 0,則報文被標(biāo)記為紅色,否則
如果報文已被標(biāo)記為黃色或者Tc-B < 0,則報文被標(biāo)記為黃色,且Tp降低B,否則
報文被標(biāo)記為綠色且Tc和Tp都降低B。
3. 流量整形(TS: Traffic Shaping)
通用流量整形(Generic Traffic Shaping: GTS)
GTS與CAR一樣,均采用了令牌桶技術(shù)來控制流量。GTS與CAR的主要區(qū)別在于:利用CAR進(jìn)行報文流量控制時,對不符合流量特性的報文進(jìn)行丟棄;而
GTS對于不符合流量特性的報文則是進(jìn)行緩沖,減少了由突發(fā)流量造成的報文的丟棄。流量整形與流量監(jiān)管的另一區(qū)別是,整形可能會增加延遲,而監(jiān)管幾乎不引
入額外的延遲。
整形的目的是減少突發(fā)流量(Shaping is a procedure to reduce the burstiness of
traffic. A shaper is de-fined by a set of parameters. Those parameters
should be chosen to ensure that the delay introduced by shaping function
is bounded within the acceptable limits and that
the traffic dropped at the shaper is kept to a minimum.)
MEF規(guī)定了2種算法。A shaper could be a single rate or a double rate shaper.
1)Single Rate Shaper
A single rate shaper could consist of three parameters CIR, CBS*, and CBS, in which:
CIR = the shaping rate of Green packets (average output rate of the shaper),
CBS = the shaping burst of Green packets (maximum output burst of the shaper)
CBS* = the accepted burst of Green packets (maximum buffer size for Green packets)
CBS* >= CBS, which means the shaper accepts larger burst at its input and generates smaller bursts at its output.
2)Double Rate Shaper
A double rate shaper could consist of parameters CIR, CBS*, CBS, EIR,
EBS*, and EBS, in which, CIR, CBS*, and CBS are as defined above, and
EIR, EBS*, and EBS are:
EIR = the shaping rate of Yellow packets (average output rate of the shaper),
EBS = the shaping burst of Yellow packets (maximum output burst of the shaper)
EBS* = the accepted burst of Yellow packets (maximum buffer size for Yellow packets)
EBS* >= EBS, which means the shaper accepts larger burst at its input and generates smaller bursts at its output.
4. 擁塞管理-隊(duì)列調(diào)度技術(shù)
網(wǎng)絡(luò)發(fā)生擁塞時,需要使用合適的隊(duì)列技術(shù)來確保關(guān)鍵業(yè)務(wù)優(yōu)先保障。
出端口發(fā)生擁塞情況時,通過適當(dāng)?shù)年?duì)列調(diào)度機(jī)制,可以優(yōu)先保證某種類型的報文的QoS參數(shù),例如帶寬、時延、抖動等。
使用隊(duì)列技術(shù),在接口有能力發(fā)送報文之前先將報文在緩存中保留下來,直到接口可以繼續(xù)發(fā)送報文,還可以將報文重新排序。
FIFO(First In First Out Queuing)
隊(duì)列機(jī)制中最簡單的,每個接口上只有一個FIFO隊(duì)列,無需流分類、調(diào)度機(jī)制,按順序取報文,無需對報文重新排序。
FIFO關(guān)心的就是隊(duì)列長度問題,如果定義了較長的隊(duì)列長度,那么隊(duì)列不容易填滿,被丟棄的報文也就少了,但是隊(duì)列長度太長了會出現(xiàn)時延的問題,一般情況
下時延的增加會導(dǎo)致抖動也增加;如果定義了較短的隊(duì)列,時延的問題可以得到解決,但是發(fā)生Tail Drop的報文就變多了。
Tail Drop機(jī)制就是說如果該隊(duì)列如果已經(jīng)滿了,那么后續(xù)進(jìn)入的報文被丟棄。
PQ(Priority Queuing)
在報文到達(dá)接口后,首先對報文進(jìn)行分類,然后按照報文所屬類別讓報文進(jìn)入所屬隊(duì)列尾部,在報文發(fā)送時,按照優(yōu)先級,總是在所有優(yōu)先級較高隊(duì)列中報文發(fā)送完畢后,再發(fā)送低優(yōu)先級隊(duì)列中報文。
PQ的優(yōu)缺點(diǎn)很明顯,優(yōu)點(diǎn)是可以保證高優(yōu)先級隊(duì)列的報文可以得到較大帶寬、較低的時延、較小的抖動;缺點(diǎn)是低優(yōu)先級隊(duì)列的報文不能得到及時的調(diào)度,甚至得不到調(diào)度,即會出現(xiàn)“餓死”現(xiàn)象。
PQ的每個隊(duì)列內(nèi)部使用FIFO邏輯,報文丟棄策略采用Tail Drop機(jī)制。
RR(Round Robin)
循環(huán)隊(duì)列通過循環(huán)服務(wù)避免局部隊(duì)列饑餓。調(diào)度器總是順序地移到下一個有分組要發(fā)送的隊(duì)列(空隊(duì)列被跳過)。
循環(huán)調(diào)度的缺點(diǎn)是分組時延難于改進(jìn),容易產(chǎn)生時延抖動。
WRR(Weighted Round Robin)
加權(quán)循環(huán)隊(duì)列算法。給較高優(yōu)先級的隊(duì)列分配較高的權(quán)重,也就是更多的時間時間片斷。
DRR(Dificit Round Robin)
差額循環(huán)隊(duì)列算法,或者稱作DWRR(Dificit Weighted Round Robin).
DRR和WRR類似,不過不是按照時間片,而是按照byte數(shù)來應(yīng)用權(quán)重。如果有剩下的byte數(shù),可以記錄下來供下次使用。
適用于不同封包長度下,WRR算法可能造成頻寬分配不準(zhǔn)的問題。
Like weighted round robin (WRR) each queue is serviced proportionately
to its weighting. However, the weighting operates at the byte or bit
level. In fact, each queue can be considered to have a token bucket
associated with it. The token accumulation is related
to the percentage allocated to that queue. When the queue is visited by
the scheduler, packets are transmitted from the queue as long as there
are sufficient tokens in the bucket. When the next packet in the queue
exceeds the remaining tokens in the bucket,
the scheduler moves on to the next queue.
DRR算法為每個隊(duì)列分配一個令牌常量QN和一個變量DN(差額)。
QN反應(yīng)了該隊(duì)列可以發(fā)送的長期平均字節(jié)數(shù)。
DN的初始值為零且當(dāng)隊(duì)列為空時復(fù)位為0。
當(dāng)DRR算法服務(wù)一個新隊(duì)列時,調(diào)度器復(fù)位計數(shù)器Bsent(表示本次調(diào)度循環(huán)中已經(jīng)從此隊(duì)列中發(fā)送的字節(jié)數(shù))。
當(dāng)下面兩個條件滿足時,DRR算法從隊(duì)列中發(fā)送分組:
1) 隊(duì)列中有分組等待發(fā)送;
2) (QN+DN)大于等于(Bsent+隊(duì)列中下一個分組的長度)。
否則,該隊(duì)列的差額DN+1被置為QN+DN-Bsent,調(diào)度器按順序移到下一個隊(duì)列。
QN+DN表示在服務(wù)時間間隔內(nèi)隊(duì)列能夠發(fā)送的最大字節(jié)數(shù),在一定程度上DN可以平滑數(shù)據(jù)流的突發(fā)。
隊(duì)列通過QN可以獲得長期的相對帶寬分配。如果激活隊(duì)列的數(shù)目小于N,則激活隊(duì)列可以根據(jù)QN值共享未用的輸出鏈路帶寬。
5. 擁塞避免(Congestion Avoidance)
它可以通過監(jiān)視網(wǎng)絡(luò)資源(如隊(duì)列或內(nèi)存緩沖區(qū))的使用情況,在擁塞有加劇的趨勢時,主動丟棄報文,通過調(diào)整網(wǎng)絡(luò)的流量來解除網(wǎng)絡(luò)過載。
傳統(tǒng)的丟包策略采用尾部丟棄(Tail-Drop)的方法。當(dāng)隊(duì)列的長度達(dá)到某一最大值后,所有新到來的報文都將被丟棄。這種丟棄策略會引發(fā)TCP全局同
步現(xiàn)象:當(dāng)隊(duì)列同時丟棄多個TCP連接的報文時,將造成多個TCP連接同時進(jìn)入擁塞避免和慢啟動狀態(tài)以降低并調(diào)整流量,而后又會在某個時間同時出現(xiàn)流量高
峰,如此反復(fù),使網(wǎng)絡(luò)流量不停震蕩。
為避免TCP全局同步現(xiàn)象,可使用RED(Random Early Detection,隨機(jī)早期檢測)或WRED(Weighted Random
Early
Detection,加權(quán)隨機(jī)早期檢測)。RED和WRED通過隨機(jī)丟棄報文避免了TCP的全局同步現(xiàn)象,使得當(dāng)某個TCP連接的報文被丟棄、開始減速發(fā)
送的時候,其他的TCP連接仍然有較高的發(fā)送速度。這樣,無論什么時候,總有TCP連接在進(jìn)行較快的發(fā)送,提高了線路帶寬的利用率。
在RED類算法中,為每個隊(duì)列都設(shè)定上限和下限,對隊(duì)列中的報文進(jìn)行如下處理:
-當(dāng)隊(duì)列的長度小于下限時,不丟棄報文;
-當(dāng)隊(duì)列的長度超過上限時,丟棄所有到來的報文;
-當(dāng)隊(duì)列的長度在上限和下限之間時,開始隨機(jī)丟棄到來的報文。隊(duì)列越長,丟棄概率越高,但有一個最大丟棄概率。
直接采用隊(duì)列的長度和上限、下限比較并進(jìn)行丟棄,將會對突發(fā)性的數(shù)據(jù)流造成不公正的待遇,不利于數(shù)據(jù)流的傳輸。RED類算法采用平均隊(duì)列長度和設(shè)置的隊(duì)列上限、下限比較來確定丟棄的概率。計算隊(duì)列平均長度的公式為:
平均隊(duì)列長度 =(以前的平均隊(duì)列長度×(1-1/(2的n次方)))+(當(dāng)前隊(duì)列長度×(1/(2的n
次方))),其中n可以通過命令配置。隊(duì)列平均長度既反映了隊(duì)列的變化趨勢,又對隊(duì)列長度的突發(fā)變化不敏感,避免了對突發(fā)性數(shù)據(jù)流的不公正待遇。
WRED算法在RED算法的基礎(chǔ)上引入了優(yōu)先權(quán),考慮了高優(yōu)先權(quán)報文的利益,使其被丟棄的概率相對較小。如果對于所有優(yōu)先權(quán)配置相同的丟棄策略,那
么WRED就變成了RED。(W-RED actually allows a set of parameters for each color
and DP so that packets with different colors or DPs have different
random early discarding behavior. Therefore, W-RED
is sometimes called color aware random early detection.)
如果設(shè)置EIR/EBS=0,那么所有的報文標(biāo)記為綠色或者紅色。紅色的報文在進(jìn)行阻塞管理前就已經(jīng)被丟棄了,所有只有綠色的報文進(jìn)入阻塞管理模塊進(jìn)行管
理。這種情況下,RED和WRED的處理結(jié)果是一樣的。(If only CIR/CBS policing is supported or if
EIR/EBS = 0 Mbps, all packets after policing are marked as either green
or red. The packets marked as red are dropped
before processed by congestion avoidance block (RED or WRED). Only
green-colored packets will be processed by the congestion avoidance
block (RED or WRED). Since packets have only one color (Green) or DP = 0
only, the effect of RED or W-RED is the same since
parameter sets for DP = 1 and 2 or other colors in W-RED will not take
effect as there is no packet with DP = 1 or 2.)
MEF
Metro Ethernet Forum(城域以太網(wǎng)論壇)提出了以太網(wǎng)的服務(wù)模型(Ethernet Services Model):
兩個或者多個UNI之間的連接被叫做EVC(Ethernet Virtual Connection,虛擬以太連接)。
一個EVC可以被看作是一個二層的雙向通路,每個EVC都包含若干個UNI,或者說某個UNI從屬于某某EVC,當(dāng)報文從一個UNI進(jìn)入EVC后,它會被按需轉(zhuǎn)發(fā)到這個EVC中的其他UNI上。
MEF中提到了三種EVC的服務(wù)種類,點(diǎn)到點(diǎn)EVC(Point-to-Point EVC)、多點(diǎn)到多點(diǎn)EVC(Mutlipoint-to-Multipoint EVC)和根到多點(diǎn)EVC(Rooted-Multipoint EVC)。
做為一條承載二層業(yè)務(wù)的通道,有一類目的MAC以01-80-C2開頭的特殊報文是必須要考慮的,這些報文是二層協(xié)議控制幀,每個EVC都需要具備識別和正確處理這些控制幀的能力,而不僅僅是簡簡單單透傳或丟棄了事。
===============================
MAC Addresses Description
01-80-C2-00-00-00 through 01-80-C2-00-00-0F Bridge Block of protocols
01-80-C2-00-00-20 through 01-80-C2-00-00-2F GARP Block of protocols
01-80-C2-00-00-10 All Bridges Protocol
===============================
EVC約定服務(wù)性能屬性:延遲(FD,F(xiàn)rame Delay )、延遲抖動(FDV,F(xiàn)rame Delay
Variation)和丟包率。這個約定僅僅針對被標(biāo)記為綠色的報文,只需要保證在一個規(guī)定的時間長度內(nèi),綠色報文的延遲、延遲抖動和丟包率在約定的范圍
以內(nèi),黃色報文則不在這個約定之中,至于紅色報文,它們在UNI上就已經(jīng)被丟棄了,EVC中不會有這類報文。
MEF規(guī)定的端口帶寬限制有三種。每種帶寬限制屬性也分為入方向和出方向。