專利名稱:在路由器中建立終端管理通道備份的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)的管理,特別涉及利用反向Telnet(遠(yuǎn)程登錄)對(duì)網(wǎng)絡(luò)的管理通道進(jìn)行備份的方法。
背景技術(shù):
現(xiàn)在很多的終端設(shè)備需要在中心網(wǎng)點(diǎn)進(jìn)行統(tǒng)一管理,為了節(jié)約工程費(fèi)用以及提高數(shù)據(jù)收集的速度,需要盡可能地使用現(xiàn)有的網(wǎng)絡(luò)資源和帶寬。
在這方面,使用反向Telnet方式,通過(guò)將路由器的同異步串口與終端設(shè)備連接,并通過(guò)廣域網(wǎng)將管理中心設(shè)備與路由器連接,這樣管理中心設(shè)備就可以通過(guò)“Telnet路由器地址+同異步串口端口號(hào)”的方式建立與終端設(shè)備的連接,實(shí)現(xiàn)對(duì)終端設(shè)備的管理(例如,在網(wǎng)管中心可以通過(guò)反向Telnet實(shí)現(xiàn)對(duì)交換機(jī)的告警信息以及數(shù)據(jù)信息的采集等)。這樣,只要保證終端設(shè)備和管理中心設(shè)備的網(wǎng)絡(luò)連通,就可以在中心設(shè)備上通過(guò)已有網(wǎng)絡(luò)使用反向Telnet的方式進(jìn)行終端設(shè)備的管理。以這種方式在Telnet客戶端(即需要對(duì)終端設(shè)備進(jìn)行管理的中心設(shè)備)和需要管理的終端設(shè)備之間建立通道進(jìn)行設(shè)備管理和數(shù)據(jù)收集,就可以充分利用現(xiàn)有的網(wǎng)絡(luò)條件。
目前反向Telnet已經(jīng)得到了比較廣泛的應(yīng)用?,F(xiàn)有技術(shù)的反向Telnet的基本功能是實(shí)現(xiàn)終端設(shè)備和Telnet客戶端用戶之間的數(shù)據(jù)交互,即從已經(jīng)建立的TCP連接中接收Telnet客戶端的數(shù)據(jù),發(fā)送到路由器的同異步串口所連接的終端設(shè)備。另一方面,從終端設(shè)備接收數(shù)據(jù)后,發(fā)送到對(duì)應(yīng)的TCP連接的Telnet客戶端。
反向Telnet還可實(shí)現(xiàn)其他一些輔助功能,例如在需要時(shí)可以完成和Telnet客戶端的Telnet協(xié)商;在接收到Telnet客戶端發(fā)送的特殊數(shù)據(jù)時(shí),能夠向終端設(shè)備發(fā)送一種特殊的信號(hào)以激活終端設(shè)備;根據(jù)具體需要確定對(duì)數(shù)據(jù)進(jìn)行完全透明的傳遞還是對(duì)接收到的數(shù)據(jù)中的回車進(jìn)行處理再發(fā)送等。
但是,現(xiàn)有的利用反向Telnet實(shí)現(xiàn)Telnet客戶端對(duì)終端設(shè)備管理的技術(shù)仍具有缺陷,具體地說(shuō),1.隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,需要支持各種Telnet客戶端程序,以及支持根據(jù)需求對(duì)終端設(shè)備的端口號(hào)進(jìn)行固定的分配,實(shí)現(xiàn)對(duì)指定端口號(hào)設(shè)備的管理。然而目前的反向Telnet的監(jiān)聽(tīng)端口號(hào)是由路由器的軟件確定的,所以當(dāng)路由器的軟件版本確定以后,就不能再對(duì)反向Telnet的監(jiān)聽(tīng)端口號(hào)進(jìn)行修改,所以目前的反向Telnet不能滿足根據(jù)計(jì)劃分配設(shè)備端口號(hào)的要求。
2.目前的反向Telnet不能靈活地實(shí)現(xiàn)對(duì)終端設(shè)備控制的備份。由于一些需要控制的設(shè)備的重要性,需要支持對(duì)終端設(shè)備管理通道進(jìn)行備份。目前的反向Telnet是為與路由器連接的終端設(shè)備指定一個(gè)固定的端口號(hào),而且目前的反向Telnet不支持路由器的多個(gè)同異步串口使用相同的端口號(hào),所以通過(guò)這個(gè)固定的端口號(hào)只能建立一條管理通道。這樣當(dāng)這個(gè)管理通道的連接出現(xiàn)異常時(shí),在Telnet客戶端通過(guò)該端口號(hào)就不能對(duì)該終端設(shè)備進(jìn)行管理。
目前雖然可以通過(guò)不同的反向Telnet端口號(hào)來(lái)訪問(wèn)一個(gè)終端設(shè)備,但是這樣在使用中一臺(tái)終端設(shè)備需要對(duì)應(yīng)多個(gè)不同的端口號(hào),這樣不但浪費(fèi)了大量的端口號(hào)資源,而且給使用和維護(hù)帶來(lái)很多不便。例如當(dāng)對(duì)于一個(gè)終端設(shè)備分配了多個(gè)終端號(hào)時(shí),如果一條管理通道出現(xiàn)問(wèn)題,就需要對(duì)Telnet客戶端的軟件程序進(jìn)行修改,然后才可以切換到另外的管理通道上。
發(fā)明內(nèi)容
因此,為了克服現(xiàn)有技術(shù)的上述缺陷,本發(fā)明提出了在路由器中建立基于反向Telnet的終端管理通道備份的方法,該方法包括當(dāng)反向Telnet客戶端請(qǐng)求建立對(duì)終端設(shè)備的管理通道時(shí),在路由器中配置所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與所述路由器的同異步串口的對(duì)應(yīng)關(guān)系;和根據(jù)為所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)配置的所述路由器的同異步串口,建立所述反向Telnet客戶端與所述終端設(shè)備的管理通道。
在本發(fā)明的上述方法中,配置所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)對(duì)應(yīng)的所述路由器的同異步串口的方法包括如下步驟當(dāng)通過(guò)命令輸入同異步串口的反向Telnet新的監(jiān)聽(tīng)端口號(hào)new_listen_port時(shí),判斷新端口號(hào)new_listen_port和該同異步串口原有端口號(hào)old_listen_port是否相同,如果相同,則配置過(guò)程結(jié)束;
如果新端口號(hào)new_listen_port和原有監(jiān)聽(tīng)端口號(hào)old_listen_port不同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同;如果有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;如果沒(méi)有其他的同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則直接關(guān)閉該串口的原有的監(jiān)聽(tīng)插口,并進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;如果有其它的同異步串口的監(jiān)聽(tīng)端口號(hào)和該串口需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則將該串口的監(jiān)聽(tīng)插口號(hào)int_socket_id設(shè)置為搜索到的串口的監(jiān)聽(tīng)插口號(hào),同時(shí)設(shè)置該串口的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的監(jiān)聽(tīng)端口號(hào)new_listen_port;如果判斷沒(méi)有其它同異步串口的監(jiān)聽(tīng)端口號(hào)和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則重新根據(jù)端口號(hào)new_listen_port創(chuàng)建新的反向Telnet的監(jiān)聽(tīng)插口,并將新的監(jiān)聽(tīng)插口號(hào)保存在串口1的監(jiān)聽(tīng)插口號(hào)int_socket_id中,同時(shí)設(shè)置該串口的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的端口號(hào)new_listen_port。
在本發(fā)明的上述方法中,建立所述反向Telnet客戶端與所述終端設(shè)備的管理通道的方法包括監(jiān)聽(tīng)端口號(hào)為recv_listen_port的反向Telnet監(jiān)聽(tīng)插口接收Telnet客戶端發(fā)起建立Telnet連接的請(qǐng)求;循環(huán)遍歷所有監(jiān)聽(tīng)端口號(hào)int_listen_port等于recv_listen_port的同異步串口;如果循環(huán)遍歷的結(jié)果是所有的上述同異步串口都不可用,則關(guān)閉Telnet連接請(qǐng)求;否則對(duì)可以使用的同異步串口建立Telnet連接。
在上述方法中,所述循環(huán)遍歷的過(guò)程包括如下步驟
1、判斷同異步串口的物理狀態(tài)是否正常,如果該串口的狀態(tài)不正常,則繼續(xù)進(jìn)行下一個(gè)同異步串口的判斷;否則2、判斷該串口的串口任務(wù)是否已經(jīng)啟動(dòng),如果串口任務(wù)還沒(méi)有啟動(dòng),則繼續(xù)判斷下一個(gè)同異步串口;否則3、判斷該同異步串口的終端設(shè)備和Telnet客戶端是否已經(jīng)建立管理通道,如果已經(jīng)建立,然后返回步驟1繼續(xù)判斷下一個(gè)同異步串口,如果未建立,則建立Telnet客戶端和與該串口連接的終端設(shè)備的管理通道。
利用本發(fā)明的方法,可以實(shí)現(xiàn)對(duì)需要進(jìn)行管理的終端設(shè)備的端口號(hào)進(jìn)行統(tǒng)一規(guī)劃,而且可以實(shí)現(xiàn)對(duì)其他軟件的支持,根據(jù)具體的需要設(shè)置端口號(hào)。
此外,本發(fā)明能夠通過(guò)固定的端口號(hào)和終端設(shè)備建立多條管理通道,實(shí)現(xiàn)對(duì)終端設(shè)備管理的備份功能。
通過(guò)結(jié)合以下附圖的說(shuō)明,本發(fā)明的上述目的、特征及優(yōu)點(diǎn)將更易于理解,其中圖1是說(shuō)明根據(jù)本發(fā)明的在路由器中配置終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與同異步串口的對(duì)應(yīng)關(guān)系的處理流程圖;圖2是說(shuō)明根據(jù)本發(fā)明的在路由器中建立Telnet客戶端和終端設(shè)備建立管理通道的處理流程圖。
具體實(shí)施例方式
首先需要說(shuō)明,在本發(fā)明中,對(duì)于每一個(gè)同異步串口都要紀(jì)錄串口的監(jiān)聽(tīng)端口號(hào)以及監(jiān)聽(tīng)socket(插口)號(hào)。當(dāng)路由器啟動(dòng)時(shí),要用Telnet技術(shù)對(duì)其每一個(gè)同異步串口的監(jiān)聽(tīng)端口號(hào)進(jìn)行常規(guī)的初始化,并根據(jù)監(jiān)聽(tīng)端口號(hào)建立相應(yīng)的監(jiān)聽(tīng)插口。
監(jiān)聽(tīng)端口號(hào)是指同異步串口的反向Telnet監(jiān)聽(tīng)端口號(hào)int_listen_port,標(biāo)明一個(gè)同異步串口的當(dāng)前的監(jiān)聽(tīng)端口號(hào),在路由器啟動(dòng)時(shí)進(jìn)行相應(yīng)的初始化,在使用時(shí)可以根據(jù)具體的需要對(duì)監(jiān)聽(tīng)端口號(hào)進(jìn)行修改。這是本發(fā)明的特征之一。
監(jiān)聽(tīng)插口號(hào)是指同異步串口的反向Telnet的監(jiān)聽(tīng)進(jìn)程的插口號(hào)int_socket_id,它紀(jì)錄一個(gè)同異步串口所使用的監(jiān)聽(tīng)插口。當(dāng)路由器的監(jiān)聽(tīng)進(jìn)程接收到用戶的Telnet連接請(qǐng)求時(shí),可以根據(jù)該Telnet連接的插口號(hào)以及同異步串口的int_socket_id來(lái)確定用戶需要連接的終端。當(dāng)路由器初始化時(shí),每一個(gè)同異步串口會(huì)根據(jù)該接口的初始化監(jiān)聽(tīng)端口號(hào)建立監(jiān)聽(tīng)插口,并對(duì)該接口的監(jiān)聽(tīng)插口號(hào)進(jìn)行初始化;當(dāng)該串口的監(jiān)聽(tīng)端口號(hào)發(fā)生改變時(shí),串口的監(jiān)聽(tīng)插口號(hào)會(huì)發(fā)生相應(yīng)的改變。
下面結(jié)合圖1和圖2說(shuō)明本發(fā)明的優(yōu)選實(shí)施方案的處理流程。
根據(jù)本發(fā)明的優(yōu)選實(shí)施方案,為了建立終端設(shè)備管理通道的備份,需要實(shí)現(xiàn)路由器的同異步串口的反向Telnet監(jiān)聽(tīng)端口號(hào)的可配置,也就是在路由器中配置所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與所述路由器的同異步串口的對(duì)應(yīng)關(guān)系。在建立了上述對(duì)應(yīng)關(guān)系之后,就可以根據(jù)為終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)配置的路由器的同異步串口,建立所述反向Telnet客戶端與所述終端設(shè)備的管理通道。
圖1是根據(jù)本發(fā)明優(yōu)選實(shí)施方案的在路由器中配置終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與同異步串口的對(duì)應(yīng)關(guān)系的處理流程。
當(dāng)反向Telnet客戶端請(qǐng)求建立對(duì)終端設(shè)備的管理通道時(shí),通過(guò)命令輸入一個(gè)同異步串口(設(shè)為串口1)的反向Telnet新的監(jiān)聽(tīng)端口號(hào)new_listen_port時(shí),將變量int_listen_port設(shè)置為該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port。判斷新端口號(hào)new_listen_port和原有端口號(hào)old_listen_port是否相同,如果相同,則無(wú)需修改該串口的監(jiān)聽(tīng)端口號(hào),因此退出監(jiān)聽(tīng)端口號(hào)修改流程。
如果新端口號(hào)new_listen_port和原有監(jiān)聽(tīng)端口號(hào)old_listen_port不同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和串口1的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,如果有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和串口1的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和串口1的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;反之,如果沒(méi)有其他的同異步串口和串口1原有端口號(hào)old_listen_port相同,則直接關(guān)閉串口1的原有的監(jiān)聽(tīng)插口,以釋放已經(jīng)申請(qǐng)的各種資源。然后,同樣地進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和串口1的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同。
這一步操作的原理是,如果多個(gè)同異步串口設(shè)置為相同的監(jiān)聽(tīng)端口號(hào),則這些串口都使用相同的監(jiān)聽(tīng)插口來(lái)監(jiān)聽(tīng)telnet客戶端的連接請(qǐng)求,如果修改串口的監(jiān)聽(tīng)端口號(hào),則需要判斷是否有其他的串口在使用該監(jiān)聽(tīng)端口號(hào)進(jìn)行監(jiān)聽(tīng),如果有則表明該監(jiān)聽(tīng)插口還有別的端口正在使用,不需要關(guān)閉監(jiān)聽(tīng)插口;否則表明已經(jīng)沒(méi)有串口需要使用該監(jiān)聽(tīng)插口,所以需要關(guān)閉該監(jiān)聽(tīng)插口。
如果有其它的同異步串口(例如串口2)的監(jiān)聽(tīng)端口號(hào)和串口1的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則將串口1的監(jiān)聽(tīng)插口號(hào)int_socket_id設(shè)置為搜索到的串口2的監(jiān)聽(tīng)插口號(hào),同時(shí)設(shè)置該串口1的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的監(jiān)聽(tīng)端口號(hào)new_listen_port,從而完成監(jiān)聽(tīng)端口號(hào)修改流程并退出。
反之,如果判斷沒(méi)有其它同異步串口的監(jiān)聽(tīng)端口號(hào)和串口1的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則重新根據(jù)端口號(hào)new_listen_port創(chuàng)建新的反向Telnet的監(jiān)聽(tīng)插口(該創(chuàng)建過(guò)程可參見(jiàn)《TCP/IP詳解卷2實(shí)現(xiàn)》第十五章,ISBN 7-111-07567-6/TP.1195),并將新的監(jiān)聽(tīng)插口號(hào)保存在串口1的監(jiān)聽(tīng)插口號(hào)int_socket_id中,同時(shí)設(shè)置該串口1的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的端口號(hào)new_listen_port,完成監(jiān)聽(tīng)端口號(hào)的修改流程并退出。
由于很多軟件作為Telnet客戶端使用反向Telnet方式對(duì)終端進(jìn)行管理。通過(guò)本發(fā)明的對(duì)監(jiān)聽(tīng)端口號(hào)修改的技術(shù),在這些軟件設(shè)計(jì)時(shí)可以不用再考慮路由器的同異步串口的監(jiān)聽(tīng)端口號(hào)。從而實(shí)現(xiàn)了對(duì)其他軟件的完善支持。
下面結(jié)合圖2說(shuō)明Telnet客戶端和終端設(shè)備建立管理通道備份的處理方法。
當(dāng)監(jiān)聽(tīng)端口號(hào)為recv_listen_port的反向Telnet監(jiān)聽(tīng)插口接收到Telnet客戶端發(fā)起建立Telnet連接的請(qǐng)求時(shí),即進(jìn)入建立Telnet客戶端和終端設(shè)備管理通道的流程。
按如下步驟循環(huán)遍歷所有監(jiān)聽(tīng)端口號(hào)int_listen_port等于recv_listen_port的同異步串口。
1、判斷同異步串口(例如串口1)的物理狀態(tài)是否正常,如果該串口1的狀態(tài)為down(不可用),則紀(jì)錄串口1狀態(tài)為down的提示信息,繼續(xù)進(jìn)行下一個(gè)同異步串口的判斷。反之,如果判斷串口1的物理狀態(tài)為up(可用),則對(duì)串口1執(zhí)行下一步驟2;2、判斷串口1的串口任務(wù)是否已經(jīng)啟動(dòng),如果串口任務(wù)還沒(méi)有啟動(dòng),則紀(jì)錄串口1任務(wù)還沒(méi)有啟動(dòng)的信息,返回到步驟1繼續(xù)判斷下一個(gè)同異步串口,否則對(duì)串口1執(zhí)行判斷步驟3;3、判斷該同異步串口1的終端設(shè)備和Telnet客戶端是否已經(jīng)建立管理通道(即建立了反向Telnet連接),如果串口1已經(jīng)建立了反向Telnet連接,則紀(jì)錄該串口1已經(jīng)被占用的提示信息,然后返回步驟1繼續(xù)判斷下一個(gè)同異步串口;如果通過(guò)步驟1-3的循環(huán)過(guò)程判斷出所有的同異步串口都不可用(例如所有同異步串口均處于物理狀態(tài)為down或者串口任務(wù)還沒(méi)有啟動(dòng)或者已經(jīng)建立了反向Telnet連接等),說(shuō)明沒(méi)有可以用來(lái)建立所要求的管理通道的串口,則路由器向Telnet客戶端發(fā)送紀(jì)錄的提示信息,同時(shí)關(guān)閉Telnet連接請(qǐng)求,退出建立管理通道的備份流程。
相反,如果在上述判斷中有可以使用的同異步串口,Telnet連接建立成功,由該串口對(duì)該Telnet進(jìn)行數(shù)據(jù)接收和發(fā)送,從Telnet客戶端接收到的數(shù)據(jù)發(fā)送到串口設(shè)備,將從串口設(shè)備接收的數(shù)據(jù)發(fā)送到Telnet客戶端。這樣,就建立起Telnet客戶端和與串口連接的終端設(shè)備的管理通道,實(shí)現(xiàn)Telnet客戶端和終端設(shè)備之間的數(shù)據(jù)傳輸,完成了管理通道的建立。在建立了一個(gè)管理通道后就不需要再檢查其它的串口了。
綜上所述,通過(guò)本發(fā)明的上述對(duì)監(jiān)聽(tīng)端口號(hào)進(jìn)行配置的方法,可以根據(jù)需要修改端口號(hào),將路由器的多個(gè)串口的監(jiān)聽(tīng)端口號(hào)設(shè)置為相同的端口號(hào)來(lái)反向telnet到該端口號(hào)。換言之,實(shí)現(xiàn)了使所有的同異步串口的監(jiān)聽(tīng)端口號(hào)可以任意設(shè)置,從而對(duì)同一個(gè)監(jiān)聽(tīng)端口號(hào)可以使用反向telnet與多個(gè)串口設(shè)備建立連接的功能。而通過(guò)上述建立管理通道的方法,就可以利用上述對(duì)監(jiān)聽(tīng)端口號(hào)進(jìn)行配置的方法所實(shí)現(xiàn)的上述功能,根據(jù)telnet的端口號(hào)為一條反向telnet連接選擇一個(gè)可以使用的串口。如果第一個(gè)串口出現(xiàn)問(wèn)題,反向telnet會(huì)自動(dòng)連接到下一個(gè)具有該端口號(hào)的串口,建立管理通道。這樣就可以在路由器中實(shí)現(xiàn)管理通道的備份功能。
權(quán)利要求
1.在路由器中建立終端管理通道備份的方法,所述方法在路由器中建立基于反向Telnet的終端管理通道備份,其特征在于,該方法包括1)當(dāng)反向Telnet客戶端請(qǐng)求建立對(duì)終端設(shè)備的管理通道時(shí),在路由器中配置所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與所述路由器同異步串口的對(duì)應(yīng)關(guān)系;和2)根據(jù)為所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)配置的所述路由器的同異步串口,建立所述反向Telnet客戶端與所述終端設(shè)備的管理通道。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述配置所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與所述路由器同異步串口對(duì)應(yīng)關(guān)系的步驟包括1-1)當(dāng)通過(guò)命令輸入同異步串口的反向Telnet新的監(jiān)聽(tīng)端口號(hào)new_listen_port時(shí),判斷新端口號(hào)new_listen_port和該同異步串口原有端口號(hào)old_listen_port是否相同,如果相同,則配置過(guò)程結(jié)束;1-2)如果新端口號(hào)new_listen_port和原有監(jiān)聽(tīng)端口號(hào)old_listen_port不同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同;1-3)如果有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;1-4)如果沒(méi)有其他的同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則直接關(guān)閉該串口的原有的監(jiān)聽(tīng)插口,并進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;1-5)如果有其它的同異步串口的監(jiān)聽(tīng)端口號(hào)和該串口需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則將該串口的監(jiān)聽(tīng)插口號(hào)int_socket_id設(shè)置為搜索到的串口的監(jiān)聽(tīng)插口號(hào),同時(shí)設(shè)置該串口的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的監(jiān)聽(tīng)端口號(hào)new_listen_port;1-6)如果判斷沒(méi)有其它同異步串口的監(jiān)聽(tīng)端口號(hào)和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則重新根據(jù)端口號(hào)new_listen_port創(chuàng)建新的反向Telnet的監(jiān)聽(tīng)插口,并將新的監(jiān)聽(tīng)插口號(hào)保存在串口1的監(jiān)聽(tīng)插口號(hào)int_socket_id中,同時(shí)設(shè)置該串口的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的端口號(hào)new_listen_port。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,建立所述反向Telnet客戶端與所述終端設(shè)備的管理通道的方法包括2-1)監(jiān)聽(tīng)端口號(hào)為recv_listen_port的反向Telnet監(jiān)聽(tīng)插口接收由Telnet客戶端對(duì)該監(jiān)聽(tīng)插口發(fā)送的建立Telnet連接的請(qǐng)求;2-2)循環(huán)遍歷所有監(jiān)聽(tīng)端口號(hào)int_listen_port等于recv_listen_port的同異步串口;2-3)如果循環(huán)遍歷的結(jié)果是所有的上述同異步串口都不可用,則關(guān)閉Telnet連接請(qǐng)求;否則2-4)對(duì)可以使用的同異步串口建立Telnet連接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述循環(huán)遍歷的過(guò)程包括如下步驟2-2-1)判斷同異步串口的物理狀態(tài)是否正常,如果該串口的狀態(tài)不正常,則繼續(xù)進(jìn)行下一個(gè)同異步串口的判斷;否則2-2-2)判斷該串口的串口任務(wù)是否已經(jīng)啟動(dòng),如果串口任務(wù)還沒(méi)有啟動(dòng),則繼續(xù)判斷下一個(gè)同異步串口;否則2-2-3)判斷該同異步串口的終端設(shè)備和Telnet客戶端是否已經(jīng)建立管理通道,如果已經(jīng)建立,然后返回步驟1繼續(xù)判斷下一個(gè)同異步串口,如果未建立,則建立Telnet客戶端和與該串口連接的終端設(shè)備的管理通道。
5.在路由器中為終端設(shè)備配置所對(duì)應(yīng)的同異步串口的方法,包括如下步驟1)當(dāng)通過(guò)命令輸入同異步串口的反向Telnet新的監(jiān)聽(tīng)端口號(hào)new_listen_port時(shí),判斷新端口號(hào)new_listen_port和該同異步串口原有端口號(hào)old_listen_port是否相同,如果相同,則配置過(guò)程結(jié)束;2)如果新端口號(hào)new_listen_port和原有監(jiān)聽(tīng)端口號(hào)old_listen_port不同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同;3)如果有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;4)如果沒(méi)有其他的同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口原有監(jiān)聽(tīng)端口號(hào)old_listen_port相同,則直接關(guān)閉該串口的原有的監(jiān)聽(tīng)插口,并進(jìn)一步判斷是否有其他同異步串口的監(jiān)聽(tīng)端口號(hào)int_listen_port和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同;5)如果有其它的同異步串口的監(jiān)聽(tīng)端口號(hào)和該串口需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則將該串口的監(jiān)聽(tīng)插口號(hào)int_socket_id設(shè)置為搜索到的串口的監(jiān)聽(tīng)插口號(hào),同時(shí)設(shè)置該串口的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的監(jiān)聽(tīng)端口號(hào)new_listen_port;6)如果判斷沒(méi)有其它同異步串口的監(jiān)聽(tīng)端口號(hào)和該串口的需要設(shè)置的新監(jiān)聽(tīng)端口號(hào)new_listen_port相同,則重新根據(jù)端口號(hào)new_listen_port創(chuàng)建新的反向Telnet的監(jiān)聽(tīng)插口,并將新的監(jiān)聽(tīng)插口號(hào)保存在串口1的監(jiān)聽(tīng)插口號(hào)int_socket_id中,同時(shí)設(shè)置該串口的監(jiān)聽(tīng)端口號(hào)int_listen_port為新的端口號(hào)new_listen_port。
6.在路由器中建立反向Telnet客戶端與終端設(shè)備的管理通道的方法,包括1)監(jiān)聽(tīng)端口號(hào)為recv_listen_port的反向Telnet監(jiān)聽(tīng)插口接收由Telnet客戶端對(duì)該監(jiān)聽(tīng)插口發(fā)送的建立Telnet連接的請(qǐng)求;2)循環(huán)遍歷所有監(jiān)聽(tīng)端口號(hào)int_listen_port等于recv_listen_port的同異步串口;3)如果循環(huán)遍歷的結(jié)果是所有的上述同異步串口都不可用,則關(guān)閉Telnet連接請(qǐng)求;否則4)對(duì)可以使用的同異步串口建立Telnet連接。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述循環(huán)遍歷的過(guò)程包括如下步驟2-1)判斷同異步串口的物理狀態(tài)是否正常,如果該串口的狀態(tài)不正常,則繼續(xù)進(jìn)行下一個(gè)同異步串口的判斷;否則2-2)判斷該串口的串口任務(wù)是否已經(jīng)啟動(dòng),如果串口任務(wù)還沒(méi)有啟動(dòng),則繼續(xù)判斷下一個(gè)同異步串口;否則2-3)判斷該同異步串口的終端設(shè)備和Telnet客戶端是否已經(jīng)建立管理通道,如果已經(jīng)建立,然后返回步驟1繼續(xù)判斷下一個(gè)同異步串口,如果未建立,則建立Telnet客戶端和與該串口連接的終端設(shè)備的管理通道。
全文摘要
本發(fā)明提供了在路由器中建立基于反向Telnet的終端管理通道備份的方法,其特征在于,該方法包括當(dāng)反向Telnet客戶端請(qǐng)求建立對(duì)終端設(shè)備的管理通道時(shí),在路由器中配置所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)與所述路由器同異步串口的對(duì)應(yīng)關(guān)系;和根據(jù)為所述終端設(shè)備的反向Telnet監(jiān)聽(tīng)端口號(hào)配置的所述路由器的同異步串口,建立所述反向Telnet客戶端與所述終端設(shè)備的管理通道。利用本發(fā)明的方法,可以實(shí)現(xiàn)對(duì)需要進(jìn)行管理的終端設(shè)備的端口號(hào)進(jìn)行統(tǒng)一規(guī)劃,根據(jù)具體的需要設(shè)置端口號(hào),而且可以實(shí)現(xiàn)對(duì)其他軟件的支持。此外,本發(fā)明能夠通過(guò)固定的端口號(hào)和終端設(shè)備建立多條管理通道,實(shí)現(xiàn)對(duì)終端設(shè)備管理的備份功能。
文檔編號(hào)H04B1/74GK1571351SQ03146089
公開(kāi)日2005年1月26日 申請(qǐng)日期2003年7月22日 優(yōu)先權(quán)日2003年7月22日
發(fā)明者趙玉金 申請(qǐng)人:華為技術(shù)有限公司