• 沒有找到結果。

子計畫一:隨選媒體服務伺服系統之研發

輸時間延遲、網路壅塞而品質下降。QoS (Quality of Service)即是為了改善Internet服務品 質而提供封包(IP Packet)依其重要性分為不同優先等級的傳送類別。基於各種多媒體設備 的傳輸特性不同,加上人們對各種不同的服務有不同的需求,因此除了需有QoS的機制 外,如何對有限網路頻寬提供一個有效的管控機制已成為極具意義的課題。

本研究團隊研製具 QoS 及頻寬管理之多媒體應用閘道器的 QoS-aware 居家閘道器 (QRG),除將各項家用設備連接在一起以提供彼此間訊息交換及連接網際網路,並對有 限網路頻寬提供一個有效的管控機制。對網路上訊務流量(Traffic Flow)的即時監控 (Real-Time Monitor) , QRG 一 旦 偵 測 到 網 路 壅 塞 (Network Congestion) 即 刻 啟 動 DiffServ-QoS 網管機制 (DiffServ; Differentiated Services) ; 其首先將不同種類訊務加以分 類,並依使用者的需求給予不同的服務等級,接著分別對各類訊務做不同的 QoS 控制,

其中優先權較高者擁有先被服務傳送之權力以符合使用者的實際需要。此外 QRG 具有內 建訊務控制的功能 (Traffic Control),其採用 Class-Based Queuing (CBQ) 的 QoS 頻寬/封 包管理機制做頻寬管理 (Bandwidth Management) 以達到有效率地使用網路頻寬資源。本 報告將分別對於目前 QoS 背景與本計畫研究方法所採用之 DiffServ 差異性服務,及採用 CBQ 做頻寬管理之機制做深入的探討。

二、 研究目的

本研究團隊所研製之多媒體應用閘道器(Mutlimedia Application Gateway)是負責將 社區或家庭內的網路與外界公眾接取網路相連結,以達到多媒體應用如 MOD、遠端遙測 自動化設備等的資料傳輸。為實現具 QoS 及頻寬管理之多媒體應用閘道器之 QRG (QoS-aware Residential Gateway) 的功能--提供管理網路流量與配置網路頻寬,以達到總計 畫無線網路多媒體應用平台之目標。本研究團隊建構之 QRG 具有以下特點:

三、 文獻探討 務,但實際 Internet 上不同種類的服務卻需要不同程度的資源需求。因此 IETF (Internet Engineering Task Force) 在 1990 年 代 的 初 中 期 提 出 了 整 合 式 服 務 網 路 IntServ (Integrated Service) 的架構 [1],提供聲音、影像以及即時性資料在 IntServ 的網路架構 中傳送,它所採用的是以每一資料流 (per-flow) 來做資源保留的基礎 (如RSVP-Resource Reservation Protocol [2]),為了達到資源保證,每一個網路服務必須在開始傳送資料前,

先確定可被賦予的資源保留量。但隨著網路使用量的激增,而於在 1990 年代的中後期 提出了差別式服務網路 DiffServ (Differentiated Service) [5]的架構,以改善 IntServ 的 Scalability 問題。DiffServ 簡化 IntServ 架構,採用 per-class 分類方式,將訊務 (Traffic) 分類成不同的 class,再依不同的 class 給予不同之對待方式的服務。基本上,IntServ 係 透過針對個別服務進行資源保留以達到資源保證,而 DiffServ 則是同時結合了邊界進入 點監控(edge policing)、頻寬提供(provisioning)及資料流優先權(prioritization)的機 制來達到差異性的服務。

圖一、差異性服務基本架構圖

RFC3086 [13] 對此差異性服務架構有一個概略性的介紹,其中主要提到:差異性 服務架構賦予了 QoS 在一個網路區域中,藉由應用一些規則於網路邊界,以建立網路 流量的聚集,並且將不同的流量聚集,個別對應到 IP header 中的一個 code point (即 DSCP; Differentiated Service Code Point) 以形成一個明確的在傳送路徑中之對待方式

(即 PHB; Per Hop Behavior),圖一是 DiffServ 基本架構的簡單示意圖。整個 Internet 是由很多的 DiffServ Region 所組成,而 DiffServ Region 內又包含了許多的 DiffServ domain,每個 DiffServ domain 是由一組包含一些網路設備所組成的網路。當資料流 (Data Flow, Microflows) 或資料封包 (Data Packet) 到達 DiffServ domain 的邊界時會先 經由 Edge Router 來做分類 (Classifier) 及訊務調節 (Traffic Conditioner) ,如圖二所 示,將不同資料流的封包做 Behavior Aggregation,最後根據 DSCP 分別對應到不同類 別的 PHB,而不同的 PHB 代表封包在 DiffServ domain 中不同的對待方式,包括了

Packet scheduling、queueing、 policing 或 shaping 等。

圖二、差異性服務 traffic conditioner 方塊圖

PHB (Per Hop Behavior)是某一個 DiffServ 的節點對於某特定行為聚集 (Behavior Aggregate) 的轉送行為 (Forwarding Behavior) [4] ; 也就是轉送封包的方式的設定。目前 在 IETF 定義中有三種預設的 PHB 行為:Default (Best Effort) PHB、EF (Expedited Forwarding) PHB [6][7]、AF (Assured Forwarding) PHB [11][12]。

A. Default (Best Effort) PHB

Default PHB乃是最基本的一種等級,為了提供與舊有網路的相容性,所以所有非 DiffServ 的網路流量都屬於此種。在網路發生擁塞時,這種等級的封包只能盡量送 出,沒有 QoS 的保證。所以封包丟棄率 (Dropping Probability; DP)、封包延遲率 (Packet Latency)、封包延遲變化率 (Jitter) 都會比較大。這應用在目前的 Internet 上。

B. EF (Expedited Forwarding) PHB

EF乃是DiffServ定義中擁有低延遲 (Low Latency)、低封包遺失率(Low Packet Loss Rate)、低封包延遲變化率 (Low Jitter) 與保證頻寬 (Assured Bandwidth) 的一種等 級。因此適合用在即時多媒體傳輸。

C. AF (Assured Forwarding) PHB

AF在預設中分為四種等級 (Class),一個等級有三種不同的丟棄優先權 (Drop Precedence; DP)。四種等級各自擁有不同數量的資源,在節點發生擁塞的狀況時,封 包會根據丟棄優先權來做丟棄的動作。

QoS 頻寬/封包管理機制,共有 TCP Rate Shaping、Class-based Queuing、Fail Allocation of Bandwidth 及 Packet-size Optimization 等四種,可完整地架構出最佳化的頻寬管控功能 [8]:

A. TCP Rate Shaping

TCP Rate Shaping 為一專為 TCP/IP 訊務設計的管理法則,它會告知資料傳送者適 時的減少資料傳輸量,來使得 TCP 資料流 (TCP Flow) 傳送更加平順,以便達到將 TCP 訊務的瞬間巨量 (Burst) 情形降至最低。這些突如其來的巨量訊務會造成路由器 的 訊 務 阻 塞 , 嚴 重 影 響 到 一 些 無 法 接 受 傳 輸 延 遲 的 網 路 應 用 (Latency-Sensitive Application)。然而 TCP Rate Shaping 只是很粗略的控制傳輸的訊框大小 (Window Size),對於低速的專線並無法有效的達到準確的頻寬管理。同時,一般所謂重要的應 用 (Mission-Critical Application)的封包均是相當短而快的傳輸連結,TCP Rate Shaping

訊務則無法管理;而根據統計,網路上的訊務約有 48%為 TCP 的訊務,約有 52%為 Non-TCP 的訊務。

B. Class-based Queuing (CBQ)

Class-based Queuing (CBQ) 乃依據不同的 Class 等級提供不同的 Traffic Queuing,

它可補足 TCP Rate Shaping 只能管理 TCP 訊務的問題,支援 TCP 及 Non-TCP 的訊務 管理,並且能管控到網路訊務的封包階層 (Packet Level),故能更有效的控制低速頻寬 的傳輸。

C. Fail Allocation of Bandwidth

CBQ 雖能補強 TCP Rate Shaping 之不足,然而仍有其問題所在。因為 CBQ 只針 對 Class 來作頻寬的分配,並不能保證同一 Class 中的不同訊務傳輸 (Traffic Flow) 能 獲得相等的頻寬資源;所以仍可能產生某些屬於高優先權 (High Priority) 的使用者依 然得不到頻寬的現象。為確保對同一 Class 中所有使用者的公平對待,需要有法則來 將一個 Class 所制定的頻寬平均分配到每個訊務流。

D. Packet-size Optimization

Packet-size Optimization 能將傳輸的 Packet -size 最佳化,例如將 e-mail 傳遞大檔 案的 Packet -size 縮小,來避免這些大檔案將頻寬佔住,使一些小封包傳不出去;以確 保如 TN3270 、VoIP 等無法接受傳輸延遲的網路應用 (Latency-Sensitive Application) 訊務的品質保障。

上述的各種機制,如果單靠部分方法,則勢必影響頻寬管理的效果。例如,若只有 TCP Rate Shaping 的功能,則對於 Non-TCP,或是較低速的頻寬時,其結果將會大打折扣。

(全球目前的專線頻寬有 88%是 128K 以下的低速頻寬;網路上的訊務約有 48%為 TCP 的 訊務,約有 52%為 Non-TCP 的訊務)。若是以上四種機制能夠完整應用,便能對網路上 的訊務做到真正完全的控管,達到頻寬控制的精準性 (Bandwidth Accuracy) 以及資源公 平分配 (Distribution Fairness) 等效果。

四、 研究方法

本研究團隊研製具 QoS 及頻寬管理之多媒體應用閘道器的 QoS-aware 居家閘道器 (QRG),除將各項家用設備連接在一起以提供彼此間訊息交換及連接網際網路,並對有限 網路頻寬提供一個有效的管控機制。以下將針對 QRG 系統的網路架構、訊務分類、

DiffServ-QoS 的運作機制及 CBQ 的頻寬管理機制四部份的研究方法加以說明。

4-1、QRG 系統網路架構

本 研 究 團 隊 實 做 一 台 連 結 網 際 網 路 (Internet) 和 家 用 網 路 (Home Network) 的 QoS-aware Residential Gateway (QRG),其網路架構圖如圖三所示。在家用網路部分將包 含有 IEEE 1394 AV 網路 [10] 和家庭自動化網路 X-10 Power Line Network [9],QRG 可控 管各種不同作業平台的家電。本計畫用 X-10 系統網路來控制所有電源線網路通訊 (Power Line Communication; PLC) 的家電及 IEEE 1394 網路來連結多媒體影音家電,並可從 Internet 遠端接取遙控。在公眾網路則涵蓋有線、無線和行動電話等網路與各種不同的終 端設備,如個人電腦、Notebook 和個人數位助理 (PDA) 等的通信。

圖三、QRG 系統網路架構圖

4-2、訊務分類 (Traffic Classification)

在頻寬分配(bandwidth allocation)之前,最好先透過 QRG 先分辨他們是屬於何種 訊務,此種過程即為訊務分類。在考量家用設備具備網路功能的各種形式,將訊務分為 八大類 [3]。有居家安全訊務(Security traffic)、多媒體訊務(Multimedia traffic)、家用 設備控制訊務 (Home device control traffic)、檔案傳輸訊務 (File transfer traffic)、Web 訊 務 (Web traffic)、互動式的訊務 (Interactive traffic)、訊息訊務 (ICMP traffic) 和未分類 的訊務 (Uncategorized traffic)。除了讓使用者自由選擇設定各種不同之 QoS 優先權 外,以下就「使用者在家」和「使用者不在家」兩種預設情況,如表一、表二所示,來 做為家用環境的訊務頻寬分類之 QoS 優先權考量。

表一、「使用者在家」的訊務頻寬分類

Traffic class Protocol categories

Divert port

DiffServ setting Security traffic

(HTTP:8088)

TCP:8088 9988 EF

Web traffic (HTTP:80)

TCP:80 9980 AF22 File transfer traffic

(FTP) Interactive traffic

(SSH, TELNET)

TCP:22 Multimedia traffic

(UDP)

UDP 9990 AF11 Ping (ICMP) ICMP 9910 BE

表二、「使用者不在家」的訊務頻寬分類

Traffic class Protocol categories

Divert port

DiffServ setting Security traffic

(HTTP:8088)

TCP:8088 9988 EF Web traffic

(HTTP:80)

TCP:80 9980 AF23 File transfer traffic

(FTP) Interactive traffic

(SSH, TELNET)

TCP:22 Multimedia traffic

(UDP)

UDP 9990 AF12 Ping (ICMP) ICMP 9910 BE

4-3、DiffServ-QoS 的運作機制

為了解決傳統 Internet 上應用程式沒有支援 QoS 的問題,本計畫即提出利用 IP firewall/Divert socket 的 技 術 [14][15] , 在 不 需 修 改 原 始 程 式 碼 之 下 , 即 可 達 到 有 DiffServ-QoS 的功能 [16],並能管理網路頻寬資源。Divert Socket 是一個 Socket 介面,

可將 IP packets 加以攔截和注入(Interception and Injection)。當應用程式一啟動,data 會在 Kernel 處加 IP header 以封裝成 IP packet 再注入到網路。在 UNIX OS 下, IP firewall 位 在 IP stack 的底層,IP firewall 會依照 firewall rules 來處理 incoming 和 outgoing 的 IP packets 以穿過此 host 的 IP stack。IP firewall 除可以允許或拒絕 IP packets 穿過此 IP stack 之外,亦提供 flow accounting、flow shaping 和 flow redirection 的功能。透過 IP firewall,

OS kernel 可過濾特定的 IP packets ,並經由 Divert socket 將之送到 User space。Divert socket 可將之 bind 至此 host 的特定 port ,如此我們便可透過 DSME (DiffServ Marker Engine) [16] 至此 host 的特定 port 取得此 matched 的 IP packet,再依我們的需求來更改 此 IP packet 的相關 header 欄位,如 TOS (Type of Service) 欄位,最後再將設有 DiffServ 之 header 的 IP packet 重新注入至網路。其詳細運作流程如圖四所示。