FTP๋ž€ ๋ฌด์—‡์ผ๊นŒ

FTP๋Š” File Transfer Protocol์˜ ์•ฝ์ž๋กœ ๋ง ๊ทธ๋Œ€๋กœ ํŒŒ์ผ์„ ์ „์†กํ•˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. FTP ์„œ๋ฒ„์— ํŒŒ์ผ๋“ค์„ ์—…๋กœ๋“œ, ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ์ด๋Š” FTP ์„œ๋ฒ„์™€ FTP ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ํ†ต์‹ ์—์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

FTP๋Š” Active ๋ชจ๋“œ์™€ Passive ๋ชจ๋“œ๋ผ๋Š” 2๊ฐœ์˜ ๋ชจ๋“œ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๊ฐ๊ฐ์˜ ๋ชจ๋“œ์—์„œ๋Š” 2๊ฐœ ๋˜๋Š” 2๊ฐœ ์ด์ƒ์˜ ํฌํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ๋งบ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜๋Š” ํฌํŠธ๋Š” ์—ฐ๊ฒฐ์„ ์ œ์–ดํ•˜๋Š” Command ํฌํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” DATA ํฌํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

FTP๋Š” TCP ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ๋™์ž‘ ๋ชจ๋“œ๋กœ Active ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ 20๋ฒˆ ๋˜๋Š” 1024๋ฒˆ ์ดํ›„์˜ ๋ฐ์ดํ„ฐ(Data) ํฌํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๊ณ , 21๋ฒˆ ํฌํŠธ๋Š” ์ ‘์† ์‹œ์— ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น(Command) ํฌํŠธ์ž…๋‹ˆ๋‹ค.


Active ๋ชจ๋“œ

FTP Active ๋ชจ๋“œ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์•„๋ž˜ ์‚ฌ์šฉ๋œ ๋ช…๋ น(Command) ํฌํŠธ์™€ ๋ฐ์ดํ„ฐ(Data) ํฌํŠธ๋Š” ์„œ๋ฒ„์˜ ์„ค์ •์—์„œ ์ž„์˜๋กœ ์ˆ˜์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ftp active mode


  • 1) ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ 21๋ฒˆ ํฌํŠธ๋กœ ์ ‘์†ํ•œ ํ›„์— ์ž์‹ ์ด ์‚ฌ์šฉํ•  ๋‘ ๋ฒˆ์งธ ํฌํŠธ๋ฅผ ์„œ๋ฒ„์— ๋ฏธ๋ฆฌ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  • 2) ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. (acks)
  • 3) ์„œ๋ฒ„์˜ 20๋ฒˆ ๋ฐ์ดํ„ฐ ํฌํŠธ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•Œ๋ ค์ค€ ๋‘ ๋ฒˆ์งธ ํฌํŠธ๋กœ์˜ ์ ‘์†์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
  • 4) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ ์š”์ฒญ์— ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. (acks)

์œ„ ๊ณผ์ •์—์„œ ์•กํ‹ฐ๋ธŒ ๋ชจ๋“œ๋Š” โ€œํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ์ ‘์†์„ ํ•˜๋Š” ๊ฒƒโ€์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์ผ FTP ํด๋ผ์ด์–ธํŠธ์— ๋ฐฉํ™”๋ฒฝ์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๋“ฑ ์™ธ๋ถ€์—์„œ์˜ ์ ‘์†์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด FTP ์ ‘์†์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ ‘์†์ด ๋˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก์„ ๋ฐ›์•„์˜ค์ง€ ๋ชปํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ ์š”.


Passive ๋ชจ๋“œ

์œ„์—์„œ ์‚ดํŽด๋ณธ Active ๋ชจ๋“œ์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ Passive ๋ชจ๋“œ๋ฅผ ์‚ดํŽด๋ด…์‹œ๋‹ค. ์—ญ์‹œ๋‚˜ ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ ์‚ฌ์šฉ๋œ ์ปค๋งจ๋“œ ํฌํŠธ์™€ ๋ฐ์ดํ„ฐ ํฌํŠธ๋Š” ์„œ๋ฒ„ ์„ค์ •์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Passive ๋ชจ๋“œ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํŠน๋ณ„ํ•˜๊ฒŒ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ 1024 ~ 65535๋ฒˆ ์ค‘์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ž„์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•  ๋•Œ๋Š” 10001 ~ 10005๋ฒˆ๊ณผ ๊ฐ™์ด ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ftp passive mode


  • 1) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ปค๋งจ๋“œ ํฌํŠธ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. (Passive ๋ชจ๋“œ ์—ฐ๊ฒฐ)
  • 2) ์„œ๋ฒ„์—์„œ๋Š” ์‚ฌ์šฉํ•  ๋‘ ๋ฒˆ์งธ ํฌํŠธ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  • 3) ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค๋ฅธ ํฌํŠธ๋ฅผ ์—ด์–ด ์„œ๋ฒ„๊ฐ€ ์•Œ๋ ค์ค€ ํฌํŠธ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
  • 4) ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. (acks)

Passive ๋ชจ๋“œ์—์„œ๋Š” ์•ž์„  Active ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ 20๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  1024๋ฒˆ ์ดํ›„์˜ ์ž„์˜์˜ ํฌํŠธ๋ฅผ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


์—ฐ๊ฒฐ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ์ฃผ์˜์‚ฌํ•ญ

Active ๋ชจ๋“œ์˜ ๊ฒฝ์šฐ๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ๋ฐฉํ™”๋ฒฝ์— 20๋ฒˆ ํฌํŠธ๊ฐ€ ์ฐจ๋‹จ๋˜์–ด ์žˆ๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ ์ฑ„๋„ ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์€ ๋˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ ์กฐํšŒ๋ถ€ํ„ฐ ์‹คํŒจ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„œ๋ฒ„ ์ธก์€ 20๋ฒˆ ํฌํŠธ๋Š” ์•„์›ƒ๋ฐ”์šด๋“œ(OUTBOUND, ๋‚ด ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ์š”์ฒญ) ํ—ˆ์šฉ, ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ๋ฐ”์šด๋“œ(INBOUND, ์™ธ๋ถ€์—์„œ ๋‚ด ์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ) ํ—ˆ์šฉ์ด ๋ฐฉํ™”๋ฒฝ ์„ค์ •์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Passive ๋ชจ๋“œ์˜ ๊ฒฝ์šฐ๋Š” ์„œ๋ฒ„ ์ธก์˜ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ๊ฐ€ ๋ง‰ํ˜€์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ž์„œ ์†Œ๊ฐœํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ณ„๋„๋กœ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” 1024 ~ 65535๋ฒˆ์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ INBOUND ๋ชจ๋‘ ํ—ˆ์šฉ์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์„œ๋ฒ„ ์ธก์—์„œ ๋ฐ์ดํ„ฐ ์ฑ„๋„ ํฌํŠธ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜์—ฌ ํŠน์ • ๋ฒ”์œ„์˜ ํฌํŠธ๋งŒ ํ—ˆ์šฉํ•ด์ฃผ๋ฉด ๋ชจ๋“  ํฌํŠธ ํ—ˆ์šฉ์˜ ๋ฌธ์ œ๋ฅผ ์–ด๋А ์ •๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.