FTP는 명령어 커넥션과 데이터 커넥션이 다른 포트를 사용함.
데이터 커넥션의 접속 방식에 따라 Active/Passive 2가지 방식이 있다.
- Active Mode
*데이터 커넥션을 서버에서 클라이언트로 접속하는 방식
클라이언트가 서버의 21번 포트로 접속,
데이터 전송을 위한 별도의 포트를 추가로 하나 생성 후 그 번호를 서버에게 알려줌.
서버는 20번 포트를 클라이언트에게서 넘겨받은 포트로 연결한다.
(이때 클라이언트 네트웤 환경에 방화벽이나 공유기 등에서 그 임의의 포트로 접근하는 것이 막혀있을 경우 데이터 전송을 위한 연결이 이루어지지 않는다. 그래서 접속은 되나 파일 목록 표시가 안됨.)
- Passive Mode
*데이터 커넥션을 클라이언트에서 서버로 접속하는 방식
클라이언트가 서버의 21번 포트로 접속.
서버가 데이터 전송을 위한 임의의 포트를 클라이언트에게 하나 알려줌.
그럼 클라이언트는 데이터 전송을 위해 서버로부터 받은 그 포트로 접속을 함.
서버에서 그 임의의 포트를 외부에서 접속할 수 있게 오픈(포트포워딩 등) 해 두어야 함.
보통은 포트 1개가 아닌 여러개 (범위)를 오픈해 둔다. 여러 사용자가 동시 접속하는 경우가 있으므로.
(편의상 FTP 포트는 21번 포트라고 표시함)
'개발자의 기록 노트' 카테고리의 다른 글
TiddlyWiki : DB와 설치가 필요없는 간단한 one file 위키 (0) | 2015.01.02 |
---|---|
The Expert (Short Comedy Sketch) : 개발자, 프로젝트 매니저 그리고 UX담당자와 클라이언트 (0) | 2015.01.02 |
Concurrency Visualizer (0) | 2012.11.18 |
Pair Programming (짝 프로그래밍) (0) | 2012.03.18 |
동기화 소켓 vs 비동기화 소켓, 사용시 각각의 장단점 (0) | 2012.01.26 |
개발자들이 Windows 8 에 대해 알아야 할 10가지 정보 (0) | 2012.01.20 |