ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FTP 의 Active / Passive 모드
    Archive/Windows 2009. 9. 28. 16:39

    Active 모드

    ① 클라이언트에서 서버의 21번 포트로 접속 후 클라이언트가 사용할 두 번째 포트를 서버에 알려줍니다.
    ② 서버는 이에 대해 ack로 응답하고
    ③ 서버의 20번 포트는 클라이언트가 알려준 두 번째 포트로 접속을 시도합니다.
    ④ 마지막으로 클라이언트가 ack로 응답합니다. Active 모드의 문제점은 바로 3번째 단계 즉, 일반적인 TCP/IP의 특징인 ‘클라이언트가 서버에 접속을 시도하는 것’이 아니라 ‘서버가 클라이언에 접속을 시도한다’는 것입니다. 이 때문에 만약 클라이언트 PC등에 방화벽이 설치되어 있거나 FTP를 잘 이해하지 못하는 공유기 등을 사용하여 외부에서의 접속을 허용하지 않는다면 세 번째 프로세스가 작동하지 않게 되어 FTP 접속이 제대로 되지 않는 문제점이 있습니다. 이러한 경우 FTP 접속은 되지만 이후 데이터 목록을 받아오지 못하여 에러가 발생하게 됩니다.
     
    즉, active 모드는 클라이언트에서 서버측 21번 포트로 접속시도 하고 데이터 포트는 서버에서 클라이언트로 접속 하여 데이터를 보내는 방식입니다.

    Passive 모드

    서버가 클라이언트에 접속시도를 하는 비정상적인 active 모드와 관련된 문제를 해결하기 위한 대안으로 passive 모드가 디자인되었습니다.
    Passive 모드에서는
    ① 먼저 클라이언트가 command 포트로 접속을 시도하면
    ② 서버에서는 서버가 사용할 두 번째 포트를 알려줍니다.
    ③ 클라이언트는 다른 포트를 열어 서버가 알려준 이 포트로 접속을 시도하고,
    ④ 서버는 ack로 응답합니다. Passive 모드에서는 두 번째 data포트로서 active 모드가 사용했던 20번을 사용하지 않고 대신 1024 이후의 임의의 비 특권 포트를 사용하게 됩니다. 따라서 passive 모드는 서버에서 클라이언트로 연결을 시도하는 active 모드의 문제점을 해결하기는 했지만, 서버의 비 특권포트(1024 ~ 65535)를 방화벽에서 모두 열어 두어야 한다는 또 다른 문제점을 낳았습니다.
    그러나 wu-ftp나 proftpd등 대부분의 ftp 데몬에서는 클라이언트가 passive 모드로 접속 시 사용할 수 있는 포트를 제한설정 할 수 있는 기능을 지원하므로 이의 문제점을 미봉책이나마 어느 정도는 해결할 수 있습니다.
     
    위와 같이 passive 모드는 클라이언트에서 서버쪽 21번 포트로 접속 시도 하고 데이터 포트도 클라이언트에서 서버의 20번 포트로 접속하여 데이터를 받아오는 방식입니다.



    출처 : http://community.365managed.com/4989


    2009/09/28 - [D.B./컴퓨터] - IIS 6.0 에서 수동 FTP 모드(Passive Mode) 사용 방법(액티브 모드 함께 사용 가능)

    반응형
Designed by Tistory.