본문 바로가기
개발용어

FTP - passive 모드/ active 모드 차이점

by devscb 2022. 5. 23.
반응형

ftp - passive 모드/ active 모드 차이점

최근 ftp 를 사용하는 레거시 시스템에서의 방화벽 이슈로 정상동작 하지 않는 문제가 있었습니다.
이에 대해 ftp 통신방법인 passive 모드와 active 모드에 대해 알아보겠습니다.

  FTP (File Transfer Protocol)란?


FTP(File Transfer Protocol)는 TCP/IP(Transmission Control Protocol/Internet Protocol) 네트워크에서
컴퓨터 간에 파일을 통신하고 전송하는 데 사용되는 통신규약(protocol) 입니다.
권한이 부여된 사용자는 파일 전송 프로토콜 서버(FTP 호스트/사이트라고도 함)에서 파일을 수신하고, 전송할 수 있습니다.
한마디로, 인터넷에서 파일전송을 위한 메시지 규약이라고 정의할 수 있습니다.
FTP 는 TCP기반으로 이루어져있으며, active 모드와 passive 모드가 있습니다.
각각의 모드가 어떤 차이점이 있는지 살펴보겠습니다.

  FTP - active mode, 액티브 모드



active mode FTP를 사용하면 FTP 클라이언트가 FTP 서버의 포트에 연결합니다.
클라이언트는 랜덤 포트 N을 선정합니다.
예를들어 4242 포트를 사용해보겠습니다.
그런 다음 FTP 클라이언트는 N+1 을 listen하고, 이 포트를 서버에게 알립니다
서버가 이를 확인하면 서버는 클라이언트에서 N+1 포트를 연결하여 데이터를 송수신 하게 됩니다.
여기서 N은 커맨드 포트로, FTP를 통해 명령어를 전송하는 포트입니다.
예를 들어 파일리스트 확인등을 확인하는 용도입니다.
N+1은 데이터 포트로, 서버로부터 파일을 다운로드 받기 위한 포트입니다.

이를 그림으로 표현하면 아래와 같습니다.
서버의 FTP 포트는 21/20 포트를 사용하는 것으로 표현하겠습니다. (각각 커맨드포트, 데이터 포트)

 

 





  FTP - passive mode, 패시브 모드


FTP 클라이언트는 두 개의 랜덤 TCP 포트 N (명령 포트) 및 N+1 (데이터 포트)을 통해 연결을 시작합니다.
클라이언트는 먼저 PASV 명령을 전송합니다.
서버가 PASV 모드인것을 확인하면 랜덤 포트 P를 데이터 포트로 열어 클라이언트로 전송합니다.
클라이언트는 P 포트로 연결을 시도하고, 클라이언트에서는 N+1을 소스로 하여 데이터 전송을 시작하게 됩니다.
passive 모드를 사용하는 방식은 서버가 클라이언트에 접속할 수 없는 경우에 사용됩니다.
예를 들어, 클라이언트가 NAT을 사용하거나 방화벽 문제로 인해 접속할 수 없을 때 사용하면 접속할 수 있습니다.

이를 그림으로 표현하면 아래와 같습니다.
서버의 FTP 포트는 21/2042 포트를 사용하는 것으로 표현하겠습니다. (각각 커맨드포트, 데이터 포트)
2042 포트는 앞에서 설명한 랜덤포트 P입니다.

 

 

 

 

총평

 

FTP 를 사용하는 시스템을 셋업하는 과정에서 FTP 가 정상동작하지 않는 경우가 있었는데,

active 모드에서 passive 모드로 바꾸니 정상적으로 동작하던 사례가 있었습니다.

당시에는 무슨 차이인지도 잘 모르고 그냥 썼는데, 이번기회에 내용을 확인하고 공부해보았습니다.

최근에는 파일전송도 보통 http 를 사용하는데, 다음번에는 http 와 ftp 는 어떤 차이가 있을지 알아봐야겠습니다.

 

ftp - passive 모드/ active 모드 차이점

 

#ftp,#active,#passive,#pasv,#actv,#mode,#에프티피,#액티브,#엑티브,#패시브,#file,#transfer,#protocol

 

https://devscb.com/post/102

 

FTP - Passive mode/active mode differences

ftp - Difference between passive mode/active modeRecently, there was a problem with legacy systems using ftp not working properly due to firewall issues.Let’s learn about passive mode and active

devscb.com

 

728x90
반응형

댓글