ftp連接的主動模式
作者:佚名 時間:2012-11-27 分享到:
主動模式(active mode)是ftp協議最初使用的工作模式,在一個主動模式數據傳輸初始化時,服務器開啟20端口連接端的一個大于1024的隨機端口,然后進行數據傳遞.
1.客戶端向服務器21端口,提交建立數據連接的請求,并通知服務器,客戶端使用的數據端口號,客戶端會使用這個大于1024的端口,等待服務器的數據連接.
2.服務器使用20端口,"主動"向客戶端的數據端口進行連接.
3.客戶端接收到服務器確認后,會通過tcp的三次握手,完成與服務器數據連接的建立.
主動模式在大部分時間能夠良好地完成數據傳輸工作,但在特殊情況下,服務器無法與客戶端進行連接,如果,客戶端處于網絡內部,通過代理服務器接入互聯網,或者網絡出口配置防火墻,就會導致主動模式無法正常工作,當客戶端進行第一步,將數據連接的請求經過代理服務器或者防火墻,轉發給服務器,通知其數據端口號時,因為與服務器建立連接的為網絡外部的代理服務器或者防火墻,所以服務器會使用20端口,連接這些設備的數據端口號,而這個端口是客戶端開啟的,它們并沒有啟用這個端口號,所以服務器的"主動"連接的動作會被屏蔽掉,因此,客戶端如果處于網絡內容,通過其他設備的轉發方式訪問ftp服務器時,主動模式是無法建立數據連接時,這時,就需要使用被動模式.