본문 바로가기
IT/네트워크

FTP의 개념, SFTP, passive, active모드

by 미니송 2017. 8. 15.



이번 포스팅은 FTP에 대해 하겠습니다. FTP File Transport Protocol의 약자로 파일을 전송할 때 사용하는 프로토콜입니다.

 


FTP를 사용하는 이유

인터넷은 웹브라우저를 사용하는 것입니다. WWW(World Wide Web) 이라고도 합니다. HTTP 프로토콜을 통해 접속되는 WWW는 문자, 사진, 음악, 동영상 콘텐츠까지 간편하게 사용할 수 있다는 장점이 있습니다. 하지만 큰 데이터의 파일을 한번에 주고 받기에는 어렵습니다. 속도가 느리고 파일 제어도 어렵습니다. 따라서 대량의 파일을 네트워크를 통해 주고 받을 때는 파일 전송 전용 서비스인 FTP(File Transfer Protocol)를 사용하는 것이 훨씬 빠르고 유용합니다.

 


FTP

FTP는 인터넷에서 파일 송수신 만을 위해 고안된 프로토콜이기 때문에 동작 방식이 대단히 단순하고 직관적입니다. 사용법도 간단합니다. 파일을 빠른 속도로 한꺼번에 주고 받을 수 있다는 것이 FTP의 가장 큰 장점입니다. 빠른 파일 전송이 주된 목적이기 때문에 사진이나 음악, 동영상 등의 멀티미디어 콘텐츠는 내려 받기가 완료된 다음에 확인할 수 있습니다. ( 스트리밍 서비스가 되지 않습니다. )


FTP는 명령어 기반의 통신 서비스입니다. 클라이언트 프로그램이 없더라도 윈도우에서 기본적으로 제공하는 서비스를 사용할 수 있으며 클라이언트 프로그램이 있다면 좀 더 간단하게 혹은 쉽게 사용할 수 있는 인터페이스를 제공하기도 합니다. 컴퓨터에 대해 전혀 모르는 사람이라면 클라이언트 프로그램 없이 FTP를 사용하는 것은 조금 힘들 수도 있습니다. 따라서 초보자들은 클라이언트 프로그램을 사용하는 것이 좋습니다.

 


기본원리

FTP의 동작원리는 비교적 간단합니다. FTP 서비스를 제공하는 서버와 여기에 접속하는 클라이언트 사이에 두 개의 연결(세션)이 생성됩니다.


하나는 데이터 전송에 필요한 제어 신호를 주고 받기 위해 사용하고 다른 하나는 실제 데이터(파일) 전송에 사용됩니다. 제어 신호를 주고 받는 포트는 21번 포트를 사용하고 있고 데이터 전송을 위한 포트는 20번 포트가 기본으로 지정되어 있습니다. 이 포트 지정은 Active모드와 Passive모드에 따라 바뀌는데 밑에서 좀 더 설명하도록 하겠습니다.


FTP 서버에 접속할 때는 사용자 계정과 암호를 입력합니다. 이러한 정보들은 데이터 제어 신호를 통해서 주고받게 됩니다. 그리고 실제 파일 송수신 작업은 데이터 전송(20번 포트)에서 처리됩니다. FTP 클라이언트 프로그램은 여러 파일을 연속으로 송수신해야 하기에, 서버와의 지속적인 응답 메시지 전송을 통해 연결 상태(세션)를 유지합니다.

 


FTP 사용 방법

FTP는 인터넷 익스플로러 등의 웹 브라우저나 윈도우 탐색기 등으로도 사용할 수 있습니다. 그러나 FTP 클라이언트 프로그램을 이용하는게 더 편리합니다. 물론 프로그램을 설치하는 것이 더 불편하다고 생각되면 윈도우 탐색기를 이용하거나 명령어를 통한 FTP접속도 괜찮습니다. 프로그램을 사용하지 않는다고 성능에 차이가 있는 것은 아니기 때문입니다.


FTP 서버에 접속하기 위해서는 해당 서버의 IP 주소나 인터넷 주소가 필요합니다. FTP 서버의 인터넷 주소는 일반 홈페이지의 시작인 http://가 아닌 ftp://의 형태로 시작됩니다. 예를 들어, 다음의 일반 홈페이지 주소는 ‘http://daum.net’이지만, FTP 주소는 ‘ftp://daum.net’이 됩니다.

 


SFTP

SFTP 연결은 Secure File Transfer Protocol로 일반 FTP 연결에 보안성을 강화한 것입니다. 서버와 클라이언트 간의 데이터 전송 시 계정 정보 등을 암호화하여 해킹이나 보안 상의 문제를 사전에 방지할 수 있습니다. 접속하는 방법은 일반 FTP 접속 방식과 같지만 FTP 서버에서 SFTP를 지원해야 합니다. 또한 초기에 사용하는 신호 제어용 포트가 FTP21번이지만 SFTP 22번을 사용합니다.


또한 SFTP 연결은 보안 강화용 공개 키 또는 개인 인증 키 등을 사용할 수 있습니다. 키를 사용하면 안전한 데이터 송수신이 가능합니다. SFTP 모드로 연결하면 FTP 서버의 숨김파일까지 모두 출력이 됩니다. 보안성이 높아졌기 때문입니다. SFTP 연결을 하기 위해서는 FTP 프로그램에서 SFTP를 선택 및 설정하여 사용할 수 있습니다.

 


Passive모드 Active모드 차이

FTP 서비스는 기본적으로 능동(active) 모드와 수동(passive) 모드의 두 가지 데이터 접속 방식이 있습니다. Passive모드와 Active모드의 기본적인 차이는 포트번호에 있습니다. 두 개의 모드는 처음에 데이터 제어용 포트는 21번을 사용하지만 그 뒤에 데이터 전송용 포트를 20번을 사용하지 않습니다.


Active모드는 서버와 클라이언트 간 데이터 전송용 포트 20, 신호 제어용 포트21을 사용하는 방식입니다.

Passive 모드는 서버와 클라이언트 간 데이터 전송용 포트는 서버에서 지정해주고, 신호 제어용 포트는 동일하게 21번 포트를 사용하는 방식입니다. Passive 모드는 데이터 전송용 포트를 20번이 아닌 다른 임의의 번호로 할당하여 데이터 전송하기 때문에 보안 장비의 포트 차단 설정을 확인해야 합니다.



이상으로 포스팅을 마치겠습니다.

댓글