1. DiffServ概述
DiffServ(Differentiated Services,差異化服務)是IETF定義的一種QoS(Quality of Service)體系結構,旨在為IP網絡提供可擴展的服務區分能力。與傳統的IntServ(集成服務)模型不同,DiffServ采用簡單、粗粒度的流量分類機制,通過在網絡邊緣進行復雜處理、在網絡核心進行簡單處理的方式,實現了良好的可擴展性。
1.1 DiffServ核心思想
- 邊緣復雜、核心簡單:將復雜的分類、標記、整形等操作放在網絡邊緣設備,核心設備只需根據分組標記進行簡單轉發
- 逐跳行為(PHB):定義標準化的分組轉發處理方式,而非端到端服務保證
- 服務等級聚合:將具有相同QoS需求的流量聚合為少量服務類別,而非為每個流維護狀態
2. DiffServ體系結構
2.1 基本組件
-
DS域(Differentiated Services Domain):
- 一組連續的網絡節點,遵循相同的服務提供策略和PHB定義
- 邊界節點負責流量分類、標記和整形
- 內部節點根據DS字段執行相應的PHB
-
DS邊界節點:
- 分類器(Classifier):根據分組頭字段將流量分類
- 計量器(Meter):測量流量是否符合預定義的profile
- 標記器(Marker):設置DS字段值
- 整形器(Shaper)/丟包器(Dropper):實施流量整形或選擇性丟包
-
DS內部節點:
- 根據DS字段值選擇適當的PHB
- 可能包含有限的排隊和調度機制
2.2 服務提供模型
-
服務等級協議(SLA):
- 客戶與提供商之間的合約,規定服務等級和流量profile
-
流量調節協議(TCA):
- 具體實現SLA的操作參數,包括計量、標記、整形等規則
3. DS字段與碼點(DS Codepoint)
3.1 IPv4/IPv6中的DS字段
DiffServ重新定義了IPv4 TOS(服務類型)字段和IPv6 Traffic Class字段的高6位作為DS字段:
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| DS字段 | 未用 |
+---+---+---+---+---+---+---+---+
- 前6位(bit 0-5):DS碼點(DSCP,Differentiated Services Codepoint)
- 后2位(bit 6-7):傳統用于ECN(顯式擁塞通知),DiffServ中未使用
3.2 DS碼點(DSCP)詳解
DSCP是DiffServ體系中的核心概念,用于指示分組應接受的PHB(逐跳行為)。DSCP值范圍是0-63(6位),分為以下幾個主要類別:
3.2.1 標準DSCP分類
-
默認PHB(Default PHB):
- DSCP值:000000 (0)
- 傳統的盡力而為服務
- 所有未明確標記的流量默認使用
-
加速轉發EF(Expedited Forwarding):
- DSCP值:101110 (46)
- 提供低延遲、低抖動、低丟包率的服務
- 適用于語音、視頻會議等實時應用
-
確保轉發AF(Assured Forwarding):
- 4個獨立類別(AF1x-AF4x),每類3個丟棄優先級
- 編碼格式:aaadd0 (aaa=類別,dd=丟棄優先級)
- 例如:AF11=001010(10),AF43=100110(38)
類別 低丟棄優先級 中丟棄優先級 高丟棄優先級 AF1 AF11(10) AF12(12) AF13(14) AF2 AF21(18) AF22(20) AF23(22) AF3 AF31(26) AF32(28) AF33(30) AF4 AF41(34) AF42(36) AF43(38) -
類選擇器CS(Class Selector):
- 兼容傳統IP優先級(Precedence)的DSCP值
- 格式:xxx000 (xxx=IP優先級值)
- CS0(0)到CS7(56)
3.2.2 DSCP值分配策略
-
運營商分配:
- 網絡運營商定義DSCP與PHB的映射關系
- 同一DSCP在不同網絡可能對應不同服務等級
-
標準化DSCP:
- IETF建議的標準值(如EF、AF等)
- 促進跨域服務的一致性
-
本地使用DSCP:
- 范圍:xxxxx1(最低位為1)
- 供實驗或本地使用
3.3 DSCP與PHB的映射
DSCP值的主要作用是指定PHB,常見的PHB包括:
-
默認PHB(Default PHB):
- 基本盡力而為轉發
- 必須支持的最低功能
-
加速轉發PHB(EF PHB):
- 提供近似專線的服務
- 通常配置為高優先級隊列+嚴格流量整形
-
確保轉發PHB(AF PHB):
- 在擁塞時提供不同級別的丟包優先級
- 通常實現為加權隨機早期檢測(WRED)
-
類選擇器PHB(CS PHB):
- 向后兼容IP優先級機制
- 提供簡單的優先級排隊
4. DiffServ實現示例
4.1 典型網絡配置
-
邊界路由器:
- 根據源/目的IP、端口、協議等分類流量
- 計量流量是否符合SLA
- 標記適當的DSCP值
- 實施流量整形或丟包
-
核心路由器:
- 根據DSCP值將分組放入不同隊列
- 實施隊列調度算法(如PQ、WFQ等)
- 在擁塞時根據丟棄優先級選擇性丟包
4.2 典型DSCP標記策略
流量類型 | DSCP值 | PHB類型 |
---|---|---|
語音流量 | 46 | EF |
視頻會議 | 34 | AF41 |
關鍵業務數據 | 26 | AF31 |
普通業務數據 | 18 | AF21 |
盡力而為流量 | 0 | Default |
網絡控制流量 | 48 | CS6 |
5. DiffServ的優勢與挑戰
5.1 主要優勢
-
良好的可擴展性:
- 核心路由器無需維護每個流的狀態
- 適合大規模網絡部署
-
靈活性:
- 支持多種服務等級定義
- 運營商可自定義PHB實現
-
兼容性:
- 與現有IP基礎設施兼容
- 逐步部署能力
5.2 面臨挑戰
-
端到端QoS保證:
- 依賴所有中間網絡的支持
- 跨域協調困難
-
復雜的管理配置:
- 需要精細的流量調節策略
- SLA監控和強制執行
-
安全考慮:
- 防止DSCP標記濫用
- 需要邊界信任模型
DiffServ通過DS碼點這一簡潔而強大的機制,實現了IP網絡QoS的實用化部署,成為現代網絡服務質量保障的重要技術基礎。理解DSCP的含義和使用方法,對于網絡架構設計和QoS策略實施至關重要。