* Active Mode
FTP CLIENT --------------------- FTP SERVER
-------------------> 21 (COMMAND CHANNEL)
<------------------- 20 (DATA CHANNEL)
Active Mode인 경우에,
Data Channel은
Control Channel에서 (21번 Port ) "Port" 명령어로
데이터 채널에 사용할 random(?) Port를 클라이언트 -> 서버 방향으로 알려 주는 것으로 알고 있습니다.
Data Channel 연결은 Server(20) -------> Client(클라이언트가 미리 "Port" 명령어로 알려주 포트) 이렇게 접속
위와 같이 이해하고 있습니다.
질문1) 위와 같이 데이터 채널을 굳이 FTP Client에서 알려주는 형태로 만든 이유가 궁금합니다.
컨트롤 및 데이터 채널을 SERVER에서 리슨하는 Passive Mode는 알고 있긴 합니다.
질문2) Active Mode를 사용하려면, 클라이언트 네트워크에서 방화벽을 어떻게 열어 주어야 할런지요 ?
방화벽에서 FTP PORT 명령어를 해석(DPI)하여, 자동으로 열어 주는지요 ? 아니면.. 정해진 포트 Range가 있는지요 ?
NAT에서 문제점이 있을거 같은데... 어떻게 이렇게 문제 없이 사용되는지 궁금합니다.
Passive Mode에서도 random 포트를 서버에서 열어 주어야 되는데, 동일한 질문일 거 같긴 합니다
질문3) Active Mode에서 굳이 20번 포트를 지정(예약)해 두고 사용하는지 궁금합니다. 어차피 클라이언트(데이터 채널 접속 요청)로 사용하니...
질문4) FTP Data Channel은 개별 파일 전송시마다, 끊고 새롭게 여는지요 ? 아니면 Control channel처럼 계속 유지되는지요 ?
감사합니다.
2. ¹æȺ® ±â´É¿¡ µû¶ó ´Ù¸¨´Ï´Ù. FTP ÇÁ·ÎÅäÄÝÀ» ½Å°æ ¾È¾²´Â ¹æȺ®À̸é ÄÁÆ®·ÑÆ÷Æ®´Â Åë»óÀûÀÎ ¹æ¹ý´ë·Î ¿°í, µ¥ÀÌÅÍÆ÷Æ®´Â ¼¹ö Soruce 20¿¡¼ Destination ¾Æ¹«µ¥³ª °¥ ¼ö ÀÖµµ·Ï ¼¼ÆÃÇØ¾ß ÇÕ´Ï´Ù.
3. ÇÁ·ÎÅäÄÝ ¼³°è°¡ ±×·¸½À´Ï´Ù.
4. »õ·Î ¿±´Ï´Ù.
±×·±µ¥ Ŭ¶óÀ̾ðÆ®µµ NAT ÇÏ´Ü ¹æȺ® ±¸°£ÀÌ°í ¼¹öµµ NAT¸¦ Åë°úÇÏ´Â ±¸°£À̶ó¸é Passive¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù. 21¹øÀ» »ç¿ëÇßÀ» °æ¿ì´Â ¶Ç ¹®Á¦°¡ ¾ÈµÇ´Âµ¥ ºñÁ¤±Ô Æ÷Æ®¸¦ ¾µ°æ¿ì¿¡´Â ÀÌ°Ô ¶Ç ¹®Á¦°¡ µË´Ï´Ù.
FTP°¡ µ¥ÀÌÅÍä³Î°ú ¼¼¼ÇÀ¯Áö ¶§¹®¿¡ ¹æȺ®°ú ¸¹ÀÌ ¸¶ÂûÀÌ ¹ß»ýÇÏ°í ÀÌ°Ô ¾î´À Ŭ¶óÀ̾ðÆ®´Â ÀßµÇ°í ¾î´À Ŭ¶óÀ̾ðÆ®´Â ²÷±â°í ´ëÀÀÇϱâ Èûµì´Ï´Ù. ±×·¡¼ VPNÀ» »ç¿ëÇؼ NAT¸¦ Åë°úÇÏÁö ¾Ê´Â°Ô Á¦ÀÏ ÆíÇѹæ¹ýÀÔ´Ï´Ù. ¿äÁòÀº FTPÆ÷Æ® ¿ÜºÎ·Î ½±°Ô ¾È¿¾îÁÝ´Ï´Ù. ¿¾îÁشٰí Çصµ Çã¿ëµÈ IP¸¸ ¿¾îÁÖ°í SFTP¸¦ ½á¾ßÇϰųª FTPS¸¦ °Á¦ÀûÀ¸·Î ½á¾ßÇÏ´Â°Ô Áö±ÝÀÇ º¸¾È À̽´ÀÔ´Ï´Ù. ÀÏ¹Ý FTP´Â Æнº¿öµå ³Ê¹« ½±°Ô ÅзÁ¼ »ç¿ëÁßÁö ±Ç°í»çÇ×Áß ÇϳªÀÔ´Ï´Ù.