文/仇偉明
ATM(異步傳輸模式)網(wǎng)絡(luò)不但要處理因?yàn)橥话l(fā)性通信傳輸而引起的短時(shí)間擁塞,還要處理因超過(guò)系統(tǒng)處理能力的通信量而引起的長(zhǎng)時(shí)間擁塞,對(duì)于這個(gè)問(wèn)題人們?cè)紤]采用不同的應(yīng)對(duì)策略,這些應(yīng)對(duì)策略中比較重要的策略有三類,分別是:許可證控制、資源預(yù)訂、基于速率的擁塞控制。
在擁塞發(fā)生時(shí),傳輸速率較低的網(wǎng)絡(luò)會(huì)迅速做出反應(yīng),告訴源端應(yīng)該減慢發(fā)送分組,這就行了。但當(dāng)擁塞發(fā)生時(shí),傳輸速率較高的網(wǎng)絡(luò)仍然采用此方法的話,則其效果會(huì)顯得很差,網(wǎng)絡(luò)將擁塞通知信息傳送到源端的延遲時(shí)間里,成千數(shù)百個(gè)分組也已傳輸?shù)竭_(dá)了。并且,很多ATM網(wǎng)絡(luò)采用實(shí)時(shí)通信源,該實(shí)時(shí)通信源將會(huì)以固定的速率來(lái)傳送數(shù)據(jù)。告訴此類通信源減慢發(fā)送速率是不可行的。
防止網(wǎng)絡(luò)擁塞是ATM網(wǎng)絡(luò)的首要工作。但是,對(duì)于恒定比特率類通信、可變比特率類通信、未定比特率類通信,根本無(wú)動(dòng)態(tài)擁塞控制機(jī)制,因此預(yù)防擁塞發(fā)生的重要性就顯得不言而喻,預(yù)防擁塞發(fā)生比擁塞發(fā)生后再去恢復(fù)網(wǎng)絡(luò)重要的多,也顯得更有意義。這時(shí)候許可證控制就是預(yù)防擁塞的一個(gè)主要工具。一臺(tái)主機(jī)在能夠描述出被提供的通信和服務(wù)的前提下,網(wǎng)絡(luò)便作出檢測(cè)來(lái)看網(wǎng)絡(luò)需要一條新的虛電路是否有可能,同時(shí)處理該虛電路也在不對(duì)已經(jīng)存在的虛電路造成有害影響的基礎(chǔ)上進(jìn)行,因此可能需要檢查多條可能的虛電路,從而進(jìn)一步發(fā)現(xiàn)哪一條虛電路將可以做此項(xiàng)工作,如果沒(méi)有虛電路可以分配,呼叫便被拒絕。
否決許可應(yīng)該做到公平合理。要是不采取任何控制措施的話,少數(shù)的高帶寬用戶將會(huì)很大程度上影響大量的低帶寬用戶。為了防止此類情況發(fā)生,一般把用戶按照用途分為幾類。同時(shí)對(duì)用戶類別而言,拒絕服務(wù)的概率應(yīng)大致相等。
事先預(yù)定資源是同許可證控制密切相關(guān)的控制策略,該策略一般是在呼叫建立時(shí)進(jìn)行。因?yàn)橥ㄐ帕棵枋龇o出了信元發(fā)送峰值速率,網(wǎng)絡(luò)就會(huì)預(yù)留充足的帶寬來(lái)處理該峰值速率。網(wǎng)絡(luò)通過(guò)使用SETUP消息從而把線路上的某部分帶寬標(biāo)記出來(lái),這樣的話,帶寬就可以被預(yù)訂。當(dāng)然,應(yīng)該保證線路的容量大于線路中被標(biāo)記帶寬的總和。在線路滿負(fù)荷的情況下,SETUP消息就按照原路退回并且尋找另一條通路。
通信描述符既含有帶寬峰值,同時(shí)也含有帶寬平均值。例如,如果每臺(tái)計(jì)算機(jī)峰值帶寬為200000信元/秒,平均帶寬僅需要50000信元/秒,一般情況下在同一條物理線路上采用多路復(fù)用技術(shù)復(fù)用4條虛電路就可以了。但問(wèn)題在于所有的四條線路有可能在一定的時(shí)間內(nèi)空閑無(wú)事,隨后又以峰值速率發(fā)送信元,導(dǎo)致大量的信元丟失。因?yàn)榭勺儽忍芈暑愋偷耐ㄐ趴梢栽诮y(tǒng)計(jì)上進(jìn)行多路復(fù)用,采用這種服務(wù)類型可能會(huì)出現(xiàn)問(wèn)題。目前尚在研究相關(guān)的解決方案。
在恒定比特率通信和可變比特率通信中,由于信息源所具有的實(shí)時(shí)和半實(shí)時(shí)的特性,所以即便是在發(fā)生網(wǎng)絡(luò)擁塞的情況下,一般也不太可能讓發(fā)送者降低其發(fā)送速率。在可變比率特通信服務(wù)中,只需要把過(guò)多的多余信元丟棄掉就行。
然而,在平均比特率類型通信中,網(wǎng)絡(luò)去通知一個(gè)或多個(gè)發(fā)送者并且要求暫時(shí)降低發(fā)送速率,以便于使網(wǎng)絡(luò)恢復(fù),這是合乎情理的。網(wǎng)絡(luò)可以通過(guò)丟棄發(fā)送者的(超出來(lái)的)信元使得發(fā)送者遵守協(xié)定。
ATM標(biāo)準(zhǔn)發(fā)展過(guò)程中的一個(gè)熱門話題是如何檢測(cè)、通知和控制平均比特率類型通信中的擁塞。這里先來(lái)了解、討論一些將要被淘汰或已經(jīng)被淘汰的方案,從而得到比較合適的解決方案。
在第一個(gè)方案中,無(wú)論發(fā)送者何時(shí)發(fā)送突發(fā)性數(shù)據(jù),它必須先發(fā)送代表預(yù)訂所需帶寬的一個(gè)特殊信元。在該特殊信元返回確認(rèn)后,突發(fā)性傳輸便開(kāi)始。它的最大優(yōu)勢(shì)是不會(huì)發(fā)生擁塞,因?yàn)樗蟮膸捒偸谴嬖诘?。由于主機(jī)開(kāi)始發(fā)送之前會(huì)有很長(zhǎng)時(shí)間的延遲,所以ATM論壇拒絕了該方案。
在第二個(gè)方案中,交換機(jī)在發(fā)生擁塞時(shí)候總會(huì)發(fā)回抑制報(bào)文。因?yàn)橐种茍?bào)文本身也有可能在擁塞中丟失,所以這個(gè)方案也被拒絕了,同時(shí)該方案對(duì)于學(xué)校用戶來(lái)說(shuō)是極為不合理的,比如,考慮一臺(tái)交換機(jī)從5個(gè)用戶中的每一個(gè)得到100Mb/s的數(shù)據(jù)流,而從另一個(gè)用戶處得到100Kb/s的數(shù)據(jù)流,讓100Kb/s的用戶放棄50Kb/s是不恰當(dāng)?shù)?,因?yàn)樵诰W(wǎng)絡(luò)擁塞時(shí),該用戶并沒(méi)有起到較大的作用。
使用的第三種方案是用最后的信元中的一位來(lái)標(biāo)識(shí)分組的分界線。其想法是丟棄信元以減輕擁塞,采取這樣的措施需要較強(qiáng)的選擇能力。交換機(jī)掃描正在進(jìn)入的信元流直至一個(gè)分組結(jié)束,然后將下一個(gè)分組中的所有信元發(fā)出。當(dāng)然,一段時(shí)間以后會(huì)將這個(gè)分組中的信元送出,但是最后落入分組中的所有N個(gè)信元,它將導(dǎo)致一個(gè)分組的再傳送。 這樣比落入隨機(jī)信元N好得多。這種設(shè)計(jì)不是在公平環(huán)境中實(shí)施的,因?yàn)樗?jiàn)到的下一個(gè)分組尾可能不屬于正超負(fù)荷工作的交換發(fā)送端。這種設(shè)計(jì)也不需要制訂標(biāo)準(zhǔn)。任何交換機(jī)發(fā)送端在網(wǎng)絡(luò)擁塞發(fā)生時(shí),都能自由地選擇該放棄哪些信元。
經(jīng)過(guò)以上很多討論之后,現(xiàn)在主要有兩個(gè)方面問(wèn)題:建立在信用基礎(chǔ)上的解決方案和建立在速度基礎(chǔ)上的解決方案。第一種方案其實(shí)是一種必要的動(dòng)態(tài)滑行窗口協(xié)議。它要求任何交換機(jī)的每個(gè)實(shí)際電路都應(yīng)該保持一種信用,即對(duì)該實(shí)際電路需要提供有效的緩沖區(qū),只要每個(gè)被傳送的信元都有一個(gè)等待它的緩沖區(qū),那么擁塞就不會(huì)發(fā)生。
值得說(shuō)明的是,交換機(jī)的制造商們反對(duì)建立在信用基礎(chǔ)上的解決方案。他們不想進(jìn)行復(fù)雜的計(jì)算,用以記住這些設(shè)備的電路信用,同時(shí)也不想預(yù)先提供很多緩沖區(qū),這樣會(huì)造成設(shè)備成本的極大提高。因此,采用建立在速度基礎(chǔ)上的擁塞控制系統(tǒng)。