FTP와 TFTP

hi2li·2026년 4월 19일

network

목록 보기
15/17

FTP : File Transfer Protocol

  • 파일을 주고 받기 위한 표준 프로토콜
  • FTP는 제어 연결과 데이터 연결을 분리하여 사용하는 것이 특징이다.
    - 기본적으로 TCP 21번 포트를 사용하여 제어 연결을 수행한다.
    - 파일 전송을 위한 데이터 연결은 Active Mode와 Passive Mode에 따라 달라진다.
  • 암호화를 사용하지 않고 평문으로 전송됨.
  • 파일 전송 전 사용자 인증을 수행한다.
  • 파일업로드, 다운로드 가능
  • 디렉터리 목록 조회 가능 (SSH같은 원격 컴퓨터 조작은 아님)
  • 익명접속 가능 (로그인 시 아이디를 anonymous로 입력.)






FTP의 데이터 전송 방식

  • FTP는 제어 연결과 데이터 연결을 분리하여 사용한다.
  • 제어 연결은 TCP 21번 포트를 사용하며, 사용자 인증, 디렉터리 조회, 파일 전송 요청 등의 명령을 전달한다.
  • 실제 파일 전송은 별도의 데이터 연결을 통해 수행되며, 이 데이터 연결을 생성하는 방식에 따라 Active Mode와 Passive Mode로 구분된다.



Active Mode

서버가 클라이언트에게 데이터 연결을 생성하는 방식

[동작과정]

1. 클라이언트 → 서버(21번 포트)로 제어 연결 생성

2. 사용자 인증(Login)

3. 클라이언트가 PORT 명령을 통해 데이터 수신 포트 번호 전달

4. 서버 → 클라이언트 TCP 20번 포트로 데이터 연결 생성

5. 파일 전송

구조

Client                    FTP Server
   │------ TCP 21 ------->│
   │                      │
   │<----- TCP 20 --------│
   │                      │

특징

  • 서버가 클라이언트에게 직접 연결을 시도한다.
  • FTP의 전통적인 방식이다.
  • 클라이언트가 NAT 또는 방화벽 뒤에 있는 경우 연결이 차단될 수 있다.
  • 이러한 이유로 최근에는 잘 사용하지 않는다.


Passive Mode

클라이언트가 서버에게 데이터 연결을 생성하는 방식

동작과정

1. 클라이언트 → 서버(21번 포트) 제어 연결 생성

2. 사용자 인증(Login)

3. 클라이언트가 PASV 명령 전송

4. 서버가 데이터 포트 번호 제공

5. 클라이언트 → 서버 해당 포트로 데이터 연결 생성

6. 파일 전송

구조

Client                    FTP Server
   │------ TCP 21 ------->│
   │------ TCP xxxx ----->│
   │     (서버의 임의포트)    │

특징

  • 클라이언트가 직접 데이터 연결을 생성한다.
  • NAT 및 방화벽 환경에서 동작하기 쉽다.
  • 현재 대부분의 FTP클라이언트가 기본적으로 사용하는 방식이다.






TFTP(Trivial FTP)

Trivial = 단순한 = 간소화된

  • UDP 69번 포트 사용
  • FTP보다 기능이 매우 단순함
  • 로그인 기능 없음
  • 디렉터리 조회 없음
  • 디렉터리 이동 없음
  • 파일 업로드, 다운로드만 가능
  • 네트워크 장비 설정 백업이나 IOS업로드에 자주 사용됨.
profile
Easy come , Easy go

0개의 댓글