์ง๊ธ๊น์ง '์์ผ ์์ฑ, ์๋ฒ์ ์ ์, ๋ฐ์ดํฐ ์ก์์ ' ๊ณผ์ ์ ์์๋ณด์๋ค.
๋ง์ง๋ง์ผ๋ก '์ฐ๊ฒฐ ๋๊ธฐ'๋ฅผ ์ดํด๋ณด๋ฉด์ ๋ฐ์ดํฐ ์ก·์์ ์ ๊ดํ ์ผ๋ จ์ ์์ง์์ ๋ง๋ฌด๋ฆฌํด๋ณด์.
๐ 1. ๋ฐ์ดํฐ ๋ณด๋ด๊ธฐ๋ฅผ ์๋ฃํ์ ๋ ์ฐ๊ฒฐ์ ๋๋๋ค.
๋ฐ์ดํฐ ์ก·์์ ์ ์ข ๋ฃํ๋ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ก์ ํด์ผ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ์ก์ ์๋ฃํ๋ค๊ณ ํ๋จํ์ ๋๋ค.
์ก์ ์ ์๋ฃํ ์ธก์ด ์ฐ๊ฒฐ ๋๊ธฐ ๋จ๊ณ๋ก ๋ค์ด๊ฐ๋๋ฐ, ์ด๋์์ ๋ฐ์ดํฐ ์ก·์์ ๋์์ด ๋๋๋์ง๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
์๋ฒ ์ธก์์ ์ฐ๊ฒฐ ๋๊ธฐ ๋จ๊ณ์ ๋ค์ด๊ฐ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค๋ฉด ๊ทธ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
- ์๋ฒ ์ธก์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋จผ์ Socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ close๋ฅผ ํธ์ถํ๋ค.
- ์๋ฒ ์ธก์ ํ๋กํ ์ฝ ์คํ์ด TCP ํค๋๋ฅผ ๋ง๋ค๊ณ , ์ฌ๊ธฐ์ ์ฐ๊ฒฐ ๋๊ธฐ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ FIN ๋นํธ๋ฅผ 1๋ก ์ค์ ํ๋ค.
- IP ๋ด๋น ๋ถ๋ถ์ ์๋ขฐํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์ก์ ์ ์๊ตฌํ๊ณ , ์ด์ ๋์์ ์๋ฒ ์ธก์ ์์ผ์ ์ฐ๊ฒฐ ๋๊ธฐ ๋์์ ๋ค์ด๊ฐ๋ค๋ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ค.
- ์๋ฒ์์ FIN์ 1์ ์ค์ ํ TCP ํค๋๊ฐ ํด๋ผ์ด์ธํธ ์ธก์ ๋์ฐฉํ๋ฉด, ํด๋ผ์ด์ธํธ ์ธก์ ํ๋กํ ์ฝ ์คํ์ ์์ ์ ์์ผ์ ์๋ฒ ์ธก์ด ์ฐ๊ฒฐ ๋๊ธฐ ๋์์ ๋ค์ด๊ฐ๋ค๋ ๊ฒ์ ๊ธฐ๋กํ๋ค.
- FIN์ 1๋ก ์ค์ ํ ํจํท์ ๋ฐ์ ์ฌ์ค์ ์๋ฆฌ๊ธฐ ์ํด ACK ๋ฒํธ๋ฅผ ์๋ฒ ์ธก์ ๋ฐ์กํ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๋ฌ ์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ด read๋ฅผ ํธ์ถํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๋ฌ ์ค๋ฉด ์๋ฒ์์ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ์์ ์๋ฃํ๋ค๋ ์ฌ์ค์ ํด๋ผ์ด์ธํธ ์ธก์ ์ ํ๋ฆฌ์ผ์ด์ ์๊ฒ ์๋ฆฐ๋ค. (๋ฌผ๋ก ์ด์ ์ ์์ ํ ๋ฐ์ดํฐ๊ฐ ์์ ๋ฒํผ์ ๋จ์์๋ค๋ฉด ๊ทธ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์๊ฒ ๊ฑด๋ค์ค๋ค.)
- ํด๋ผ์ด์ธํธ ์ธก์ ์ ํ๋ฆฌ์ผ์ด์ ๋ close๋ฅผ ํธ์ถํ์ฌ ๋ฐ์ดํฐ ์ก·์์ ๋์์ ๋๋ธ๋ค.
- ํด๋ผ์ด์ธํธ ์ธก์ ํ๋กํ ์ฝ ์คํ์ ์๋ฒ ์ธก๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก 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%์ ๋คํธ์ํฌ ์๋ฆฌ'๋ฅผ ์ฐธ๊ณ ํ์์ต๋๋ค.