본문 바로가기

IT/ETC

[ETC] FTP란?

* FTP (File Transfer Protocol) : 파일 전송 프로토콜로 TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
 (정확하지 않게 이야기하면 서버 컴퓨터랑 내 컴퓨터에 네이트온 깔고 파일을 주고 받는데 원격을 사용한 것처럼 해당 위치를 지정해서 파일을
주고 받을 수 있게하는 프로그램 보통 호스트에 도메인을 적고 사용자명에 ftp아이디, 비밀번호에 ftp비밀번호등을 적고 연결하고 뭐 그러면 된다.
이 역시 정확하지 않다. 알 ftp를 많이 사용한다.)
 

원격 서버에 파일을 주고 받을 때 사용하는 인터넷 통신 규약.

FTP 프로그램은 그 원격 서버에 접속하여 파일을 업로드/다운로드하기 위하여 사용하는 프로그램 
 

 인터넷을 통하여 한 컴퓨터에서 다른 컴퓨터로 파일을 송수신 할 수 있도록 지원하는 방법 또는 프로그램.

 파일을 전송하기 위해 사용하는 프로토콜.

 주로 홈페이지 데이터 파일을 업로드 및 다운로드할 때 많이 이용

원격 서버에 허가된 사용자를 FTP 계정이라고 하고, 이러한 용도로 사용되는 서버를 FTP 서버라고 한다. 

연결 종류는 2가지

명령 연결: 제어포트인 서버 21번 포트로 사용자 인증, 명령을 위한 연결이 만들어지고, 여기를 통해 클라이언트에서
지시하는 명령어가 전달
데이터 전송용 연결: 실제의 파일 전송은 필요할 때 새로운 연결이 만들어 진다. 

FTP 계정에 접속할 때는 FTP 주소, FTP ID, FTP 암호의 세 가지 정보가 필요. 이 세 정보가 정확히 맞아야지만 해당 서버로 접근을 할 수 있다.
FTP 서버에 접속 방법으로는 Active 모드와 Passive 모드 두 가지가 있다.

Active 모드
 
 FTP 클라이언트가 FTP 서버로 접속을 시도할 때 TCP 21번 포트를 이용하여 접속이 이루어지고,
데이터를 수신하는 경우에는 TCP 20번 포트를 이용.
 

Passive 모드
 
클라이언트가 서버로 접속을 시도할 때 PASV 명령어로 표준 포트인 TCP 21번 포트를 이용하여 접속이 이루어지지만
데이터를 수신하기 위해 1024-5000번 포트 중 하나를 새롭게 열어서 클라이언트가 수신.
방화벽을 사용하는 경우 기본 FTP 포트(20, 21) 외 다른 포트를 사용하여 FTP 사이트를 서비스할 때 FTP 클라이언트는 접속 시 
Passive 
모드로 접속해야 한다


예들 들면, FTP 사이트를 2121 포트로 운영하고자 할 경우방화벽에서는 2121 포트와 데이터 수신을 위한
1024~5000을 오픈해야 FTP 접속이 가능.