計算機網路技術與服務/服務質量
服務質量 是試圖 [1] 保證針對生成非彈性流量的多媒體網路應用程式的資料包延遲和抖動[2] 的特定要求的一組技術。
- 主要方法
已經為服務質量提出了三種方法
- 綜合服務 (IntServ):它要求對網路基礎設施進行根本性的改變,以便應用程式可以預留端到端的頻寬→ 主機和路由器中的新複雜軟體;
- 差異化服務 (DiffServ):它對網路基礎設施的要求較少;
- 自由放任:誰關心延遲和服務質量,網路永遠不會擁塞→ 應用程式層的所有複雜性。
- 需要資料包標記才能讓路由器區分不同類別;以及新的路由器策略來相應地處理資料包。
- 為一類提供保護(隔離)以防止其他類別。
- 在提供隔離的同時,最好儘可能有效地使用資源。
- 流透過呼叫接入宣告其需求,然後網路可能會阻止呼叫(例如,忙音),如果它不能滿足需求。
排程機制的目標是管理傳入資料包的優先順序。
它易於實現,並且只有在存在複雜的 丟棄策略 時才有效
- 尾部丟棄:總是丟棄到達的資料包;
- 隨機:隨機丟棄佇列中的一個數據包;
- 優先順序:丟棄最低優先順序類別的資料包。
每個類別都有一個緩衝區可用,並且始終為最高優先順序類別的資料包提供服務。
它不提供隔離,並且可能會導致飢餓:低優先順序緩衝區中的資料包永遠不會得到服務,因為高優先順序資料包不斷到達。此外,如果高優先順序佇列暫時為空,允許開始傳輸低優先順序佇列中的資料包,但高優先順序資料包在傳輸開始後立即到達,則後者將不得不等待傳輸結束,尤其是在資料包很長的情況下→ 引入傳輸延遲。
它迴圈掃描類別佇列,為每個類別提供服務(如果可用)。
它提供了隔離,而且很公平,但它不提供優先順序。

它透過將輪詢排程與優先順序排程相結合來概括輪詢排程。
每個類別在每個週期中獲得加權的服務量,並且類別 的頻寬 權重為 由以下公式給出(空佇列的權重為零)
但是,這種解決方案的可擴充套件性不是很好,因為該公式涉及浮點運算,需要為每個資料包計算。
監管機制的目標是限制流量,使其不超過已宣告的引數,例如
- (長期)平均速率:每單位時間可以傳送多少個數據包;
- 峰值速率:以每分鐘資料包數衡量;
- (最大)突發大小:連續傳送的最大資料包數(沒有間歇性空閒)。

令牌桶 是用於將輸入限制為指定突發大小和平均速率的技術
- 一個桶可以容納 個令牌;
- 令牌以 個令牌/秒的速度生成,除非桶已滿;
- 在長度為 的時間段內,允許透過的包數量小於等於 。
- 資源預留
本質上,主機請求一個需要一些資源的服務(路徑訊息):如果網路能夠提供此服務,則將為使用者提供服務,否則將不提供服務(預留訊息)。
資源預留是 IP 中沒有的原生功能。
- 呼叫接入
到達的會話使用資源預留協議(RSVP)信令協議來宣告
- R-spec:它定義了請求的服務質量;
- T-spec:它定義了流量特性。
接收方,而不是傳送方,指定資源預留。
這絕對不是一個可擴充套件的解決方案。它仍然存在主要問題,目前沒有更好的理由去實現 IntServ。
區分服務(DiffServ)是 IETF 提出的一個用於服務質量的架構:它將複雜性(桶和緩衝區)從網路核心移動到邊緣路由器(或主機)→ 提高可擴充套件性。
DiffServ 架構由兩個主要元件組成,它們執行每流流量管理
- 邊緣路由器:它們將資料包標記為符合配置檔案(高優先順序語音流量)或不符合配置檔案(低優先順序資料流量);
- 核心路由器:它們根據邊緣的標記執行緩衝和排程,優先處理符合配置檔案的資料包。
標記由邊緣路由器在區分服務程式碼點(DSCP)欄位中執行,該欄位位於 IPv4 頭部的“服務型別”欄位中的前 6 位,以及 IPv6 的“優先順序”欄位中。
最好讓源在應用層執行標記,因為只有源才能準確地知道流量型別(語音流量或資料流量),但是大多數使用者會將所有資料包宣告為高優先順序,因為他們不會誠實→標記需要由提供商控制的閘道器執行。但是,一些研究發現,由於加密流量等原因,路由器最多隻能識別 20-30% 的流量→ 透過將 PC 連線到一個埠,將電話連線到另一個埠,可以簡化路由器的區分,這樣路由器就可以根據輸入埠標記流量。
正在開發一些每跳行為(PHB)
- 快速轉發:某類資料包的傳送速率等於或超過指定的速率;
- 保證轉發:四類流量:每類流量都保證最小的頻寬,以及三個丟棄優先順序分割槽。
PHB 指定要提供的服務,而不是如何實現這些服務。