๐Ÿ“‚ ๋„คํŠธ์›Œํฌ/์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ

์„œ๋ฒ„์—์„œ ์—ฐ๊ฒฐ์„ ๋Š์–ด ์†Œ์ผ“์„ ๋ง์†Œํ•œ๋‹ค. - [Ch 02. TCP/IP์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๊ธฐ ์‹ ํ˜ธ๋กœ ๋งŒ๋“ค์–ด ๋ณด๋‚ธ๋‹ค.]

Amenable 2023. 7. 20. 23:22

  ์ง€๊ธˆ๊นŒ์ง€ '์†Œ์ผ“ ์ž‘์„ฑ, ์„œ๋ฒ„์— ์ ‘์†, ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ' ๊ณผ์ •์„ ์•Œ์•„๋ณด์•˜๋‹ค.

  ๋งˆ์ง€๋ง‰์œผ๋กœ '์—ฐ๊ฒฐ ๋Š๊ธฐ'๋ฅผ ์‚ดํŽด๋ณด๋ฉด์„œ ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹ ์— ๊ด€ํ•œ ์ผ๋ จ์˜ ์›€์ง์ž„์„ ๋งˆ๋ฌด๋ฆฌํ•ด๋ณด์ž.

 

๐Ÿ“™ 1. ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๊ธฐ๋ฅผ ์™„๋ฃŒํ–ˆ์„ ๋•Œ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค.

  ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹ ์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์†ก์‹ ํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ถ€ ์†ก์‹  ์™„๋ฃŒํ–ˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์„ ๋•Œ๋‹ค.

  ์†ก์‹ ์„ ์™„๋ฃŒํ•œ ์ธก์ด ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋‹จ๊ณ„๋กœ ๋“ค์–ด๊ฐ€๋Š”๋ฐ, ์–ด๋””์—์„œ ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹  ๋™์ž‘์ด ๋๋‚˜๋Š”์ง€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.

  ์„œ๋ฒ„ ์ธก์—์„œ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋‹จ๊ณ„์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค๋ฉด ๊ทธ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1.  ์„œ๋ฒ„ ์ธก์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋จผ์ € Socket ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ close๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
  2.  ์„œ๋ฒ„ ์ธก์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด TCP ํ—ค๋”๋ฅผ ๋งŒ๋“ค๊ณ , ์—ฌ๊ธฐ์— ์—ฐ๊ฒฐ ๋Š๊ธฐ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” FIN ๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•œ๋‹ค.
  3.  IP ๋‹ด๋‹น ๋ถ€๋ถ„์— ์˜๋ขฐํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์†ก์‹ ์„ ์š”๊ตฌํ•˜๊ณ , ์ด์™€ ๋™์‹œ์— ์„œ๋ฒ„ ์ธก์˜ ์†Œ์ผ“์— ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋™์ž‘์— ๋“ค์–ด๊ฐ”๋‹ค๋Š” ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.
  4.  ์„œ๋ฒ„์—์„œ FIN์— 1์„ ์„ค์ •ํ•œ TCP ํ—ค๋”๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ธก์— ๋„์ฐฉํ•˜๋ฉด, ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ์ž์‹ ์˜ ์†Œ์ผ“์— ์„œ๋ฒ„ ์ธก์ด ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋™์ž‘์— ๋“ค์–ด๊ฐ”๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ๋กํ•œ๋‹ค.
  5.  FIN์„ 1๋กœ ์„ค์ •ํ•œ ํŒจํ‚ท์„ ๋ฐ›์€ ์‚ฌ์‹ค์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ACK ๋ฒˆํ˜ธ๋ฅผ ์„œ๋ฒ„ ์ธก์— ๋ฐ˜์†กํ•œ๋‹ค.
  6.  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Ÿฌ ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
  7.  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด read๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Ÿฌ ์˜ค๋ฉด ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ถ€ ์ˆ˜์‹  ์™„๋ฃŒํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ ์•Œ๋ฆฐ๋‹ค. (๋ฌผ๋ก  ์ด์ „์— ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹  ๋ฒ„ํผ์— ๋‚จ์•„์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ ๊ฑด๋„ค์ค€๋‹ค.)
  8.  ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ close๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹  ๋™์ž‘์„ ๋๋‚ธ๋‹ค.
  9.  ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ์„œ๋ฒ„ ์ธก๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ FIN ๋น„ํŠธ์— 1์„ ์„ค์ •ํ•œ TCP ํ—ค๋”๋ฅผ ๋งŒ๋“ค๊ณ  IP ๋‹ด๋‹น ๋ถ€๋ถ„์— ์˜๋ขฐํ•˜์—ฌ ์„œ๋ฒ„์— ์†ก์‹ ํ•œ ํ›„ ์„œ๋ฒ„์—์„œ ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ค๋ฉด ์„œ๋ฒ„์™€์˜ ๋Œ€ํ™”๊ฐ€ ๋๋‚œ๋‹ค.

 

 

๐Ÿ“™ 2. ์†Œ์ผ“์„ ๋ง์†Œํ•œ๋‹ค.

  ์„œ๋ฒ„์™€์˜ ๋Œ€ํ™”๊ฐ€ ๋๋‚˜๋ฉด ์†Œ์ผ“์€ ํ•„์š” ์—†์ง€๋งŒ, ๋ฐ”๋กœ ์†Œ์ผ“์„ ๋ง์†Œํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜ค๋™์ž‘์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์†Œ์ผ“์„ ๋ง์†Œํ•œ๋‹ค.

 

  ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ํŒจํ‚ท์„ ๋‹ค์‹œ ๋ณด๋‚ด๋Š” ๋™์ž‘๊ณผ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค. ๋‹ค์‹œ ๋ณด๋‚ด๊ธฐ ๋™์ž‘์ด ์™„์ „ํžˆ ๋๋‚˜๋Š” ์‹œ๊ฐ„๋งŒํผ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๋œ๋‹ค.

  ๋ช…ํ™•ํ•œ ๊ทœ์ •์€ ์—†์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณดํ†ต ๋ช‡ ๋ถ„ ์ •๋„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋‚˜์„œ ์†Œ์ผ“์„ ๋ง์†Œํ•œ๋‹ค.

 

 

๐Ÿ“™ 3. ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹  ๋™์ž‘ ์ •๋ฆฌ 

  ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹ ์— ๊ด€ํ•œ ์ผ๋ จ์˜ ๊ณผ์ •์„ ์ •๋ฆฌํ•ด ๋ณด์ž.

1๏ธโƒฃ ์†Œ์ผ“์„ ์ž‘์„ฑํ•˜๋Š” ๋‹จ๊ณ„

  ๋ณดํ†ต์€ ๋จผ์ € ์„œ๋ฒ„ ์ธก์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ์†Œ์ผ“์„ ๋งŒ๋“ค๊ณ  ์ด๊ฒƒ์„ ์ ‘์† ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋งŒ๋“ ๋‹ค.

  ํด๋ผ์ด์–ธํŠธ ์ธก์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์–ธ๊ฐ€ ์กฐ์น˜๋ฅผ ์ทจํ•˜์—ฌ ์„œ๋ฒ„์— ์•ก์„ธ์Šค ํ•˜๋Š” ๋™์ž‘์ด ์‹œ์ž‘ํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ํŒจํ‚ท์„ ์ž‘์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์†Œ์ผ“์„ ์ž‘์„ฑํ•˜๋Š” ๋‹จ๊ณ„์—์„œ๋Š” ์•„์ง ํŒจํ‚ท์„ ์ฃผ๊ณ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

 

2๏ธโƒฃ ์ ‘์† ๋‹จ๊ณ„

  ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋ฅผ ํ–ฅํ•ด ์ ‘์† ๋™์ž‘์„ ์‹คํ–‰ํ•œ๋‹ค.

 

  SYN์ด 1๋กœ ๊ธฐ๋กํ•˜๊ณ  ์‹œํ€€์Šค ๋ฒˆํ˜ธ์˜ ์ดˆ๊ธฐ๊ฐ’์„ ๊ธฐ๋กํ•˜์—ฌ TCP ํ—ค๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ ์„œ๋ฒ„์— ๋ณด๋‚ธ๋‹ค.

๋˜ํ•œ, ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•  ๋•Œ ์ด์šฉํ•˜๋Š” ์œˆ๋„์œ„์˜ ๊ฐ’๋„ ๊ธฐ๋ก๋˜์–ด ์žˆ๋‹ค.

 

  ์ด๊ฒƒ์ด ์„œ๋ฒ„์— ๋„์ฐฉํ•˜๋ฉด ์„œ๋ฒ„์—์„œ๋Š” SYN๋ฅผ 1๋กœ ๊ธฐ๋กํ•˜๊ณ , ์‹œํ€€์Šค ๋ฒˆํ˜ธ์™€ ์œˆ๋„์šฐ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ACK ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋กํ•ด์„œ TCP ํ—ค๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

 

์ด๊ฒƒ์ด ํด๋ผ๋ฆฌ์–ธํŠธ์— ๋„์ฐฉํ•˜๋ฉด ACK ๋ฒˆํ˜ธ๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

 

3๏ธโƒฃ ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹  ๋‹จ๊ณ„

  TCP๋Š” ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ์ ๋‹นํ•œ ํฌ๊ธฐ์˜ ์กฐ๊ฐ์œผ๋กœ ๋ถ„ํ• ํ•˜๊ณ  TCP ํ—ค๋”๋ฅผ ๋งจ ์•ž์— ๋ถ€๊ฐ€ํ•˜์—ฌ ์„œ๋ฒ„์— ๋ณด๋‚ธ๋‹ค.

  ์†ก์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ฅผ TCP ํ—ค๋”์— ๊ธฐ๋กํ•ด์„œ ๋ณด๋‚ธ๋‹ค.

 

  ์ด๊ฒƒ์ด ์„œ๋ฒ„์— ๋„์ฐฉํ•˜๋ฉด ACK ๋ฒˆํ˜ธ์™€ ์ˆ˜์‹  ๋ฒ„ํผ์— ๋นˆ ์˜์—ญ์— ๊ด€ํ•œ ์œˆ๋„์šฐ ๊ฐ’์„ ๊ธฐ๋กํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

 

4๏ธโƒฃ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋‹จ๊ณ„

  ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์†ก·์ˆ˜์‹  ๋™์ž‘์ด ๋๋‚˜๋ฏ€๋กœ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋™์ž‘์— ๋“ค์–ด๊ฐ„๋‹ค.

  ์„œ๋ฒ„์—์„œ FIN์„ 1๋กœ ๋งŒ๋“  TCP ํ—ค๋”๋ฅผ ๋ณด๋‚ด๊ณ , ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” ์ด๊ฒƒ์„ ๋ฐ›์œผ๋ฉด ACK๋ฅผ ์ „์†กํ•œ๋‹ค.

  ๊ทธ๋ฆฌ๊ณ  ํด๋ผ์ด์–ธํŠธ๊ฐ€ FIN์„ 1๋กœ ๋งŒ๋“  TCP ํ—ค๋”๋ฅผ ๋ณด๋‚ด๊ณ  ACK ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๋Š”๋‹ค. ์ดํ›„ ์˜ค๋™์ž‘์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ผ์ • ์‹œ๊ฐ„ ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€ ์†Œ์ผ“์„ ๋ง์†Œํ•œ๋‹ค.

 

ํ•ด๋‹น ๊ธ€์€ Tsutomu Tone ๋‹˜์˜ '์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ'๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.