FTP是常見的基于TCP的網絡服務,它使用了兩個TCP連接來建立邏輯通信信道,即控制連接和數據連接。當客戶端與服務器建立一個FTP會話時,使用TCP創建一個持久的控制連接以傳遞命令和應答。當發送文件和其它數據傳輸時,它們在獨立的TCP數據連接上進行傳遞,這個連接根據需要創建和拆除。
FTP標準指定了創建數據連接的兩種不同方法,即主動數據連接和被動數據連接。FTP的控制連接總是由客戶端首先發起的,主動數據連接是由客戶端發起的,被動數據連接是由服務器端發起的。FTP創建數據連接的工作機制帶來了一個嚴重的問題,在FTP的命令或對它們的回答中傳遞IP地址及端口號與網絡分層機制嚴重沖突,在FTP客戶端與服務器的通信信道之間的網關設備(防火墻或路由器)上啟用了NAT功能的情況下將出現連接性問題。
對于FTP的多端口連接的TCP應用,防火墻的影響是很大的。FTP主動模式下,FW檢測PORT命令報文的應用層信息,將應用層攜帶的IP地址和端口記錄在Server-map表中。由于PORT命令的應用層信息中攜帶了客戶端的IP地址和向服務器隨機開放的端口,FW通過分析PORT命令的應用層信息,提前預測到后續報文的行為方式,根據應用層信息中的IP和端口創建Server-map表。服務器向客戶端發起數據連接的報文到達FW后命中該Server-map表項,不再受安全策略的控制。
FTP被動模式下,客戶端使用隨機端口xxxx向服務器的21端口發起連接請求建立控制通道,然后使用PASV命令協商兩者建立數據通道的端口號,協商出來的端口是yyyy。然后客戶端主動向服務器的yyyy端口發起連接請求,建立數據通道。數據通道建立成功后再進行數據傳輸。由于PASV命令的應用層信息中攜帶了數據連接中客戶端使用的ip地址和端口號,防火墻通過分析PASV命令中的參數,提前預測到后續報文的行為方式,根據應用層信息中的IP和端口創建Server-map表。后續客戶端向服務器端發起的數據連接就會命中該server-map表項,不用查詢防火墻的策略表就可以放行后續報文。
?
租用服務器,詳細咨詢QQ:80496086
了解更多服務器及資訊,請關注夢飛科技官方網站 http://www.qzkangyuan.com/,感謝您的支持!