Loading AI tools
TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜 위키백과, 무료 백과사전
파일 전송 프로토콜(File Transfer Protocol, FTP)은 TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다. 파일 전송 프로토콜은 TCP/IP 프로토콜 테이블의 응용 계층에 속하며, 역사는 오래 되었지만 지금도 인터넷에서 자주 사용된다.
최초의 FTP 클라이언트 애플리케이션들은 운영 체제가 그래픽 사용자 인터페이스를 갖추기 이전에 개발된 명령 줄 프로그램이었으며, 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 현재도 기본 포함되어 있다.[1][2] 그 뒤로 수많은 FTP 클라이언트 및 오토메이션 유틸리티들이 데스크톱, 서버, 모바일 장치, 하드웨어용으로 개발되고 있으며, FTP는 웹 페이지 편집기와 같은 생산성 응용 프로그램들에 통합되고 있다.
원래의 FTP에 대한 사양은 Abhay Bhushan이 작성하였으며, 1971년 4월 16일 RFC 114로 게시되었다. 1980년까지 FTP는 TCP/IP의 전신인 NCP 위에 실행되었다.[1] 이 프로토콜은 나중에 TCP/IP 버전인 RFC 765 (1980년 6월), 그리고 현재의 사양인 RFC 959 (1985년 10월)으로 대체되었다. 제안된 일부 표준들은 RFC 959를 개정하였는데, 이를테면 RFC 1579 (1994년 2월)는 방화벽 친화 FTP (수동 모드)를 활성화하며, RFC 2228 (1997년 6월)은 보안 확장을 제안하며, RFC 2428 (1998년 9월)은 IPv6 지원을 추가하고 새로운 종류의 수동 모드를 정의한다.[3]
HTTP와는 달리 연결의 종류는 2가지가 있다:
어느 모드에서도 2개의 연결을 만드는 점은 다르지 않다. 하지만 FTP 포트를 변경하게 되고 방화벽이 있는 경우, 방화벽 Inspection 모드 설정에 따라 FTP 통신은 정상적이지만, get 명령이나 ls 명령 등 FTP-DATA포트를 이용한 통신은 정상적으로 이루어지지 않을 수 있다.
FTP는 보안 프로토콜로 계획되지 않았기 때문에 수많은 보안 취약점이 존재한다.[4] 1999년 5월에, RFC 2577 저자들은 다음의 문제에 대한 취약점을 나열하였다:
파일 전송 프로토콜은 서버의 파일을 바꾸거나 지울 수 있기 때문에 전송하기 앞서 사용자 이름과 암호를 묻는 인증 과정이 필요하다. 보통 FTP에서는 암호가 암호화되지 않아 위험하기 때문에 원 타임(한 번만 묻는) 암호를 이용한 인증을 이용하며, 아니면 보안을 더욱 철저하게 하려면 아예 SFTP, SCP 등 다른 방법을 사용하여 파일을 전송한다.
FTPS는 FTP 표준의 확장으로, 클라이언트가 FTP 세션이 암호화되도록 요청할 수 있게한다.
SSH 파일 전송 프로토콜(SFTP)은 파일을 전송하고 사용자를 위한 비슷한 명령을 갖추고 있으나, 시큐어 셸 프로토콜(SSH)을 사용하여 파일을 전송한다.
심플 파일 전송 프로토콜(Simple File Transfer Protocol, SFTP)은 RFC 913에 의해 정의되어 있다.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.