FTP는 대부분의 다른 TCP기반의 서비스들과 다르게 2개의 서비스 포트번호를
가지고 있다.
하나는 Control 포트(21번)이며 또 하나는 Data(20번)포트 이다. 그리고 데이터를 주고
받을 때 다음 2가지 모드를
가지고 동작한다.
1. Active mode
이 방식에서는 클라이언트는 서버의 21번 Control 포트로 접속하고, 실제 데이타를 전송받기
위해 자신의 임의의 Dynamic Port를 연 후 서버측에 포트번호를 보낸다. 명령
형식은 "PORT 192,168,0,1,192,2" (192 x 256 + 2=49154) 이다. 그러면 서버는 자신의 20번 TCP포트를 통하여 클라이언트와 접속을 초기화한 후 파일을 전송한다.
2. Passive mode
클라이언트는 서버의 21번 포트로 접속하여, 실제 데이타를 전송받기 전에 PASV명령을 전송하고 서버는 "227 Entering Passive Mode (192,168,0,1,192,2)" 으로 응답한다. 이 경우 서버가 49154번 포트에서 접속을 기다린다는 뜻이다.











