IT/Tips

Ftp Protocol (active mode and pasv mode)

싸후이 2007. 5. 8. 14:11

active 모드와 pasv 모드의 Data 전송 구조에 대한 간략한 설명이다.
접속방법과 Command 사용법은 다른 곳에서 참고 하기 바랍니다.

근데 왱? 한가지 방법으로 안하겅.. active 모드와 pasv 모드 두가지를 지원할까요????
함 생각해 봅시당...음...



용어 설명
      PI

         The protocol interpreter.  The user and server sides of the
         protocol have distinct roles implemented in a user-PI and a
         server-PI.

      DTP

         The data transfer process establishes and manages the data
         connection.  The DTP can be passive or active.

사용자 삽입 이미지

[Ftp 서버와 클라이언트 구조도]





Ftp 서버와 클라이언트따라 임의로 생성되는 Data 전송 포트 번호 범위가 다르다.
active mode에서 MS윈도우의 기본적으로 설치된 ftp client는 Data 포트 번호가 5001번부터 접속하도록 요구하였다. (아~ㄹftp 도 5001번에서 시작) 윈도우 레지스트리에 클라이언트가 접속하기 위한 포트 범위가 설정되어 있을꺼 같은데...키를 못찾았당..알려주세요..


아래는 Client(User) 가 ls(dir) 명령을 실행했을 경우 Active Mode 와 Pasv Mode 의 패킷 전송 과정이다.

1. Active mode
Active mode(능동모드) 에서 Client(User)가 ls(dir) 파일목록 보기 명령을 실행 했을 경우 패킷의 전송 과정이다. (ack 패킷은 생략)

PORT  h1,h2,h3,h4,p1,p2

PORT Command의 argument는 Host 주소와 Port 번호가 정의 된다.
h1,h2,h3,h4는 32bit IP 주소의 string 표현이다. 각각의 콤마로 구분된 필드 값은 8bit 정수의 스트링이다.
p1,p2는 16bit 정수값을 나타낸다. p1 * 256 + p2 = 포트번호 ( Data 접속 포트번호 )

사용자 삽입 이미지






1. Pasv mode

참고로 IIS 4.0/5.0 서버는 Pasv Mode 일 경우 default로 1024 ~ 5000 번까지의 범위로 접속되도록 설정 되어 있다. 1024~ 65535 까지 변경가능하다.

아래 그림에서는 254 * 256 + 225 = 65249 포트 번호가 DATA 접속 포트가 된다.

사용자 삽입 이미지

'IT > Tips' 카테고리의 다른 글

FTP 응답 부호.  (0) 2007.07.20
colorize Unix/Linux stuff  (0) 2007.05.11
ftp proxy howto  (0) 2007.04.26
메일 보내기  (0) 2007.04.24
일본어 메일 보내기  (0) 2007.04.24