• 沒有找到結果。

SIP 封包分析(SIP Viewer)

4.2 系統操作說明

4.2.6 分析專案功能

4.2.6.2. SIP 封包分析(SIP Viewer)

SIP 封包分析功能提供 SIP 封包分析資訊。SIP 封包分析子頁面提供 SIP 封包分析 功能,如圖 4-18 所示。

圖 4-18 SIP 封包解析子頁面畫面圖

使用者可以於對話列表(Dialog List)中觀察到本系統目前所分析出的 SIP 對話資 訊。SIP 對話資訊包括 Call-ID、呼叫者(Caller)、被呼叫者(Callee)與 SIP 信 令個數(Packet Count)資訊。

使用者可以點選對話列表中的對話,此時 SIP 信令封包列表(SIP Packet List)將 列出此對話中的 SIP 信令封包。使用者可以展開 SIP 信令封包列表中的 SIP 信令 封包以觀察詳細的 SIP 信令內容,如圖 4-19 所示。

圖 4-19 展開 SIP 信令內容範例圖

使用者可以於對話盒列表(Dialog List)中按下滑鼠右鍵觀察,此時會彈出 SIP 信 令流程圖選單,如圖 4-20 所示。選單選項有兩個選項,分別為流程圖繪圖(Draw Flowchart)與標頭流程圖繪圖(Draw Flowchart From Header)。使用者可以點選 這兩種選項對選取對話盒內的 SIP 信令予以圖形化輸出。流程圖繪圖選項的圖形

31

輸出是根據實體網路通訊 IP 來繪圖,而標頭流程圖繪圖是根據 SIP 信令內的標頭 資訊來繪圖。SIP 流程圖與 SIP 標頭流程圖範例分別如圖 4-21○a 與○b 所示。

圖 4-20 SIP 信令流程圖選單圖

SIP flowchart a

SIP flowchart from headers b

圖 4-21 SIP 信令流程圖範例

4.2.6.3 RTP 監控與播放(RTP Viewer)

RTP 監控與播放功能提供 RTP 串流監控與播放。RTP 監控與播放子頁面提供 RTP 監控與播放功能,如圖 4-22 所示。

使用者可以於會期列表(Session List)中觀察到本系統目前所分析出的 RTP 串流 會期資訊。RTP 串流會期資訊包括會期名稱(Session)、SSRC(SSRC)串流編 碼格式(Media Type)、串流中的封包個數(Packet Count)與串流長度(Length)

資訊。

使用者可以雙擊會期列表中的 RTP 串流將本系統所支援的編碼格式串流加入多媒 體實例(Media Instance)列表中。本系統目前支援 PCMA 與 PCMU 兩種編碼格 式的串流。多媒體實例列表下方的播放控制項可以用來控制播放、暫停與停止播 放所選取的多媒體實例。使用者可以按下鍵盤的刪除(Delete)鍵將選取的多媒體 實例移出多媒體實例列表。

圖 4-22 RTP 監控與播放子頁面畫面圖

33

4.2.6.4 IUA/M2UA/M3UA 信令流程圖

圖 4-23 IUA/M2UA/M3UA 信令流程圖

IUA、M2UA 或 M3UA 信令封包信令流程圖如圖 4-23 所示。IUA/M2UA/M3UA 信令流程圖以圖形介面協助使用者觀察 IUA/M2UA/M3UA 信令流程圖。

4.2.6.5 流量與通訊協定統計(Statistic)

流量與通訊協定統計功能提供流量監控與封包分佈狀態。流量與通訊協定統計子 頁面提供流量與通訊協定統計功能,如圖 4-24 所示。

圖 4-24 流量與通訊協定統計子頁面畫面圖

使用者可以在主機流量(Host Traffic)列表中觀察到主機的流量資訊。流量資訊 包括傳送的位元組(Bytes)數與封包框架個數(Packets)。封包分佈(Packet Distribution)提供封包分佈圓餅圖讓使用者瞭解封包分佈的狀態。流量統計(Flow Statistic)方格圖會隨時間變動繪出流量變動圖。狀態列的效能輸出(Throughput)

則顯示目前的瞬間封包框架擷取量。

圖 4-25 主機封包分佈長條圖

使用者可以點選主機流量(Host Traffic)列表中的特定主機,此時封包分佈會以 長條圖繪出該主機的封包分佈,如圖 4-25 所示。使用者可以於封包分佈中敲擊滑 鼠右鍵以切換回原封包分佈原餅圖。

35

Alice SIPv6 Proxy Server Bob Analyzer

IPv4:140.113.131.85 四台電腦主機包含 SIPv6 UA(文後簡稱 Alice)、SIPv6 Proxy Server、SIPv6 UA(文 後簡稱 Bob)與 Analyzer。Alice 與 Bob 端分別執行 IPv6-Enabled SIP UA(此 UA 軟體由工研院開發,本實驗室修改為 IPv6-Enabled)。SIPv6 Proxy Server 端執行 IPv6-Enabled SIP Proxy Server(此伺服軟體為 PartySIP [23])。Analyzer 端執行 SIPv6 即時協定分析測試系統。展示案例為由 Analyzer 端對 Bob 端進行遠端分析。在進 行遠端分析的同時,Alice 會透過 SIPv6 Proxy Server 與 Bob 進行 SIP VoIP 通訊。

Alice、SIPv6 Proxy Server 與 Bob 三台電腦主機會以 6to4 通道進行 IPv6 通訊。

圖 5-2 遠端封包抓取服務圖

首先在 Bob 端啟動遠端封包抓取服務,如圖 5-2 所示,然後 Analyzer 端開始對 Bob 端進行遠端分析。首先於 Analyzer 端的遠端抓取(Remote Capture)對話盒中填入 Bob 的電腦主機資訊(包括主機位址、遠端封包抓取服務埠號、使用者帳號與密

碼),再點選掃描按鈕列出遠端網路介面,然後選取欲進行觀察的遠端網路介面。

最後點選確認按鈕開始遠端分析。開始遠端分析的過程如圖 5-3 所示。

圖 5-3 Bob 端進行遠端分析圖

在 Alice 與 Bob 進行 SIP VoIP 通訊之前, SIPv6 Proxy Server 端先啟動 SIP Proxy Server,如圖 5-4○a 所示。然後 Alice 端設定其 SIP UA 使用的 SIP Proxy Server 為 SIPv6 Proxy Server,如圖 5-4○b 所示。最後 Alice 與 Bob 開始進行 SIP VoIP 通訊。

圖 5-4 SIP Proxy Server 與 SIP Proxy Server 設定圖

從 Alice 與 Bob 的 SIP VoIP 通訊之開始到結束的過程,Analyzer 會對 Bob 端進行 遠端分析。SIPv6 即時協定分析測試系統在 Analyzer 端所的分析結果如下說明。

Run SIP Proxy Server a

Assign SIP Proxy Server b

37

SIP Viewer Sub Page a

SIP Flowchart (I) b

SIP Flowchart (II) c

圖 5-5 SIP Viewer 子頁面與 SIP 信令流程圖輸出圖

SIP Viewer 能將網路上的 SIP 封包以對話做分類並整理成 SIP 封包列表,方便使 用者進行信令觀察,這是一般封包解析軟體沒有提供的(例如 Ethereal 、WinDump 及 TCPDump 等)。如圖 5-5○a 所展示,SIP Viewer 子頁面提供了 Call-ID、Caller

(即 Alice)及 Callee(即 Bob)資訊,亦可以得知 SIP VoIP 通訊中 Bob 端共有七 個進出的 SIP 信令封包。SIP Viewer 子頁面中的 SIP 封包列表(SIP Packet List)

提供詳細的 SIP 封包資訊,透過展開 SIP 封包列表中的 SIP 封包可以直接觀察其 SIP 信令內容,如圖 5-5○a 顯示 SIP 封包列表中所展開的 SIP 封包。

SIP 信令流程圖能讓使用者更容易的觀察到 SIP 信令的交換流程。圖 5-5○bc 為 SIP 信令流程圖輸出。由流程圖中的 IPv6 位址資訊可以得知流程圖中由左到右的電腦 主機節點分別是 Alice、SIPv6 Proxy Server 與 Bob。基本 SIP 信令流程圖顯示所有 進出 Bob 端之 SIP 信令的流程,如圖 5-5○b 所示。進階 SIP 信令流程圖顯示 Alice、

SIPv6 Proxy Server 與 Bob 三者間的 SIP 信令流程,如圖 5-5○c 所示。進階 SIP 信 令流程圖中的虛線路徑是根據解析 SIP 信令中的 Via 與 Route 標頭欄位值來產生。

透過進階 SIP 信令流程圖,我們可以完整的觀察到此次 SIP VoIP 通訊的所有 SIP 信令交換流程。

RTP Viewer 將解析網路封包是否為 RTP 封包並整理成 RTP 串流供使用者觀察,

亦能進行播放混音,以評估即時通訊品質。如圖 5-6 所示,RTP Viewer 子頁面提 供 Alice 與 Bob 的 RTP 串流資訊。由會期列表(Session List)中的會期(Session)

欄位資訊可以得知會期列表中的第一項會期為 Bob 的 RTP 串流,第二項會期為 Alice 的 RTP 串流。多媒體實例(Media Instance)列表中的 RTP 串流實例可以進 行播放混音功能。

圖 5-6 RTP Viewer 子頁面圖

39

六、結論與未來工作

本論文針對第三代行動通訊的核心協定 SIP 與 IPv6 所設計實作之 SIPv6 即時協定 分析測試系統主要提供遠端分析、封包分析、SIP 信令分析、SIP 信令流程圖形化、

RTP 串流分析、IUA/M2UA/M3UA 信令流程圖形化與流量統計功能。遠端分析功 能讓使用者可以於近端進行遠端網路分析的工作。封包分析功能提供 Ethereal 封 包分析器進行封包協定解析。SIP 信令分析功能提供使用者觀察以對話分類的 SIP 信令封包。SIP 信令流程圖形化功能以圖形化模式協助使用者觀察 SIP 信令流程。

RTP 串流分析功能提供 RTP 串流蒐集、監看與監聽。流量統計功能讓使用者瞭解 目前的封包分佈狀態。IUA/M2UA/M3UA 信令流程圖形化以圖形化模式協助使用 者觀察 IUA/M2UA/M3UA 信令流程。

本系統的研發成果為贏得 2003 年第三屆國家高速電腦中心軟體程式設計競賽冠 軍,並由宋岳鑫學弟進行解析功能擴充贏得 2004 年日本 IPv6 Appli- Contest 2004 實作組冠軍之殊榮。目前亦做為 IPv6 與 SIP-based VoIP 通訊教育改進計畫的實驗 教學教材。

本系統與其他封包分析軟體的最大差異在於整合信令協定流程與多媒體串流的分 析功能。未來本系統的功能擴充為 SIP 信令產生器、SIP 信令偵錯分析、RTP 串流 型態支援擴充與 Secure RTP(SRTP)分析。

使用者可以自訂 SIP 信令產生流程,而 SIP 信令產生器將根據自訂流程來產生 SIP 信令封包。透過 SIP 信令產生器功能使用者可以進行 SIP 原件模擬或進行 SIP 原 件壓力測試等工作。

SIP 信令偵錯分析功能將協助使用者進行 SIP 信令封包的錯誤分析。透過 SIP 信令 偵錯分析功能可以協助 SIP 應用系統開發人員進行 SIP 信令的錯誤分析以加速系 統開發。

RTP 串流型態支援擴充為擴充本系統所支援播放的 RTP 串流格式。SRTP 為 RTP 加上安全機制。SRTP 分析功能為支援分析 SRTP 串流。藉由 SRTP 的分析來說明 安全通訊的重要性。

參考文獻

[1] 3GPP. Technical Specification Group Services and System Aspects;IP Multimedia Subsystem (IMS). 3GPP TS 23.228,v.6.0.1,(2003-01)

[2] B.Carpenter, K. Moore. Connection of IPv6 Domains via IPv4 Clouds. IETF RFC3056, Feb. 2001.

[3] C.Huitema. Teredo: Tunneling IPv6 over UDP through NATs. IETF Internet Draft, Feb.2004.

[4] C++ Standard Template Library, http://www.stlport.org/

[5] Ethereal, http://www.ethereal.com/

[6] F.Yergeau, Alis Technologies. UTF-8, a transformation format of ISO 10646. IETF RFC2279, Jan. 1998.

[7] G. Sidebottom, K. Morneault, J. Pastor-Balbas, et al.Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) - User Adaptation Layer(M3UA). IETF RFC3332, Sep. 2002.

[8] GNU oSIP2, http://www.gnu.org/software/osip/

[9] H. Schulzrinne, S. Casner, R. Frederick, et al. RTP: A Transport Protocol for Real-Time Applications. IETF RFC3550, Jul. 2003.

[10] Hammer Call Analyzer,

http://www.empirix.com/default.asp?action=article&ID=69

[11] IETF SIGTRAN WG, http://www.ietf.org/html.charters/sigtran-charter.html [12] J.Postel. Internet Protocol. IETF RFC791, Sep.1980.

[13] J. Postel, J. Reynolds, ISI.File Transfer Protocol. IETF RFC959, Oct. 1985.

[14] J.Postel.Transmission Control Protocol. IETF 793, Jan.1980.

[15] J.Postel. User Datagram Protocol. IETF 768, Aug.1980.

[16] J.Rosenberg, H. Schulzrinne, G. Camarillo, et al. SIP: Session Initiation Protocol.

IETF RFC3261, Jun. 2002.

[17]K. Egevang, P. Francis, NTT. The IP Network Address Translator (NAT). IETF RFC1631, May.1994.

[18] K. Morneault, R. Dantu, G. Sidebottom, et al.Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) - User Adaptation Layer. IETF RFC3331, Sep. 2002.

[19] K. Morneault, S. Rengasami, M. Kalla, et al. ISDN Q.921-User Adaptation Layer. IETF RFC3057, Feb. 2001.

[20] M.Handley, V.Jacoboson, ISI/LBNL. SDP: Session Description Protocol. IETF RFC2327, Apr. 1998.

[21] MSDN, http://msdn.microsoft.com/library/

41

[22] P. Mockapetris, ISI. Domain names - Implementation and Specification. IETF RFC1035, Nov. 1987.

[23] PartySIP, http://www.nongnu.org/partysip/partysip.html

[24] R. Fielding, UC Irvine, J. Gettys, et al. Hypertext Transfer Protocol -- HTTP/1.1. IETF RFC2068, Jan. 1997.

[25] R. Gilligan, E. Nordmark, Sun Microsystems. Transition Mechanisms for IPv6 Hosts and Routers. IETF RFC2893, Aug.2000.

[26] R. Stewart, Q. Xie, K. Morneault, et al. Stream Control Transmission Protocol.

IETF RFC2960, Oct. 2000.

[27] S.Deering, R. Hinden. Internet Protocol, Version 6 (IPv6) Specification. IETF RFC2460, Dec. 1998.

[28] S.Kent, R. Atkinson.IP Authentication Header. IETF RFC2402, Nov.1998.

[29] S.Kent, R. Atkinson. IP Encapsulating Security Payload (ESP) . IETF RFC2406, [30] Silvia Hagen. IPv6 Essentials. Oreilly. 2002.

[31] SnifferPro, http://www.asl-sniffer.co.uk/

Nov.1998.

[32] TcpDump, http://www.tcpdump.org/

[33] WinDump, http://windump.polito.it/

[34] WinPcap, http://winpcap.polito.it/

附錄 A 系統需求與規格

A.1 系統需求

z 提供人性化的圖形介面

z 讓其他程式設計師能輕易使用統一的架構開發新模組 z 提供與開放原始碼封包分析器相容的儲存格式

z 提供 On-line/Off-line 封包過濾功能 z 提供跨網路之封包擷取與分析

z 分析 RFC2460 所定義之 IPv6 封包標頭 z 分析 IP-in-IP 形式的通道封包

z 進階分析 Teredo 通道封包

z 進階分析 Teredo 通道封包

相關文件