欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文件傳輸協(xié)議數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法及裝置與流程

文檔序號:12740037閱讀:613來源:國知局
文件傳輸協(xié)議數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)業(yè)務技術領域,尤其涉及一種文件傳輸協(xié)議(FTP,F(xiàn)ile Transfer Protocol)數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法及裝置。



背景技術:

在互聯(lián)網(wǎng)和移動通信系統(tǒng)中,文件作為兩個模塊的接口有著大量應用,比如:業(yè)務系統(tǒng)和業(yè)務運營支撐系統(tǒng)(BOSS,Business&Operation Support System)就以話單文件為接口,網(wǎng)管系統(tǒng)則用于采集各業(yè)務系統(tǒng)的日志文件等,而在這些應用的實現(xiàn)過程中,F(xiàn)TP則成為系統(tǒng)間文件傳輸?shù)闹匾侄巍?/p>

FTP是傳輸控制協(xié)議/網(wǎng)絡協(xié)議(TCP/IP,Transmission Control Protocol/Internet Protocol)協(xié)議組中的協(xié)議之一,如圖1所示,通常,基于FTP協(xié)議進行通信的實體包括:FTP服務端11和FTP客戶端12,在實際應用中,用戶可以使用FTP客戶端12通過FTP進行文件的上傳或下載等操作。

目前,基于FTP實現(xiàn)通信的過程包括:FTP服務端11會先打開一個固定端口等待FTP客戶端12連接,默認端口號為21;FTP客戶端12先與FTP服務端11建立控制鏈路,進行鑒權和控制命令的交互;然后,F(xiàn)TP客戶端12通過被動(PASV)模式或主動(PORT)模式建立數(shù)據(jù)鏈路,進行數(shù)據(jù)傳輸。

這里,PASV模式和PORT模式是FTP數(shù)據(jù)鏈路建立支持的兩種模式;其中,所述PASV模式是指:FTP客戶端12與FTP服務端11默認的控制端口建立連接,通過所建立的通道發(fā)送命令,F(xiàn)TP服務端11收到PASV命令后,隨機打開一個高端端口(端口號大于1024),并通知FTP客戶端12在打開的端口上傳送數(shù)據(jù)的請求;FTP客戶端12連接FTP服務端11通知的端口并建立數(shù)據(jù)鏈路,進行數(shù)據(jù)傳送。所述PORT模式是指:在建立控制鏈路時與PASV模式一 樣,但建立連接后發(fā)送Port命令,Port命令中包含有FTP客戶端12選用哪個端口接收數(shù)據(jù);FTP服務端11連接FTP客戶端12的指定端口并建立數(shù)據(jù)鏈路,進行數(shù)據(jù)傳送。

從PASV模式數(shù)據(jù)鏈路建立過程可以看出,PASV模式會隨機打開一個端口用于數(shù)據(jù)鏈路的建立;這里,PASV模式之所以使用隨機端口是因為:數(shù)據(jù)鏈路是沒有任何標識的,通過每個控制鏈路產(chǎn)生的隨機數(shù)據(jù)鏈路端口不一樣,如此,可實現(xiàn)控制鏈路和數(shù)據(jù)鏈路的關聯(lián),F(xiàn)TP服務端11通過此方式得以區(qū)分不同控制鏈路發(fā)來的文件上傳/下載命令指定的文件和數(shù)據(jù)是在哪一條數(shù)據(jù)鏈路上傳輸?shù)摹?/p>

然而,一般以文件為接口的兩個系統(tǒng)獨立性高,系統(tǒng)間可能存在防火墻等保護措施;而作為防火墻保護的一方,防火墻可以為服務開放的端口是確定且有限的,一般要求開放的端口要盡量少,這就使得PASV模式在系統(tǒng)間存在防火墻時無法使用,如何能在具有防火墻的場景下使用PASV模式完成FTP數(shù)據(jù)鏈路的建立是亟需解決的問題。



技術實現(xiàn)要素:

有鑒于此,本發(fā)明實施例期望提供一種FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法及裝置,能使PASV模式在具有防火墻的場景下完成FTP數(shù)據(jù)鏈路的建立。

為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:

本發(fā)明實施例提供了一種FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法,在FTP服務端設置固定的控制端口和數(shù)據(jù)端口,并設置IP地址隊列;該方法還包括:

接收FTP客戶端向所述控制端口發(fā)送的控制鏈路連接請求后,F(xiàn)TP服務端建立控制鏈路;

接收FTP客戶端向所述數(shù)據(jù)端口發(fā)送的連接請求和向所述控制端口發(fā)送的PASV請求,確定所述IP地址隊列中不存在所述FTP客戶端的IP地址時,將所述FTP客戶端的IP地址加入所述IP地址隊列中;

FTP服務端對所述IP地址隊列中不同IP地址對應的FTP客戶端發(fā)送的 PASV請求進行處理。

上述方案中,所述方法還包括:確定所述IP地址隊列中存在所述FTP客戶端的IP地址時,等待IP地址隊列中與發(fā)送所述PASV請求的FTP客戶端的IP地址相同的IP地址被刪除后,再將所述FTP客戶端的IP地址加入所述IP地址隊列中,對來自同一個IP地址的多個PASV請求串行處理。

上述方案中,所述建立控制鏈路包括:FTP服務端接收控制鏈路連接請求后,對用戶名、密碼、IP地址進行鑒權。

上述方案中,所述接收FTP客戶端向所述數(shù)據(jù)端口發(fā)送的連接請求包括:FTP服務端從所述數(shù)據(jù)端口接收FTP客戶端發(fā)送的連接請求,對所述FTP客戶端的IP地址是否合法進行判斷。

本發(fā)明實施例還提供了一種FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的裝置,所述裝置包括:

FTP服務端,設置有固定的控制端口和數(shù)據(jù)端口,設置有IP地址隊列;用于在接收FTP客戶端向所述控制端口發(fā)送的控制鏈路連接請求后,建立控制鏈路;在接收FTP客戶端向所述數(shù)據(jù)端口發(fā)送的連接請求和向控制端口發(fā)送的PASV請求后,確定所述IP地址隊列中不存在FTP客戶端的IP地址時,將所述FTP客戶端的IP地址加入所述IP地址隊列中;并對所述IP地址隊列中不同IP地址對應的FTP客戶端發(fā)送的PASV請求進行處理;

FTP客戶端,用于向所述控制端口發(fā)送控制鏈路連接請求;向所述數(shù)據(jù)端口發(fā)送連接請求;向所述控制端口發(fā)送PASV請求。

上述方案中,所述FTP服務端,還用于在確定所述IP地址隊列中存在所述FTP客戶端的IP地址時,等待IP地址隊列中與發(fā)送所述PASV請求的FTP客戶端的IP地址相同的IP地址被刪除后,再將所述FTP客戶端的IP地址加入所述IP地址隊列中,對來自同一個IP地址的多個PASV請求串行處理。

上述方案中,所述FTP服務端,還用于在接收控制鏈路連接請求后,對用戶名、密碼、IP地址進行鑒權。

上述方案中,所述FTP服務端,還用于從所述數(shù)據(jù)端口接收FTP客戶端發(fā) 送的連接請求,對所述FTP客戶端的IP地址是否合法進行判斷。

上述方案中,所述FTP服務端還包括數(shù)據(jù)鏈路管理器,用于在建立數(shù)據(jù)鏈路時,通過數(shù)據(jù)端口接收FTP客戶端的連接請求,對FTP客戶端的IP地址進行判斷,如果IP地址非法,則關閉連接。

上述方案中,所述數(shù)據(jù)鏈路管理器,還用于在FTP服務端發(fā)送完PASV命令應答之后,查詢是否有對應IP地址的數(shù)據(jù)鏈路生成。

本發(fā)明實施例所提供的FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法及裝置,在FTP服務端設置固定的控制端口和數(shù)據(jù)端口,并設置IP地址隊列;接收FTP客戶端向所述控制端口發(fā)送的控制鏈路連接請求后,F(xiàn)TP服務端建立控制鏈路;接收FTP客戶端向所述數(shù)據(jù)端口發(fā)送的連接請求和向所述控制端口發(fā)送的PASV請求,確定所述IP地址隊列中不存在所述FTP客戶端的IP地址時,將所述FTP客戶端的IP地址加入所述IP地址隊列中;FTP服務端對所述IP地址隊列中不同IP地址對應的FTP客戶端發(fā)送的PASV請求進行處理??梢钥闯?,由于本發(fā)明實施例在FTP服務端和FTP客戶端之間采用固定的端口進行通信交互,因此,解決了現(xiàn)有技術中FTP服務器在防火墻內(nèi)時無法使用PASV模式的問題;并且,能夠在移動業(yè)務系統(tǒng)、網(wǎng)管系統(tǒng)、分析經(jīng)營系統(tǒng)、計費系統(tǒng)等可能存在防火墻的不同系統(tǒng)之間,通過FTP技術進行文件交換和數(shù)據(jù)分享。

另外,本發(fā)明實施例中,如果發(fā)送PASV請求的FTP客戶端的IP地址在IP地址隊列中已存在,則相應的PASV請求需要先等待,等到IP地址隊列中與發(fā)送該PASV請求的FTP客戶端的IP地址相同的IP地址被刪除后,才能將發(fā)送該PASV請求的FTP客戶端的IP地址加入IP地址隊列,如此,可實現(xiàn)對來自同一個IP地址的多個PASV請求的串行處理。

附圖說明

圖1為現(xiàn)有技術中FTP的實現(xiàn)模型示意圖;

圖2為本發(fā)明實施例FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法流程示意圖;

圖3為本發(fā)明實施例中IP地址隊列操作的實現(xiàn)流程示意圖;

圖4為本發(fā)明實施例中固定端口數(shù)據(jù)鏈路的具體通信過程實現(xiàn)流程示意圖;

圖5為本發(fā)明實施例在同一時間三個控制鏈路上各收到PASV請求的場景示意圖;

圖6為本發(fā)明實施例中FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的裝置結構示意圖。

具體實施方式

本發(fā)明實施例中,在FTP服務端設置固定的控制端口和數(shù)據(jù)端口,并設置IP地址隊列;接收FTP客戶端向所述控制端口發(fā)送的控制鏈路連接請求后,F(xiàn)TP服務端建立控制鏈路;接收FTP客戶端向所述數(shù)據(jù)端口發(fā)送的連接請求和向所述控制端口發(fā)送的PASV請求,確定所述IP地址隊列中不存在所述FTP客戶端的IP地址時,將所述FTP客戶端的IP地址加入所述IP地址隊列中;FTP服務端對所述IP地址隊列中不同IP地址對應的FTP客戶端發(fā)送的PASV請求進行處理。

這里,F(xiàn)TP服務端始終打開控制端口和數(shù)據(jù)端口。

本發(fā)明實施例中,對于任意FTP客戶端的IP地址,如果已存在于IP地址隊列中,就需要先等待;如果未存在于IP地址隊列中,就可以加入到IP地址隊列中;那么,對于IP地址隊列中多個來自不同的IP地址對應的FTP客戶端的請求,就會被同時處理;而對于多個來自相同的IP地址對應的FTP客戶端的請求,將會被串行處理。

下面結合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。

本發(fā)明實施例FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的方法,如圖2所示,該方法包括:

步驟S201:在FTP服務端設置固定的控制端口和數(shù)據(jù)端口,并設置IP地址隊列;

通常,防火墻會配置打開用于控制鏈路傳輸?shù)亩丝诤陀糜跀?shù)據(jù)鏈路傳輸?shù)? 端口,本發(fā)明實施例在FTP服務端始終打開兩個固定的端口——控制端口和數(shù)據(jù)端口,分別接收發(fā)至對應端口的請求。

步驟S202:接收FTP客戶端向所述控制端口發(fā)送的控制鏈路連接請求后,F(xiàn)TP服務端建立控制鏈路;

步驟S203:接收FTP客戶端向所述數(shù)據(jù)端口發(fā)送的連接請求和向所述控制端口發(fā)送的PASV請求,確定所述IP地址隊列中不存在所述FTP客戶端的IP地址時,將所述FTP客戶端的IP地址加入所述IP地址隊列中;

步驟S204:FTP服務端對所述IP地址隊列中不同IP地址對應的FTP客戶端發(fā)送的PASV請求進行處理。

這里,所述處理可以是對多個PASV請求同時處理。

本發(fā)明實施例中,所述IP地址隊列在FTP服務端實現(xiàn),由一個IP地址字符串的集合組成。

步驟S203中,所述確定所述IP地址隊列中不存在所述FTP客戶端的IP地址時,將所述FTP客戶端的IP地址加入所述IP地址隊列中,如圖3所示,具體包括以下步驟:

步驟S301:判斷PASV請求是否需要等待;

具體的,F(xiàn)TP服務端收到PASV請求后,通過對IP地址隊列中是否存在發(fā)送PASV請求的FTP客戶端的IP地址,來判斷PASV請求是否需要等待;

步驟S302:對于不需要等待的PASV請求,將所述PASV請求對應的FTP客戶端的IP地址加入IP地址隊列;

這里,對于需要等待的PASV請求,等待可以加入的時機;

步驟S303:處理完所述PASV請求后,從IP地址隊列中刪除所述PASV請求對應的FTP客戶端的IP地址。

本發(fā)明實施例中固定端口數(shù)據(jù)鏈路的具體通信過程的實現(xiàn),如圖4所示,此處假設防火墻配置打開控制端口K用于控制鏈路傳輸、打開數(shù)據(jù)端口J用于數(shù)據(jù)鏈路傳輸,具體包括以下步驟:

步驟S401:FTP服務端始終打開控制端口K,F(xiàn)TP客戶端向控制端口K發(fā) 送連接請求,F(xiàn)TP服務端接收連接請求后,對用戶名、密碼、IP地址等信息進行鑒權,建立控制鏈路。

步驟S402:FTP服務端始終打開數(shù)據(jù)端口J,由數(shù)據(jù)鏈路管理器從數(shù)據(jù)端口J接收連接請求,對FTP客戶端的IP地址進行判斷,如果IP地址非法,則關閉連接。

步驟S403:當FTP服務端從控制鏈路收到PASV請求后,先查詢IP隊列中是否存在該FTP客戶端的IP地址,如果存在,則等待。

步驟S404:請求等待一定時間后,判斷請求是否超時,如果超時,則關閉控制鏈路,結束本次處理流程;如果未超時,則再次判斷請求是否需要等待。

步驟405:如果請求不需要等待,則將FTP客戶端的IP地址加入IP地址隊列,并向FTP客戶端發(fā)送PASV命令的應答,應答消息中指定的數(shù)據(jù)端口始終為J,通知FTP客戶端可以連接數(shù)據(jù)端口J建立數(shù)據(jù)鏈路。

步驟S406:發(fā)送完PASV命令應答之后,從數(shù)據(jù)鏈路管理器查詢是否有對應IP地址的數(shù)據(jù)鏈路生成,如果有,則執(zhí)行步驟S407,如果沒有,則執(zhí)行步驟S408。

步驟S407:進行控制鏈路和數(shù)據(jù)鏈路關聯(lián),然后從IP隊列中刪除對應的IP地址。

步驟S408:判斷是否超時,直到超時未從數(shù)據(jù)鏈路管理器中查詢到對應IP地址的數(shù)據(jù)鏈路,則將對應的IP地址從IP隊列中刪除,同時關閉控制鏈路。

為方便理解,現(xiàn)舉例說明本發(fā)明在同一時間三個控制鏈路各收到PASV請求的場景及其處理過程,如圖5所示,三個控制鏈路包括控制鏈路51、控制鏈路52和控制鏈路53;其中,控制鏈路51、52對應的FTP客戶端地址為IP1,控制鏈路53對應的FTP客戶端地址為IP2;參見圖5,本實施例中固定端口數(shù)據(jù)鏈路的具體通信過程實現(xiàn)流程包括:

對于控制鏈路51,F(xiàn)TP服務端先通過控制端口K與地址為IP1的FTP客戶端建立控制鏈路51,通過數(shù)據(jù)端口J接收FTP客戶端的連接請求并判斷FTP客戶端的IP合法,從控制鏈路51收到FTP客戶端發(fā)送的PASV請求后,查詢 到IP隊列中不存在IP1,將IP1加入IP地址隊列,并向FTP客戶端發(fā)送PASV命令的應答,應答消息中指定的數(shù)據(jù)端口始終為J,通知FTP客戶端可以連接數(shù)據(jù)端口J建立數(shù)據(jù)鏈路,數(shù)據(jù)鏈路管理器里查詢到有對應IP1的數(shù)據(jù)鏈路生成,將控制鏈路51與數(shù)據(jù)鏈路關聯(lián),然后從IP隊列中刪除IP1。

對于控制鏈路52,F(xiàn)TP服務端先通過控制端口K與地址為IP1的FTP客戶端建立控制鏈路52,通過數(shù)據(jù)端口J接收FTP客戶端的連接請求并判斷FTP客戶端的IP合法,從控制鏈路52收到FTP客戶端發(fā)送的PASV請求后,查詢到IP隊列中已存在IP1,則需要等待和再次查詢直到控制鏈路51從IP地址隊列中刪除IP1后,才將IP1地址加入IP隊列中,并向FTP客戶端發(fā)送PASV命令的應答,應答消息中指定的數(shù)據(jù)端口始終為J,通知FTP客戶端可以連接數(shù)據(jù)端口J建立數(shù)據(jù)鏈路,數(shù)據(jù)鏈路管理器里查詢到有對應IP1的數(shù)據(jù)鏈路生成,將控制鏈路52與數(shù)據(jù)鏈路關聯(lián),然后從IP隊列中刪除IP1。

對于控制鏈路53,F(xiàn)TP服務端先通過控制端口K與地址為IP2的FTP客戶端建立控制鏈路53,通過數(shù)據(jù)端口J接收FTP客戶端的連接請求并判斷FTP客戶端的IP合法,從控制鏈路53收到FTP客戶端發(fā)送的PASV請求后,查詢到IP隊列中不存在IP2,將IP2加入IP地址隊列,并向FTP客戶端發(fā)送PASV命令的應答,應答消息中指定的數(shù)據(jù)端口始終為J,通知FTP客戶端可以連接數(shù)據(jù)端口J建立數(shù)據(jù)鏈路,數(shù)據(jù)鏈路管理器里查詢到有對應IP2的數(shù)據(jù)鏈路生成,將控制鏈路53與數(shù)據(jù)鏈路關聯(lián),然后從IP隊列中刪除IP2。

這樣,控制鏈路53與控制鏈路51可以同時進行PASV請求處理,提高了FTP服務端的處理性能。

如圖6所示,本發(fā)明實施例提供的一種FTP數(shù)據(jù)鏈路實現(xiàn)固定通信端口的裝置,包括:FTP服務端61和FTP客戶端62;其中,

所述FTP服務端61,設置有固定的控制端口611和數(shù)據(jù)端口612,設置有IP地址隊列613;用于在接收FTP客戶端62向所述控制端口611發(fā)送的控制鏈路連接請求后,建立控制鏈路;在接收FTP客戶端62向所述數(shù)據(jù)端口發(fā)送的連接請求和向所述控制端口611發(fā)送的PASV請求后,確定所述IP地址隊列613 中不存在FTP客戶端62的IP地址時,將所述FTP客戶端62的IP地址加入所述IP地址隊列613中;并對所述IP地址隊列613中不同IP地址對應的FTP客戶端62發(fā)送的PASV請求進行處理。

所述FTP客戶端62,用于向所述控制端口611發(fā)送控制鏈路連接請求;向所述數(shù)據(jù)端口612發(fā)送連接請求;向所述控制端口611發(fā)送PASV請求。

所述FTP服務端61還包括數(shù)據(jù)鏈路管理器614,用于通過數(shù)據(jù)端口612接收FTP客戶端62的連接請求,對FTP客戶端62的IP地址進行判斷,如果IP地址非法,則關閉連接;用于在FTP服務端61發(fā)送完PASV命令應答之后,查詢是否有對應IP地址的數(shù)據(jù)鏈路生成。

這里,F(xiàn)TP服務端61始終打開控制端口611和數(shù)據(jù)端口612。

本發(fā)明實施例中,對于任意FTP客戶端62的IP地址,如果已存在于IP地址隊列中,就需要先等待;如果未存在于IP地址隊列中,就可以加入到IP地址隊列中;那么,對于IP地址隊列中多個來自不同的IP地址對應的FTP客戶端62的請求,就會被同時處理;而對于多個來自相同的IP地址對應的FTP客戶端62的請求,將會被串行處理。

以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
辰溪县| 汝州市| 称多县| 木里| 临朐县| 自治县| 策勒县| 井研县| 克什克腾旗| 夏河县| 高安市| 桐柏县| 新余市| 梧州市| 如皋市| 柳州市| 白朗县| 保亭| 甘洛县| 塘沽区| 济源市| 南乐县| 西青区| 奎屯市| 汉源县| 榆社县| 上蔡县| 繁峙县| 石城县| 江达县| 静安区| 嘉荫县| 新邵县| 汉源县| 油尖旺区| 湖南省| 来凤县| 浦城县| 福安市| 芒康县| 永康市|