FTP Server / Client

2024. 11. 14. 16:30FTP

반응형

FTP(File Transfer Protocol)은 인터넷을 통해 파일을 전송하기 위해 사용되는 표준 통신 프로토콜입니다.

➡️ 파일 전송 프로토콜

 

주로 클라이언트와 서버 간의 파일 업로드 및 다운로드를 위해 사용되며,

FTP 서버에 접속한 사용자는 파일을 전송하거나 디렉토리 내 파일을 관리할 수 있습니다.

 

FTP Server

FTP Server는 FTP를 통해 파일을 송수신할 수 있도록 서비스를 제공하는 서버입니다.

클라이언트가 FTP에 접속하여 서버에 저장된 파일을 다운로드하거나, 자신의 파일을 서버에 업로드할 수 있게 합니다.

 

FTP Server의 주요 특징

  • 파일 관리 기능: 파일 업로드, 다운로드, 삭제, 수정 + 디렉터리 생성, 삭제 등 파일 관리 작업을 지원합니다.
  • 접근 제어: 사용자 인증(ID/PW) 또는 공개 접근 방식을 지원하며, 사용자별 권한을 설정해 보안성을 유지합니다.
  • 활용 분야: 소프트웨어 배포, 백업, 대용량파일 공유 등 다양한 용도로 사용됩니다.
  • 전송 모드: Active 모드와 Passive 모드 두 가지 전송 모드를 지원하여 방화벽을 통해 전송을 조정합니다.

Active 모드

  • 클라이언트가 서버의 21번 포트로 연결 요청을 보낸 후, 서버가 클라이언트로 다시 연결을 시도합니다.
  • 서버는 20번 포트를 사용하여 클라이언트로 데이터를 전송합니다.

Passive 모드

  • 클라이언트가 서버의 21번 포트로 연결 요청을 보낸 후, 클라이언트가 서버가 지정한 임시 포트로 연결합니다.
  • 서버는 임시 포트를 할당하여 클라이언트가 그 포트로 연결하도록 합니다.
구분 Active 모드 Passive 모드
데이터 연결 서버가 클라이언트에게 데이터 포트를 연결 클라이언트가 서버가 제공하는 포트에 연결
연결 방식 서버 → 클라이언트 클라이언트 → 서버
방화벽 문제 클라이언트 방화벽에서 문제가 발생할 수 있음 서버 방화벽에서 문제가 발생할 수 있음
제어 연결 클라이언트 → 서버 (21포트) 클라이언트 → 서버 (21포트)

 

 FTP Client

FTP Client는 FTP를 사용하여 원격 서버와 파일을 전송하거나 관리하는 프로그램입니다.

사용자가 서버로 파일을 업로드하거나 서버에서 파일을 다운로드하는 작업을 쉽게 할 수 있도록 돕습니다.

 

FTP Client의 주요 기능

  • 파일 업로드/다운로드: 로컬 컴퓨터와 원격 서버 간에 파일을 전송할 수 있습니다.
  • 디렉토리 탐색: 원격 서버에 연결하여 서버의 파일시스템을 탐색하고, 원하는 파일을 찾아서 작업할 수 있습니다.
  • 파일 관리: 단순한 업로드 외에도 파일 삭제, 이름 변경, 복사 등의 작업을 지원합니다.
  • 파일 속성 관리: 파일 권한, 소유자, 수정 날짜 등의 속성을 확인하고 변경할 수 있습니다.
  • 보안 전송(SFTP/FTPS): 보안 프로토콜을 지원하여 파일 전송 시 데이터를 암호화하여 안전하게 보호합니다.
  • 자동화된 작업: 스크립트나 배치 파일을 활용해 파일 전송 작업을 자동화할 수 있습니다.

FTP 클라이언트 종류

FTP 클라이언트는 크게 명령어 기반GUI 기반으로 구분됩니다.
각 방식은 사용자의 요구에 맞게 선택할 수 있습니다.

  1. 명령어 기반 FTP 클라이언트
    • 텍스트 기반의 터미널(콘솔)에서 FTP 명령어를 입력하여 서버와 상호작용하는 방식입니다.
    • 대표적인 예로는 Windows의 cmd, Linux/Unix의 FTP 명령어가 있습니다.
  2. GUI 기반 FTP 클라이언트
    • 그래픽 인터페이스를 제공하여 사용자가 파일을 쉽게 전송하고 관리할 수 있도록 합니다.
    • 대표적인 예로는 FileZilla, WinSCP, Cyberduck, Transmit이 있습니다.
반응형