메뉴 건너뛰기

OBG

정보게시판

IT
2011.05.05 01:17

FTP서버 active, passive mode

조회 수 328 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

기본적으로 FTP서버에 대해서 알아야할 사항이 있습니다.

1. FTP는 두개의 PORT를 사용한다는 것입니다.

   하나는 COMMAND PORT이며, 다른 하나는 DATA PORT입니다.

2. FTP는 TCP를 기반으로 만들어져 있습니다.

    UDP를 사용하지 않습니다.

 

위의 두 가지 사항을 토대로 두가지 모드의 차이점을 설명하겠습니다.

차이점 중 눈여겨 볼 사항으로는 데이터전송 포트부분전송방향에 대한 부분입니다.

 

 

1. ACTIVE mode

 

전통적으로 21번 port를 server ftp port로 알고 있습니다.

이는 command를 위한 port이고

실제 data를 전송하기 위해서는 data전송을 위한 port를 사용합니다.

보통 data전송 port는 20번 port를 사용합니다.

 

클라이언트는 1024번 이상의 빈 port를 골라서 command port로 사용하고

해당포트에 +1을 더한 port를 data port로 사용합니다.

 

예를 들어)

1. 클라이언트가 서버 ftp에 접속하려고 1080번 port를 이용하여 서버 ftp에

   접속 요청을 날립니다. 이때 +1더한 1081번 port의 정보를 같이 서버에 보냅니다.

2. 서버 ftp의 21번 포트에서 해당 클라이언트의 요청을 수락하고 21번 command port는

   1080번과 20번 data port는 1081번과 connection을 맺습니다.

3. 클라이언트에서 데이터를 요청하면

   서버측에서 클라이언트로 해당 데이터를 넣어줍니다.

 

 

2. PASSIVE mode

 

passive mode 일때 서버의 command port는 21번이며

data port는 1024번 이상의 사용하지 않는 port 중 하나를 사용합니다.

 

클라이언트는 1024번 이상의 빈 port를 골라서 command port로 사용하고

해당포트에 +1을 더한 port를 data port로 사용합니다.

 

예를 들어)

1. 클라이언트가 서버 ftp에 접속하려고 1080번 port를 이용하여 서버 ftp에

   접속 요청을 날립니다. 이때 +1더한 1081번 port의 정보를 같이 서버에 보냅니다.

2. 서버 ftp의 21번 port에서 해당 클라이언트의 요청을 수락하고 21번 command port는

   1080번과 connection을 이루며

   서버측의 1024이상의 빈 port와 클라이언트의 1081번 port와 connection을 맺습니다.

3. 클라이언트에서 데이터를 요청하고

   클라이언트가 서버에서 데이터를 가져옵니다.

 

 

------------------------------------------------------------------------------

 

위의 내용을 보시면 active mode의 경우 

서버가 -> 클라이언트에 데이터를 넣어주고

 

passive mode의 경우

클라이언트가 -> 서버에서 데이터를 가져옵니다.

 

간혹 active mode로 전송이 이루어지지 않으면 passive로 하라고 하는데

active mode의 경우는  서버가 클라이언트에 접속을 하는 방식이니까

 

[서버] --> [클라이언트쪽 방화벽(필터링:대부분 80port 만 허용)] --> [클라이언트]

 

클라이언트 앞에 방화벽이 있다면 접속이 되지 않을 것입니다.

하지만 passive mode의 경우는 클라이언트가 서버에 접속을 하니

클라이언트의 방화벽과는 무관하게 접속이 잘이루어 집니다.

 

간혹 ftp 클라이언트 프로그램으로 ftp에 접속하면 잘 되는데

브라우저로 ftp서버에 접속하면 잘되지 않는 경우가 있습니다.

이는 브라우저의 default 방식이 passive mode 방식이고

클라이언트 프로그램의 default 방식이 active mode 방식이기 때문입니다.

 

서버측 입장에서는 passive mode를 좋아하지 않습니다.

실제로도 passive mode를 꺼두는 경우가 많은데

해킹의 위협이 많이 있기 때문입니다.

서버에서 클라이언트로 접속할때는 위험이 적지만

클라이언트가 서버로 직접 접속할 때의 위험도는 상당히 커지기 때문입니다.

 

 

위의 내용에 대한 자세한 설명과 그림은

http://slacksite.com/other/ftp.html

해당 페이지를 보시면 더욱 자세히 알수 있습니다.

 

http://blog.naver.com/minminmang?Redirect=Log&logNo=50070928500

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
118 IT 봇을 이용한 악성 파워블로그를 잡아내기 위한 사이트 Naya 2012.07.14 270
117 IT 월요일 인터넷 접속 대란 대비 Naya 2012.07.07 290
116 IT Windows 1.0에서 7까지 순서대로 업그레이드 하면 어떻게 될까? Naya 2012.05.14 298
115 IT Windows 8 메트로 UI를 마우스와 키보드로 제어하는 소개 영상 너울 2012.05.14 280
114 IT NHN이 설립하는 ‘NHN NEXT 학교’, 공식 홈페이지 오픈 Naya 2012.05.11 304
113 IT Windows MultiPoint Server 소개 Naya 2012.04.23 300
112 IT 리눅스는 어떻게 만들어질까? Naya 2012.04.17 322
111 IT 네이버, 노무현을 지우다 Naya 2012.04.15 299
110 IT 개발자가 안드로이드 대신 iOS를 선택하는 이유 Naya 2012.04.10 477
109 IT 전문작업용으론 사용하기 애매한 27인치 보급형 QHD 모니터들 너울 2012.04.09 289
108 IT Google Project Glass: One day... Naya 2012.04.07 263
107 IT TI eZ430 (Programmable watch) Naya 2012.04.06 287
106 IT 아이콘 모음 너울 2012.03.28 317
105 IT 윈도우 임베디드 CE 프로젝트의 12가지 금기 너울 2012.01.12 290
104 IT 실리콘 밸리 시대를 연 8인의 배신자와 인텔 Naya 2011.12.12 383
103 IT 노키아 루미아 710 - 윈도폰 7.5 탑재 Naya 2011.12.05 287
102 IT Graph Theory : Facebook Naya 2011.11.27 514
101 IT 페이스북 '알만한 사람' 어떻게 알아낼까? Naya 2011.11.26 306
100 IT 미러리스(하이브리드)카메라 신제품 라인업 너울 2011.11.18 406
99 IT iOS 5’s Seven New Hidden Features Naya 2011.10.18 1151
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9
위로