![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
榮譽會員
![]() |
![]() 1、WAP簡介
1.1、WAP的產生和發展 1997年6月,Nokia、Ericsson、Motorola和Unwired Planet共同組成了WAP論壇,該論壇旨在將Internet的海量信息及先進的業務引入到無線數字話機及終端中,目標是產生一個適用於不同無線網路技術的全球無線傳輸協定規範,以供工業標準組織採納。 WAP論壇設立以後得到了業界的積極回應,各路人士紛紛匯聚旗下。1998年初,WAP規範正式公佈。WAP的出現,使電信產業中發展最為迅速的移動通信完全加入到電腦網路世界中來,同時也為將來的電信產業的發展指明了方向,它使移動Internet有了一個通行的標準,昭示著移動Internet標準的成熟。 WAP由一系列傳輸協定組成,用來標準化無線通信設備,例如蜂窩電話,無線電收發機,也可用於Internet訪問,包括e-mail,WWW,Newsgroups和IRC(Internet Relay Chat)等。簡單說來,WAP的目標就是將Internet的海量信息及先進的業務引入到移動電話等無線終端之中。它針對無線網路的特點如低帶寬、高延遲進行最佳化設計,把Internet的一系列傳輸協定規範引入到無線網路中。WAP只要求移動電話和WAP代理伺服器的支持,而不要求現有的移動通信網路傳輸協定做任何的改動,因而適用於CDMA、GSM、IMT-2000等不同的移動通信系統。此外,WAP盡可能少地佔用手持設備資源(如ROM、RAM、CPU等),它通過加強網路的功能來彌補手持設備本身的缺陷。就像Web對Internet 的作用一樣,WAP在套用層上隱藏了GSM的複雜性,留給用戶友好親切的界面。 符合WAP標準的電話將配備一瀏覽器,可與標準Web瀏覽器相媲美。它採用一種類似卡片組的工作方式,用戶可通過卡片組瀏覽運營商定置的Web業務。終端用戶首先選項一項業務,該業務會將卡片組下載到移動電話。然後,用戶可以在卡片之間往返瀏覽,進行選項和輸入信息,接著執行所選項的工作。瀏覽到的信息可高速緩衝。供以後使用,卡片組也可高速緩衝並做成書籤以供快速檢索。電子名片、日曆事件和其它類型內容的格式都將得到支持。 Internet、移動通訊是目前最具活力、發展最為迅速的行業,WAP(無線套用傳輸協定 Wireless Application Protocol)將移動通訊和Internet有機地結合在一起,是移動世界與Internet之間的橋樑。現在,移動用戶可以隨時隨地接入Internet,能夠從他們的移動終端上快速安全地獲取網際網路及企業內部網的信息及其他通信服務。WAP具有廣闊的市場前景,必將獲得迅猛的發展,並將會在極大程度上改變我們的生活。 WAP最吸引人的地方在於,無論何時/何地/何人,都可以最快的速度獲取信息,並且WAP終端比較方便攜帶和使用。WAP最適用的地方是電子商務,現在已經在證券、銀行等方面得到了套用,如手機炒股、手機銀行等。 1.2、WAP的體系結構 WAP工作模型類似WEB的工作模型。移動終端發出請求並且攜帶有各種參數(URL等),網關通過解析,發出相應的請求到Web伺服器上,伺服器通過檢索參數產生相應的結果,返回給代理網關,網關進行解碼、編碼,把結果送回給移動終端,一個會話程序就結束了。WAP定義了一整套標準設備來實現客戶端和伺服器之間的通信,包括有標準的URL,標準的內容格式,標準的傳輸方式。 WAP和WWW使用一樣URL來標誌伺服器上面的內容,因為考慮到和現在的Internet相容,這個標準沒有任何的改變。和WWW不一樣的是內容表達格式和文件傳輸方式的標準,針對移動終端的特點進行了最佳化。WAP使用到了網關的技術來連結無線網路和Internet資料網路,網關要能夠實現WAP傳輸協定堆棧到WWW傳輸協定堆棧的轉化,還能實現 內容格式的轉化,例如 wml語言到html。這種結構保證移動用戶可以使用廣泛的Internet資源,而網路應用程式的開發者不需要考慮網路和終端的類型,具有最大的靈活性和伸縮性! 在無線網路中,WAP手機與兩個伺服器(WAP Proxy Server 和 WTA Server)通訊。 WAP proxy(即WAP網關)把WAP手機發來的WAP傳輸協定請求轉換成WWW傳輸協定請求,然後把WWW請求提交給Web Server。同時WAP Proxy也把Web Server回應的信息,編碼成WAP手機可以識別的緊湊的二進制格式,然後再傳遞給WAP手機。 這個模型在很大程度上利用了現有的WWW 編程模型,套用開發人員可以從這種模型中得到許多好處,包括可以繼續使用自己熟悉的編程模型、能夠利用現有的工具(如Web伺服器、XML工具)等。 另外,WAP 編程模型還針對無線環境的通信特點,對原有的WWW編程模型進行了最佳化和擴展。 WAP接入涉及了無線通信網路和Internet/Intranet,同時採用了WAP傳輸協定以及TCP/IP傳輸協定,使得WAP網關成為WAP接入的關鍵點。按照WAP網關的設定不同,可以把構造WAP接入平台的解決方案大致分成兩類:一類是接入服務機構直接利用電信部門的公用WAP網關(如中國移動提供的172等);另一類是接入服務機構自行架設專業WAP網關。是採用電信部門的公用WAP網關還是架設專業網關主要是考慮接入對時效性和安全性的要求,如要求不太高,可使用公用WAP網關,反之,則要架設專用網關。 各大手機廠商都有自己的網關產品,在國內電信部門使用較多是Nokia、Motorola和Phone.com的網關,它們的功能比較完善,技術支持力量雄厚,但價格極高,對於普通的企業來說是無法承受的。於是一些WAP的愛好者們開始在LINUX上開發WAP網關,做的比較好的是Kannel和3ui的網關。其中Kannel網關是第一個獲得WAP論壇WAP1.1相容性認證的開放來源碼的網關。本文主要介紹Kannel的WAP網關。 2、Kannel網關 Kannel網關執行與Linux平台下,開放來源碼,完全支持WAP1.1傳輸協定規範,採用了分佈式和多線程技術,網關處理速度快、可靠、易維護和易擴展。實現了WAP標準傳輸協定棧;實現WML和 WML Script內容的編碼與解碼;支持WBMP,實現圖形顯示;支持安全連接、非安全連接方式;支持持久連接、臨時連接方式。能在多台主機之間進行負載分擔,容錯性高。在普通的PC機上能支持數百個並發用戶。 2.1、安裝和配置 可從kannel網站下載來源碼,最新的穩定版本是1.0.3,開發版本是1.1.3,以1.0.3版本為例,將gateway-1.0.3.tar.gz下載到Linux電腦上,kannel網關需要安裝xml庫,可以到xmlsoft網站下載libxml2-2.2.8.tar.gz,假設目錄為/home/wap,先安裝libxml庫 cd /home/wap tar zxvf libxml2-2.2.8.tar.gz cd libxml2-2.2.8 ./configure make make install (這一步需要root權限) 然後安裝網關 cd /home/wap tar zxvf gateway-1.0.3.tar.gz cd gateway-1.0.3 ./configure make doc/arch目錄下的技術我的文件是fig格式,需要fig2dev程序,如果沒有此程序,編譯會報錯,不過沒有關係,我們需要的二進制可執行程序已經產生。如果嫌每次編譯都報錯麻煩,可以修改Makefile,將此部分去掉。或者去下載fig2dev(我沒有去找它在哪兒)。 現在到gw目錄下看一看,我們要的程序bearerbox和wapbox程序已產生,啟動bearerbox(./bearerbox &),啊,程序報錯,無法讀配置文件kannel.conf,怎麼回事,gw目錄下沒有這個文件啊,沒關係,把wapkannel.conf檔案拷貝為kannel.conf就可以了(cp wapkannel.conf kannel.conf)。 配置文件kannel.conf的格式如下,直接的含義看看Kannel內已含有我的文件就明白了。 group = core admin-port = 13000 wapbox-port = 13002 admin-password = bar wdp-interface-name = "*" #log-file = "/tmp/kannel.log" #log-level = 0 box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1" #admin-deny-ip = "" #admin-allow-ip = "" #access-log = "access.log" group = wapbox bearerbox-host = localhost #log-file = "/tmp/wapbox.log" #log-level = 0 syslog-level = none 啟動網關後(./bearerbox & ; ./wapbox &),就可以通過它訪問wml頁面了,趕快去下載模擬器吧,可以用Nokia Toolkit,Erission WapIDE,UP.SDK,Motorola等模擬器進行測試。如果你有WAP手機,裝網關的Linux機器連到了Interner上,就可以撥172了,把手機裡的網關設定為你的機器的IP位址,就可以手機上網了。在手機上需要設定的主要是 網關位址:xxx.xxx.xxx.xxx (你網關機器的IP位址) 連接埠號: 9201(一般設定) 9200(無連接方式) 連接類型:普通電話 波特率: 9600 用戶名: wap 密碼: wap 電話號碼:172 主頁: http://www.xxx.com (你想去的URL) 2.2、程序說明 網關把處理負載分擔在多台主機上,分為兩個模組。網關係統由一個bearerbox和一到多個wapbox組成。bearerbox和wapbox可以執行在不同的電腦上。 2.2.1. bearer box Bearerbox模組連線到CSD router,提供了對Wapbox的接頭,實現了WAP傳輸協定棧的WDP層。 Bearerbox記錄當前執行的wapbox,從CSD router接收UDP包,把從同一個終端接收到的包路由到同一個wapbox,收到wapbox的處理結果後發到相應的用戶終端。 2.2.2. wapbox wapbox模組實現了WAP傳輸協定棧的上層部分,屬於同一個事務的會話和事務由同一個wapbox處理。Wapbox實現了WTLS、WTP和WSP層。Wapbox從電話接收到類似HTTP的請求,把實際的HTTP請求發到內容伺服器,壓縮回應資料,發回到終端。 bearerbox和wapbox之間通過TCP建立連接。 bearerbox充當server等待wapbox進行連接。這樣,bearerbox就不需要保留靜態的wapbox列表。它以一個空的列表開始,等待wapbox進行註冊,這種設計使得動態的加入新的wapbox變得非常方便:只須安裝一個,配置好,連線到相應的bearerbox。 如果bearerbox和wapbox之間的TCP連接中斷連線了,bearerbox會得到通知把它從自己的clients列表中去掉。當崩潰的wapbox從bearerbox的clients列表中去掉之後,從應該路由到此wapbox的終端收到的資料包被看作從一個新的終端收到。這意味著wapbox必須能處理在一個會話當中的包。 也可能出現這樣的情況,wapbox還存活著,但已經不能處理任何消息了。為了檢測這種情況,wapbox要定期向bearerbox傳送心跳(heartbeat)包,如果bearerbox未能收到heartbeat消息,它認為存在問題的wapbox崩潰了,但是未能中斷連線TCP連接。bearerbox會中斷連線連接,把它從clients列表種去掉。當wapbox恢復後,會重新開啟連接。Heartbeat消息還包含wapbox的負載,bearerbox據此進行負載平衡。 2.3、效能測試 我在以下的環境下進行了測試,測試共使用三台PC機,分別為CWAP網關機器,Web伺服器,模擬客戶端機,通過10M乙太網相連,機器配置如下: WAP網關: 操作系統: Linux RedHat7.0 CPU: Intel Pentium III 主頻: 500MHz 記憶體: 128M Web伺服器: 操作系統: Windows 2000 CPU: Intel Celeron 主頻: 500MHz 記憶體: 64M 模擬客戶端機: 操作系統: Linux RedHat7.0 CPU: Intel Celeron 主頻: 500MHz 記憶體: 128M WAP網關電腦上啟動網關程序(bearerbox和wapbox),模擬客戶端機上用測試程序fakewap(在test目錄下)向網關請求Web伺服器上的wml頁面,統計回應時間,每秒處理請求數量等資料。 fakewap程序採用了多線程技術,可以模擬多用戶量的並發情況,預設設定下使用9201連接埠(WSP/WTP/WDP),使用方法為fakewap [options] url ...,其中幾個主要的選項如下: -g hostname 網關的機器名或IP位址 (default: localhost) -p port 網關連接埠(default: 9201) -m max 總共傳送請求數 (default: 1) -i interval 傳送2個請求之間的間隔 (default: 1.0 seconds) -c threads 並發用戶數量 (default: 1) 測試結果為:在並發用戶數為100的情況下,網關的回應時間在1秒以內,平均每秒處理的請求數量為40個左右,這對於絕大部分的企業套用來說是足夠了。 |
![]() |
送花文章: 3,
![]() |