FTP Active mode, Passive mode 간단하게 이해하기

제 방식대로 이해하고 해설한거니 그려러니 하시길 바립니다

내용이 틀리거나 하지는 않을테니 참고해주시길...



<Active mode>
Client가 Server에게 D-port 21로 접속하며...
[S-port는 랜덤. 위 그림에선 5150이네요]
C : 야, 나 너한테 접속할건데 DATA port는 5151(TCP 1024이상의 숫자로 이것도 랜덤)이야
S : 응 알았다~
S : 야~ Data port open할테니깐 이리로 들어와
[서버가 Client가 알려준 5151을 D-port로 해서 Data 채널 연결을 시도합니다]
C : 응. 알았다 지금 들어간다
[S-port 5151, D-port 20]


<Passive mode>
Client가 Server에게 D-port 21로 접속하며...
[S-port는 랜덤. 위 그림에선 5150로 동일함]
C : 야, 나 FTP할라고 하는데 이거 Passive mode다. 어여 도와줘
[Client기준으로 뭔가 소극적이죠. 그래서 passive라고 하나봅니다. 즉 클라이언트의 행동 기준으로 외우면 쉬움]
S : 그래 알았다 이 passive한 자슥아. data port는 3267로 혀라. 내가 열어놓을께.
[서버가 TCP 1024 이상의 랜덤한 포트를 열겠다고 클라이언트에게 알려줍니다]
C : 알았다. 연결신청한다 받아라~
[S-port는 랜덤 (5151), D-port를 서버가 알려주느 3267로 해서 데이터채널 연결을 시도합니다]
S : 그래 알았다. 이제 작업시작하자


이정도가 되겠네요.


두가지 모드에서의 차이점은 방화벽 이슈가 있습니다
방화벽이란 녀석은 IN -> OUT으로 나가는 패킷은 ALLOW, OUT -> IN 은 DENY로 설정되어 있는게 기본입니다
따라서 Client > Server로 들어오는 통신의 D-port에 대한 allow 정책이 필요합니다.

또, Active mode의 경우에는 서버가 데이터채널연결을 '시도'하는 입장이기때문에 stateful 방화벽이라면 별도로 TCP20의 allow정책이 없어도 통신이 가능하다는 특징이 있습니다

댓글

이 블로그의 인기 게시물

ping 일반오류 (General failure)를 고쳐보자

Windows 10. 공유폴더 쉽게 삭제하기 (feat. CMD)

Piolink TiFront Switch password recovery (파이오링크 스위치 비밀번호 초기화)