내 잡다한 노트

FTP(File Transfer Protocol) 본문

네트워크

FTP(File Transfer Protocol)

peanutwalnut 2023. 10. 6. 23:20

TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 만들어진 프로토콜로, 네트워크에 연결된 컴퓨터끼리 데이터를 원활하게 교환하기 위한 목적으로 개발되었다.

 

FTP는 비밀번호가 평문으로 전송되어 보안성이 매우 덜어져서 FTPS(FTP over TLS)를 쓰는게 좋다. 

평문이란, 암호화되지 않은, 원래의 형태 그대로의 텍스트 또는 데이터를 의미한다. 원본 그자체라는 것.

SFTP(SSH FTP)의 경우 포트를 하나만 사용해서 방화벽이 설치된 환경에서 셋팅하기가 쉬워 초보자한테 권장되나, 프로토콜 구조상 PROT P를 사용한 FTPS보다 속도가 느리다. 

FTP와 FTPS는 제어용으로 21번 포트, 데이터 전송용으로 20번 포트를 사용한다. 

SFTP는 보통 22번 포트를 사용한다. 

 

FTP는 클라이언트-서버 아키텍처를 사용한다. 클라이언트는 파일을 요청하거나 전송하고, FTP 서버는 해당

요청을 처리한다.

 

FTP 연결은 일반적으로 사용자 인증을 기반으로 세션을 설정한다. 즉, 대부분의 FTP 서버는 사용자 이름과 비밀번호를 통한 로그인을 요구한다. 

 

FTP는 2 개의 별도 통신 채널을 사용한다. 하나는 위에서 설명한 제어용, 다른 하나는 데이터 전송용이다.

제어용에서 클라이언트와 서버가 명령을 주고받고, 파일 전송은 데이터 채널에서 이루어진다.

 

FTP는 OSI 모델의 애플리케이션(7) 계층에서 작동하며 TCP를 기반으로 한다

 

yum이나 apt와 같은 리눅스 저장소도 FTP로 운영되고 있다.

 

오래된 프로토콜이나 FTPS나 SFTP를 사용하자~