專利名稱:一種IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng)、數(shù)據(jù)卡及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信技術(shù)領(lǐng)域,尤其涉及一種第六版本互聯(lián)網(wǎng)協(xié)議(InternetProtocol Version 6, IPv6)地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng)、數(shù)據(jù)卡及其實(shí)現(xiàn)方法。
背景技術(shù):
IPv6具有地址空間大、地址結(jié)構(gòu)便于實(shí)現(xiàn)地址聚合、支持地址自動(dòng)配置以及支持主機(jī)移動(dòng)等特點(diǎn),IPv6的安全性和服務(wù)質(zhì)量均優(yōu)于IPv4。無(wú)論是第三代合作伙伴計(jì)劃(3GPP)的通用移動(dòng)通信系統(tǒng)(UMTS),還是3GPP2的碼分多址(CDMA) 2000系統(tǒng),都已確定IPv6是網(wǎng)絡(luò)承載、業(yè)務(wù)應(yīng)用的發(fā)展方向。特別是在3G的IP多媒體系統(tǒng)(MS)階段,網(wǎng)絡(luò)系 統(tǒng)將全面基于或兼容IPv6。IPv6已成為互聯(lián)網(wǎng)和移動(dòng)通信網(wǎng)的共用基本協(xié)議。全球互聯(lián)網(wǎng)的IPv4地址資源正在日漸枯竭,這將進(jìn)ー步加速IPv6技術(shù)在3G網(wǎng)絡(luò)和終端中的應(yīng)用。IPv6地址是由前綴地址和接ロ標(biāo)識(shí)組成,IPv6地址的高64位是前綴地址,低64位為接ロ標(biāo)識(shí)。在3GPP規(guī)范中,接ロ標(biāo)識(shí)和前綴地址都是由網(wǎng)絡(luò)分兩個(gè)階段完成分配的第一個(gè)階段,數(shù)據(jù)卡從網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN)獲得接ロ標(biāo)識(shí),這ー階段通過(guò)分組數(shù)據(jù)協(xié)議(TOP)上下文激活的過(guò)程來(lái)完成;第二個(gè)信令階段,數(shù)據(jù)卡通過(guò)使用路由請(qǐng)求(RS)消息和路由通告(RA)消息從GGSN獲取全球IPv6地址所需的前綴地址。與數(shù)據(jù)卡進(jìn)行通信的主機(jī)的IPv6地址有兩種,一種是鏈路本地地址,它是由鏈路本地前綴地址1111111010和接ロ標(biāo)識(shí)生成的一個(gè)鏈路本地單播地址,用于局域網(wǎng)范圍內(nèi)的主機(jī)通信,帶有鏈路本地地址的IPv6數(shù)據(jù)包不會(huì)被路由器轉(zhuǎn)發(fā)到外部網(wǎng)絡(luò)。另ー種是全球單播地址,終端只能使用全球IPv6地址和外部數(shù)據(jù)網(wǎng)中的其他終端,也就是和其他終端的主機(jī)進(jìn)行通信。全球單播地址有兩種自動(dòng)配置方式,一種是無(wú)狀態(tài)自動(dòng)配置(SLAAC)方式,另ー種是有狀態(tài)的IPv6的動(dòng)態(tài)主機(jī)配置協(xié)議(DHCPv6)配置方式。其中,因采用DHCPv6的有狀態(tài)地址自動(dòng)配置時(shí),需要數(shù)據(jù)卡支持DHCPv6Server功能,因此,目前支持IPv6的數(shù)據(jù)卡均采用無(wú)狀態(tài)自動(dòng)配置的方式進(jìn)行IPv6地址分配。當(dāng)采用無(wú)狀態(tài)自動(dòng)配置方式吋,網(wǎng)絡(luò)有兩種IPv6地址分配方式ー種是分配唯一的前綴地址(Prefix Address),另一種是分配卩隹一的網(wǎng)絡(luò)接ロ標(biāo)識(shí)地址(IID Address)。當(dāng)網(wǎng)絡(luò)分配的是前綴地址時(shí),表明網(wǎng)絡(luò)接收任何包含該前綴地址的IPv6地址,即主機(jī)可以使用任何包含該前綴地址的IPv6地址進(jìn)行數(shù)據(jù)傳輸。在IPv6地址協(xié)商時(shí),主機(jī)只需通過(guò)路由器通告消息從數(shù)據(jù)卡側(cè)獲取到前綴地址后,再隨機(jī)生成接ロ標(biāo)識(shí),與前綴地址組成128位的IPv6地址即可。但是,如果網(wǎng)絡(luò)分配的是接ロ標(biāo)識(shí)時(shí),表明網(wǎng)絡(luò)只接收包含該接ロ標(biāo)識(shí)和通過(guò)路由器通告消息獲取的前綴地址組成的IPv6地址,該地址是ー個(gè)唯一的全球單播地址,主機(jī)只能使用該IPv6地址進(jìn)行數(shù)據(jù)傳輸,而不能使用隨機(jī)生成的接ロ標(biāo)識(shí)組成的IPv6地址。在這種IPv6地址分配方式下,點(diǎn)到點(diǎn)協(xié)議(Point-to-Point Protocol,PPP)鏈路方式的IPv6撥號(hào)過(guò)程能夠成功的將網(wǎng)絡(luò)分配的接ロ標(biāo)識(shí)分配給主機(jī),因此PPP鏈路方式的撥號(hào)主機(jī)通過(guò)無(wú)狀態(tài)自動(dòng)配置生成的IPv6地址,就是網(wǎng)絡(luò)下發(fā)的唯一的全球單播地址。但是,在以太網(wǎng)鏈路方式的IPv6撥號(hào)過(guò)程中,主機(jī)只能通過(guò)路由器通告消息從數(shù)據(jù)卡獲取到前綴地址,卻無(wú)法獲取到被分配的接ロ標(biāo)識(shí),因此,主機(jī)使用無(wú)狀態(tài)自動(dòng)配置的方式生成的IPv6地址中使用的是隨機(jī)生成的接ロ標(biāo)識(shí),該隨機(jī)生成的接ロ標(biāo)識(shí)與前綴地址組成的IPv6地址與網(wǎng)絡(luò)分配的唯一的全球單播地址不一致,所以網(wǎng)絡(luò)側(cè)無(wú)法正常路由主機(jī)使用該IPv6地址發(fā)送的數(shù)據(jù)包,導(dǎo)致IPv6連接無(wú)法正常進(jìn)行數(shù)據(jù)傳輸。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供ー種IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng)、數(shù)據(jù)卡及其實(shí)現(xiàn)方法,可解決現(xiàn)有以太網(wǎng)鏈路撥號(hào)方式的數(shù)據(jù)卡在網(wǎng)絡(luò)分配接ロ標(biāo)識(shí)時(shí),無(wú)法正常進(jìn)行數(shù)據(jù)傳輸?shù)膯?wèn)題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了ー種IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)卡和終 端;其中,所述數(shù)據(jù)卡,用于根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置自身的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端;所述終端,用于IPv6撥號(hào)連接建立成功后,向數(shù)據(jù)卡發(fā)送用于獲取前綴地址的路由器通告請(qǐng)求消息;接收數(shù)據(jù)卡上報(bào)的有效的IPv6全球單播地址。其中,所述數(shù)據(jù)卡,還用于確定IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端;相應(yīng)的,所述終端,還用于根據(jù)數(shù)據(jù)卡所發(fā)的路由器通告響應(yīng)消息中攜帯的前綴地址隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6全球單播地址。本發(fā)明還提供了ー種IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡,所述數(shù)據(jù)卡,用于根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置自身的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。所述數(shù)據(jù)卡,還用于確定IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端。所述數(shù)據(jù)卡包括控制指令模塊、路由器消息處理模塊、IPv6地址處理模塊和撥號(hào)模塊;其中,所述路由器消息處理模塊,用于撥號(hào)連接建立前,根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并通知IPv6地址處理模塊;所述IPv6地址處理模塊,用于收到路由器消息處理模塊的通知后,從分組數(shù)據(jù)協(xié)議PDP激活消息中獲取有效的IPv6全球單播地址,并將該IPv6全球單播地址提供給控制指令模塊;所述控制指令模塊,用于將攜帯IPv6地址的控制指令發(fā)送給PC側(cè)軟件;所述撥號(hào)模塊,用于數(shù)據(jù)卡收到撥號(hào)請(qǐng)求時(shí),發(fā)起PDP激活過(guò)程,以從網(wǎng)絡(luò)側(cè)獲取到有效的IPv6全球單播地址。其中,所述路由器消息處理模塊,還用于確定設(shè)置的IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),接收IPv6地址處理模塊所發(fā)的前綴地址,并將攜帯前綴地址的路由器通告響應(yīng)消息返回給終端;相應(yīng)的,所述IPv6地址處理模塊,還用于將前綴地址返回給路由器消息處理模塊。
本發(fā)明還提供了ー種IPv6地址無(wú)狀態(tài)自動(dòng)配置的實(shí)現(xiàn)方法,根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);該方法還包括IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,數(shù)據(jù)卡判斷已設(shè)置的IPv6地址分配方式,如果為靜態(tài)配置方式,則丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。該方法還包括如果IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式,則返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端,終端隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6全球單播地址。其中,所述根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式,為撥號(hào)前判斷當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略,如果當(dāng)前網(wǎng)絡(luò)分配的是前綴地址,則將數(shù)據(jù)卡的IPv6地址配置方式設(shè)置為無(wú)狀態(tài)自動(dòng)配置方式;如果當(dāng)前網(wǎng)絡(luò)分配的是接ロ標(biāo)識(shí),則將數(shù)據(jù)卡的IPv6地址配置方式設(shè)置為靜態(tài)配置方式;上述設(shè)置過(guò)程通過(guò)AT命令實(shí)現(xiàn)。其中,所述丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端,為數(shù)據(jù)卡將路由器通告響應(yīng)消息丟棄,并通知自身內(nèi)部的IPv6地址處理模塊從TOP激活消息中獲取有效的IPv6全球單播地址,并將該IPv6地址提供給控制指令模塊;控制指令模塊將攜帯有效IPv6全球單播地址的控制指令發(fā)送給終端的PC側(cè)軟件,PC側(cè)軟件收到攜帯有效IPv6全球單播地址的控制指令之后,將調(diào)用操作系統(tǒng)接ロ將所述IPv6地址設(shè)置給終端中的主機(jī)。本發(fā)明提供的IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng)、數(shù)據(jù)卡及其實(shí)現(xiàn)方法,根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,數(shù)據(jù)卡判斷已設(shè)置的IPv6地址分配方式,如果為靜態(tài)配置方式,則丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。本發(fā)明通過(guò)修改現(xiàn)有路由器通過(guò)消息的處理流程,在網(wǎng)絡(luò)分配接ロ標(biāo)識(shí)的情況下,通過(guò)丟棄數(shù)據(jù)卡回應(yīng)給終端的路由器通告響應(yīng)消息的方式,禁用了終端主機(jī)側(cè)的無(wú)狀態(tài)自動(dòng)配置功能,之后數(shù)據(jù)卡再?gòu)腜DP激活響應(yīng)消息中將網(wǎng)絡(luò)分配的有效IPv6地址傳送給終端??梢?jiàn),本發(fā)明可解決現(xiàn)有以太網(wǎng)鏈路撥號(hào)方式的數(shù)據(jù)卡在網(wǎng)絡(luò)分配接ロ標(biāo)識(shí)時(shí),因終端自動(dòng)生成的IPv6地址與網(wǎng)絡(luò)分配的IPv6地址不一致而無(wú)法正常進(jìn)行數(shù)據(jù)傳輸?shù)膯?wèn)題,使具有IPv6數(shù)據(jù)傳輸功能的數(shù)據(jù)卡能同時(shí)兼容兩種不同地址分配方式的IPv6網(wǎng)絡(luò)。
圖I為本發(fā)明IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖;圖2為本發(fā)明IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡實(shí)現(xiàn)方法流程示意圖;圖3為本發(fā)明數(shù)據(jù)卡IPv6地址無(wú)狀態(tài)自動(dòng)配置實(shí)施例的流程圖;圖4為本發(fā)明數(shù)據(jù)卡IPv6地址靜態(tài)配置實(shí)施例的流程圖。
具體實(shí)施例方式本發(fā)明的基本思想是根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由 器通告請(qǐng)求消息后,數(shù)據(jù)卡判斷已設(shè)置的IPv6地址分配方式,如果為靜態(tài)配置方式,則丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。其中,如果配置方式為無(wú)狀態(tài)自動(dòng)配置方式,則返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端,終端隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6全球單播地址。這里,所述數(shù)據(jù)卡的IPv6地址配置方式包括無(wú)狀態(tài)自動(dòng)配置方式和靜態(tài)配置方式。需要說(shuō)明的是,本發(fā)明主要針對(duì)以太網(wǎng)鏈路方式的IPv6撥號(hào),對(duì)于PPP鏈路方式的IPv6撥號(hào)則無(wú)需采用本發(fā)明的方案。下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)ー步詳細(xì)說(shuō)明。本發(fā)明提供了ー種IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng),該系統(tǒng)包括數(shù)據(jù)卡和終端;其中,所述數(shù)據(jù)卡,用于根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置自身的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端;所述終端,用于IPv6撥號(hào)連接建立成功后,向數(shù)據(jù)卡發(fā)送用于獲取前綴地址的路由器通告請(qǐng)求消息;接收數(shù)據(jù)卡上報(bào)的有效的IPv6全球單播地址。所述數(shù)據(jù)卡,還用于確定IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端;相應(yīng)的,所述終端,還用于根據(jù)數(shù)據(jù)卡所發(fā)的路由器通告響應(yīng)消息中攜帯的前綴地址隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6全球單播地址。圖I為本發(fā)明IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖,如圖I所示,所述數(shù)據(jù)卡包括控制指令模塊、路由器消息處理模塊、IPv6地址處理模塊和撥號(hào)模塊;所述終端包括主機(jī)和PC側(cè)軟件;其中,所述主機(jī),用于IPv6撥號(hào)連接建立吋,向數(shù)據(jù)卡發(fā)送撥號(hào)請(qǐng)求;連接建立成功后,向數(shù)據(jù)卡發(fā)送路由器通告請(qǐng)求消息;接收路由器消息處理模塊所發(fā)的路由器通告響應(yīng)消息,并根據(jù)所述路由器通告響應(yīng)消息中攜帯的前綴地址隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6地址;
所述PC側(cè)軟件,用于收到攜帯IPv6地址的控制指令后,調(diào)用操作系統(tǒng)接ロ將所述IPv6地址設(shè)置給主機(jī);所述路由器消息處理模塊,用于撥號(hào)連接建立前,根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并通知IPv6地址處理模塊;還用于確定設(shè)置的IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),接收IPv6地址處理模塊所發(fā)的前綴地址,并將攜帶前綴地址的路由器通告響應(yīng)消息返回給主機(jī);所述IPv6地址處理模塊,用于收到路由器消息處理模塊的通知后,從PDP激活消息中獲取有效的IPv6全球單播地址,并根據(jù)當(dāng)前的IPv6地址分配方式將IPv6全球單播地址或前綴地址上報(bào)給控制指令模塊或路由器消息處理模塊;具體的,如果當(dāng)前數(shù)據(jù)的IPv6地址配置方式為靜態(tài)配置,則將該IPv6地址提供給控制指 令模塊;如果當(dāng)前數(shù)據(jù)的IPv6地址配置方式為無(wú)狀態(tài)自動(dòng)配置,則將前綴地址返回給路由器消息處理模塊。所述控制指令模塊,用于將攜帯IPv6地址的控制指令發(fā)送給PC側(cè)軟件;所述撥號(hào)模塊,用于數(shù)據(jù)卡收到撥號(hào)請(qǐng)求時(shí),發(fā)起分組數(shù)據(jù)協(xié)議(TOP)激活過(guò)程,以從網(wǎng)絡(luò)側(cè)獲取到有效的IPv6全球單播地址。圖2為本發(fā)明IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡實(shí)現(xiàn)方法流程示意圖,如圖2所示,該方法包括如下步驟步驟201 :根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);具體為撥號(hào)前判斷當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略,如果當(dāng)前網(wǎng)絡(luò)分配的是前綴地址,則將數(shù)據(jù)卡的IPv6地址配置方式設(shè)置為無(wú)狀態(tài)自動(dòng)配置方式,并存儲(chǔ)在數(shù)據(jù)卡自身內(nèi)部,這樣,數(shù)據(jù)卡和終端將使用默認(rèn)的無(wú)狀態(tài)自動(dòng)配置方式生成IPv6全球單播地址,并進(jìn)行數(shù)據(jù)傳輸。如果當(dāng)前網(wǎng)絡(luò)分配的是接ロ標(biāo)識(shí),則將數(shù)據(jù)卡的IPv6地址配置方式設(shè)置為靜態(tài)配置方式,并存儲(chǔ)在數(shù)據(jù)卡自身內(nèi)部,這樣,通過(guò)數(shù)據(jù)卡丟棄路由器通告響應(yīng)消息的方法,使終端無(wú)法正常使用無(wú)狀態(tài)自動(dòng)配置生成IPv6全球單播地址,之后數(shù)據(jù)卡從PDP激活響應(yīng)消息中將網(wǎng)絡(luò)分配的前綴地址及接ロ標(biāo)識(shí)上報(bào)給終端,即將有效的IPv6全球單播地址上報(bào)給終端,之后終端就可以使用該IPv6地址正常進(jìn)行數(shù)據(jù)傳輸。這里,在設(shè)置數(shù)據(jù)卡的IPv6地址配置方式時(shí),可通過(guò)AT命令來(lái)實(shí)現(xiàn),該操作在實(shí)現(xiàn)時(shí)可以根據(jù)運(yùn)營(yíng)商的具體需求通過(guò)PC側(cè)軟件來(lái)實(shí)現(xiàn)。同時(shí),在實(shí)現(xiàn)吋,由于IPv6的域名系統(tǒng)(Domain Name System, DNS)地址無(wú)論米用何種地址無(wú)狀態(tài)自動(dòng)配置方式,均需要通過(guò)PC側(cè)軟件靜態(tài)設(shè)置給終端的主機(jī)。因此,在數(shù)據(jù)卡與終端的連接建立之后,數(shù)據(jù)卡會(huì)將IPv6地址和DNS地址一起上報(bào),為了便于PC側(cè)軟件進(jìn)行區(qū)分,規(guī)定在使用無(wú)狀態(tài)自動(dòng)配置方式的情況下,數(shù)據(jù)卡上報(bào)的IPv6全球單播地址為全零,即通知PC側(cè)軟件當(dāng)前數(shù)據(jù)卡使用的是無(wú)狀態(tài)自動(dòng)配置方式;而在使用靜態(tài)配置方式時(shí),在上報(bào)的控制指令中攜帯有效的IPv6全球單播地址,PC側(cè)軟件檢測(cè)到有效的IPv6全球單播地址之后,再調(diào)用操作系統(tǒng)接ロ將該地址設(shè)置給終端中的主機(jī)。步驟202 IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,數(shù)據(jù)卡判斷已設(shè)置的IPv6地址分配方式,如果為靜態(tài)配置方式,則執(zhí)行步驟203 ;如果為無(wú)狀態(tài)自動(dòng)配置方式,則執(zhí)行步驟204 ;具體為IPv6撥號(hào)連接建立吋,終端發(fā)送撥號(hào)請(qǐng)求到數(shù)據(jù)卡,數(shù)據(jù)卡發(fā)起PDP激活過(guò)程,并從網(wǎng)絡(luò)側(cè)獲取有效的IPv6地址。IPv6撥號(hào)連接建立成功之后,終端中的主機(jī)發(fā)送路由器通告請(qǐng)求消息到數(shù)據(jù)卡,以從數(shù)據(jù)卡獲取前綴地址。數(shù)據(jù)卡收到所述路由器通告請(qǐng)求消息后,判斷已設(shè)置的自身的IPv6地址分配方式,如果分配方式為靜態(tài)配置方式,則執(zhí)行步驟203 ;如果分配方式為無(wú)狀態(tài)自動(dòng)配置方式,則執(zhí)行步驟204。步驟203 :丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端;具體為數(shù)據(jù)卡的IPv6地址配置方式為靜態(tài)配置方式時(shí),數(shù)據(jù)卡將不返回路由器通告響應(yīng)消息,即將路由器通告響應(yīng)消息丟棄,并通知自身內(nèi)部的IPv6地址處理模塊從PDP激活消息中獲取有效的IPv6地址,并將該IPv6地址提供給控制指令模塊;控制指令模 塊將攜帶有效IPv6地址的控制指令發(fā)送給PC側(cè)軟件,PC側(cè)軟件收到攜帶有效IPv6地址的控制指令之后,將調(diào)用操作系統(tǒng)接ロ將所述IPv6地址設(shè)置給終端中的主機(jī),完成IPv6地址的協(xié)商過(guò)程。這里,由于終端主機(jī)側(cè)的無(wú)狀態(tài)自動(dòng)配置功能是由IPv6協(xié)議棧控制的,無(wú)法禁用,因此,本發(fā)明只能在數(shù)據(jù)卡側(cè)通過(guò)丟棄路由器通告響應(yīng)消息來(lái)實(shí)現(xiàn)。撥號(hào)成功之后,主機(jī)將發(fā)送路由器通告請(qǐng)求消息給數(shù)據(jù)卡,數(shù)據(jù)卡將回應(yīng)給主機(jī)的路由器通告響應(yīng)消息丟棄,主機(jī)由于無(wú)法通過(guò)路由器通告響應(yīng)消息獲取到前綴地址,也就無(wú)法使用無(wú)狀態(tài)自動(dòng)配置的方式隨機(jī)生成包括隨機(jī)生成的接ロ標(biāo)識(shí)的IPv6地址,即主機(jī)無(wú)法生成有效的全球單播地址用于數(shù)據(jù)傳輸。步驟204 :返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端,終端隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成全球單播地址;具體為數(shù)據(jù)卡的IPv6地址配置方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),數(shù)據(jù)卡內(nèi)的路由器消息處理模塊將返回路由器通告響應(yīng)消息給終端中的主機(jī),消息中攜帯前綴地址,之后,路由器消息處理模塊通知IPv6地址處理模塊不提供IPv6地址給控制指令模塊,IPv6地址處理模塊需將前綴地址返回給路由器消息處理模塊。這樣,控制指令模塊上報(bào)給主機(jī)的控制消息中不攜帶有效的IPv6地址。主機(jī)收到路由器通告響應(yīng)消息之后,通過(guò)無(wú)狀態(tài)自動(dòng)配置的方式隨機(jī)生成接ロ標(biāo)識(shí),與前綴地址共同組成128位的全球單播地址,完成IPv6地址協(xié)商過(guò)程。下面分別對(duì)本發(fā)明數(shù)據(jù)卡兩種不同配置方式實(shí)施例的實(shí)現(xiàn)流程進(jìn)行描述。圖3為本發(fā)明數(shù)據(jù)卡IPv6地址無(wú)狀態(tài)自動(dòng)配置實(shí)施例的流程圖,如圖3所示,包括如下步驟步驟301 :數(shù)據(jù)卡收到IPv6撥號(hào)請(qǐng)求后,在空口上發(fā)起PDP激活過(guò)程;具體為將向GPRS服務(wù)支持節(jié)點(diǎn)(SGSN)發(fā)送激活PDP上下文(PDP Context)請(qǐng)求信息,所述請(qǐng)求信息中包含如下信息接入點(diǎn)(APN)、PDP類型、PDP地址、詢問(wèn)握手認(rèn)證協(xié)議(CHAP)或密碼認(rèn)證協(xié)議(PAP)信息、IPv6DNS等信息。PDP類型為IPv6,PDP地址為空,代表請(qǐng)求動(dòng)態(tài)分配IP地址。網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN)收到請(qǐng)求后,通過(guò)本地/動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)/遠(yuǎn)程用戶撥號(hào)認(rèn)證系統(tǒng)(RADIUS)對(duì)終端進(jìn)行鑒權(quán),并分配IPv6地址或者前綴地址,以及其他參數(shù),如服務(wù)質(zhì)量(QoS)參數(shù)、IPv6 DNS服務(wù)器地址,并將鑒權(quán)結(jié)果以及各項(xiàng)參數(shù)信息封裝在激活PDP上下文接受消息里發(fā)回給數(shù)據(jù)卡,PDP激活過(guò)程完成。步驟302 :主機(jī)向數(shù)據(jù)卡發(fā)送路由器請(qǐng)求消息;具體為終端中的王機(jī)檢測(cè)到以太網(wǎng)設(shè)備端ロ狀態(tài)為UP后,就會(huì)啟動(dòng)地址沖突檢測(cè)過(guò)程。主機(jī)發(fā)送鄰居請(qǐng)求消息到數(shù)據(jù)卡嘗試驗(yàn)證自身的接ロ標(biāo)識(shí)是否唯一,如果數(shù)據(jù)卡確定主機(jī)請(qǐng)求的接ロ標(biāo)識(shí)地址與ー個(gè)正在使用的接ロ標(biāo)識(shí)地址存在沖突,那么數(shù)據(jù)卡就會(huì)給主機(jī)發(fā)送鄰居通告指示重復(fù)地址檢測(cè)失敗,此時(shí)主機(jī)會(huì)生成一個(gè)新的接ロ標(biāo)識(shí)重新發(fā)送鄰居請(qǐng)求消息。如果地址沖突檢測(cè)正常,主機(jī)會(huì)發(fā)送路由器請(qǐng)求(RS)消息到數(shù)據(jù)卡。步驟303 :數(shù)據(jù)卡確定IPv6地址配置方式為無(wú)狀態(tài)自動(dòng)配置方式,則將返回路由器通告響應(yīng)消息;具體為數(shù)據(jù)卡確定自身的IPv6地址配置方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),將返回 路由器通告響應(yīng)消息,消息中攜帯前綴地址。該步驟的實(shí)現(xiàn)方法與步驟204相同,此處不再詳述。步驟304 :主機(jī)獲取路由通告響應(yīng)消息中的前綴地址,并通過(guò)無(wú)狀態(tài)自動(dòng)配置隨機(jī)生成接ロ標(biāo)識(shí)組成IPv6全球單播地址;具體為數(shù)據(jù)卡將GGSN分配的IPv6前綴地址通過(guò)路由通告響應(yīng)消息響應(yīng)給終端中的主機(jī),主機(jī)從路由通告響應(yīng)消息中獲取到前綴地址之后,通過(guò)無(wú)狀態(tài)自動(dòng)配置方式隨機(jī)生成接ロ標(biāo)識(shí),與所述前綴地址共同組成128位的全球單播地址,IPv6地址協(xié)商過(guò)程完成。圖4為本發(fā)明數(shù)據(jù)卡IPv6地址靜態(tài)配置實(shí)施例的流程圖,如圖4所示,包括如下步驟步驟401 :數(shù)據(jù)卡收到IPv6撥號(hào)請(qǐng)求后,在空口上發(fā)起PDP激活過(guò)程;具體為將向GPRS服務(wù)支持節(jié)點(diǎn)(SGSN)發(fā)送激活PDP上下文(PDP Context)請(qǐng)求信息,所述請(qǐng)求信息中包含如下信息接入點(diǎn)(APN)、PDP類型、PDP地址、詢問(wèn)握手認(rèn)證協(xié)議(CHAP)或密碼認(rèn)證協(xié)議(PAP)信息、IPv6DNS等信息。PDP類型為IPv6,PDP地址為空,代表請(qǐng)求動(dòng)態(tài)分配IP地址。網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN)收到請(qǐng)求后,通過(guò)本地/動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)/遠(yuǎn)程用戶撥號(hào)認(rèn)證系統(tǒng)(RADIUS)對(duì)終端進(jìn)行鑒權(quán),并分配IPv6地址或者前綴地址,以及其他參數(shù),如服務(wù)質(zhì)量(QoS)參數(shù)、IPv6DNS服務(wù)器地址,并將鑒權(quán)結(jié)果以及各項(xiàng)參數(shù)信息封裝在激活PDP上下文接受消息里發(fā)回給數(shù)據(jù)卡,PDP激活過(guò)程完成。步驟402 :主機(jī)向數(shù)據(jù)卡發(fā)送路由器請(qǐng)求消息;具體為終端中的王機(jī)檢測(cè)到以太網(wǎng)設(shè)備端ロ狀態(tài)為UP后,就會(huì)啟動(dòng)地址沖突檢測(cè)過(guò)程。主機(jī)發(fā)送鄰居請(qǐng)求消息到數(shù)據(jù)卡嘗試驗(yàn)證自身的接ロ標(biāo)識(shí)是否唯一,如果數(shù)據(jù)卡確定主機(jī)請(qǐng)求的接ロ標(biāo)識(shí)地址與ー個(gè)正在使用的接ロ標(biāo)識(shí)地址存在沖突,那么數(shù)據(jù)卡就會(huì)給主機(jī)發(fā)送鄰居通告指示重復(fù)地址檢測(cè)失敗,此時(shí)主機(jī)會(huì)生成一個(gè)新的接ロ標(biāo)識(shí)重新發(fā)送鄰居請(qǐng)求消息。如果地址沖突檢測(cè)正常,主機(jī)會(huì)發(fā)送路由器請(qǐng)求(RS)消息到數(shù)據(jù)卡。步驟403 :數(shù)據(jù)卡確定IPv6地址配置方式為靜態(tài)配置方式,則不返回路由器通告響應(yīng)消息;具體為數(shù)據(jù)卡確定自身的IPv6地址配置方式為靜態(tài)配置方式時(shí),將不返回路由器通告響應(yīng)消息,即數(shù)據(jù)卡丟棄返回給終端中的主機(jī)的路由器通告響應(yīng)消息。由于主機(jī)無(wú)法收到路由器通告響應(yīng)消息,進(jìn)而不能從路由器通告響應(yīng)消息中獲取到前綴地址,因此主機(jī)不會(huì)自動(dòng)生成IPv6全球單播地址。步驟404 :主機(jī)從數(shù)據(jù)卡獲取IPv6全球單播地址;具體為在應(yīng)用過(guò)程中,終端中的主機(jī)在生成IPv6地址失敗時(shí),可通過(guò)下發(fā)控制指令給數(shù)據(jù)卡來(lái)獲得IPv6地址。數(shù)據(jù)卡則通知自身內(nèi)部的IPv6地址處理模塊從PDP激活消息中獲取有效的IPv6地址并提供給控制指令模塊,控制指令模塊將攜帯有效IPv6全球單播地址的控制指令發(fā)送給PC側(cè)軟件。PC側(cè)軟件從數(shù)據(jù)卡返回的控制指令中獲取到IPv6全球單播地址之后,通過(guò)調(diào)用操作系統(tǒng)提供的NetSH網(wǎng)絡(luò)命令、或者修改操作系統(tǒng)注冊(cè)表中IPv6地址信息的方式,將該 IPv6全球單播地址設(shè)置給終端中的主機(jī),IPv6地址分配完成。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng),其特征在于,所述系統(tǒng)包括數(shù)據(jù)卡和終端;其中,所述數(shù)據(jù)卡,用于根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置自身的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端;所述終端,用于IPv6撥號(hào)連接建立成功后,向數(shù)據(jù)卡發(fā)送用于獲取前綴地址的路由器通告請(qǐng)求消息;接收數(shù)據(jù)卡上報(bào)的有效的IPv6全球單播地址。
2.根據(jù)權(quán)利要求I所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的系統(tǒng),其特征在于,所述數(shù)據(jù)卡,還用于確定IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端;相應(yīng)的,所述終端,還用于根據(jù)數(shù)據(jù)卡所發(fā)的路由器通告響應(yīng)消息中攜帯的前綴地址隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6全球單播地址。
3.—種IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡,其特征在于,所述數(shù)據(jù)卡,用于根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置自身的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式時(shí),丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。
4.根據(jù)權(quán)利要求3所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡,其特征在于,所述數(shù)據(jù)卡,還用于確定IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端。
5.根據(jù)權(quán)利要求4所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡,其特征在于,所述數(shù)據(jù)卡包括控制指令模塊、路由器消息處理模塊、IPv6地址處理模塊和撥號(hào)模塊;其中,所述路由器消息處理模塊,用于撥號(hào)連接建立前,根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功后,判斷已設(shè)置的IPv6地址分配方式,確定為靜態(tài)配置方式吋,丟棄路由器通告響應(yīng)消息,并通知IPv6地址處理模塊;所述IPv6地址處理模塊,用于收到路由器消息處理模塊的通知后,從分組數(shù)據(jù)協(xié)議PDP激活消息中獲取有效的IPv6全球單播地址,并將該IPv6全球單播地址提供給控制指令模塊;所述控制指令模塊,用于將攜帯IPv6地址的控制指令發(fā)送給PC側(cè)軟件;所述撥號(hào)模塊,用于數(shù)據(jù)卡收到撥號(hào)請(qǐng)求吋,發(fā)起PDP激活過(guò)程,以從網(wǎng)絡(luò)側(cè)獲取到有效的IPv6全球單播地址。
6.根據(jù)權(quán)利要求5所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡,其特征在于,所述路由器消息處理模塊,還用于確定設(shè)置的IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式時(shí),接收IPv6地址處理模塊所發(fā)的前綴地址,并將攜帯前綴地址的路由器通告響應(yīng)消息返回給終端;相應(yīng)的,所述IPv6地址處理模塊,還用于將前綴地址返回給路由器消息處理模塊。
7.—種IPv6地址無(wú)狀態(tài)自動(dòng)配置的實(shí)現(xiàn)方法,其特征在于,根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);該方法還包括IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,數(shù)據(jù)卡判斷已設(shè)置的IPv6地址分配方式,如果為靜態(tài)配置方式,則丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。
8.根據(jù)權(quán)利要求7所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的實(shí)現(xiàn)方法,其特征在于,該方法還包括如果IPv6地址分配方式為無(wú)狀態(tài)自動(dòng)配置方式,則返回?cái)y帯前綴地址的路由器通告響應(yīng)消息到終端,終端隨機(jī)生成接ロ標(biāo)識(shí),并與前綴地址組成IPv6全球單播地址。
9.根據(jù)權(quán)利要求7或8所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的實(shí)現(xiàn)方法,其特征在于,所述根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式,為撥號(hào)前判斷當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略,如果當(dāng)前網(wǎng)絡(luò)分配的是前綴地址,則將數(shù)據(jù)卡的IPv6地址配置方式設(shè)置為無(wú)狀態(tài)自動(dòng)配置方式;如果當(dāng)前網(wǎng)絡(luò)分配的是接ロ標(biāo)識(shí),則將數(shù)據(jù)卡的IPv6地址配置方式設(shè)置為靜態(tài)配置方式;上述設(shè)置過(guò)程通過(guò)AT命令實(shí)現(xiàn)。
10.根據(jù)權(quán)利要求7或8所述的IPv6地址無(wú)狀態(tài)自動(dòng)配置的實(shí)現(xiàn)方法,其特征在于,所述丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端,為數(shù)據(jù)卡將路由器通告響應(yīng)消息丟棄,并通知自身內(nèi)部的IPv6地址處理模塊從PDP激活消息中獲取有效的IPv6全球單播地址,并將該IPv6地址提供給控制指令模塊;控制指令模塊將攜帶有效IPv6全球單播地址的控制指令發(fā)送給終端的PC側(cè)軟件,PC側(cè)軟件收到攜帯有效IPv6全球單播地址的控制指令之后,將調(diào)用操作系統(tǒng)接ロ將所述IPv6地址設(shè)置給終端中的主機(jī)。
全文摘要
本發(fā)明公開(kāi)了一種IPv6地址無(wú)狀態(tài)自動(dòng)配置的數(shù)據(jù)卡及其實(shí)現(xiàn)方法,方法包括根據(jù)當(dāng)前網(wǎng)絡(luò)的IPv6地址分配策略設(shè)置數(shù)據(jù)卡的IPv6地址配置方式并存儲(chǔ);IPv6撥號(hào)連接建立成功,且收到終端所發(fā)的用于獲取前綴地址的路由器通告請(qǐng)求消息后,數(shù)據(jù)卡判斷已設(shè)置的IPv6地址分配方式,如果為靜態(tài)配置方式,則丟棄路由器通告響應(yīng)消息,并將有效的IPv6全球單播地址上報(bào)給終端。運(yùn)用本發(fā)明所述的數(shù)據(jù)卡和方法可解決現(xiàn)有以太網(wǎng)鏈路撥號(hào)方式的數(shù)據(jù)卡在網(wǎng)絡(luò)分配接口標(biāo)識(shí)時(shí),無(wú)法正常進(jìn)行數(shù)據(jù)傳輸?shù)膯?wèn)題。
文檔編號(hào)H04W8/26GK102833732SQ20121025950
公開(kāi)日2012年12月19日 申請(qǐng)日期2012年7月25日 優(yōu)先權(quán)日2012年7月25日
發(fā)明者鄭巍, 溫海龍, 胡樂(lè)申 申請(qǐng)人:中興通訊股份有限公司