FTP Active/Passive Mode

1. FTP(File Transfer Protocol)의 개념

개념특징
상호 연결된 서버와 클라이언트 간 파일을 신뢰성 있게 전송하기 위한 TCP/IP 통신 규약OSI Layer: Application Layer
TCP 기반 통신 신뢰성 있는 파일 전송
– 제어(Command, Control) 포트 사용
– 전송(Data, Transfer) 포트 사용
  • 인터넷, 인트라넷 등 상호 연결된 호스트 간 파일을 신뢰성 있게 전송하기 위해 1971년 개발된 프로토콜로 RFC 959에 등록

 

2. FTP Active/Passive Mode 메커니즘

(1) FTP Active Mode 메커니즘

연결 과정과정 설명
① Client는 Server에 Data Port 포함 연결 요청
② Server는 요청에 대한 응답
③ Server는 Client Data Port로 연결 요청
④ Client는 요청에 대한 응답
이후 파일(Data) 전송 시작

(2) FPT Passive Mode 메커니즘

연결 과정과정 설명
① Client는 Server에 PASV 모드로 연결 요청
② Server는 Data Port와 함께 요청에 응답
③ Client는 Server Data Port로 연결 요청
④ Server는 요청에 대한 응답
* Data Port는 별도 포트 사용
이후 파일(Data) 전송 시작
  • 일반적으로 파일 전송 시 FTP Active Mode를 사용하며, Client 앞에 방화벽 또는 NAT 장비가 존재하면 “③ Server는 Client Data Port로 연결 요청” 과정에서 차단되는 경우가 있으므로, 이 문제를 해결하기 위해 FTP Passive Mode를 사용

 

3. FTP Active Mode와 Passive Mode 비교

비교 항목Active ModePassive Mode
Server Port제어 포트: TCP 21
전송 포트: TCP 20
제어 포트: TCP 21
전송 포트: 별도 지정
Client Port제어 포트: 임의(자동) 지정
전송 포트: 제어 포트+1
제어 포트: 임의(자동) 지정
전송 포트: 제어 포트+1
Access 요청자ClientClient
Data Channel 요청자ServerClient
사용 기준기본 사용Active Mode 불가 시
  • FTP는 기본적으로 암호화되어 전송하지 않으므로 보안이 필요한 Data 전송 시 SFTP(SSH File Transfer Protocol)를 사용하여 파일을 암호화하여 안전하게 전송하는 것이 필요

 
[참고]

  • 위키백과, “File Transfer Protocol”

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^