2023년 3월 26일
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 Mode | Passive Mode |
---|---|---|
Server Port | 제어 포트: TCP 21 전송 포트: TCP 20 | 제어 포트: TCP 21 전송 포트: 별도 지정 |
Client Port | 제어 포트: 임의(자동) 지정 전송 포트: 제어 포트+1 | 제어 포트: 임의(자동) 지정 전송 포트: 제어 포트+1 |
Access 요청자 | Client | Client |
Data Channel 요청자 | Server | Client |
사용 기준 | 기본 사용 | Active Mode 불가 시 |
- FTP는 기본적으로 암호화되어 전송하지 않으므로 보안이 필요한 Data 전송 시 SFTP(SSH File Transfer Protocol)를 사용하여 파일을 암호화하여 안전하게 전송하는 것이 필요
[참고]
- 위키백과, “File Transfer Protocol”