江春 楊標 邱鵬
【摘要】本文較為詳細地闡述了在WCDMA無線數(shù)據(jù)網(wǎng)絡中I Pv4地址釋放存在的問題,并針對WCDMA的3GPP標準文檔中I Pv4地址采取隱式釋放的方法提出了不同的解決方案。另外,對方案在各種應用場景中的實現(xiàn)進行了可行性分析,并為相應的具體實現(xiàn)提出了建議。
【關(guān)鍵詞】WCDMA無線數(shù)據(jù)網(wǎng);IPv4地址;顯式IP釋放
【中圖分類號】TP393 【文獻標識碼】A 【文章編號】1672-5158(2013)04-0117-03
一、引言
在WCDMA的3GPP標準文檔中,針對IPv4地址釋放的闡述強調(diào)本地隱式釋放,這一點不符合無線數(shù)據(jù)網(wǎng)絡的應用環(huán)境,并在真實商用網(wǎng)絡與大量UE/MS的實現(xiàn)中遇到了問題。根據(jù)WCDMA無線數(shù)據(jù)網(wǎng)絡的應用環(huán)境,本文提出,在釋放PDN網(wǎng)絡連接的同時,應當顯式釋放分配給UE/MS的IPv4地址。顯式IP釋放也就意味著當需要從PDN網(wǎng)絡斷開連接時,UE/MS將顯式地發(fā)送DHCP RELEASE消息。如果UE/MS不在PDN連接釋放時顯式地發(fā)送DHCPv4釋放消息去釋放已分配的IPv4地址,那么,由于UE/MS會在本地緩存上次分配的IPv4地址,因此,當建立PDN連接時,就會在UE-RAN-CN-PDN之間產(chǎn)生不必要的DHCPv4 REQUEST/NAK信令往返,從而導致在建立PDN連接時會引發(fā)額外的延遲;同時,當大量的UE/MS頻繁地斷開或重連PDN時,在一定程度上會給網(wǎng)絡帶來大量不必要的信令負載。
二、DHCP工作機制
DHCP(動態(tài)主機配置協(xié)議)在TCP/IP網(wǎng)絡中自動配置新的和現(xiàn)有設備,包括分配一個網(wǎng)絡地址和傳輸其他參數(shù),如子網(wǎng)掩碼、默認路由器的地址和域名服務器。DHCP是由IETF RFC 2131和RFC 2132。定義的,它基于BOOTP(RFC 951),且保持向后兼容BOOTP'保留了BOOTP的基本消息格式和BOOTP傳發(fā)代理的操作,它共享最初分配給BOOTP的UDP端口(67和68)。
DHCP遵循客戶機/服務器模型,客戶端從服務器獲得IP地址和配置信息。DHCP在客戶端和服務器之間的消息可歸納以下幾個方面,如表1所示。
RFC 2131定義了一個狀態(tài)轉(zhuǎn)換圖來描述DHCP客戶機行為。客戶機狀態(tài)轉(zhuǎn)換見圖2所示。
由圖l可以清楚的看出,客戶機共有六個狀態(tài):
INIT-REBOOT:一個已經(jīng)具有有效租用的客戶機掉電后啟動或重啟時,它是從此狀態(tài)開始,而不是INIT狀態(tài)。
1NIT:這是初始狀態(tài),客戶機從這個狀態(tài)開始獲得租用過程,當租用結(jié)束或租用協(xié)商失敗時也回到此狀態(tài)。
SELECTING:客戶機等待接收來自一個或多個DHCP服務器的DHCPOFFER報文,以便從中選擇一個服務器。
BOUND:客戶機具有一個有效的租用,處于正常運行狀態(tài)。
REBINDING:客戶機不能從原先批準租用的服務器更新租用,現(xiàn)在試圖從任何一個可以聽到它的服務器得到租用延期。它定期發(fā)送未指定服務器的DHCPREQUEST報文,直到得到回復或租用結(jié)束。
RENEWING:客戶機試圖更新租用。它向為它提供當前租用的服務器定期發(fā)送DHCPREQUEST報文,并等待回答。
三、在3GPP無線分組網(wǎng)絡中關(guān)于IP地址釋放的問題
1.問題的由來
在3GPP定義的WCDMA分組網(wǎng)絡里,在訪問PDN IP網(wǎng)絡時,MS一旦建立了PDP上下文,就能夠通過基于IETF定義的IP地址分配機制獲取一個IPv4地址,即通過DHCPv4完成IPv4地址的分配和IPv4參數(shù)的配置。在這篇論文中,我們將分析WCDMA無線數(shù)據(jù)網(wǎng)絡中IPv4地址釋放存在的問題。下面是3GPP標準文檔對IPv4地址釋放的相關(guān)描述。
3GPP TS 24.008標準文檔中敘述“當一個PDN連接的默認承載失效時,UE將本地釋放相應PDN連接分配的IPv4地址或IPv6前綴。(”Upon deactivation of the default bearer of a PDN connection.the UEshall locally release any IPv4 address or IPv6 prefix allocated to the UE forthe corresponding PDN connectionI)”另外,在3GPP Ts 24.301標準文檔中又敘述“當默認的PDP上下文失效時,MS將本地釋放相應PDN連接分配的IPv4地址或IPv6前綴。(“Upon deactivation of a default PDPcontext,the MS shall locally release any IPv4 address or IPv6 prefixallocated t0 the MS for the corresponding PDN connection”)”在DHCP場景里,“本地釋放”這個詞針是含糊不清和不準確的,DHCP實際上沒有任何方法對IP地址進行本地釋放,除非IP地址自動租賃期滿。
3GPP TS23.401標準文檔中敘述“PDN連接釋放時,如果沒有DHCPv4釋放信令,那么UE和PDN GW將隱式地釋放IPv4地址。(“Ifthe PDN connection is released without any DHCPv4 release signallingwith the UE,the UE and the PDN GW shall release the IPv4 addressimplicitlv,as soon as the PDN connection is released”)”這就意味著當PDN連接釋放時,UE/MS不會通過顯式地發(fā)送DHCPv4釋放消息去釋放IPv4地址。
3GPP TS29.061標準文檔中沒有任何條款/子條款表明:在PDN連接釋放時,分配給UE/MS的IPv4地址應該從UE/MS一端被顯式地釋放。
2.影響分析
其一,網(wǎng)絡方面。由于UE/MS會在本地緩存上次分配的IPv4地址,當UE/MS連接到PDN時,在UE/MS一端的DHCP客戶機將會嘗試使用以前分配的IPv4地址,那么,不必要的DHCPv4REQUEST/NAK信令總會發(fā)生,見圖2中的第6步和第7步。通過筆者的觀察,這個現(xiàn)象已經(jīng)在不同的UE供應商的大量產(chǎn)品實現(xiàn)中存在,比如:Novatel、SonyEricsson、Qualcomm等等,智能手機也存在同樣的現(xiàn)象,如Android,數(shù)據(jù)包捕獲如圖3所示。
這個問題將導致UE-RAN-CN-PDN之間產(chǎn)生不必要的信令往返。當大量的UE/MS頻繁地斷開或重新連接PDN時,將可能會導致某種程度的信令過載。此外,還占用大量寶貴的無線帶寬。
其二,終端設備方面。這個問題可能會使UE到PDN的連接建立時間增加,嚴重情況下甚至以秒計。有時,UE/MS連接PDN時可能會產(chǎn)生怪異的應用程序行為,如網(wǎng)絡連接失敗或網(wǎng)絡不可用的虛假報告。
四、解決方案
本文提出了一個顯式IP地址釋放的方案,也就是說,在PDP上下文失效之前,UE/MS將顯式地發(fā)送DHCPv4釋放消息去釋放已分配的IPv4地址,見圖4中的第14步所示。
盡管DHCP RELEASE消息在IETF RFC規(guī)范中是可選的,并且DHCP的正確操作也不取決于DHCPRELEASE消息的傳送;然而在WCDMA無線移動環(huán)境中,強制進行顯式IP地址釋放是合理的。每次當MS從網(wǎng)絡中斷開連接時,它的IP租期對下一次與網(wǎng)絡連接就沒有任何意義。這就意味著客戶機需要顯式地放棄它的租期,也就是客戶機將發(fā)送一個DHCP RELEASE消息。
在WCDMA網(wǎng)絡中包括下面兩種場景:
1.一種情況就是UE和網(wǎng)絡都能彼此通信。
(1)從MS側(cè)發(fā)起的PDP上下文失效
(2)從網(wǎng)絡側(cè)發(fā)起的PDP上下文失效,見圖5。
2.另一種情況就是UE和網(wǎng)絡不能相互通信,例如由于無線鏈路惡化的原因,見圖6。
這種情況,UE可以自行決定采取哪一種動作,比如保持PDP上下文多少時間為有效,什么時間去釋放IP和刪除PDP上下文等。
即使在這樣的情況下,DHCP顯式釋放仍能應用,因為DHCPRELEASE消息是一個單向的消息(這就意味著它并不介意釋放消息最終是否能夠到達網(wǎng)絡),它將清除UE端DHCP客戶機分配到的IP地址的所有DHCP相關(guān)信息,如此一來,它將確保不再試圖重用上次分配的IP。
五、實現(xiàn)措施
下面我們將針對不同UE類型,討論顯式IP釋放的實現(xiàn)方法。這里的UE類型可以劃分為功能手機、PC數(shù)據(jù)卡、智能手機。
我們先討論PC通過UE來訪問IP網(wǎng)絡這種情況,以功能手機和PC數(shù)據(jù)卡為例,而智能手機是屬另一種情況將在后面再說明。大家都知道,通常需要兩部分軟件相互配合才能起作用,一部分是屬于UE的固件部分,另一部分是屬于PC的主機軟件部分(我們把這部分稱為連接管理程序,它包含驅(qū)動程序),這兩部分軟件都是由UE供應商提供的。在這種情況下,UE固件可能無法直接控制由PC操作系統(tǒng)提供的DHCP客戶機。然而,駐留在PC上的UE連接管理程序肯定能通過PC操作系統(tǒng)的DHCP客戶機發(fā)送DHCP RELEASE消息,而且這在技術(shù)上是可行的,因為操作系統(tǒng)(如,Unix,微軟Windows等)都會為應用程序提供DHCPAPI接口。
即使UE處于WCDMA網(wǎng)絡無線信號覆蓋之外,位于主機的連接管理程序仍然有機會在它拆除PC操作系統(tǒng)網(wǎng)絡接口之前去發(fā)送DHCPRELEASE消息(例如,UE通常在微軟Windows上提供一個模擬的NDIS以太網(wǎng)接口)。雖然DHCP RELEASE消息可能永遠不能到達網(wǎng)絡,但它確實會在UE/PC操作系統(tǒng)端釋放IP,這正是我們所期望的。
現(xiàn)在,我們再考慮智能手機的情況。智能手機有兩個獨立的處理器(基帶處理器和應用處理器)以及兩個操作系統(tǒng)在運行。DHCP客戶機位于應用處理器及其操作系統(tǒng)上(如Linux、Mac或者其他操作系統(tǒng)),因此整個事情仍在智能手機供應商的控制下,也就是說,顯式釋放IP地址是可行的。
基于以上幾點,顯式釋放IP地址的建議對UE供應商的影響是有限的和受控的。這個新建議的實現(xiàn)對于UE供應商來說并不是很困難的事,因為供應商只需去修改他們的軟件部分,并在需要的情況下針對現(xiàn)有產(chǎn)品進行軟件升級就可以了。
六、結(jié)論
就WCDMA的3GPP標準文檔而言,本文的建議是修改相關(guān)敘述,使其更加清晰和準確,也就是IP地址應該顯式地釋放,因為移動數(shù)據(jù)網(wǎng)絡的廣泛應用在不久的將來是一種非常平常的事。隨著移動寬帶在各個領(lǐng)域的滲透,越來越多基于IP的UE設備被用于接人數(shù)據(jù)網(wǎng)絡,特別是Intemet的接入,這是一種趨勢。因此,這一修改顯得越發(fā)必要。