FTP는 파일 전송 프로토콜의 약자이다(File Transfer Protocol).
프로토콜이란 기본적으로 전자기기가 서로 통신하는 데 필요한 절차나 규칙을 말한다.
인터넷을 둘러볼 때는 HTTP를 사용하고 인스턴트 메시지를 주고 받을 때는 XMPP를 사용하는 것 같이 파일을 전송할 때에는 FTP를 사용한다.
FTP 서버란 장치에서 다른 장치로 전송하는 소프트웨어 어플리케이션이다.
FTP 서버는 받기와 보내기 두 가지 간단한 동작만 가능하다.
FTP 서버는 수신자와 전송자 사이에 위치한 중간 지점이다.
<원리>
클라이언트 - 서버 프로토콜로서 클라이언트가 요청하면 서버가 요청된 파일을 전송한다.
두 개의 기본 채널이 필요하다. 기본포트는 21번을 주로 사용한다.
능동 모드는 서버에서 데이터 요청을 승낙하며 방화벽이 자주 걸린다.
수동모드는 사용자가 직접 명령 채널과 데이터 채널을 설정한다.
주로 대용량으로 파일을 전송할 때 많이 쓰인다. 특히 웹에서
<장점>
동시에 여러 파일을 전달 가능, 연결이 끊겨도 재개할 수 있음, 전송 일정 예약 가능
<단점>
취약한 보안, 1970년대에 개발되어 보안상의 구멍으로 오늘날에는 점점 사용이 줄어들고 있다.
대안으로 SFTP, dropbox 등 새로운 네트워크 프로토콜이 다양하게 등장하고있다.