在幀中繼接口上,可以使用通用的QoS服務為用戶提供接口上的流量監管、流量整形、擁塞管理、擁塞避免等服務。除此之外,幀中繼網絡還擁有自己的QoS服務機製,包括幀中繼流量整形、幀中繼流量監管、幀中繼擁塞管理、幀中繼DE(Discard Eligibility)規則列表、幀中繼隊列管理等。
與通用的QoS相比,幀中繼QoS能夠在接口的每條虛電路上提供QoS服務,而通用QoS隻能在整個接口上提供QoS服務,因此幀中繼QoS能夠為用戶提供更靈活的服務。
圖1 幀中繼QoS應用示意圖
下麵列出了對幀中繼(FR,Frame Relay)進行控製的一些重要參數:
l 允許的承諾信息速率(CIR ALLOW,Committed Information Rate ALLOW):FR正常情況下可以提供的傳送速率。網絡不擁塞時,可以保證用戶以此速率傳送數據。
l 承諾信息速率(CIR,Committed Information Rate):虛電路可以提供的最小傳送速率。即使網絡擁塞,也可以保證用戶以此速率傳送數據。
l 承諾突發尺寸(CBS,Committed Burst Size):幀中繼網絡承諾的在Tc時間內傳送的包流量。在網絡擁塞時,幀中繼網絡保證這部分可以成功地傳送。
l 超出突發尺寸(EBS,Excess Burst Size):在Tc時間內,幀中繼網絡可以超過承諾突發尺寸的最大值。在網絡擁塞時,這部分流量將被首先丟棄。因此,幀中繼網絡不保證這部分流量能被成功地傳送。
l 幀中繼流量整形的作用
幀中繼流量整形(FRTS,Frame Relay Traffic Shaping)能夠限製從某一虛電路發出的報文流量和突發報文流量,使這類報文能夠以比較均勻的速度向外發送。
在幀中繼網絡中,如果不同網段的帶寬不匹配,往往會在網段的交界處產生瓶頸。如圖2所示,如果Router B以128Kbps的速率向Router A發送報文,而Router A的接口速率最大隻能達到64Kbps,這時就會在幀中繼網絡與Router A的連接處產生瓶頸,從而發生擁塞,導致數據無法正常傳送。但是,如果在Router B的出接口Serial2/0應用幀中繼流量整形,可以使它以相對比較均勻的速率64Kbps發送報文,從而避免網絡擁塞的發生。即使網絡發生擁塞,Router B仍能夠以32Kbps的速率發送報文。
幀中繼流量整形應用在設備的輸出接口,它可以向用戶提供CIR ALLOW、CIR、CBS、EBS等參數。幀中繼虛電路能夠以CIR ALLOW的速率發送報文。幀中繼流量整形還允許虛電路在突發情況下以超過CIR ALLOW的速率發送報文。
l 幀中繼流量整形的工作原理
幀中繼流量整形是用令牌桶算法實現的,根據實際的算法原理對協議中相關參數的含義進行了相應的修改。令牌桶原理如圖3所示。
令牌桶原理是:需要進行流量控製的報文在發送前進入令牌桶中進行處理。如果令牌桶中有足夠的令牌可以用來發送報文,則允許報文通過,即報文被正常發送。如果令牌桶中的令牌數不滿足報文發送條件,則報文會放入幀中繼類隊列(在幀中繼流量整形中,幀中繼類隊列即為FRTS隊列),等令牌桶中有足夠的令牌再從幀中繼類隊列中取報文發送。這樣,就可以對某類報文的流量進行控製。令牌的單位為bit。
協議規定的相關參數和實際幀中繼流量整形原理參數的對應關係如下:
l CBS與EBS的和為令牌桶的大小;
l CIR ALLOW為每秒向令牌桶中添加的令牌數。
幀中繼流量整形方案中為了提高效率,提出了動態Tc的概念。Tc參數的大小在10毫秒到100毫秒之間,可根據每次發送的報文大小進行動態調節,Tc=size of packet/CIR。即無論待發送報文大小為多少(小於1500字節),設備都會在當前計算出的Tc時間內,將所需要的全部令牌分發給當前報文。
圖4 Tc與CIR關係示意圖
例如,發送一個800字節的報文,需要800×8=6400bit的令牌。設CIR為64000bps,則向令牌桶中添加發送該報文令牌需要的時間為6400/64000=0.1s,即對於該報文來說Tc為100ms。100ms之內令牌桶中添加了6400bit的令牌,該報文即被送出。特殊情況下,此時如果CIR為8000bps,則該報文的令牌時間為6400/8000 = 800ms>100ms,但是由於Tc參數大小被定義在10ms到100ms之間滑動,此時Tc取其上限值為100ms,而不是計算得到的800ms。同樣的,如果此時CIR為1024000bps,則該報文的令牌時間為6400/1024000=6.25ms<10ms,但是由於Tc參數大小被定義在10ms到100ms之間滑動,所以該報文的Tc取其下限值10ms。
由於CBS與EBS的和是令牌桶的大小,同時設備是一次性分配令牌給待發送報文,為了使令牌桶中的令牌能夠滿足任何大小報文的發送,特別是大報文的發送,比如1500byte的報文,該報文發送需要1500×8=12Kbit的令牌。故CBS不得小於15Kbit,同時建議用戶配置CBS的大小等同CIR的大小。
按照標準協議中規定,若Tc=20ms,CIR為64000bps,則每個Tc時間內隻能添加0.02×64000=1280bit的令牌。如發送長度為800字節的報文需要5個Tc,即添加5次令牌才能將該報文發送出去。與標準協議的實現方式相比,此方案在一個動態Tc中隻需添加一次令牌就可將該報文發送出,大大提高了工作效率。
當網絡發生擁塞時,如果幀中繼交換設備的出接口配置了擁塞管理功能,它會通知設備網絡發生了擁塞。設備接收到了網絡擁塞的通知後,會使發送速率逐漸下降到CIR,以緩解網絡的擁塞狀況,此時用戶仍然能夠以CIR的速率發送數據。此後如果設備在一定時間內沒有再收到網絡擁塞的通知,發送速率又會逐漸由CIR上升回CIR ALLOW。
如圖5所示,設置幀中繼流量整形參數分別為:CIR ALLOW=64Kbps,CIR=32Kbps,CBS=64000bit,EBS=64000bit,令牌桶的大小為128000,在4s之前令牌桶添加令牌的速率為64Kbps,虛電路以64Kbps的速率發送報文。當在4s時,設備收到了帶有BECN標誌位的幀中繼報文,表明網絡發生擁塞,令牌桶添加令牌的速率下降為CIR 32Kbps,虛電路以32Kbps的速率發送報文。
幀中繼流量監管可以對每個虛電路上進入網絡的流量進行監督,限製流量在一個允許的範圍之內。若某條虛電路的報文流量超過了用戶設置的範圍,設備會采取丟棄報文等措施,以保護網絡資源。
如圖6所示,用戶端設備Router A以192Kbps的速率向交換端設備Router B發送報文,但設備Router B希望隻為設備Router A提供64Kbps的帶寬。這時就需要在設備Router B的DCE端配置幀中繼流量監管。
幀中繼流量監管隻能應用於設備的DCE接口上,它可以對從DTE端發送來的報文流量進行監視。當報文流量小於CBS時,報文可以正常發送,設備對報文不做處理;當報文流量大於CBS並小於EBS與CBS之和時,報文可以正常發送,但設備將把流量大於CBS的報文的幀中繼報文頭中的DE標誌位置為1;當報文流量大於CBS+EBS時,設備將以CBS+EBS的流量進行發送,對超過CBS+EBS的流量進行丟棄,對於超過CBS的流量,設備將把幀中繼報文頭中的DE標誌位置為1。
如圖7所示,設置幀中繼流量監管參數分別為:CIR ALLOW=64kbps,CBS=8000bit,EBS=8000bit,時間間隔Tc=CBS/CIR ALLOW=125ms。在0~250ms時,DTE以速率64Kbps向DCE發送報文,DCE對這部分報文正常轉發,轉發的速率為64Kbps。在250~500ms時,DTE以速率100Kbps向DCE發送報文,DCE的轉發速率為100Kbps,但是超過CBS流量報文的DE標誌位被置為1。在500ms以後,DTE以速率150Kbps向DCE發送報文,DCE的轉發速率為128Kbps,超過CBS但小於CBS+EBS流量報文的DE標誌位被置為1,超過CBS+EBS流量的報文被直接丟棄。
除了幀中繼虛電路隊列之外,幀中繼接口也擁有接口隊列。幀中繼流量整形沒有使能的情況下,隻有幀中繼接口隊列起作用,即預先配置的幀中繼PVC隊列隻有在幀中繼流量整形使能的情況下才能生效。
虛電路隊列和接口隊列的關係如圖8所示。
在幀中繼接口上能夠使用的隊列有:
l FIFO:First In First Out Queuing,先進先出隊列
l PQ:Priority Queuing,優先隊列
l CQ:Custom Queuing,定製隊列
l WFQ:Weighted Fair Queuing,加權公平隊列
l CBQ:Class Based Queuing,基於類的隊列
l RTPQ:Real-time Transport Protocol Priority Queuing,實時傳輸協議優先隊列
l PVC PQ:PVC Priority Queuing,虛電路優先級隊列
其中,FIFO、PQ、CQ、WFQ、CBQ和RTPQ隊列屬於通用的隊列。
PVC PQ隊列被應用於幀中繼接口之上,它擁有四種隊列類型:top、middle、normal、bottom,隊列優先級依次降低。同一虛電路發送的報文隻能入PVC PQ中的一種隊列,不同虛電路上的報文根據虛電路所處的優先級入接口下的PVC PQ隊列。PVC PQ的隊列發送策略是:按照隊列優先級,在發送完高優先級隊列中的報文之後,再發送低優先級隊列中的報文。
幀中繼虛電路的隊列包括:FIFO、PQ、CQ、WFQ、CBQ和RTPQ。RTPQ可以與其它隊列共存,而其它隊列相互之間不能共存。
當接口實行幀中繼流量整形時,接口隊列類型隻能是:FIFO、RTPQ或PVC PQ。
幀中繼擁塞管理可以在網絡發生擁塞時對幀中繼報文進行處理:丟棄DE標誌位為1的報文;同時發送擁塞通知至網絡上的其他設備,告知其發生了擁塞。
幀中繼擁塞管理應用於幀中繼交換設備的出接口上。當擁塞沒有發生時,對於轉發的幀中繼報文,設備將正常轉發,不作特殊處理。當擁塞發生時,DE標誌位為1的報文將會被丟棄;對於轉發的正向報文,設備把幀中繼報文頭的FECN標誌位置為1;對於同一虛電路上反方向發送的報文,設備把幀中繼報文頭的BECN標誌位置為1。若在一段時間內沒有反方向的報文發送,設備將自動發送BECN標誌位為1的Q.922A Test Reponse報文給主叫DTE。
在幀中繼網絡中,DE標誌位為1的報文會在擁塞發生時被優先丟棄。DE規則列表應用於設備的幀中繼虛電路上,每個規則列表內包含多條DE規則。虛電路中發送的報文如果符合DE規則列表中的規則,則它的DE標誌位將會被置1,這類報文在網絡發生擁塞時將會被優先丟棄。
目前FR QoS中隻有WFQ和CBWFQ(Class Based Weighted Fair Queuing,基於類的加權公平隊列)中的AF、BE隊列支持WRED,CBWFQ的EF隊列暫不支持WRED。