728x90
반응형
FTP 통신에는 능동 모드(Active Mode), 수동 모드(Passive Mode)가 존재합니다.
능동 모드의 경우 20번 포트와 21번 포트를 통해서 데이터 전송이 이루어 집니다.
수동 모드의 경우, 20번 포트와 랜덤 포트(1024 ~ 65536 중 택 1)를 통하여 데이터 전송이 이루어집니다.
여기서 수동 모드의 경우, 랜덤 포트를 지정할 수 없을까요? 그렇다면 특정 몇개의 포트만 오픈해야 하는 경우에는 어떻게 해야할까요?
FTPServer 외부 라이브러리를 통하여 확인해보면, 데이터 전송마다 스레드를 사용하게 됩니다.
그리고 테스트를 진행해보면, 데이터 크기가 아무리 많아도 1 ~ 100개의 스레드만 사용하게 되죠.
즉, 스레드의 개수는 Passive Mode에서 client가 포트를 사용하는 개수가 됩니다.
정리
1. Passive Mode에서 client는 default로 1024 ~ 65536 중 몇개의 포트를 사용하여 데이터 통신을 한다.
2. 데이터 개수가 많아도 1 ~ 100개의 포트만 사용하게 된다.
3. dataconnectionPort에 특정 포트의 범위를 표현하여 지정해주면, 원하는 포트만 사용할 수 있다.
엄~~~~~~~청 많은 데이터의 경우에 대해서는 테스트를 진행해보지 못하였습니다.
728x90
반응형
댓글