一文搞懂QoS服務,提升網絡時延、降低抖動的關鍵策略

it一指禪 發佈 2024-03-17T05:24:41.727085+00:00

本文主要探討網絡質量的QoS的相關內容,以及帶寬不變的情況下,如何通過調整網絡策略,優化網絡質量。往返時間 = 發送第一個數據包的發送時延 + 每段鏈路的傳輸時延之和 + 每個節點的排隊時延之和 + 每個節點的處理時延之和。

大家好,我是IT售前工程師Bernie。

本文主要探討網絡質量的QoS的相關內容,以及帶寬不變的情況下,如何通過調整網絡策略,優化網絡質量。歡迎閱讀.

一個網絡好不好,其實是有很多量化指標的,比如:帶寬有多大、傳輸時延有多高、網絡抖動是多少等等。

網絡質量的評判標準

帶寬

帶寬是影響網絡質量的首個因素,我們可以做個影響的比喻:如果把數據包比作汽車的話,帶寬就像是在某個高速路口最高的發車速率。比如:某個高速收費站一秒鐘最多可以通過匝道發送5輛車,那麼這個高速的帶寬就是5。

這裡有人可能會奇怪,為啥不是公路的寬度呢?其實帶寬的定義是:某個網絡的最高發送速率,即一秒鐘最多可以發送多少個字節的數據。比如,下圖的帶寬為4,因為同一時刻最多一些性可以發出4輛車。

對於網絡而言,帶寬代表的是網絡的通行能力。帶寬越大,網絡的質量自然也就越好。但是,需要特別說明的是:從一個端到另外一個端,可能要經過多個不同的數據鏈路、多次流量轉發,帶寬最小的那一段鏈路決定著整個端到端的整體帶寬水平。

不同帶寬的數據鏈路也遵循著「木桶原理」。如下圖,儘管有的網段鏈路的帶寬已經到了1000M/S,但是有一段的帶寬為20M/S,所以整個鏈路的最大通過能力也就是20M/S。

往返時延

時延包括很多種:發送時延、傳輸時延、排隊時延、處理時延等。如果我們要討論PC1到PC2的時延情況,一般理解的就是往返時延,即:從發送第一份數據包開始,到拿到PC2的第一個返回結果結束,這樣一個過程的總時間。

往返時間 = 發送第一個數據包的發送時延 + 每段鏈路的傳輸時延之和(來回) + 每個節點的排隊時延之和 (來回)+ 每個節點的處理時延之和(來回)。

因為每次發送和排隊的時間並不是一樣的,所以我們一般會多次計算往返時延,取一個平均數作為某個時間段的往返時延。

需要特別說明一點:發送時延一般是固定的,都是: 鏈路長度/信號在鏈路上傳播的速度,傳播速度大概都是2*10的8次方m/s

網絡抖動

這裡說的抖動不是像電信號一樣的縱向高低不同的抖動,跟隔壁吳老二一樣的抖動。

網絡抖動說的是網絡延遲的變化情況,即:某一時間段內最大延遲和最小延遲的時間差。網絡抖動越小,網絡的穩定性越強。在遊戲、直播、在線會議、遠程會診、實時渲染等領域,對網絡穩定性的要求還是蠻高的。

比如主機1發送Bernie到主機2,每個數據包包含16個字節,也就是一個字母。i耗時5ms,r耗時30ms。那麼,就存在25ms的網絡抖動。


特別說明:網絡抖動也會影響到一些網絡協議的傳輸,利用緩存可以有效克服抖動,但是會帶來更高的延遲。

丟包率

顧名思義,丟包就是指在數據發送、傳輸環節,會有一部分數據包沒有傳送到位,丟了。實際上,只要鏈路夠長、節點夠多,每一個網絡都是會發生丟包現象的。

丟包並不是很可怕,因為我們有數據校驗的機制,可靠的網絡會將丟失的包重新傳。丟包越多,網絡數據的失真越高。在TCP中,丟包多了,重傳就會多,網絡的效率就越低。

尤其是一些在線語音、在線視頻業務,對丟包率有更高的要求。A和B通話,丟包率高了,可能都不能聽到對方想表達的完整信息。

帶寬、時延、抖動和丟包率是影響網絡質量的四大因素。那麼,如何有效解決網絡服務質量、優化服務體驗呢?

最好的方法當然是從根本上解決,比如建設高帶寬、低時延的網絡,用最好的光纖、交換機、路由器、防火牆等等。

不過,這樣做 很!費!錢!

恐怕沒有幾個人能這樣玩兒。

有些時候,受限於成本的問題,我們只能採取一些策略性的東西,在帶寬不變的情況下優化網絡質量。比如本文接下來要講的QoS策略。

QoS網絡策略

QoS的英文是Quality of Service,即服務質量。也就是說,我們在計算機網絡中,通過某些方案來提高網絡的服務質量,來優化某些關鍵業務的使用體驗(如視頻業務、語音業務等)。

實際上,QoS並不是一個獨立的策略,它是包含多個方面策略的集合,每一個方案我們稱為QoS服務模型。

Best-Effort模型

Best-Effort稱為盡力而為的模型,它是默認的服務形式,也是最簡單、最低效的服務形式。類似於消息隊列一樣,先進先出。

舉個簡單的例子: 某時一刻PC1發送了一個數據包,也許這個數據包中包含視頻業務、上網業務和郵件業務。

PC2接收到這個數據包後,它可不管誰重要誰不重要,就是簡簡單單地比較誰排在這個數據包的最前面,就優先處理誰。假設前後順序是:郵件業務--上網業務--語音業務,它也會先處理郵件、再處理上網,最後處理語音。

結果可想而知,在處理能力稍低的情況下,語音可能會延遲長、斷斷續續的,嚴重影響雙方的體驗。

一個網絡採用Best-Effort的服務模型,只能通過增大帶寬、升級設備要提高服務質量了。

IntServ模型

IntServ稱為預留資源服務模型,就是說:在進行數據通信之前,PC1就會通過一種協議(RSVP協議)告知整個網絡 「各單位請注意:PC1要傳輸數據了,請網絡上下游做好準備,給我預留XX位的帶寬資源!其他業務一律不得占用!

這個預留出來的帶寬是雷打不動的,跟預定酒店一樣,只要客戶不取消,其他資源一律不會占用。這樣做的目的是:為VIP設備開闢一個VPI網絡資源,保障資源獨占,提高某個重點設備的服務質量。

需要特別說明的是:端設備利用RSVP協議告知網絡,預定獨占資源;網絡各節點使用RSVP協議反饋資源的預定結果。

DiffServ模型

DiffServ是差分服務模型,也是最好的模型。相比於前面兩個模型來講,它更加細緻化:DiffServ會將網絡中的流量通過標籤的形式進行優先級分類,比如會將語音數據打上語音標籤、上網業務打上上網標籤、郵件業務打上郵件標籤。

打上不同的標籤之後,我們就可以通過配置優先級處理策略,進行優先級從高到低的處理了。在同一個數據包中,即便是先後順序是郵件>上網>語音,PC2也會按照語音>上網>郵件的順序進行處理。

這樣做的好處是:同一類型的流量在網絡中享有同一個級別的處理優先級,可以保證相同流量具有相同的時延、抖動、丟包率等指標。

總結

以上是關於計算機網絡中影響網絡質量的關鍵指標和QoS模型的簡要介紹。其中,Best-Effort、IntServ和DiffServ模型的優缺點對比如下。

我們可以根據不同的服務模型提供對應的網絡優化升級策略。很多網絡服務商會把QoS策略作為付費服務出售的,可以按照調用QoS的次數付費、也可以按照調用時間付費,比如迅雷會員、百度網盤、雲服務商等等。

我是IT售前工程師Bernie,歡迎關注!下期見~

關鍵字: