FTP란 무엇인가요?
FTP는 English File Transfer Protocol의 약어로, 파일 전송 프로토콜을 의미합니다. HTTP와 마찬가지로 인터넷에서 널리 사용되는 프로토콜이며 두 컴퓨터 간에 파일을 전송하는 데 사용됩니다. HTTP에 비해 FTP 프로토콜은 훨씬 더 복잡합니다. 복잡성의 이유는 FTP 프로토콜이 두 개의 TCP 연결을 사용하기 때문입니다. 하나는 FTP 클라이언트와 서버 간에 명령을 전송하는 데 사용되는 명령 링크이고, 다른 하나는 데이터를 업로드하거나 다운로드하는 데 사용되는 데이터 링크입니다. .
FTP 프로토콜에는 PORT 모드와 PASV 모드의 두 가지 작동 모드가 있습니다. 이는 중국어로 활성 모드와 수동 모드를 의미합니다.
PORT(활성) 모드의 연결 프로세스는 다음과 같습니다. 클라이언트가 서버의 FTP 포트(기본값은 21)에 연결 요청을 보내고, 서버는 연결을 수락하고 명령 링크를 설정합니다. 데이터를 전송해야 할 때 클라이언트는 명령 링크에서 PORT 명령을 사용하여 서버에 "XXXX 포트를 열었습니다. 와서 연결해 주십시오."라고 말합니다. 따라서 서버는 데이터 전송을 위한 데이터 링크를 설정하기 위해 포트 20에서 클라이언트의 XXXX 포트로 연결 요청을 보냅니다.
PASV(수동) 모드의 연결 프로세스는 다음과 같습니다. 클라이언트가 서버의 FTP 포트(기본값은 21)에 연결 요청을 보내고, 서버는 연결을 수락하고 명령 링크를 설정합니다. 데이터를 전송해야 할 때 서버는 명령 링크에서 PASV 명령을 사용하여 클라이언트에게 "XXXX 포트를 열었습니다. 와서 나에게 연결하십시오."라고 알립니다. 따라서 클라이언트는 서버의 XXXX 포트에 연결 요청을 보내고 데이터 링크를 설정하여 데이터를 전송합니다.
위에서 볼 수 있듯이 두 방식의 명령링크 연결 방식은 동일하지만, 데이터링크 구축 방식은 전혀 다르다. 그리고 여기에 FTP의 복잡성이 있습니다.