Skip to content

Latest commit

ย 

History

History
42 lines (36 loc) ยท 2.93 KB

File metadata and controls

42 lines (36 loc) ยท 2.93 KB

TCP

TCP(Transmission Control Protocol, ์ „์†ก์ œ์–ด ํ”„๋กœํ† ์ฝœ)

  • ์ข…๋‹จ๊ฐ„์— ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ์ „์†กํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.
  • TCP ์„œ๋น„์Šค๋Š” ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๊ฐ€ ์†Œ์ผ“์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ข…๋‹จ์ ์„ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ์ด๋ฃจ์–ด์ง„๋‹ค.
  • ์ „์ด์ค‘(full-duplex) : ์ „์†ก์ด ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋™์‹œ์— ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.
  • ์ ๋Œ€์ (point to point) : ๊ฐ ์—ฐ๊ฒฐ์ด ์ •ํ™•ํžˆ 2๊ฐœ์˜ ์ข…๋‹จ์ ์„ ๊ฐ€์ง„๋‹ค.
  • ๋ฉ€ํ‹ฐ์บ์ŠคํŒ…(๋ถˆํŠน์ •ํ•œ ๋ชจ๋‘์—๊ฒŒ ์ „์†ก)๊ณผ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…(ํŠน์ •ํ•œ ๋‹ค์ˆ˜์—๊ฒŒ ์ „์†ก)์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

TCP์˜ ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ : 3-way handshake

  1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์ ‘์†์„ ์š”์ฒญํ•˜๋Š” SYN ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
  2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ธ SYN์„ ๋ฐ›๊ณ  ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•œ๋‹ค๋Š” ACK์™€ SYN์˜ ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์ˆ˜๋ฝ ์‘๋‹ต์ธ ACK์™€ SYN ํŒจํ‚ท์„ ๋ฐ›๊ณ  ACK๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋ฉด ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋œ๋‹ค.

TCP์˜ ์—ฐ๊ฒฐ ํ•ด์ œ : 4-way handshake

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” FIN ํ”Œ๋ž˜๊ทธ(TCP Header์˜ Flag Bit)๋ฅผ ์ „์†กํ•œ๋‹ค.
  2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ํ™•์ธ ๋ฉ”์„ธ์ง€๋กœ ACK๋ฅผ ๋ณด๋‚ด๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ณด๋‚ธ๋‹ค.
  3. ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ณด๋‚ด๊ณ  ํ†ต์‹ ์ด ๋๋‚ฌ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „์†กํ•œ๋‹ค.
  4. ํด๋ผ์ด์–ธํŠธ๋Š” FIN์„ ํ™•์ธํ–ˆ๋‹ค๋Š” ACK๋ฅผ ๋ณด๋‚ธ๋‹ค.
  5. ํด๋ผ์ด์–ธํŠธ์˜ ACK ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›์€ ์„œ๋ฒ„๋Š” ์†Œ์ผ“ ์—ฐ๊ฒฐ์„ closeํ•œ๋‹ค.
  6. ํด๋ผ์ด์–ธํŠธ๋Š” ์•„์ง ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์ง€ ๋ชปํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒƒ์„ ๋Œ€๋น„ํ•ด ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ์„ธ์…˜์„ ๋‚จ๊ฒจ๋‘๊ณ  ์ž‰์—ฌ ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. (TIME_WAIT)

UDP

UDP(User Datagram Protocol, ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ)

  • ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
  • IP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ์บก์Аํ™”ํ•˜์—ฌ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• / ์—ฐ๊ฒฐ ์„ค์ •์„ ํ•˜์ง€ ์•Š๊ณ  ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•
  • ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ๋ฆ„์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด, ์žฌ์ „์†ก์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํฌํŠธ๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ IP ํ”„๋กœํ† ์ฝœ์— ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ์ฝ”๋“œ๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ  ์ดˆ๊ธฐ ์„ค์ •์„ ์œ„ํ•œ ๋ฉ”์„ธ์ง€๊ฐ€ ์ ๋‹ค.
  • ํ†ต์‹  ์ „ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ํ†ต์‹  ํ›„ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.
  • DNS ์„œ๋ฒ„์— ํ˜ธ์ŠคํŠธ ๋„ค์ž„์„ ์ „์†กํ•˜๊ณ , ์„œ๋ฒ„์—๊ฒŒ IP ์ฃผ์†Œ๋ฅผ ์ „๋‹ฌ๋ฐ›๋Š” ๊ณผ์ •์—์„œ UDP ํŒจํ‚ท์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ถœ์ฒ˜

https://github.com/JaeYeopHan/Interview_Question_for_Beginner https://mindnet.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-22%ED%8E%B8-TCP-3-WayHandshake-4-WayHandshake