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