無線數據報協定

無線數據報協定

無線數據報協定( Wireless Datagram Protocol,WDP) :WDP 是傳輸層的通信協定,相當於TCP協定。它可以工作在由不同無線窄帶網路類型所支持的數據承載服務之上,提供不可靠的數據報服務;能向上層提供一致的服務和在可用載體上透明的通信功能。

定義

無線數據報協定(Wireless Datagram Protocol,縮寫WDP)定義了信息從接收者到傳送者的移動,並類似網際網路協定包中的用戶數據報協定(UDP)。無線數據報協定(WDP)是無線套用協定(WAP)架構中的一個協定,覆蓋了網際網路模型中的傳輸層協定。作為一個通用傳輸服務,WDP向上層提供一個獨立於所用的底層網路技術的透明接口。WDP數據報錯誤處理由WCMP(Wireless Control Message Protocol)實現。

由於通用的傳輸協定接口,WAP架構的上層協定可以獨立於底層的無線網路而操作。通過僅由傳輸層處理物理網路相關問題,可以使用調製網關獲得全球互操作性。由於WDP能夠為WAP的上層通信協定提供統一的相對穩定的通信界面,因此,包括套用層、會話層、安全層的通信都能直接在WDP 上運行。

協定概述

WDP協定的功能是在一個WDP承載服務上支持來自高層的多個同時發生的通信套用。 WDP提供的服務包括:連線埠號套用定址,可選的分段/合段以及可選的錯誤檢測。連線埠號標識WDP上高層實體。通過復用低層的承載網路部件,WDP可以支持多種承載網路,並且可以通過最佳化實現對移動設備有限資源的有效操作。

WDP協定的結構模型

WDP協定的結構模型 WDP協定的結構模型

如圖1所示,圖中承載服務的不同高度表示不同載體提供的不同能力,導致必須引用相關的WDP協定以維持在TSAP上提供相同的服務。該功能由載體適配服務完成。可見,WDP協定的服務可以映射到具有不同特性的承載網路上,而WDP協定的服務和服務原語向上層提供一致的接口。可用的承載網路種類包括:GSM SMS/USSD, GPRS, IS-136 R-Data, CDMAPacket Data等。

圖2所示為。在移動端,WDP協定包括公共WDP元素(標記為WDP)以及適配層。適配層將WDP協定功能直接映射到特殊承載網路,由承載網路層提供承載服務。適配層結束於無線數據網關,無線數據網關將WDP分組通過特殊的協定(隧道協定)傳至WAP Proxy/Server。子網是任何用於聯接兩個通信設備的公共網路技術,如基於TCP/IP,X.25的廣域或基於CP/IP/Ethernet的區域網路;WAP Proxy/Server提供套用內容或作為無線WTP協定簇和有線Internet的網關。

WDP管理實體

WDP通用的體系結構 WDP通用的體系結構

WDP管理實體是WDP層與設備環境的接口。WDP管理實體向WDP層提供設備環境的變化,這些變化可能影響WDP的正確操作。WDP管理實體監控移動環境的服務/功能的狀態,並在不能服務時通知WDP層,隨之WDP網路管理實體將指示WDP層關閉所有活躍的聯接。WDP管理實體除了監控移動環境的狀態,它也可能向用戶提供配置WDP參數的接口,如設備地址。 WDP管理實體同樣用於實現由用戶使用的功能,如“結束所有數據連線”。通常,WDP管理實體將處理所有與啟動、配置、動態重新配置以及與資源有關的問題。

WDP over GSM SMS/CSD

在GSM中的WDP承載網路包括GSM SMS和GSM USSD。GSM SMS Phase 1支持基於文本的頭;GSM SMS Phase2支持基於二進制和文本的頭。在WDP協定中使用的每一個分組均用戶數據頭(UDH)、信息元素(IE)、標識符進行標識。用戶數據頭信息元素標識符定義了一個位於分組頭的連線埠號結構。這種信息元素標識符具有與基於IP的網路中的協定標識符相似的功能,並使得WDP協定與繼承承載網路的其它特性共存。

模組

子模組以及子模組間接口功能如下:

上層協定接口模組

為了保證不同承載網路模組與上層協定的獨立性以及提高系統的可靠性,此處採用TCP-Socket作為這兩個模組的接口。在系統初始化期間,在接口與上層協定棧之間建立一條TCP連線,作為這兩個模組信息互動的通道。這樣,既保證了不同模組可以在不同的機器上運行以增加系統配置的靈活性,也增加了系統的可靠性。

管理模組

管理模組負責與WAP總體管理模組互動。在系統初始化期間根據初始化檔案對承載網路模組的守護進程進行初始化(如傳送緩衝區、接收緩衝區的大小,TCP-Socket偵聽連線埠號,功能模組的定製等)。根據需要或者在承載網路部分出現異常情況時對系統日誌檔案進行記錄。與WAP系統管理模組通過socket互動管理報文。

數據傳輸管理模組

模組結構 模組結構

數據傳輸管理模組是核心。在初始化期間它根據來自管理模組的偵聽連線埠號啟動TCP的伺服器端,等待來自上層協定棧的連線建立請求並建立TCP連線。在運行時,它主要有以下幾個任務: a.負責接收來自上層協定接口的數據並放入傳送緩衝區待傳送;b.根據承載網路不同,調用UDP/IP或WDP,將傳送緩衝區內的數據通過底層無線承載服務進行傳輸;c.負責將接收緩衝區內的數據通過TCP連線發往上層協定棧模組;d.在傳輸出現異常時,傳送相應的ICMP/WCMP報文; e.接收到ICMP/WCMP報文時,根據相應情況處理或者通知上層協定棧。

緩衝區管理模組

緩衝區管理模組分為傳送緩衝區管理和接收緩衝區管理兩個部分。各部分通過信號量管理以保證傳送接收報文間不發生衝突。在緩衝區上溢時進行相應錯誤處理。

WDP協定處理模組

實現連線埠號套用定址功能,分段/合段功能以及錯誤檢測功能等。

WCMP協定處理模組

主要處理以下異常情況: a.終點不可達:如運輸協定(如WDP)沒有特殊連線埠的偵聽者等;b.參數問題:即處理分組的WDP結點發現WDP頭中的域有問題從而導致不能完成對分組的處理時;c.報文太大:用於當分段報文的第一個數據報被接受且沒有足夠的快取空間用於存儲整個報文的情況;d.合段失敗:即組合分段的數據報的結點不能完成組合,它包括合段時間逾時和快取溢出兩種情況;e.WCMP回應請求/應答:提供套用層的接口用於傳送回應請求和接收回應應答,以用於診斷目的 。

技術和方法

多類型報文的處理

上述各模組需要處理多種類型的報文,有UDP報文、WDP報文、管理報文等。對於從底層接收到的UDP報文和WDP報文,將其放在接收緩衝區中;對於從上層協定模組接收到的回應服文則放入傳送緩衝區中。針對UDP報文和WDP報文的傳送方的不同地址傳送回應報文。

對於與管理模組的互動,是通過與系統管理模組建立socket連線定時傳送管理輪詢報文來實現。從系統管理模組接收到的輪詢報文放入接收緩衝區中,然後通過與上層協定的接口傳送給上層協定棧。上層協定棧傳回的回應輪詢報文也通過與上層協定的接口傳送給承載網路模組。再由承載網路模組通過與系統管理模組的接口回送給系統管理模組。

多執行緒技術

為了充分發揮多執行緒任務調度的優勢,在承載網路模組的實現中,報文的傳送、接收等處理都是用單一進程、多個執行緒實現的。除了對報文的接收傳送,模組對緩衝區的管理也通過執行緒進行:定時檢測緩衝區內的報文,將出錯或過期的報文刪除。由於採用多執行緒技術,傳送和接收緩衝區就成了兩個最主要的共享資源。對於這兩個資源的訪問需要考慮到臨界資源訪問衝突問題。為此,我們使用互斥鎖機制保證對資源的正確訪問。

相關詞條

熱門詞條

聯絡我們