• 沒有找到結果。

在這個章節,我們將介紹這篇論文的背景知識,如:網路電話(VoIP)、聲音編碼(Voice codec)、加密演算法(Encryption algorithm),以及網路安全協定(IPSec)等。

2.1 網路電話 (Voice over IP,VoIP)

將類比式訊號電話系統轉變成數位式訊號電話系統,並且使用封包交換式傳輸網路 來傳送聲音封包是近年來熱門的趨勢,許多歐美網路提供者(ISP)紛紛提出相關的產品。

本節將介紹網路電話的基本知識,以及目前較常用的通訊協定與技術。

2.1.1 網路電話簡介

Voice over IP 簡單來說,即是將聲音數位化之後,以一個個封包的方式,透過 IP(Internet Protocol) 架 構 的 網 路 傳 送 到 收 話 端 [1] , 相 較 於 先 前 的 電 路 交 換 式 (Circuit-Switch)有著網路資源運用更加充分,以達到同時可處理更多通電話連線的好 處,並且成本更加低廉,所以廣受業界的矚目與推廣。

網路電話的演進可以分成三個階段來看(如圖 1 所示):

圖 1 網路電話演進圖

(1) PC to PC:最早被開發出來的網路電話系統,利用軟體在 IP 網路上建立傳送 聲音封包的連線,可說是最簡單且容易的建構方法。第一個這類型的產品是

由Vocaltec [38] 於 1995 年 2 月所開發出來的 Internet Phone,這個軟體的需 求配備為486/33-MHz PC、一張音效卡、麥克風,以及調變解調器(Modem),

可以算是 VoIP 的第一個商業軟體。近年來,這類的產品大行其道,許多的 軟體,如Microsoft 的 MSN messager、Yahoo 的 Yahoo 即時通...等都提供有 網路電話的功能。Skype [40] 於 2004 年 2 月推出了第一套以 P2P 為基本架 構的網路電話軟體,以不錯的通話品質獲得廣大的好評。

(2) PC to Phone:由於目前電路交換式的電話系統仍然是分佈最廣泛的系統,所 以如何將兩種不同的網路系統互相溝通,使得使用者可以輕易的使用個人電 腦打電話到一般的公眾交換網路(Public Switch Telephone Network, PSTN) 上,是電話服務業者最為重視的一個部份。這一類的應用最早由 Net2Phone 這家公司於 1995 年 11 月提出 PC-to-Phone 的網路電話計劃 [39]。1997 年 12 月 ITXC 公司開始大量生產交換機伺服器,將 PC-to-Phone 產品商業化。

上一段所提及的Skype [40] 軟體也同樣具有 PC to Phone 的能力。

(3) Phone to Phone:發展網路電話的最終目標是希望能將聲音與資料系統的整 合,以方便管理與控制,所以Phone-to-Phone 系統的開發就是希望能取代傳 統的電路交換式系統。Net2Phone 公司於 1997 年 9 月開始在美國推出 Phone 的歡迎,所以每年成長也有一定的幅度,我們可以從Allied Business Intelligent Inc.(ABI) 於2003 年對 VoIP 做的研究與推測(圖 2)中看出,未來 VoIP 市場的成長幅度是樂觀的。

圖 2 世界網路電話市場成長預測圖 (資料來源:Allied Business Intelligence Inc)

同樣的,雖然亞洲的市場因為電信業開放的腳步較為緩慢,網路電話(VoIP)成長的 速度相較於歐美國家來的遲緩,但是許多的調查與研究都顯示亞太地區網路電話的成長 都是可以樂觀預期的,這方面可從 IDC 於 2002 年對亞太地區做的研究與預測(圖 3)可 看出,成長的可能性。

圖 3 亞洲網路電話成長預測圖 (資料來源:IDC)

2.1.2 網路電話通訊協定

為了可以順利的在公眾的 IP 網路上建立連線並傳送聲音的封包,一套公認的通訊 協 定(Protocol) 是 必 要 的 。 網 路 上 兩 大 網 路 通 訊 協 定 訂 定 組 織 : ITU (International Telecommunication Union)與 IETF(The Internet Engineering Task Force)分別都訂定了適用 於網路電話連線建立與中斷的通訊協定,到目前為止共有四個較為廣泛使用的通訊協 定,在此做簡單的介紹。

(1) RTP [14]:Real-time Transport Protocol,由 IETF 於 1996 年 1 月定義在 RFC1889,

是一個用來傳送即時應用的通訊協定(包括聲音、影像…等),定義有 RTP 封包 標頭(Packet Header)與所傳送媒體相關的資訊…等。和 RTCP(RTP Control Protocol,RFC1890)搭配使用,是一套專門處裡媒體傳送的通訊協定,藉以和 訊號封包分開傳送。

(2) H.323:Packet-based Multimedia Communications Systems,1995 年 3 月 28 日由 ITU-T 正式訂為標準,是一套包含其他通訊協定的封包式多媒體通訊系統 [31]

~ [33]。因為定義的較早,演化的版本也很多(於 2003 年 7 月出版第五版),所 以許多的系統都採用H.323 的架構開發,如 Microsoft 的 NetMeeting 即是採用 H.323 的架構。H.323 最大的缺點為系統龐大,內部結構複雜。

(3) SIP:Session Initial Protocol,於 1999 年 3 月定義於 RFC 2543,再版定於 RFC 3261。為一套點對點(Peer to peer)以及主從式(Client/Sever)的傳輸架構,與 SDP(Session Description Protocol, RFC 2327) 、 RTSP (Real-Time Streaming Protocol, RFC 2326)、SAP (Session Announcement Protocol, RFC 2974)合為 IETF 多媒體資料與控制架構(Multimedia data and control architecture) [15] ~ [17]。SIP 最大的好處即為簡單、彈性佳,適合用於智慧型掌上產品的開發。

(4) MGCP:Media Gateway Control Protocol,於 1999 年 10 月由 IETF 定義在 RFC 2705,為一套主從式(Master-slave)架構的通訊協定 [1] [19] ,運用於 Media Gateway Controller(MGC)與 Media Gateways(MGs)之間所傳輸的訊息規範上(請 見圖 4)。MGCP 是一套純知識性的通訊協定,需要其他的通訊協定來詳細定 出實作架構,Megaco/H.248 就是根據 MGCP 為基礎所定義出的通訊協定。

(5) Megaco/H.248(Gateway control protocol):為 IETF(MEGACO)與 ITU-T(H.248) 於2000 年 11 月共同研究開發的通訊協定 [20] [34] ,與 MGCP 的用途類似,

用於MGC 與 MGs 的通訊上,亦為主從式(Master-slave)的架構。

圖 4 各個 VoIP 通訊協定運作分工情形

以上為目前用於網路電話的五個通訊協定,其中 H.323 與 SIP 主要用在通訊會期 (Session)的建立與中止,以及媒體傳送的管理上。MGCP 與 MEGACO/H.248 主要是幫 助網路電話與原先PSTN 架構的相容性更佳所設計出來的。接下來的章節我們將特別介 紹SIP 架構的細節部份。

2.1.3 Session Initial Protocol (SIP)

Session Initial Protocol,簡稱 SIP [15],是由 IETF 於 1999 年訂定出來的應用層 (Application-layer)通訊協定,主要是為了多媒體通訊的建立、修改與中斷而訂定。其最 大的特點為簡單、靈活度高以及適用於智慧型裝備。底下我們將分架構與訊息交換兩大 部份來介紹SIP。

2.1.3.1 SIP 架構

SIP 為一個主從式(Client-server)的架構,由用戶端(Client)發出需求(Request),伺服 器端(Server)接收到需求後,因情形發出適當的回應(Response)給用戶端,底下我們分別 介紹SIP 架構中的每個實體(Entity):

(1) Client:又稱 User agent client,為一個應用程式,用來發出 SIP 訊息給伺服器 或是其他的用戶。

(2) Server:主要用來對用戶端的需求做出正確的回應用,依功能可分成四類。

1. Proxy server:作用就像一般區域網路(LAN)中的代理伺服器(Proxy)一樣,

將從用戶端收到的需求傳到正確的伺服器或用戶,可分成有狀態性(Stateful) 或是無狀態性(Stateless)。

圖 5 SIP 代理伺服器(SIP proxy server)

2. Redirect server:從用戶端收到需求,依據伺服器資料庫內的紀錄,得到用 戶查詢的對應位置,回傳給用戶端,此伺服器無法發出Invite message 給其 他的實體(Entities)。

圖 6 SIP 位置轉向伺服器(SIP redirect server)

3. Register server:接受從用戶端發出的 register 訊息,讓用戶註冊於伺服器上,

包含用戶端的一些資訊如:位置、暱稱…等,通常會與 proxy server 以及 redirect server 合併在一起使用。

圖 7 SIP 註冊伺服器(SIP register server)

4. User agent server:接收從使用者(User)來的需求,並做出回應(發出需求到 伺服器端,以得到回應),通常與 user agent client 合併成一個裝置(Device),

稱做User agent(UA)。

圖 8 SIP 使用者代理人(SIP user agent)

2.1.3.2 SIP 訊息傳遞

SIP 是一個以文字為基礎(Text-base)的通訊協定,使用 ISO 10646 定義的字元,並使 用UTF-8 的方式編碼,所以 SIP 的訊息看起來類似於 HTTP 的訊息。用文字基礎傳送的 缺點是與使用二進位方式表示的訊息相較,較占傳輸頻寬。

SIP 的需求(Request)訊息可以分為六個基本類型:

(1) Invite:用來發出邀請、開起連線的訊息。

(2) ACK:用來確認最後的回應(Response)已經收到。

(3) BYE:用來結束連線用的訊息。

(4) OPTION:用來詢問伺服器的負載量(Capacity)等訊息。

(5) CANCEL:用來停止一個暫時行的需求(Request)。

(6) REGISTER:由 User agent client 發出,做為登入(Login)或是註冊用的訊 息,一個用戶可以對許多的伺服器註冊;對同一個伺服器也可接受同一個 用戶多次的註冊動作。

底下我們用一個簡單的例子來介紹 SIP 建立一通連線的訊息交換:

圖 9 簡易 SIP 通話訊息交換圖

首先由發話端(Caller)送出 INVITE 的訊息給收話端(Callee),當收話端收到訊息後,

會先發出鈴響,並傳回Ringing 的訊息。當收話端拿起話筒回應時,會送出 200 OK 的 訊息,發話端收到後,傳送 ACK 訊息,則通話正式建立。當通話結束時,任一端發出 BYE 訊息,由對方收到並回覆 200 OK 後通話正式結束。

2.2 聲音編碼 (Voice codec)

以往傳送聲音的傳送都是藉由類比訊號(Analog),如果要使用 IP 網路傳送的話,便 必須將類比訊號轉為數位訊號,所以需要一套轉換的方式。聲音的編碼方式因為不同的

需求,所以發展出許多的方法,底下我們將針對我們所需要的網路傳輸聲音編碼方法做 進一步的介紹。

2.2.1 聲音編碼簡介

為了要使聲音封包在網路上傳輸更加的方便,所以對於頻寬需求有一定的限制,同 時也要兼顧到聲音品質的好壞。為了有個評斷的標準,ITU-T 在 recommendation P.800 [35]

中提出了MOS(Mean Option Score)的概念,將聲音由好到壞分成 1 到 5 這 5 個等級(MOS

(1) Waveform codec:為最簡單的一種聲音編碼方式,使用此編碼方法可得到 不錯的聲音品質,但是需要一定量以上的傳送頻寬。編碼的過程大致上可 分為兩個步驟:

1. Sampling:將輸入的聲音波型從類比方式轉變成為數位表示的過 程,如下圖所示:

圖 10 聲音取樣示意圖(Voice sampling)

至於要每秒要取多少個樣本(Sample)數,目前最廣泛被使用的理論 是Nyquist sampling theorem,這個理論說明取樣頻率(Sampling rate) 需要是原來輸入頻率的兩倍以上,才能在轉回類比時不失去原有的 波型。

2. Quantization:決定要使用多少位元(Bits)來表示一個樣本,因為無 法 完 全 表 示 每 種 樣 本 的 數 值 , 是 故 會 產 生 所 謂 的 量 化 誤 差

均 勻 量 化(Uniform quantization) 與 非 均 勻 量 化 (Non-uniform quantization)。均勻量化顧名思義就是每一個量化步驟間距都相同。

而非均勻量化在量化步驟較小時會用較小的間距。

(2) Source codec (Vocoders):Source codec 試圖將輸入的訊號,對應到相對的 數學模組,利用聲音被製造的原理來模擬,通常使用線性的聲道預測濾波 器來處理,可以達到很低的位元率(Bit rate),但是聲音普遍聽起來很明顯 的是合成出來的結果,品質並不佳,就算提高位元率(Bit rate)來儲存也不 會有明顯的效果與改善。

(3) Hybrid codec:Hybrid codec 試圖結合上述兩種方法的好處,有 waveform codec 高品質的好處以及 source codec 低頻寬的好處。

下圖表示上面三種 codec 的位元率(Bit rate)與 MOS 的關係圖。

圖 11 各種聲音編碼方法的位元率(Bit rate)對聲音品質的影響圖 (資料來源:[1])

底下我們將介紹幾種常見用於即時應用於網路傳輸的 voice codec,都是定義在 ITU-T 的 G.7xx 系列中,其中 G.711 與 G.726 的觀念將會應用於論文中資料分享(Data sharing)處理的部份。

2.2.2 ITU-T G 系列 Codec

ITU-T G 系列是定義一些在數位網路上傳送與多媒體部份的組織架構(Transmission systems and media, digital systems and network),而 G.7XX 定義有關聲音編碼方式以及傳 送的相關資訊,底下我們將介紹其中四種:G.711、G.723.1、G.726、G.729 voice codec。

2.2.2.1 G.711

G.711 [27] 又稱做脈衝編碼調變(Pulse Code Modulation,PCM),是目前最普遍最常 用的聲音編碼方式,採用waveform codec 方式編碼,MOS 約在 4.3 左右。因為人類說

話的頻率分布在300 到 3800Hz,依照 Nyquist sampling theorem,取樣頻率(Sampling rate)

話的頻率分布在300 到 3800Hz,依照 Nyquist sampling theorem,取樣頻率(Sampling rate)

相關文件