란 모음집

FTP(File Transfer Protocol)란

burdock129 2022. 12. 1. 17:39
반응형

FTP(File Transfer Protocol)란 TCP/IP를 사용하여 인터넷을 통해서 클라이언트와 서버 간에 파일을 전송하기 위한 프로토콜입니다. 이 프로토콜을 사용하면 같은 네트워크를 통해 한 컴퓨터에서 다른 컴퓨터로 파일 전송이 가능합니다.

 

FTP 종류

FTP는 FTPS(FTP over SSL), SFTP(SSH FTP), TFTP(Trivial FTP)가 있다.

FTPS = FTP보다 보안이 강화된 FTP 통신을 하는 방식입니다.

SFTP = SSH(Secrue Shell)방식을 이용하여 FTP 보안을 강화한 방식입니다. SSH를 지원하는 서버에서 주로 지원하는 방식입니다.

TFTP = FTP 규악을 단순화 시킨 규약으로 운영체제가 설치되어 있지 않은 서버에서 TFTP를 통해 네트워크 부팅이미지를 내려 받아 부팅을 하는 방식입니다.

 

FTP 동작원리

FTP 동작원리.img

FTP 통신은 TCP 통신을 사용하기 때문에, 처음에 3-way handshaking 과정을 거친 후에 통신을 주고 받습니다.

위 그림과 같이 네트워크 21번 포트를 사용하여서 전송을 제어하기 위한 신호를 주고 받습니다. 그리고 네트워크 20번 포트를 통해서 실제 데이터 전송에 사용됩니다.

 

FTP 모드

FTP는 데이터를 전송함에 있어서, 수동 모드(Passive Mode)능동 모드(Active Mode) 총 두가지를 지원한다.

 

간단하게 설명하면 Passive Mode는 데이터를 전송 할 때 서버는 1024 ~ 65535 사이의 랜덤한 포트를 사용하고, Active Mode는 데이터를 전송 할 때 서버는 20번 포트를 사용한다.

 

수동 모드(Passive Mode)

Passive Mode transfer.img

1. Client가 Server의 21번 포트에 사용자 인증 및 명령어를 입력하면 Server는 Client의 20번 포트로 데이터 전송 포트를 알린다.

2. Client는 받은 Port로 Server에게 실질적인 데이터를 전송하게 된다.

클라이언트에서 서버로 접속하는 구조로 사용하기 떄문에 보안위험이 높아진다.

 

능동 모드(Active Mode)

Active Mode transfer.img

1. Client가 21번 포트에 사용자 인증 및 명령어를 입력하고 Server의 20번 포트에 데이터 전송 포트를 알린다.

2. 데이터 전송 포트를 알게된 Server는 20번 포트에서 Client에게 받은 포트로 실질적인 데이터를 전송한다.

서버에서 클라이언트로 접속하는 구조를 사용하기 때문에 보안위험이 낮아진다.

반응형