QoS

       最近在研究客戶端通信技術,查閱相關資料看到一個關鍵詞頻頻出現-「QoS」。記得之前學習計算機網絡課程的時候學到過它,可是學完計算機網絡以後並無從底層或者深層出發考慮網絡問題,今天將QoS的知識作一下梳理。安全

        在封包交換網絡和計算機網絡領域中,流量工程術語服務質量(英文Quality of Service,QoS)指的是網絡知足給定業務合同的機率,或在許多狀況下,非正式地用來指分組在網絡中兩點間經過的機率。QoS是一種控制機制,它提供了針對不一樣用戶或者不一樣數據流採用相應不一樣的優先級,或者是根據應用程序的要求,保證數據流的性能達到必定的水準。QoS的保證對於容量有限的網絡來講是十分重要的,特別是對於串流多媒體應用,例如voice over IP 和 IP電視等,由於這些應用經常須要固定的傳輸率,對延時也比較敏感。
在電話業務領域,服務質量是指線路噪音和聲音,適當的音量水平等指標的衡量,而且不能與服務等級相混淆。

在正常狀況下,若是網絡只用於特定的無時間限制的應用系統,並不須要QoS,好比Web應用,或E-mail設置等。可是對關鍵應用和多媒體應用就十分必要。當網絡過載或擁塞時,QoS 能確保重要業務量不受延遲或丟棄,同時保證網絡的高效運行。服務器

​​​​​​​.Qos具備以下功能:網絡

一、分類併發

    分類是指具備QoS的網絡可以識別哪一種應用產生哪一種數據包。沒有分類,網絡就不能肯定對特殊數據包要進行的處理。全部應用都會在數據包上留下能夠用來識別源應用的標識。分類就是檢查這些標識,識別數據包是由哪一個應用產生的。如下是4種常見的分類方法。性能

    (1)協議 有些協議很是「健談」,只要它們存在就會致使業務延遲,所以根據協議對數據包進行識別和優先級處理能夠下降延遲。應用能夠經過它們的EtherType進行識別。譬如,AppleTalk協議採用0x809B,IPX使用0x8137。根據協議進行優先級處理是控制或阻止少數較老設備所使用的「健談」協議的一種強有力方法。 
    (2)TCP和UDP端口號碼 許多應用都採用一些TCP或UDP端口進行通訊,如 HTTP採用TCP端口80。經過檢查IP數據包的端口號碼,智能網絡能夠肯定數據包是由哪類應用產生的,這種方法也稱爲第四層交換,由於TCP和UDP都位於OSI模型的第四層。 
    (3)源IP地址 許多應用都是經過其源IP地址進行識別的。因爲服務器有時是專門針對單一應用而配置的,如電子郵件服務器,因此分析數據包的源IP地址能夠識別該數據包是由什麼應用產生的。當識別交換機與應用服務器不直接相連,並且許多不一樣服務器的數據流都到達該交換機時,這種方法就很是有用。 
    (4)物理端口號碼 與源IP地址相似,物理端口號碼能夠指示哪一個服務器正在發送數據。這種方法取決於交換機物理端口和應用服務器的映射關係。雖然這是最簡單的分類形式,可是它依賴於直接與該交換機鏈接的服務器。 學習


2.標註 
    在識別數據包以後,要對它進行標註,這樣其餘網絡設備才能方便地識別這種數據。因爲分類可能很是複雜,所以最好只進行一次。識別應用以後就必須對其數據包進行標記處理,以便確保網絡上的交換機或路由器能夠對該應用進行優先級處理。經過採納標註數據的兩種行業標準,即IEEE 802.1p或差別化服務編碼點(DSCP),就能夠確保多廠商網絡設備可以對該業務進行優先級處理。 
    在選擇交換機或路由器等產品時,必定要確保它能夠識別兩種標記方案。雖然DSCP能夠替換在局域網環境下主導的標註方案IEEE 802.1p,可是與IEEE 802.1p相比,實施DSCP有必定的侷限性。在必定時期內,與IEEE 802.1p 設備的兼容性將十分重要。做爲一種過渡機制,應選擇能夠從一種方案向另外一種方案轉換的交換機。 
3.優先級設置 
一旦網絡能夠區分電話通話和網上瀏覽,優先級處理就能夠確保進行Internet上大型下載的同時不中斷電話通話。爲了確保準確的優先級處理,全部業務量都必須在網絡骨幹內進行識別。在工做站終端進行的數據優先級處理可能會因人爲的差錯或惡意的破壞而出現問題。黑客能夠有意地將普通數據標註爲高優先級,竊取重要商業應用的帶寬,致使商業應用的失效。這種狀況稱爲拒絕服務攻擊。經過分析進入網絡的全部業務量,能夠檢查安全攻擊,而且在它們致使任何危害以前及時阻止。 
    在局域網交換機中,多種業務隊列容許數據包優先級存在。較高優先級的業務能夠在不受較低優先級業務的影響下經過交換機,減小對諸如話音或視頻等對時間敏感業務的延遲事故。 
爲了提供優先級,交換機的每一個端口必須有至少2個隊列。雖然每一個端口有更多隊列能夠提供更爲精細的優先級選擇,可是在局域網環境中,每一個端口須要4個以上隊列的可能性不大。當每一個數據包到達交換機時,都要根據其優先級別分配到適當的隊列,而後該交換機再從每一個隊列轉發數據包。該交換機經過其排隊機制肯定下一步要服務的隊列。有如下2種排隊方式。 編碼


    (1)嚴格優先隊列(SPQ) 這是一種最簡單的排隊方式,它首先爲最高優先級的隊列進行服務,直到該隊列爲空,而後爲下一個次高優先級隊列服務,依此類推。這種方法的優點是高優先級業務老是在低優先級業務以前處理。可是,低優先級業務有可能被高優先級業務徹底阻塞。 計算機網絡

    (2)加權循環(WRR) 這種方法爲全部業務隊列服務,而且將優先權分配給較高優先級隊列。在大多數狀況下,相對低優先級,WRR將首先處理高優先級,可是當高優先級業務不少時,較低優先級的業務並無被徹底阻塞。

Qos能夠根據報文中的802.1P判斷優先級 視頻

.問題的提出隊列

    在因特網建立初期,沒有意識到QoS應用的須要。所以,整個因特網運做如一個「不遺餘力」的系統。每段信息都有4個「服務類別」位和3個「優先級」位,可是他們徹底沒有派上用場。 依發送和接收者看來,數據包從起點到終點的傳輸過程當中會發生許多事情,併產生以下有問題的結果:

丟失數據包 - 當數據包到達一個緩衝區(buffer)已滿的路由器時,則表明這次的發送失敗,路由器會依網絡的情況決定要丟棄一部份、不丟棄 或者是全部的數據包,並且這不可能在預先就知道,接收端的應用程式在這時必須請求從新傳送,而這同時可能形成整體傳輸嚴重的延遲。


延遲 - 或許須要很長時間才能將數據包傳送到終點, 由於它會被漫長的隊列遲滯, 或須要運用間接路由以免阻塞;也許能找到快速、直接的路由。總之,延遲很是難以預料。
    傳輸順序出錯 - 當一羣相關的數據包被路由通過因特網時,不一樣的數據包可能選擇不一樣的路由器,這會致使每一個數據包有不一樣的延遲時間。最後數據包到達目的地的順序會和數據包從發送端發送出去的順序不一致,這個問題必需要有特殊額外的協議負責從新整理失序的數據包。
    出錯 - 有些時候,數據包在被運送的途中會發生跑錯路徑、被合併 甚至是 毀壞的狀況,這時接收端必需要能偵測出這些狀況,並將它們通通判別爲已遺失的數據包,再請求發送端再送一份一樣的數據包。

.須要QoS的應用

    流量約定(SLA, Service Level Agreement服務等級協議)給數據流設定優先級,以此在網絡/協議層面上,根據相互商定的尺度,設定有保障的性能、經過量、延遲等界限。一些特定形式的網絡數據流須要定義服務質量,例如:


    多媒體流要求有保障的經過量
IP電話須要嚴格的抖動和延遲限制
性命悠關的應用系統, 例如遠程外科手術要求有可靠保證的可用性 (也稱做硬性 QoS).
    這些類型的服務被稱爲非彈性,意思是它們須要固定的帶寬才能運做--若是獲得多餘的帶寬,它們也沒法使用;若是獲得較少的帶寬,則根本沒法工做。相形之下,彈性應用能夠從多餘的帶寬中受益。

.保持 QoS

    實質上有兩種方式提供QoS保證。第一種,就是簡單地提供大量的資源,用豐富、安全的餘量設備應付預期中的「高峯」需求。這樣既好又簡單,然而有人認爲這種方式代價昂貴,並且不能應對高峯需求超越預期的情形,部署額外的資源也很耗費時間。
    第二種是要求用戶預定帶寬,而且僅在可以提供可靠服務的前提下接受預定。天然,能夠爲預定服務向用戶收費。經常使用的實現方法有兩類: 恩!

.某些技術的QoS難題

    如下的特性也許只會被用在end ports, 但不會在服務器, 中樞 或是其它的端口上,這就緩和了許多併發流的衝突. ​​​​​​​

相關文章
相關標籤/搜索