淺談Qos(服務訪問質量)

隨着網絡的發展,互聯網流量迅速增加,網絡產生擁塞,延時增加,有時還會造成丟包,導致業務質量下降。當網絡出現擁塞時,如何保證重要數據的帶寬和實時性數據能夠快速轉發呢?
QOS,服務質量。顧名思義,就是爲了給現有的網絡提供一個更好的性能,讓各種網絡應用更加順暢的運作。當然了,如果你想讓網絡運作的更好,那你就得了解你自己的網絡啊。看看這個網絡中都運行着什麼網絡應用,且這些網絡應用比較關心的網絡因素有那些,比如網絡延遲、抖動、丟包率等等因素。我們就是通過控制這些對網絡應用有着關鍵作用的因素來調節網絡的正常、高速運行的。可以這樣說:QOS特性就是用來修理網絡數據傳輸過程中的一些小瑕疵的特性。只要你把這個數據路徑修理的足夠光滑,在某種程度來說沒有任何的阻礙了,那麼數據跑起來就會相當的流暢,什麼丟包啊,延遲啊,延遲抖動啊就都統統解決啦。速度和質量得到了雙保障。當然了,我們得對症下藥,知道問題出在了那裏。並且,這樣還不夠,我們還要知道問題“可能”出在那裏!這樣的話,我們就會把這種數據傳輸過程中的一些不良的隱患全部消除掉了。
我們使用了QOS後,可以說是我們想讓網絡怎麼地,網絡就怎麼地,完全處於你的控制中。不但實現了網絡數據的流暢傳輸,並且對網絡資源的使用也做到了精確的控制,不會浪費資源,也不會讓資源出現極其緊張的局面,即使有可能出現緊張的局面,那麼我們也有辦法來預防這種情況的發生。廢話了不少,這些都是使用QOS的好處。其實,仔細看看,也不是廢話,其中也談到了很多QOS的核心內容:
1、因爲我們可以對各種網絡應用做到了精確的控制使用資源,那麼肯定就是對他們進行區別對待了,這也就是QOS中分類的概念啊。
2、上面說到的,修理數據傳輸路徑上的小瑕疵,以求讓數據傳輸的更流暢,這也就是後面我們將要降到的流量調節啊。
3、在最後面我們還提到了,出現資源緊張的局面,我們可以採取措施來搞定,這裏也就說到了後面將要詳細介紹的擁塞管理和擁塞避免。
QOS應用需求
1、網絡擁塞
1)網絡擁塞的產生
數據從高速端口進入設備,從低速端口轉發出去。
流量匯聚,流量由多個端口進入設備,從一個端口轉發出去,並且進入設備端口的速率之和大於轉發接口的速率。
2)網絡擁塞的影響
當網絡出現擁塞時,可能對網絡造成以下一些影響
報文傳輸延遲,延遲抖動和丟包率增加
由於過高的延遲和丟包導致報文重傳,增加網絡負擔。
由於網絡擁塞,報文重傳導致網絡的有效吞吐量降低。
3)網絡擁塞的解決方法
在無法提高網絡帶寬的情況下,解決網絡擁塞有效的方法是合理利用網絡帶寬,在網絡發生擁塞時,根據業務的性質和需要使用QOS技術合理分配現有帶寬,降低網絡擁塞的影響。
QoS服務模型一共分爲三種:
1、best-Effort service服務模型:它是一種單一的服務模型,也是最簡單的服務模型,應用程序可以在任何時候發送任意數量的報文。網絡盡最大可能發送這些報文,但是對於延時、可靠性不做保證,它是在互聯網中默認的服務模型,其遵循先進先出的轉發規則。
2、IntServ服務模型:IntServ服務模型在使用網絡資源時,需要提前申請,申請的過程是通過RSVP(資源預留協議)完成的,應用程序會通過RSVP將需要的時延、帶寬、丟包率等性能通知其他節點,這些節點收到資源預留請求後,會根據用戶的合法性、資源使用情況來決定是否預留資源。
這個服務模型的擴展性很差,實施比較困難,並且RSVP存在一定缺陷,所以限制了它的廣發應用。
3、Diffserv服務模型:它可以滿足不同的QoS需求,與IntServ不同,它不需要預留資源,網絡不需要爲每個端到端的流量進行維護。Diffserv服務模型可以使用不同的方法來指定報文的QoS,如報文的優先級、MAC地址、源IP地址、目的IP地址等,網絡可以通過這些信息來提供特定的服務(報文分類、流量整 形等)。
QoS的操作模型:
QoS涉及四大組件:分類和標記、整 形和監管、擁塞避免和擁塞管理。QoS操作模型如下所示:
淺談Qos(服務訪問質量)
首先,數據進入設備進行流分類,根據流量的重要程度劃分不同的類別,並打上不同的標記。然後使用GTS或CAR技術進行整 形和監管,並根據策略對違規的報文進行操作,限制流量的速率。隨後通過WRED技術隨機丟棄相對不重要的報文避免網絡擁塞,最後通過擁塞管理的隊列技術將報文放入不同的隊列。隊列達到最大長度後,後到達的報文將被丟棄,通過隊列的出隊調度技術轉發報文。
下圖所示可以更加通俗的看出QoS對數據流的處理:
淺談Qos(服務訪問質量)
1、分類和標記:

QoS是一個整體的框架,不侷限於一臺設備,整個網絡中設備相互配合,最終達到流量優化的目的。QoS的核心就是保證重要的流量有限通過網絡設備。默認情況下,網絡設備對任何流量都一視同仁,爲了可以讓任何設備都可以識別重要的流量,在網絡的邊界,也就是任何進入網絡的流量都應該根據重要程度被分類,並打上不同的標記,後續設備基於這些標記來標識哪些流量是相對重要的。
1)、分類:流分類是進行區別服務的基礎,流分類可以使用報文的優先級來識別不同優先級特徵的流量;
流分類一般通過ACL區分不同的流量,尤其是擴展ACL,基本上可以定義大部分流量。如下命令定義了網絡中所有的FTP流量:
R1(config)#access-list 101 permit tcp any any eq 21
2)、標記:在QoS技術的Diffserv服務模型中,對於IP報文中的DS字段使用DSCP(差異化服務編碼點)作爲QoS優先級描述,如下圖所示:
淺談Qos(服務訪問質量)
DS字段一共八位,在Diffserv中使用DS的前六位,即DS0~DS5定義了0~63共64個優先級。
QoS也可以使用DS字段中的IP優先級,使用DS的前三位IP。優先級共八個等級,其中0表示正常流量,盡力轉發。
默認情況下,如果不做設置,正常數據的優先級都是0,而像RIP、OSPF報文,默認優先級是6,優先級越高越優先發送;
在配置時,首先定義匹配類,然後定義流量控制策略,最後在端口實施策略。
定義匹配類:
R1(config)#class-map qwe
R1(config-cmap)#match access-group 101 101爲創建的擴展ACL編號
除了配置ACL外,還可以配置端口、VLAN、源MAC地址或目的MAC地址等信息,配置如下:
R1(config-cmap)#match input-interface f0/1 匹配 F0/1端口進入的流量。
R1(config-cmap)#match any 匹配任意流量
2)、定義流量控制策略

通過policy map調用class map,然後爲每一個class map 配置策略:

R1(config)#policy-map QoS 定義策略名稱
R1(config-pmap)#class abc 調用class map
R1(config-pmap-c)#set ip dscp 5 定義優先級,範圍爲0~63;
也可以使用如下命令來定義優先級:
R1(config-pmap-c)#set ip precedence 7 與dscp一樣,用來定義優先級,範圍爲0~7。
3)、在接口上應用策略
R1(config-if)#service-policy input qos service-policy爲命令字,input表示入站。
可以使用output來表示出站,qos爲定義的策略名稱
4)、查看配置
可以使用命令show policy-map來查看配置:
R1#show policy-map
Policy Map df
Class abc
set ip precedence 7
Policy Map qos
Class abc
set ip precedence 0
2、整 形和監管:
經過分類和標記已經可以區分流量的優先級了,那麼爲了避免網絡擁塞的出現,可以對流量進行控制,通過採用一定的策略控制流量的大小,以減少網絡擁塞的出現。主要的流量管理技術是整 形和監管。
在對流量進行監控時一般可以設定三個參數:

  1. 承諾平均速率(CIR):允許流量通過的平均速率;
  2. 突發量(BC):允許突發產生流量的大小,設置的大小必須大於最大報文長度。
  3. 額外突發量(Be):表示流量超出突發量後還可以轉發的流量大小。
    1)流量策略
    對於符合規定部分的流量視爲合規流量,而對於超出規定部分的流量視爲違規流量。設置流量策略時,既可以設置合規流量策略,也可以設置違規流量策略。一般流量策略有以下幾種:
    轉發:對於合規流量和違規流量都可以設置策略爲轉發。
    丟棄:對於合規流量和違規流量都可以設置策略爲丟棄。
    標記:標記報文的優先級。例如,將合規流量報文的IP優先級設定爲5,而將違規流量報文的優先級設置爲0.
    進入下一級流量策略:流量策略可以多級處理,可以將流量提交給下一級流量策略來進行控制。
    2)整 形與監管
    流量整 形(GTS)是一種調節輸出速率的措施,流量整 形使用緩衝區使流量均勻地進行轉發。流量進入設備進行分類,不需要進行整 形的流量直接通過設備轉發,需要進行整 形的流量根據配置分爲合規流量和違規流量。當流量速率超過設定時,設備將多餘的流量緩存到GTS隊列,然後按照配置的CIR,將報文均勻地轉發出去,以保證網絡流量平穩。
    由於流量整 形使用緩存來保存違規流量,所以可以減少丟包率,避免了報文重發,但是使用緩存將導致數據轉發時增加時延。流量整 形一般應用在整體流量較小,但有時出現突發流量的環境中。
    淺談Qos(服務訪問質量)
    基本的流量×××配置如下:
    R1(config)#access-list 100 permit udp any any
    R1(config)#in f1/0
    R1(config-if)#traffic-shape rate 80000 針對所有經過該接口的流量整 形。承諾平均速率爲100kb/s
    R1(config)#in f1/0
    R1(config-if)#traffic-shape group 100 8000 8000 8000 針對於ACL組號爲100的流量整 形。
    以上計量單位爲比特
    R1#show traffic-shape f1/0 查看網絡×××信息

流量監管是一種流量控制措施,監管使用的三個參數分別是承諾平均速率、Bc、Be。所以監管中,Bc+Be的大小是允許突發的最大流量的大小。監管的核心技術是承諾訪問速率(CAR)
Bc和Be相當於信用的積累,如果一直守信(小於規定流量),其信用值就不斷增加到某個數值(Bc);如果繼續守信,則信用值就會繼續增加到一個規定的最大值(Bc+Be)。這時,如果出現違規現象(流量速率超過規定速率),信用就會減少,知道信用值爲0,。所以Bc、Be是一個積累使用的過程,而不是始終存在的(最初時Bc和Be爲滿的)。
在使用CAR技術限制流量速率時,違規流量一般會被直接丟棄而不進行緩存,所以呢,CAR技術保證了數據的延時,但是增加了丟包率。CAR技術多應用於接入層,對接入用戶進行流量限制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章