吳財(cái)生 唐宏 何春燕
(重慶郵電大學(xué)移動通信重點(diǎn)實(shí)驗(yàn)室 重慶 400065)
異構(gòu)無線網(wǎng)絡(luò)中的移動管理分為兩個部分:水平移動(Horizontal Mobility)和垂直移動(Vertical Mobility)。與之對應(yīng)的切換也分為水平切換(Horizontal Handoff)和垂直切換(Vertical Handoff)。水平切換指的是移動主機(jī)在基于同一種鏈路層技術(shù)的不同接入路由器間的切換。而垂直切換則是指在不同的網(wǎng)絡(luò)接口間的切換,通常在這個過程中,接入路由器和鏈路層技術(shù)也會發(fā)生變化。移動SCTP協(xié)議是傳輸層支持移動性的典型技術(shù)。移動SCTP能夠提供傳輸層的端到端的、對上層應(yīng)用透明的移動性支持,并且不需要額外的網(wǎng)絡(luò)設(shè)備支持,逐漸被認(rèn)為是實(shí)現(xiàn)移動性管理的最佳方案之一,也成為移動性管理領(lǐng)域的研究新熱點(diǎn)。
SCTP(流控制傳輸協(xié)議)主要用于IP網(wǎng)中傳送PSTN的信令消息或IP 網(wǎng)內(nèi)的信令消息。與TCP(傳輸控制協(xié)議)一樣,SCTP協(xié)議提供面向連接的可靠傳輸。但SCTP相比TCP有許多改進(jìn)的地方[1]。
TCP提供的是單連接,而SCTP協(xié)議提供的是多宿主連接,稱為SCTP關(guān)聯(lián)。它包括兩個SCTP端點(diǎn)、驗(yàn)證標(biāo)簽以及傳輸順序號等信息,一個關(guān)聯(lián)可以由SCTP端點(diǎn)用傳輸?shù)刂肺ㄒ粯?biāo)識。兩個SCTP端點(diǎn)間最多只能有一個關(guān)聯(lián)。
流也是SCTP的重要特征之一,它是兩個SCTP端點(diǎn)之間建立的單向邏輯通道,用來指示需要按順序遞交到高層協(xié)議的用戶消息的集合,也就是說在同一個流中所有用戶消息必須按順序遞交。
TCP采用3次握手,而SCTP采用4次握手建立連接,首先A給B發(fā)送INIT消息,B收到后返回INIT-ACK消息,A再發(fā)送Cookie-ECHO消息,B再返回Cookie-ACK消息,以此建立了SCTP連接。
除此以外,SCTP可以對用戶數(shù)據(jù)進(jìn)行分段,以確保發(fā)送到低層的SCTP分組長度滿足通路MTU(最大傳輸單元)的限制,在接收方再將各分段重組成完整消息。SCTP還具有通路管理功能,SCTP連接的發(fā)送方可以使用一組地址作為SCTP分組的目的地址,在關(guān)聯(lián)建立后需要為每個SCTP端點(diǎn)定義一個首選通路,用來在正常情況下發(fā)送分組。通過發(fā)送Heart Beat消息可以檢測該關(guān)聯(lián)上某個特定目的地址是否可達(dá)。若發(fā)現(xiàn)首選通道異常,則選擇一個可用的備用通道繼續(xù)傳輸。在避免擁塞、避免洪泛和匿名攻擊等方面,SCTP也有相應(yīng)的改進(jìn)。
假設(shè)移動終端從無線網(wǎng)絡(luò)N1移動到另一種無線網(wǎng)絡(luò)N2,其垂直切換過程如下:
(1)在N1網(wǎng)絡(luò)中,移動終端通過在N1網(wǎng)絡(luò)中獲得的IP地址作為首選通路與Server建立數(shù)據(jù)傳輸。
(2)當(dāng)移動終端移動到N2網(wǎng)絡(luò)中時(shí),移動終端獲得一個新的IP地址,并將此地址加入SCTP關(guān)聯(lián)中作為備用通路的地址。
(3)移動終端向Sever發(fā)送帶有Add IP Address參數(shù)的ASCONF消息,Server收到后給移動終端返回一個確認(rèn)消息ASCONF_ACK。
(4)當(dāng)移動終端逐漸遠(yuǎn)離N1網(wǎng)絡(luò)變得不可用時(shí),移動終端進(jìn)行切換,切換過程是通過重新設(shè)置首選通路地址來實(shí)現(xiàn)的。移動終端向Server發(fā)送帶有Set Primary Address參數(shù)的ASCONF消息,Server收到后給移動終端返回一個確認(rèn)消息ASCONF_ACK。
(5)移動終端通過新的首選通路與Server建立數(shù)據(jù)傳輸。
(6)移動終端通過發(fā)送帶有Delete IP Address參數(shù)的ASCONF消息刪除不可用的地址。Server收到后給移動終端返回一個確認(rèn)消息ASCONF_ACK。
上述垂直切換過程通過設(shè)置首選通道實(shí)現(xiàn),在切換前后進(jìn)行數(shù)據(jù)傳輸?shù)闹挥幸粋€通道,這可能會導(dǎo)致切換過程中暫時(shí)的分組丟失發(fā)生,為此,提出基于SCTP的垂直軟切換技術(shù),使分組丟失率為零。
假設(shè)移動終端仍從無線網(wǎng)絡(luò)N1移動到另一種無線網(wǎng)絡(luò)N2,其垂直軟切換過程如下:
(1)在N1網(wǎng)絡(luò)中,移動終端通過在N1網(wǎng)絡(luò)中獲得的IP地址作為首選通路與Server建立數(shù)據(jù)傳輸。
(2)當(dāng)移動終端移動到N2網(wǎng)絡(luò)中時(shí),移動終端獲得一個新的IP地址,并將此地址加入SCTP關(guān)聯(lián)中作為備用通路的地址。
(3)移動終端向Sever發(fā)送帶有Add IP Address參數(shù)的ASCONF消息,Server收到后給移動終端返回一個確認(rèn)消息ASCONF_ACK。
(4)當(dāng)移動終端逐漸遠(yuǎn)離N1網(wǎng)絡(luò)時(shí),移動終端同時(shí)啟用備用通路進(jìn)行數(shù)據(jù)傳輸。傳輸?shù)臄?shù)據(jù)與首選通道傳輸?shù)臄?shù)據(jù)一樣。
(5)當(dāng)移動終端遠(yuǎn)離N1變得不可用時(shí),移動終端關(guān)閉首選通路的傳輸,同時(shí)向Server發(fā)送帶有Set Primary Address參數(shù)的ASCONF消息,Server收到后給移動終端返回一個確認(rèn)消息ASCONF_ACK。此時(shí)數(shù)據(jù)只通過新的首選通道進(jìn)行傳輸。
(6)因?yàn)镹1網(wǎng)絡(luò)已經(jīng)不可用,移動終端發(fā)送帶有Delete IP Address參數(shù)的ASCONF消息刪除不可用的地址。Server收到后給移動終端返回一個確認(rèn)消息ASCONF_ACK。
下面我們采用ns2軟件進(jìn)行仿真。ns2是一種免費(fèi)軟件,由于ns2的協(xié)議代碼與真實(shí)網(wǎng)絡(luò)應(yīng)用代碼的相似性和仿真結(jié)果的可靠性,成為眾多仿真軟件中的首選。ns2是一種面向?qū)ο蟮碾x散事件驅(qū)動的網(wǎng)絡(luò)模擬器, 支持多個流行的網(wǎng)絡(luò)協(xié)議如各個版本的TCP、UDP和路由調(diào)度、擁塞控制算法等。ns2的源代碼完全公開,可供使用者在UNIX、Linux、Windows等系統(tǒng)平臺上使用和進(jìn)行二次開發(fā),并可以提供有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)中鏈路層及其高層精確到數(shù)據(jù)分組的諸多網(wǎng)絡(luò)行為的模擬與仿真[5]。
基于移動SCTP的垂直切換準(zhǔn)則為:
仿真參數(shù):網(wǎng)絡(luò)1的帶寬為1.0Mbit/s,端到端時(shí)延為150ms,網(wǎng)絡(luò)2的帶寬為0.5Mbit/s,端到端時(shí)延為200ms。對于其他條件包括偏好程度、服務(wù)資費(fèi)、可靠度本文假設(shè)兩個網(wǎng)絡(luò)相同,實(shí)際中偏好程度依據(jù)不同用戶而變化,服務(wù)資費(fèi)依據(jù)用戶業(yè)務(wù)等因素而定,可靠度與網(wǎng)絡(luò)采用的傳輸技術(shù)等有關(guān)。
采用上述切換準(zhǔn)則及仿真參數(shù),在ns2仿真軟件下進(jìn)行仿真。得到結(jié)果如圖1所示。
圖1 分別切換到網(wǎng)絡(luò)1和2時(shí)移動終端接收包的情況對比
圖1中橫坐標(biāo)代表仿真時(shí)間,縱坐標(biāo)代表移動終端從網(wǎng)絡(luò)接收到的分組的序列號,兩曲線代表分別切換到兩個網(wǎng)絡(luò)的情況。設(shè)置多宿主連接以及SCTP關(guān)聯(lián)的代碼如下:
設(shè)置初始首選通路的代碼如下:
在6s時(shí)開始切換,切換時(shí)重選網(wǎng)絡(luò)以及重新設(shè)置首選通路的代碼如下:
當(dāng)選擇網(wǎng)絡(luò)1作為切換目標(biāo)網(wǎng)絡(luò)時(shí),由于網(wǎng)絡(luò)1帶寬較大,所以分組的序列號增長較快,同時(shí)由于切換過程中發(fā)送的分組較多,導(dǎo)致分組丟失嚴(yán)重,重傳次數(shù)明顯多于切換到網(wǎng)絡(luò)2的情況。當(dāng)切換到網(wǎng)絡(luò)2時(shí),分組的序號增長較慢,但分組丟失情況好于切換到網(wǎng)絡(luò)1情況。
由仿真結(jié)果我們可以知道:在開始傳輸數(shù)據(jù)時(shí),序列號是斷斷續(xù)續(xù)的,在切換過程中,接收分組的序列號也是斷斷續(xù)續(xù)的,這是因?yàn)镾CTP協(xié)議的慢啟動過程造成的。另外當(dāng)目標(biāo)切換網(wǎng)絡(luò)是帶寬較大的網(wǎng)絡(luò)時(shí)將導(dǎo)致較多數(shù)據(jù)的丟失,產(chǎn)生較多的重傳,這將使得用戶體驗(yàn)值下降。
異構(gòu)無線網(wǎng)絡(luò)中的垂直切換過程中,接入路由器和鏈路層技術(shù)也會發(fā)生變化。移動SCTP協(xié)議是傳輸層支持移動性的典型技術(shù),本文基于SCTP協(xié)議,在現(xiàn)有的切換算法的基礎(chǔ)上提出一種軟切換方案,并在本文的切換準(zhǔn)則下,通過ns2仿真得到以下結(jié)論:當(dāng)切換到帶寬大的網(wǎng)絡(luò)時(shí)分組丟失將比切換到帶寬小的網(wǎng)絡(luò)分組丟失嚴(yán)重,同時(shí)由于傳輸層協(xié)議的慢啟動,通信開始和切換過程數(shù)據(jù)傳輸速率很低。本文提出的軟切換算法,需要修改SCTP協(xié)議的代碼,并且由于慢啟動帶來傳輸速率較低的問題,也需要修改SCTP協(xié)議的慢啟動過程,下一步的工作將從這兩方面展開。
[1] Coene L. Stream Control Transmission Protocol, RFC 3257, Apr 2002
[2] Stewart R.et al, Stream Control Transmission Protocol(SCTP) Dynamic Address Reconfiguration, draft-ietf-tsvwg-addip-sctp-14.txt,Mar.2006
[3] Ylianttia M, Pande M,Mahonen P. Optimization scheme for mobile users performing vertical handoff between IEEE 802.11 and GPRS/EDGE networks. Proceedings of IEEE GLOECOM.2006:3439-3443
[4] Ma L,Yu F,Leung V,et a1.A new method to support UMTS/WLAN vertical handover using SCTP.IEEE Wireless Communication, 2004,11(4):44-51
[5] NS-2 simulation: http://www.isi.edu/nsnam/ns