전에도 이 비슷한 질문이 있던 것 같은데... 아닌가?
하여간 자세한 것은 ftp std 문서 (rfc 959)를 찾아보시구요.
대충 설명 하자면, 원래 passive 모드란 두 서버간의 파일 전송을 위해 만들
어진 것이죠.
프로토콜의 흐름을 보시면...
User-PI - Server A User-PI - Server B
------------------ ------------------
1: C->A : Connect C->B : Connect
2: C->A : PASV
3: A->C : 227 Entering Passive Mode. A1,A2,A3,A4,a1,a2
4: C->B : PORT
A1,A2,A3,A4,a1,a2
5: B->C : 200 Okay
6: C->A : STOR C->B : RETR
7: B->A : Connect to HOST-A, PORT-a
1: 일단 user (C) 가 두서버 (A,B)의 ftp control port(21/tcp)에 접속을 하
고
2: C는 A에게 PASV 명령을 내림으로써 A의 임의의 포트를 listen 하게 합니
다.
3: A는 자기가 listen 한 포트에 대한 정보를 C에게 알려주고
4: C는 B에게 A의 포트(a1,a2)에 data connection 을 연결하게 합니다.
5: B는 C에게 ack (200 Okay)를 주고
6: C는 B에게 RETR명령을 내림으로써 data를 보내게 하고 동시에 A에게 STOR
를 내림으로써 저장하게 합니다.
7: 이로써 B에서 A로 data가 가게 되죠.
적당한 설명이 되었는지 모르겠네요.
: ftp client 에보면 passive 모드란 것이 있는데
:
: 이것이 도대체 어떤 것인지를 모르겠어요....
:
: 여기저기 찾아봐도 이게 모다라구 하는곳도 없구요....
:
: 아시는분 가르쳐 주세요....--껌을 씹을 때는 조용히...