摘 要:即時通訊正在成為繼E-mail、Web之后最重要的Internet網絡應用之一。文章介紹了目前主流的即時通訊系統所采用的通訊模式和通訊協議,重點分析了主流即時通訊系統在政府電子政務應用中的不足;為適應電子政務的應用,對即時通訊系統中采用的關鍵技術進行了改進,設計了一個整合P2P和服務器中轉模式、實名制身份認證、支持多協議轉換的即時通訊系統。
關鍵詞:即時通訊IM;通訊模式P2P;服務器中轉模式;Jabber;MSNP;SIP
0 引言
即時通訊(IM)現在已經成為了繼電子郵件(E-mail)和Web之后的第三大互聯網應用技術。IM具有實時性、在線性與文本交互性等特征,滿足了人們在日常生活與辦公環境中交流與協作的需要。隨著計算機和通訊技術的飛速發展,電子政務正在成為當今信息化最重要的領域之一。我國已經將電子政務建設作為國家重要戰略之一。近年來,在各級政府的重視和推動下,政府部門計算機普及率和信息化程度逐年提高,很多日常業務已經上網運行,如辦公自動化、各種業務處理系統、政府門戶網站等。隨著我國電子政務建設的逐步深入,對新技術新模式的消化吸收能力也在逐步增強。目前,作為互聯網時代最重要的三種技術E-mail、Web、IM中的前兩種已經在電子政務中得到了很好的運用,發揮了很好的社會和經濟效益。在IM技術已經逐漸成熟和普及時,研究IM技術在電子政務中的應用,并設計和開發符合政府部門公務交流的IM系統,將進一步推進我國電子政務的發展,對提高政府部門的辦事效率,降低辦事成本,增強政府與民眾交流和溝通將具有十分重要的意義。
1 主流即時通訊系統分析
目前主流的即時通訊系統有微軟公司的MSN Messenger、Google公司的Google Talk,騰訊公司的QQ等。這些IM系統按照其不同的設計和運營策略,分為開放型和封閉型兩類。MSN Messenger和騰訊QQ是封閉型IM系統的典型代表,它們都由專業公司運營,采用私有協議通訊。Google Talk是開放型IM系統的代表,采用Jabber架構,源代碼公開,并可以和任何基于Jabber的IM系統互通。本文選擇了MSN Messenger和Google Talk分別作為封閉型和開放型IM系統的典型研究對象,并重點從他們所采用的通訊模式,通訊協議及認證方式等三方面,與政府部門即時信息交流實際需求的差異進行了分析和對比。其他的IM系統基本可參照這兩類來進行比較。
1.1 Google Talk(Jabber)
Google Talk是Google公司開發和運營的IM系統,采用Jabber架構,通訊模式是典型的基于服務器轉發的IM系統,結構類似于一個分布式郵件服務器,主要包括三個組成部分:Jabber客戶端,Jabber服務器和網關。Jabber服務器主要實現路由客戶端、服務器、其他IM系統之間的XML數據流的傳輸路徑。Router是一個Jabber服務器的中心組件,所有的組件都與Router通訊,由Router來決定消息交換的路徑。
1.2 MSN(MSNP和SIP)
MSN Messenger同時支持MSNP協議的通訊模式和SIP協議框架的通訊模式。MSN Messenger在處理內部用戶的即時通訊是采用MSNP協議定義的通訊模式,在和外部符合SOP協議的通訊系統交流時,采用SIP通訊模式。
MSNP協議定義的MSN內部基本通訊模式采用服務器轉發模式,其通訊模式包含四個組成部分:MSN客戶端、DispatchServer分配服務(簡稱DS)、Notification Server通知服務(簡稱NS)、Switchboard Server接線服務(簡稱SS)。DS指導用戶轉向合適的NS,均衡服務器負荷;NS維系會話過程,包括用戶列表,分組信息,自己和好友狀態改變,請求對話和發送文件;ss是用戶之間對話的網關。
SIP的通訊模式是一種典型的P2P結構的通訊模式。SIP通過服務器來實現用戶狀態信息的傳遞和用戶的定位,并通過P2P方式來進行數據傳輸。SIP的通訊模式中包含四個組成部分:SIP客戶端、SIP代理服務器、重定向服務器、SIP注冊服務器。
2 主流IM系統在電子政務應用中的不足
2.1 不能適應特殊的網絡環境
MSN和Google Talk在用戶驗證、通訊、離線消息處理等過程中都高度依賴Internet網絡接入條件,而國內政府部門的內部網絡和Internet的很多通訊端口是被關閉的,為滿足特殊網絡環境下的IM,我們需要一種可以靈活部署,適應多種網絡連接模式的IM系統。
2.2 不能滿足安全性要求
目前主流IM在身份認證、信息傳輸、信息記錄等安全性設計方面還不能滿足政府部門使用IM通訊進行公務活動的要求。身份認證方面,各IM軟件為迅速擴展用戶數,都采用匿名制用戶注冊制,用戶幾乎可以隨意注冊,無法適應政府公務活動中對嚴肅性的要求。在傳輸模式方面,采用P2P通訊方式的,服務器端無法記錄用戶的通訊信息;采用服務器轉發模式的,用戶的通訊信息由商業公司紀錄和管理,很多還是國外公司,無法滿足政府部門對信息安全性的要求。政府部門需要一個采用實名制用戶管理,并能夠在政府部門控制的主機系統中記錄通訊信息的公務IM系統。
2.3 對多協議通訊的支持不夠
MSN等IM軟件由于各開發商的商業目的考慮,都各自為政,自成體系,從用戶到數據傳輸都無法實現互聯互通。用戶為實現和不同對象的通訊需要安裝多套客戶端軟件,并且不斷在各套軟件之間切換。為改善用戶的操作體驗,我們需要通過單一客戶端就可以讓用戶和本系統用戶及MSN、Google Talk等各種其他IM用戶通訊的IM系統。
2.4 功能有局限
商用IM系統為擴大用戶規模,其設計的功能通用性比較強,但往往無法兼顧一些特殊應用環境中的具體需求,特別是在政府部門的公務應用中的功能需求,例如有權限控制的一對多系統消息發送功能(例如由一個政府系統的牽頭部門向該系統內的所有用戶發送統一的通知類消息等)、政府部門列表的樹狀組織結構展示功能等。
3 關鍵技術的改進和設計
3.1 通訊模式設計
3.1.1 通訊模式
為使IM系統滿足政府部門公務交流的實際需求,在本IM通訊系統中采用了P2P和服務器中轉相結合的通訊模式。P2P模式主要用來實現同一網段(主要指內部網絡)的用戶之間傳送消息。服務器中轉模式用于在不同的網段(內外網用戶)、不同協議(如內部用戶需要和MSN或Google Talk用戶)及不同應用(內部消息需要轉到手機短消息方式發送)之間進行通訊。用戶之間的通訊完全通過服務器進行存儲轉發,同時服務器負責記錄通訊的信息,以便在必要時進行核查。
3.1.2組件設計
通訊模式的設計從結構上包含四個組成部分:IM客戶端、登錄服務器、連接服務器、網關服務器。登錄服務器實現用戶認證、連接服務器的分配等功能;連接服務器負責用戶的狀態管理、好友列表管理、離線消息管理等并負責服務器之間的信息同步,可以由多臺服務器進行負載均衡。登錄服務器會根據用戶管理策略,將用戶按照所在IP區段進行劃分,每一個連接服務器都存儲著由登錄服務器劃分后的用戶好友信息。網關服務器負責消息在不同網段和不同協議之間的中轉和路由。當用戶的通訊請求到達網關服務器后,網關服務器負責判斷是否需要進行協議轉換或直接調用其它應用服務(如運營商提供的短消息發送服務),同時連接數據庫服務器,記錄用戶通訊的信息,并提供信息查詢功能。

3.1.3消息流設計
消息流如圖1所示。其中用戶A、B為政府內部網絡的用戶,C是Internet網絡用戶。A和B之間處于同一網段,彼此通訊采用P2P方式,A和C處于不同網段,之間用網閘隔離,網閘設定內外網的網關服務器之間可以互相通訊。
通訊方式-A和B的P2P通訊過程描述。
A1:A向登錄服務器發出認證請求。
A2:登錄服務器向內部的統一認證服務器(該服務器同時為內網中的其他應用提供認證服務)驗證用戶的合法性,
A3:返回認證通過的令牌,并分配適合的連接服務器給A用戶。
A4:更新各服務器中的活動用戶列表。
A5:A用戶訪問連接服務器,得到好友列表(包括B用戶)、在線狀態和所處網段及采用的協議等信息。
A6:A用戶和B用戶進行P2P通訊,服務器不再干預。
通訊方式二A和C的服務器中轉通訊過程描述。
A1-A5:部分與P2P方式相同。
A7:連接服務器負責將A用戶的請求轉發到指定網關服務器。
A8:網關服務器通過網閘將請求轉發到Internet網段的網關服務器(該服務器同時擔任登錄服務器和連接服務器的角色)。
A9:Internet網段的網關服務器將A用戶的通訊請求轉發給B用戶。
3.2 協議轉換網關設計
為解決本IM系統與外部各主流IM運營商之間的互聯互通問題,采用協議轉換網關的方式來進行協議之間的轉換。協議轉換網關是網關服務器的核心組件。
3.2.1 模式說明
根據政府部門實際網絡環境的不同要求,協議轉換網關的運作模式分為直通模式和同步模式兩種。直通模式適用于內部網關服務器可直接訪問外部網絡的情況。網關同步模式適用于內外網絡之間只允許網關服務器之間進行通訊的情況,在內外網段分別部署網關服務器,由內(外)部網關將通訊信息同步到對端網關后,再由對端網關負責和其他協議的IM運營商系統進行通訊。
3.2.2 協議對照表
協議轉換網關以協議對照表方式維護私有協議和其他協議之間對照關系。格式如表1所示。

3.3 身份認證方式
為確保用戶實名使用系統,在對用戶的身份認證中利用杭州市電子政務系統的統一實名制用戶驗證系統進行身份確認,該系統以身份證號碼為開戶帳號,能夠確保用戶身份的惟一性和可辨別性。該系統使用SUN的Identity Server作為認證管理服務器,用戶及服務信息存儲在SUN的Directory Server。Identity Server的實例部署在SUN Application Server的Web容器內,以http(或https)的方式提供身份管理服務、認證服務、策略服務、會話服務等,客戶程序與Identity Server之間通過XML格式傳遞請求與回應。
4 結束語
本文研究和設計的IM系統,雖然初步滿足了目前政府部門的應用需求,并在杭州市政府的電子政務中得到了應用,但隨著應用的深入和推廣,如何提高系統和政府部門的各種辦公及業務系統的集成能力將是下階段研究中需要解決的問題。