파일 전송만을 위한 인터넷 연결 - FTP

이문규 munch@itdonga.com

일반적으로 ‘인터넷’이라면 웹 브라우저를 이용한 화려한 화면의 WWW(World Wide Web) 방식을 말한다. HTTP 프로토콜(데이터 전송 규약)을 통해 접속되는 WWW는 일반 문자를 비롯, 사진, 음악/동영상 콘텐츠까지 간편하게 사용할 수 있다는 장점이 있지만, 많은 양의 파일을 일괄적으로 주고 받기에는 결정적으로 속도도 느리고 파일 제어도 번거롭다. 이렇게 대량의 파일을 네트워크를 통해 주도 받을 때는 파일 전송 전용 서비스인 FTP(File Transfer Protocol)를 사용하는 것이 훨씬 유리하다.

FTP의 동작원리 및 장단점

FTP는 인터넷을 통한 파일 송수신 만을 고안된 서비스(또는 프로토콜)이기 때문에 동작 방식이 대단히 단순하고 직관적이다. 그런 만큼 사용법도 간단하다. 무엇보다 WWW 방식보다 빠른 속도로 한꺼번에 주고 받을 수 있다는 것이 FTP의 가장 큰 장점이다.

다만 빠른 파일 전송이 주된 목적이기에 사진이나 음악, 동영상 등의 멀티미디어 콘텐츠는 내려 받기가 완료된 다음에 확인할 수 있다(WWW 환경에서는 내려 받으며 재생이 가능하다). 또한 기본적으로 명령어 기반의 통신 서비스이기 때문에, 별도의 FTP 클라이언트 프로그램(알FTP, Cute-FTP 등)을 사용하지 않으면 사용이 복잡하고 어려울 수 있다.

FTP의 동작원리는 비교적 간단하다. FTP 서비스를 제공하는 서버와 여기에 접속하는 클라이언트 사이에 두 개의 연결이 생성되는데, 하나는 데이터 전송을 제어하기 위한 신호를 주고 받기 위함이고(네트워크 21번 포트), 다른 하나는 실제 데이터(파일) 전송에 사용된다(네트워크 20번 포트). 여기서 네트워크 포트란 네트워크를 통해 데이터가 이동하는 통로를 말한다.

파일 전송만을 위한 인터넷 연결 - FTP
(1)
파일 전송만을 위한 인터넷 연결 - FTP (1)

이를 테면, FTP 서버에 접속할 때 입력하는 사용자 계정 및 암호 등의 정보나 파일 전송 명령 및 결과 등은 데이터 제어용 연결에서, 이후 실제 파일 송수신 작업(올리기, 내려받기)은 데이터 전송 연결에서 처리되는 것이다. FTP 클라이언트 프로그램은 여러 파일을 연속으로 송수신해야 하기에, 서버와의 지속적인 응답 메시지 전송을 통해 연결 상태(세션)를 유지한다.

FTP 사용 방법

FTP는 인터넷 익스플로러 등의 웹 브라우저나 윈도우 탐색기 등으로도 사용할 수 있지만, 아무래도 FTP 클라이언트 프로그램을 별도로 설치해 접속하는 것이 여러 모로 편하다. FTP 서버에 접속하기 위해서는 해당 서버의 IP 주소나 인터넷 주소(URL)가 필요하다. FTP 서버의 인터넷 주소는 WWW(http://)와는 달리 ‘ftp://’의 형태로 사용된다. 예를 들어, 마이크로소프트 사의 WWW 주소는 ‘http://www.microsoft.com’이지만, FTP 주소는 ‘ftp://ftp.microsoft.com’이 된다.

파일 전송만을 위한 인터넷 연결 - FTP
(2)
파일 전송만을 위한 인터넷 연결 - FTP (2)

FTP 클라이언트 프로그램을 사용하는 경우 접속할 서버 사이트의 IP 주소 또는 인터넷 주소, 승인된 사용자 계정 및 암호를 입력하고 접속하면 최상위 폴더(디렉토리)가 출력된다. 이후부터는 윈도우 탐색기를 사용하듯 폴더/파일을 선택, 자신의 PC내 원하는 폴더에 내려받을 수 있다. 반대로 자신의 PC에 있는 파일/폴더를 FTP 서버로 올릴 수도 있다.

파일 전송만을 위한 인터넷 연결 - FTP
(3)
파일 전송만을 위한 인터넷 연결 - FTP (3)

이외에도 윈도우의 명령 프롬프트를 통해서도 FTP 접속이 가능하다. FTP 클라이언트 프로그램보다는 사용이 어렵고 불편하지만, 윈도우 외의 어떤 운영체제에서도 사용할 수 있다는 장점이 있다. 윈도우의 명령 프롬프트나 리눅스의 터미널 모드에서 ‘ftp’ 명령어를 통해 접속해 파일을 올리거나 내려받을 수 있다.

파일 전송만을 위한 인터넷 연결 - FTP
(4)
파일 전송만을 위한 인터넷 연결 - FTP (4)

익명(Anonymous) 계정의 활용

공식적인 사용자 계정 및 암호 입력 필요 없는 공개형 FTP 서버의 경우 하나의 공용 계정을 통해 모든 사용자가 간편하게 접속할 수 있도록 하고 있다. 이를 익명(anonymous, 어노니머스) 계정이라 하는데, 통상적으로 ‘anonymous’라는 계정에 자신의 이메일 주소를 암호로 입력하면 곧바로 FTP 서버에 접속하여 파일을 내려받을 수 있다(보안 상의 이유로 일반적으로 이 계정으로 파일을 올리는 작업은 제한된다). 현재 이와 같은 공개형 FTP 서버는 전세계적으로 수만 개에 이르며, 누구라도 활용할 수 있는 공개형 자료 또는 데이터를 자유롭게 내려받을 수 있도록 하고 있다.

수동(Passive) 모드 연결과 SFTP 연결이란?

FTP 서비스는 기본적으로 능동(active) 모드와 수동(passive) 모드의 두 가지 데이터 접속 방식을 제공한다. 앞서 언급한 서버와 클라이언트 간 네트워크 포트 20번(데이터 전송용)/21번(신호 제어용)을 사용하는 방식은 능동 모드다. 다만 일부의 네트워크 보안 장비(방화벽 등)에서 이들 포트(특히 20번)를 차단하는 경우 사용자가 FTP 서버에 접속하더라도 제대로 출력되지 않는 등의 문제가 발생할 수 있다.

수동 모드는 이런 경우 데이터 전송용 포트를 20번이 아닌 다른 임의의 번호로 할당하여 데이터 전송을 진행할 수 있게 한다. 수동 모드 접속은 일반적으로 FTP 클라이언트 프로그램에서 설정하여 접속할 수 있으며, 수동 모드로도 FTP 서버의 파일 목록이 나타나지 않으면 해당 인터넷 서비스 제공사 또는 업체 네트워크 담당자에게 문의하여 보안 장비의 포트 차단 설정을 확인해야 한다.

파일 전송만을 위한 인터넷 연결 - FTP
(5)
파일 전송만을 위한 인터넷 연결 - FTP (5)

한편 SFTP 연결은 일반 FTP 연결에 보안성(secure)을 강화한 것으로, 서버와 클라이언트 간의 데이터 전송 시 계정 정보 등을 암호화하여 해킹이나 보안 상의 문제를 사전에 방지할 수 있다. 접속하는 방법은 일반 FTP 접속 방식과 동일하지만, FTP 서버에서 이를 지원해야 하며 신호 제어용 네트워크 포트가 21번이 아닌 22번을 사용한다는 점이 다르다.

아울러 SFTP 연결은 보안 강화용 공개 키 또는 개인 인증 키 등을 사용할 수 있어 보다 안전한 데이터 송수신이 가능하다. 참고로 SFTP 모드로 연결하면 FTP 서버의 숨김파일까지 모두 출력된다. SFTP 연결 역시 FTP 클라이언트 프로그램을 통해 손쉽게 설정, 사용할 수 있다.

내 PC를 FTP 서버로 활용

윈도우 서버 운영체제나 리눅스 등 또는 FTP 서버 프로그램을 통해 자신의 PC를 FTP 서버로도 사용할 수 있다. FTP 클라이언트 프로그램 중에는 간단한 설정으로 자신의 PC를 FTP 서버로 작동할 수 있도록 하는 제품이 있다. 다만 FTP 서버로 사용하려면 PC가 늘 켜져 있어야 하고, 해당 서버 프로그램도 동작 중이어야 한다. 또한 외부에서 접근할 수 있는 기본적으로 공인 IP 주소가 해당 PC에 설정되어 있어야 한다.

파일 전송만을 위한 인터넷 연결 - FTP
(6)
파일 전송만을 위한 인터넷 연결 - FTP (6)

글 / IT동아 이문규(munch@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.