FTP의 기본적인 구동 방식은 Active 모드입니다. Active 모드는 명령어를 전달하는 컨트롤 프로토콜과 데이터를 전달하는 데이터 프로토콜이 분리되어 있고 방향도 반대로 동작합니다. 일반적인 클라이언트-서버 동작 방식과 달리 컨트롤 프로토콜은 클라이언트에서 서버로 통신을 시작하지만 데이터 프로토콜은 서버에서 클라이언트 쪽으로 데이터를 푸시합니다.
▲ 그림 6-20 FTP Active 모드
위와 같은 다이어그램으로 Active 모드를 간단히 표현할 수 있습니다.
1. 클라이언트가 FTP 서버에 접속. 클라언트는 1023번 이상의 TCP 포트를 사용, 서버는 TCP 21번 포트를 사용
2. ① 클라이언트가 서버에 데이터를 1025번 포트를 사용해 수신하겠다고 알림
3. ② 서버는 클라이언트에 1025번 포트를 사용해 송신하겠다고 응답
4. ③ 서버에서 데이터를 보냄, 클라이언트에서 응답하고 데이터를 수신