通信軟體開放原始碼之路
何為 " 開放原始碼軟體 "
自 Linus Torvalds 建構 Linux 以來,開放原始碼思想在軟體界可謂盛極一時。那麼,什麼是開放原始碼呢?簡單來說, " 開放原始碼軟體 " 就是源程式碼開放的軟體。對普通使用者來說,開不開放原始碼其實意義不是很大,他們更在乎收不收費,由於開放原始碼軟體大多都是免費下載的,所以一提起開放原始碼軟體,很多人的 第一反應就是免費軟體,對一般使用者這麼說也未嘗不可。不過對於商業使用者來說,開放原始碼的意義就不一樣了,首先它可以減少開發週期,因為源程式碼開放了,只需要稍 做修改就可以嵌入到產品中去;其次,它可以降低成本,免費午餐不一定就不好吃(也有些開放原始碼軟體需要收費,但價格都比較低廉)。
由於開放原始碼思想源於電腦軟體界,所以發展至今,電腦類開放原始碼產品的種類、數量都是很多的,使用也比較廣泛。如在作業系統領域, Linux 在伺服器市場就佔據了相當大的份額,並持續擴張, IBM 公司銷售的薄片式伺服器中大約有 75% 就執行著 Linux 作業系統; Web 方面,全球有百分之五十以上的 Web 伺服器在使用開放原始碼的 Apache 系統;資料庫,有針對互聯網應用的羽量級資料庫 MySQL ,也有針對大型應用的 PostgreSQL ,中國最大的門戶網站 Sina 的後端資料庫就採用了開放原始碼的 MySQL 資料庫軟體。其他還有各種非常流行的軟體,如 GNU 的編輯軟體 Emacs 、 Linux 的圖形處理介面 Xfree86 、排版軟體 TeX 等等,都獲得了廣泛的應用。
通信行業的開放原始碼之路
電腦和通信在技術上,可以說是一對孿生兄弟,兩者相互促進,共同發展。不過在開放性方面,通信技術和電腦技術走的是一條完全不同的道路,電腦技術走 的是一條自由開放的道路,而通信始終難以脫離那種封閉發展的模式。不過,隨著 VOIP 的發展和下一代網路( NGN )的提出,這一狀況將得到較大改觀,電信網也將朝著一種更為開放的方向邁進。
由於通信網的封閉性,網路結構的複雜性,通信設備的多樣性,使得通信軟體難以在一個統一的平臺(包括硬體平臺和作業系統平臺)下執行,所以迄今為止,通信行業的開放原始碼項目仍屈指可數。
下面,我們把通信類的軟體簡單的進行一下劃分:
1 、 核心演算法軟體:主要是一些音訊、視頻的編碼、解碼類軟體,這類軟體可能採用彙編或 C 語言,執行在 ARM 和 DSP 等一些工業級微處理器上,作業系統為專用作業系統或 RTOS (如 VxWorks 、 pSOS 等)之上。
2 、 信令協定棧軟體:主要是用於設備互通、網路互連等。通信網路在不斷更新、發展,通信協定也在不斷的進化,這類軟體執行在交換機上,作業系統可能為嵌入式系統,也可能為 Unix 和 Windows 等一些通用系統。
3 、 運營支撐軟體:亦稱為 BOSS 系統,主要是給運營商提供計費、結算、營業等功能,是運營商的核心軟體。這類軟體執行在普通的伺服器之上,作業系統可能為 Unix 或 NT 等。
4 、 增值應用軟體:主要是基於某種交換機或板卡開發的一些增值應用,如呼叫中心、電話會議等,或者是一些第三發服務提供商開發的一些電信業務軟體(如目前常見的短信、彩玲、或者秘書檯業務等等)。
前兩類軟體由於通用性比較強,技術和標準都相對成熟、穩定,是目前通信開放原始碼專案的主要發展領域。下面,我們通過目前比較成熟的幾種協定棧軟體,也就是上述的第二類通信軟體,來簡單的描述一下開放原始碼軟體在通信行業的現狀。
開放原始碼的七號信令協議棧- OpenSS7
七號信令是電信網間互連最常用的信令系統,它對電信網就像 TCP/IP 對互聯網一樣。在各種電信網結構中,都可以見到七號信令的身影。
OpenSS7 是由 OpenSS7 公司主導下開發的一個支持七號信令( SS7 )和 SIGTRAN 的開放原始碼協議棧專案。該專案開始於 1996 年,它實現了 ITU Q.700 系列建議中的七號信令系統。隨著 VOIP 和軟交換的興起, OpenSS7 的焦點集中在 SIGTRAN 協議的實現上( SIGTRAN 可以看作是 SS7 的 NGN 版本)。其實, OpenSS7 其實並不僅僅侷限七號信令, ISDN 和軟交換的一系列信令都在它的考慮範圍之內。
關於 OpenSS7 的技術細節,請參考OpenSS7官網。
注意, OpenSS7 不屬於免費軟體,如果需要將 OpenSS7 用於商業用途的話,需要向 OpenSS7 公司繳納一定的許可費用。
開放原始碼的 SIP 協定堆疊- Vocal 、 OSIP
SIP 是由 IETF 提出的一套使用者 IP 電話的通信協定,它用來建立,改變和終止基於 IP 網路的使用者間的呼叫。該協定建立在 SMTP (簡單郵件傳送協議)和 HTTP (超文本傳送協定)等協定基礎之上。為了提供電話業務它還需要結合其他幾種不同的標準和協議:特別是需要確保傳輸( RTP ),與當前電話網絡的信令互連,能夠確保語音品質( RSVP ),能夠提供目錄( LDAP ),能夠鑑權使用者( RADIUS )等等。
由於是電腦界提出的一項電話標準,因此它顯露出許多電腦業界的許多特點,比如,它儘可能的大量採用現有的協議,而不是重建標準,如 HTTP 、 LDAP 、 RADIUS 等,都是技術成熟、應用廣泛的協定標準。其次,就是它的開發較其他協定堆疊(如它的競爭協定 H.323 )難度較低,而且,相關的開放原始碼項目也比較多,如 VOCAL 、 OSIP 都是比較成熟的、可商業化的 SIP 協定堆疊。
VOCAL ( 即 Vovida 開放原始碼通信應用程式庫 ) 它是由 Vovida 社區開發的一套 SIP 協議棧, OSIP 則是由老牌開放原始碼社區 GNU 組織開發的一款 SIP 協定棧軟體,下面對這兩個協定堆疊進行一下簡單的比較:
開放原始碼的 H.323 協定堆疊- OpenH323
H.323 和 SIP 一起,並成 VOIP 領域的兩大標準。不同的是 SIP 是由電腦界( IETF )定義的,而 H.323 則由電信界( ITU )定義的。從應用上來說, SIP 更適合企業應用,而 H.323 比較適合電信級應用。從開發的難度來說, H.323 遠比 SIP 複雜,如果要從頭做起的話,其開發週期將會非常久。不過,有了 OpenH323 ,一切都不一樣了,我們完全可以在短期內做出一套電信級的 VOIP 系統。
OpenH323 是通信領域名氣最大的一款開發源程式碼的通信協定棧軟體,該專案是澳大利亞的 Equivalence Pty Ltd 公司組織開發的,它從 1998 年開始,到了 2000 年底基本的 H.323 協議框架已經實現,主要是免費面向所有想從事 VOIP 和網路視頻傳輸的軟體發展商使用,這個協定庫是完全符合 H.323 協定的,能和任何符合該協定的軟體進行視頻和語音的通訊,例如 Microsoft 的 NetMeeting 等。很多商業的 H.323 協議棧就是基於 OpenH323 基礎開發的。
OpenH323 的優勢在於它比較完整的實現了 ITU 關於 H.323 的建議,可以實現基於 IP 的各種電話應用,包括語音、視頻、會議以及傳真等。通過該協議棧,我們很容易的就可以定製出自己需要的包括終端、網守、閘道或 MCU 等各種 H.323 實體。而且,它不需要任何付費,對商業使用者和個人開發者來說都具有很大的誘惑力。
OpenH.323 支援但前流行的各種平臺,包括 Linux 、 Windows 和 Mac OS 和 Unix ,程式設計語言採用了面向物件的 C++ 語言。關於它的具體技術細節,請參考盧政的《如何成功的運用 OPENH323 來開發商業的 H.323 協議棧》。
總結
通信軟體開放原始碼的目的之一就是降低通信技術的門檻,普及通信知識,讓通信行業的一些核心技術能被更多的人掌握、運用,同時,也可以減少一些通信專案重複開發 的投入,因此,意義非常重大。但是,目前通信行業的開放原始碼項目數量有限,能真正被人利用的更是屈指可數。因此,需要有更多的通信專用人士投身這一領域,使開 源思想在通信領域也能落地生根。
留言列表