百科解釋
在封包交換網(wǎng)絡和計算機網(wǎng)絡領(lǐng)域中,流量工程術(shù)語服務質(zhì)量(英文Quality of Service,QoS)指的是網(wǎng)絡滿足給定業(yè)務合同的概率,或在許多情況下,非正式地用來指分組在網(wǎng)絡中兩點間通過的概率。QoS是一種控制機制,它提供了針對不同用戶或者不同數(shù)據(jù)流采用相應不同的優(yōu)先級,或者是根據(jù)應用程序的要求,保證數(shù)據(jù)流的性能達到一定的水準。QoS的保證對于容量有限的網(wǎng)絡來說是十分重要的,特別是對于串流多媒體應用,例如voice over IP 和 IP電視等,因為這些應用常常需要固定的傳輸率,對延時也比較敏感。
在電話業(yè)務領(lǐng)域,服務質(zhì)量是指線路噪音和聲音,適當?shù)囊袅克降戎笜说暮饬,并且不能與服務等級相混淆。
在正常情況下,如果網(wǎng)絡只用于特定的無時間限制的應用系統(tǒng),并不需要QoS,比如Web應用,或E-mail設置等。但是對關(guān)鍵應用和多媒體應用就十分必要。當網(wǎng)絡過載或擁塞時,QoS 能確保重要業(yè)務量不受延遲或丟棄,同時保證網(wǎng)絡的高效運行。
1.分類
分類是指具有QoS的網(wǎng)絡能夠識別哪種應用產(chǎn)生哪種數(shù)據(jù)包。沒有分類,網(wǎng)絡就不能確定對特殊數(shù)據(jù)包要進行的處理。所有應用都會在數(shù)據(jù)包上留下可以用來識別源應用的標識。分類就是檢查這些標識,識別數(shù)據(jù)包是由哪個應用產(chǎn)生的。以下是4種常見的分類方法。
(1)協(xié)議 有些協(xié)議非!敖≌劇保灰鼈兇嬖诰蜁䦟е聵I(yè)務延遲,因此根據(jù)協(xié)議對數(shù)據(jù)包進行識別和優(yōu)先級處理可以降低延遲。應用可以通過它們的EtherType進行識別。譬如,AppleTalk協(xié)議采用0x809B,IPX使用0x8137。根據(jù)協(xié)議進行優(yōu)先級處理是控制或阻止少數(shù)較老設備所使用的“健談”協(xié)議的一種強有力方法。
(2)TCP和UDP端口號碼 許多應用都采用一些TCP或UDP端口進行通信,如 HTTP采用TCP端口80。通過檢查IP數(shù)據(jù)包的端口號碼,智能網(wǎng)絡可以確定數(shù)據(jù)包是由哪類應用產(chǎn)生的,這種方法也稱為第四層交換,因為TCP和UDP都位于OSI模型的第四層。
(3)源IP地址 許多應用都是通過其源IP地址進行識別的。由于服務器有時是專門針對單一應用而配置的,如電子郵件服務器,所以分析數(shù)據(jù)包的源IP地址可以識別該數(shù)據(jù)包是由什么應用產(chǎn)生的。當識別交換機與應用服務器不直接相連,而且許多不同服務器的數(shù)據(jù)流都到達該交換機時,這種方法就非常有用。
(4)物理端口號碼 與源IP地址類似,物理端口號碼可以指示哪個服務器正在發(fā)送數(shù)據(jù)。這種方法取決于交換機物理端口和應用服務器的映射關(guān)系。雖然這是最簡單的分類形式,但是它依賴于直接與該交換機連接的服務器。
2.標注
在識別數(shù)據(jù)包之后,要對它進行標注,這樣其他網(wǎng)絡設備才能方便地識別這種數(shù)據(jù)。由于分類可能非常復雜,因此最好只進行一次。識別應用之后就必須對其數(shù)據(jù)包進行標記處理,以便確保網(wǎng)絡上的交換機或路由器可以對該應用進行優(yōu)先級處理。通過采納標注數(shù)據(jù)的兩種行業(yè)標準,即IEEE 802.1p或差異化服務編碼點(DSCP),就可以確保多廠商網(wǎng)絡設備能夠?qū)υ摌I(yè)務進行優(yōu)先級處理。
在選擇交換機或路由器等產(chǎn)品時,一定要確保它可以識別兩種標記方案。雖然DSCP可以替換在局域網(wǎng)環(huán)境下主導的標注方案IEEE 802.1p,但是與IEEE 802.1p相比,實施DSCP有一定的局限性。在一定時期內(nèi),與IEEE 802.1p 設備的兼容性將十分重要。作為一種過渡機制,應選擇可以從一種方案向另一種方案轉(zhuǎn)換的交換機。
3.優(yōu)先級設置
一旦網(wǎng)絡可以區(qū)分電話通話和網(wǎng)上瀏覽,優(yōu)先級處理就可以確保進行Internet上大型下載的同時不中斷電話通話。為了確保準確的優(yōu)先級處理,所有業(yè)務量都必須在網(wǎng)絡骨干內(nèi)進行識別。在工作站終端進行的數(shù)據(jù)優(yōu)先級處理可能會因人為的差錯或惡意的破壞而出現(xiàn)問題。黑客可以有意地將普通數(shù)據(jù)標注為高優(yōu)先級,竊取重要商業(yè)應用的帶寬,導致商業(yè)應用的失效。這種情況稱為拒絕服務攻擊。通過分析進入網(wǎng)絡的所有業(yè)務量,可以檢查安全攻擊,并且在它們導致任何危害之前及時阻止。
在局域網(wǎng)交換機中,多種業(yè)務隊列允許數(shù)據(jù)包優(yōu)先級存在。較高優(yōu)先級的業(yè)務可以在不受較低優(yōu)先級業(yè)務的影響下通過交換機,減少對諸如話音或視頻等對時間敏感業(yè)務的延遲事故。
為了提供優(yōu)先級,交換機的每個端口必須有至少2個隊列。雖然每個端口有更多隊列可以提供更為精細的優(yōu)先級選擇,但是在局域網(wǎng)環(huán)境中,每個端口需要4個以上隊列的可能性不大。當每個數(shù)據(jù)包到達交換機時,都要根據(jù)其優(yōu)先級別分配到適當?shù)年犃,然后該交換機再從每個隊列轉(zhuǎn)發(fā)數(shù)據(jù)包。該交換機通過其排隊機制確定下一步要服務的隊列。有以下2種排隊方式。
(1)嚴格優(yōu)先隊列(SPQ) 這是一種最簡單的排隊方式,它首先為最高優(yōu)先級的隊列進行服務,直到該隊列為空,然后為下一個次高優(yōu)先級隊列服務,依此類推。這種方法的優(yōu)勢是高優(yōu)先級業(yè)務總是在低優(yōu)先級業(yè)務之前處理。但是,低優(yōu)先級業(yè)務有可能被高優(yōu)先級業(yè)務完全阻塞。
(2)加權(quán)循環(huán)(WRR) 這種方法為所有業(yè)務隊列服務,并且將優(yōu)先權(quán)分配給較高優(yōu)先級隊列。在大多數(shù)情況下,相對低優(yōu)先級,WRR將首先處理高優(yōu)先級,但是當高優(yōu)先級業(yè)務很多時,較低優(yōu)先級的業(yè)務并沒有被完全阻塞。
Qos可以根據(jù)報文中的802.1P判斷優(yōu)先級
在因特網(wǎng)創(chuàng)建初期,沒有意識到QoS應用的需要。因此,整個因特網(wǎng)運作如一個“竭盡全力”的系統(tǒng)。每段信息都有4個“服務類別”位和3個“優(yōu)先級”位,但是他們完全沒有派上用場。 依發(fā)送和接收者看來,數(shù)據(jù)包從起點到終點的傳輸過程中會發(fā)生許多事情,并產(chǎn)生如下有問題的結(jié)果:
丟失數(shù)據(jù)包 - 當數(shù)據(jù)包到達一個緩沖區(qū)(buffer)已滿的路由器時,則代表此次的發(fā)送失敗,路由器會依網(wǎng)絡的狀況決定要丟棄一部份、不丟棄 或者是所有的數(shù)據(jù)包,而且這不可能在預先就知道,接收端的應用程式在這時必須請求重新傳送,而這同時可能造成總體傳輸嚴重的延遲。
延遲 - 或許需要很長時間才能將數(shù)據(jù)包傳送到終點, 因為它會被漫長的隊列遲滯, 或需要運用間接路由以避免阻塞;也許能找到快速、直接的路由。總之,延遲非常難以預料。
傳輸順序出錯 - 當一群相關(guān)的數(shù)據(jù)包被路由經(jīng)過因特網(wǎng)時,不同的數(shù)據(jù)包可能選擇不同的路由器,這會導致每個數(shù)據(jù)包有不同的延遲時間。最后數(shù)據(jù)包到達目的地的順序會和數(shù)據(jù)包從發(fā)送端發(fā)送出去的順序不一致,這個問題必須要有特殊額外的協(xié)議負責重新整理失序的數(shù)據(jù)包。
出錯 - 有些時候,數(shù)據(jù)包在被運送的途中會發(fā)生跑錯路徑、被合并 甚至是 毀壞的情況,這時接收端必須要能偵測出這些情況,并將它們統(tǒng)統(tǒng)判別為已遺失的數(shù)據(jù)包,再請求發(fā)送端再送一份同樣的數(shù)據(jù)包。
流量約定(SLA, Service Level Agreement服務等級協(xié)議)給數(shù)據(jù)流設定優(yōu)先級,以此在網(wǎng)絡/協(xié)議層面上,根據(jù)相互商定的尺度,設定有保障的性能、通過量、延遲等界限。一些特定形式的網(wǎng)絡數(shù)據(jù)流需要定義服務質(zhì)量,例如:
多媒體流要求有保障的通過量
IP電話需要嚴格的抖動和延遲限制
性命悠關(guān)的應用系統(tǒng), 例如遠程外科手術(shù)要求有可靠保證的可用性 (也稱作硬性 QoS).
這些類型的服務被稱為非彈性,意思是它們需要固定的帶寬才能運作--如果得到多余的帶寬,它們也無法使用;如果得到較少的帶寬,則根本無法工作。相形之下,彈性應用可以從多余的帶寬中受益。
實質(zhì)上有兩種方式提供QoS保證。第一種,就是簡單地提供大量的資源,用豐富、安全的余量設備應付預期中的“高峰”需求。這樣既好又簡單,然而有人認為這種方式代價昂貴,而且不能應對高峰需求超越預期的情形,部署額外的資源也很耗費時間。
第二種是要求用戶預約帶寬,并且僅在能夠提供可靠服務的前提下接受預約。自然,可以為預約服務向用戶收費。常用的實現(xiàn)方法有兩類: 恩!
以下的特性也許只會被用在end ports, 但不會在服務器, 中樞 或是其它的端口上,這就緩和了許多并發(fā)流的沖突.