검수요청.png검수요청.png

FTP

위키원
Asadal (토론 | 기여)님의 2019년 8월 20일 (화) 22:33 판
이동: 둘러보기, 검색

FTP(에프티피)는 File Transfer Protocol의 약자로서, TCP/IP 프로토콜을 가지고 응용계층에서 인터넷에서 파일을 송수신하기 위한 통신 프로토콜이다. FTP를 이용하여 서버클라이언트 사이에 네트워크를 통해 파일을 주고받을 수 있다. 포트 번호는 20번이다.

개요

FTP는 파일 전송 프로토콜(File Transfer Protocol)의 약자로 TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 1971년에 최초로 공개된 통신 규약이다. 네트워크에 연결된 컴퓨터끼리 데이터를 원활하게 교환하기 위한 목적으로 개발되었다. 파생형으로 FTP에 TLS 프로토콜이 적용된 FTPS가 있으며, 비슷한 기능을 제공하는 SSH 프로토콜 기반의 SFTP가 있다. SFTP는 FTP라는 키워드를 포함하고 있으며 용도 또한 같으나 FTP와 기술적인 연관성은 없는 완전히 다른 프로토콜임을 주의해야 한다. FTP는 비밀번호가 평문으로 전송되어 보안성이 매우 떨어지므로 FTPS를 사용하는걸 적극 권장한다. FTPS의 경우 PROT P를 사용하면 데이터 전송까지 암호화되어 높은 보안성을 지니며, PROT C를 사용하면 데이터 전송을 암호화하지 않아 보안성이 떨어지지만 빠른 파일 전송이 가능하다. SFTP의 경우 포트를 하나만 사용하기 때문에 방화벽이 설치된 환경에서 셋팅하기가 쉬워 초보자한테 권장되나, 프로토콜 구조상 PROT P를 사용한 FTPS보다 속도가 느리다는 결함이 있다. FTP와 FTPS는 보통 제어용으로 21번 포트 및 데이터 전송용으로 20번 포트를, 패시브 모드의 경우 50000번대 이상의 포트를 추가적으로 많이 사용하며 FTPS의 경우 990포트를 사용하는 경우도 있다. SFTP는 보통 22번 포트를 사용한다.[1]

역사와 버전

  • 1971년 : RFC114로 게시되었다.
  • 1980년 : TCP/IP의 전신인 NCP 위에 실행되었다. RFC765 버전으로 대체되었다.
  • 1985년 : RFC 959로 나옴. 제안된 일부 표준들은 개정하였다.
  • 1994년 : RFC 1579로 방화벽 친화 FTP를 활성화
  • 1997년 : RFC 2228은 보안확장을 제안한다.
  • 1998년 : IPv6를 지원하고 새 수동모드를 정의한다.

특징

  • WWW는 일반문자, 사진,영상콘텐츠를 간편하게 사용하지만 많은 양의 파일을 주고받기에는 느리고 파일제어도 힘들다.
  • 인터넷을 통한 파일 송수신만 지원하는 단순하다.
  • WWW 방식보다 파일전송속도가 빠르다.
  • 사진이나 음악, 동영상 등의 멀티미디어 콘텐츠는 내려 받기가 완료된 다음에 확인할 수 있다(WWW 환경에서는 내려 받으며 재생이 가능하다)
  • 명령어 기반의 통신 서비스이기 때문에, 별도의 FTP 클라이언트 프로그램(알드라이브←알FTP를 알드라이브로 변경)을 사용하지 않으면 사용이 복잡하고 어려울 수 있다.

FTP의 동작원리 및 장단점

FTP는 인터넷을 통한 파일 송수신 만을 위해 고안된 서비스(또는 프로토콜)이기 때문에 동작 방식이 대단히 단순하고 직관적이다. 그런 만큼 사용법도 간단하다. 무엇보다 WWW 방식보다 파일을 빠른 속도로 한꺼번에 주고받을 수 있다는 것이 FTP의 가장 큰 장점이다. 다만 빠른 파일 전송이 주된 목적이기에 보통의 경우 사진이나 음악, 동영상 등의 멀티미디어 콘텐츠는 내려받기가 완료된 다음에 확인할 수 있다(WWW 환경에서는 내려받으며 재생이 가능하다). 또한, 기본적으로 명령어 기반의 통신 서비스이기 때문에, 별도의 FTP 클라이언트 프로그램(알 FTP, Cute-FTP 등)을 사용하지 않으면 사용이 복잡하고 어려울 수 있다. FTP의 동작 원리는 비교적 간단하다. FTP 서비스를 제공하는 서버와 여기에 접속하는 클라이언트 사이에 두 개의 연결이 생성되는데, 하나는 데이터 전송을 제어하기 위한 신호를 주고받기 위함이고(네트워크 21번 포트), 다른 하나는 실제 데이터(파일) 전송에 사용된다(네트워크 20번 포트). 여기서 네트워크 포트란 네트워크를 통해 데이터가 이동하는 통로를 말한다. 이를테면, FTP 서버에 접속할 때 입력하는 사용자 계정 및 암호 등의 정보나 파일 전송 명령 및 결과 등은 데이터 제어용 연결에서, 이후 실제 파일 송수신 작업(올리기, 내려받기)은 데이터 전송 연결에서 처리되는 것이다. FTP 클라이언트 프로그램은 여러 파일을 연속으로 송수신해야 하기에, 서버와의 지속적인 응답 메시지 전송을 통해 연결 상태(세션)를 유지한다.[2]

활용

익명(Anonymous) 계정의 활용

  • 사용자 암호나 계정 입력이 필요없이 하나의 공용 계정으로 모든 사용자가 접속이 가능하다.
  • ‘anonymous’라는 계정에 자신의 이메일 주소를 암호로 입력하면 곧바로 FTP 서버에 접속하여 파일을 내려받을 수 있다.

수동(Passive) 모드 연결과 SFTP 연결

  • 능동(active) 모드와 수동(passive) 모드의 두 가지 데이터 접속 방식을 제공한다
  • 네트워크 20번과 21번포트의 경우 능동모드인데 보안장비(방화벽)에서 20번을 차단하는 경우에 출력문제가 발생한다.
  • 수동모드는 20번포트가 아닌 데이터 전송 포트를 임의로 할당하여 데이터 전송을 진행할 수 있게한다.파일목록이 없으면 문의해아한다.
  • SFTP는 FTP연결에 보안성이 강회되어서 해킹같은 보안문제를 미리 방지할수있다. 21번포트가 아닌 22번포트를 사용한다.

PC를 FTP 서버로 활용하기

  • 윈도우나 리눅스에서 FTP서버로 설정하여 사용할 수 있는데 컴퓨터가 항상 켜져있어야 하고 서버 프로그램도 동작중이어야 한다. 공인 IP주소도

설정되야 한다.

각주

  1. FTP〉, 《나무위키》
  2. 카메라맨, 〈FTP란 무엇인가?.〉, 《네이버블로그》, 2012-04-02

참고자료

같이 보기


  검수요청.png검수요청.png 이 FTP 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.