Network

파일 전송을 위한 FTP 프로토콜

8bin 2025. 1. 22. 23:29

파일 전송 프로토콜 (File Transfer Protocol) 

FTP(File Transfer Protocol)는 네트워크 상에서 파일을 전송하기 위한 표준 프로토콜이다.

TCP/IP 네트워크에서 서버와 클라이언트 간 파일을 업로드하거나 다운로드하는 데 사용되며 특히 대용량 파일을 전송하거나 디렉터리 구조를 관리하는 데 적합하다. 

 

FTP의 주요 포트 번호

1. 제어 포트 (Command Port) :

  • 21번 포트를 사용하여 클라이언트와 서버 간 명령어를 주고 받는다. (전송 제어)
  • 인증과 파일 전송 명령은 21번 포트에서 처리 

2. 데이터 포트 (Data Port) :

  • 20번 포트를 사용하여 파일데이터를 전송한다.
  • 데이터 전송 방법(활성 모드 또는 수동 모드)에 따라 포트 번호가 다르게 동작할 수있다. 

 

FTP의 두 가지 모드

  • FTP는 두 가지 모드로 작동하며, 모드에 따라 데이터 전송 방식이 달라진다.

 

1. 활성 모드 (Active Mode) 

  1. 클라이언트는 서버로 PORT 명령어를 보내면서 데이터 연결에 사용할 포트를 지정한다.
  2. 서버는 명령을 확인하고, 클라이언트의 요청에 OK 응답을 보낸다.
  3. 서버는 자신의 데이터 포트(20번)를 사용하여 클라이언트의 지정 포트로 데이터 채널을 생성한다.
  4. 연결된 데이터 채널을 통해 파일 데이터를 전송한다.

 

2. 수동 모드 (Passive Mode)

  1. 클라이언트는 서버로 PASV 명령어를 보내 수동 모드로 전환을 요청한다.
  2. 서버는 데이터 전송에 사용할 포트를 지정하고, 이 포트를 클라이언트에게 반환한다.
  3. 클라이언트는 서버가 반환한 포트로 연결을 열고, 데이터 채널을 생성한다.
  4. 연결된 데이터 채널을 통해 파일 데이터를 전송한다.

 

3. 두 가지 모드의 주요 차이점 비교

구분 활성 모드 (Active Mode) 수동 모드 (Passive Mode)
연결 방식 서버가 클라이언트에 데이터 연결 시도 클라이언트가 서버에 데이터 연결 시도
방화벽 문제 방화벽 환경에서 작동이 어려움 방화벽 환경에서 더 안정적
데이터 포트 클라이언트가 지정한 포트로 연결 서버가 지정한 포트로 연결