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