4.2 系統操作說明
4.2.6 分析專案功能
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○b ○c 為 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 產生圖形化 SIP 信令流程圖與 SIP 對話報表 z 提供監聽多媒體串流(RTP)封包功能
z 提供通訊協定與主機流量統計
z 提供程式人性化的安裝與反安裝功能
2 系統規格
z 執行平臺 Microsoft Windows 2000/XP/2003
z 支援乙太網路(10/100/1000Mbps Ethernet)與 802.11 無線網路卡 z 支援開放原始碼 Ethereal 協定解析器
z 封包過濾功能採 BPF 中所制定之規則語法 z 封包存檔格式遵循 PCAP 格式
z 支援撥放之 RTP 多媒體格式包括 PCMU 與 PCMA
z RTP 多媒體撥放方面採統一的程式介面與架構供其他程式設計師可以加 入開發(新增可撥放的多媒體格式)
z 遠端封包抓取功能採 WinPcap3.0 之 rpcap z 符合 Windows 系統安裝與反安裝標準
43 為雙堆疊(Dual Stack)、建立通道與轉換(Translation)。雙堆疊讓 IPv4 與 IPv6 共存於同一裝置與網路上。建立通道讓 IPv6 封包能在 IPv4 基礎架構上傳遞。轉 換能讓 IPv6-only 主機與 IPv4-only 主機相互通訊。[3]
B.1 6to4 通道
6to4 通道技術為上文所說明的ㄧ種建立通道技術。6to4 通道技術讓網路主機能在 IPv4 基礎架構上進行 IPv6 通訊。首先說明 6to4 位址前置(Prefix)碼與 6to4 位址。
6to4 位址前置碼為 2002:IPv4_Address::/48 格式的 IPv6 位址前置碼。比如擁有 16.32.48.64 IPv4 位址的路由器可產生 2002:1020:3040::/48 的 6to4 位址前置碼。6to4 位址為以 6to4 位址前置碼為前置的 IPv6 位址。6to4 位址的後 80 位元可由網管人 員自行進行規劃使用。
圖 B-1 6to4 架構圖
6to4 的架構如圖 B-1 所示。6to4 通道技術中的三個主要網路元件為 6to4 主機、6to4 路由器與 6to4 轉達(Relay)路由器。6to4 主機為擁有 6to4 位址的主機。6to4 路 由器負責建構通道以協助位於其內端的 6to4 主機於 IPv4 基礎架構上進行 IPv6 通 Native IPv6
Network Native IPv6
Network
6to4 Router
6to4 Host IPv6
Host 6to4 Relay
Router
礎架構上進行 IPv6 通訊。6to4 通道封包的封裝格式定義於 RFC 2893,採用 IPv6-in-IPv4 的封裝格式。
圖 B-2 6to4 運作範例圖
圖 B-2○a 說明 6to4 主機如何在 IPv4 基礎架構上傳送 IPv6 封包。6to4 主機 A 要傳 送 IPv6 封包至 6to4 主機 B。首先 6to4 主機 A 發出 IPv6 封包至 6to4 路由器 A,如 圖 B-2○a ○1 所示。6to4 路由器 A 由 IPv6 封包中的目的 6to4 位元址(即 6to4 主機 B 的 6to4 位址)得知通道終點(6to4 位址前置碼中的 IPv4_Address),並建立通道
圖 B-2○a 說明 6to4 主機如何在 IPv4 基礎架構上傳送 IPv6 封包。6to4 主機 A 要傳 送 IPv6 封包至 6to4 主機 B。首先 6to4 主機 A 發出 IPv6 封包至 6to4 路由器 A,如 圖 B-2○a ○1 所示。6to4 路由器 A 由 IPv6 封包中的目的 6to4 位元址(即 6to4 主機 B 的 6to4 位址)得知通道終點(6to4 位址前置碼中的 IPv4_Address),並建立通道