๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

CS

[Network] TCP/IP ๋ž€ ?

๐Ÿ’ก OSI 7๊ณ„์ธต๊ณผ ํ•ญ์ƒ ๊ฐ™์ด ์–ธ๊ธ‰๋˜๋Š” TCP/IP ?!

  ๋…ธ์…˜์—์„œ ๋ณด๊ธฐ

 

 

๐ŸŒ ์ธํ„ฐ๋„ท

 

  • ์ „ ์„œ๊ณ„์— ๊ฑธ์ณ ํŒŒ์ผ ์ „์†ก ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ํ†ต์‹  ์„œ๋น„์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ
  • ํ”„๋กœํ† ์ฝœ : ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ๊ณตํ†ต๋œ ๋ฉ”๋‰ด์–ผ

 

๐Ÿ“ญ TCP/IP ๋ž€?

 

์ธํ„ฐ๋„ท ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ๋น„๊ต

 

  • ์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ๋“ค์ด ์„œ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ ์“ฐ์ด๋Š” ํ”„๋กœํ† ์ฝœ์˜ ์ง‘ํ•ฉ
  • Transmission Control Protocol/Internet Protocol

 

Application Layer ๋ž€,

  • ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ผ๋ฆฌ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
  • FTP, HTTP, SSH, Telnet, DNS, SMTP ์™€ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ
  • HTTP ์š”์ฒญ, ์‘๋‹ต์„ ํ†ตํ•ด ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ

 

Transport Layer ๋ž€,

  • ์†ก์‹ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ์ธก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ™•์‹คํžˆ ์ „๋‹ฌํ•˜๊ฒŒ ํ•จ
  • TCP, UDP, RTP, RTCP
  • ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  → Transport Layer ๋Š” ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฐพ์•„์ฃผ๋Š” ์—ญํ•  ์ˆ˜ํ–‰

 

Internet Layer ๋ž€,

  • ์ˆ˜์‹ ์ธก๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • IP, ARP, ICMP, RARP, OSPF
  • IP ์ฃผ์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์˜ฌ๋ฐ”๋ฅธ ๋ชฉ์ ์ง€๋กœ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ

 

Link Layer ๋ž€

  • ๋„คํŠธ์›Œํฌ์— ์ง์ ‘ ์—ฐ๊ฒฐ๊ดธ ๊ธฐ๊ธฐ ๊ฐ„ ์ „์†ก์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ
  • Ethernet, PPP, Token Ring
  • ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ์ธ MAC ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉ

 

 

โžก๏ธ TCP/IP ํ๋ฆ„

 

 ๐Ÿ’ก “www.google.com” ์„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋ฉด ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ ๊นŒ?

 

  • www.google.com” ์„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅ
  • www.google.com 80๋ฒˆ ํฌํŠธ๋กœ HTTP ๋กœ ์ž‘์„ฑ๋œ ํ•ด๋‹น ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ๋ถ€ํƒํ•œ๋‹ค. (Request Message ์ „์†ก)
  • ์ด ์š”์ฒญ์„ ๊ตฌ๊ธ€ ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด์•ผ ํ•จ
  • ํŒจํ‚ท์—๋Š” ๊ฐ ๊ณ„์ธต์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด ๋‹ด๊ฒจ์žˆ์–ด์•ผ ํ•จ
  • HTTP ํ—ค๋”
  • TCP ํ—ค๋”

 

2๏ธโƒฃ Internet Layer

 

  • IP ํ—ค๋”๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด, ๋ชฉ์ ์ง€ IP ์ฃผ์†Œ๋Š” ์–ด๋–ป๊ฒŒ ์•Œ์•„๋‚ผ๊นŒ?

Internet Layer

 

  • ๋„๋ฉ”์ธ ์ •๋ณด(www.google.com) ์œผ๋กœ IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๋Š” OS ์—๊ฒŒ domain ์— ๋Œ€ํ•œ IP ์ฃผ์†Œ๋ฅผ ์š”์ฒญํ•จ
  • OS์—์„œ → DNS ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ„
    • OS๊ฐ€ DNS ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ ์–ด๋–ป๊ฒŒ ์•Œ๊ณ  ์žˆ์„๊นŒ?
    • ์ปดํ“จํ„ฐ์— ์ด๋ฏธ ๋“ฑ๋ก์ด ๋˜์–ด ์žˆ๋‹ค!
    • ๋งฅ๋ถ์˜ ๊ฒฝ์šฐ, ์‹œ์Šคํ…œํ™˜๊ฒฝ์„ค์ • > ๋„คํŠธ์›Œํฌ์— ๋“ค์–ด๊ฐ€๋ฉด : ๋‚ด๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” DNS ์„œ๋ฒ„ ์ฃผ์†Œ ํ™•์ธ ๊ฐ€๋Šฅ
  • DNS ๋„ Application Layer ์˜ ํ”„๋กœํ† ์ฝœ์ด๊ณ , 53๋ฒˆ ํฌํŠธ ์‚ฌ์šฉ
  • DNS ๋„ HTTP Request ์™€ ๋™์ผํ•˜๊ฒŒ, ๋„๋ฉ”์ธ์ด ๋‹ด๊ธด ์ฟผ๋ฆฌ๋ฅผ ๋„๋ฉ”์ธ ์„œ๋ฒ„๋กœ ๋ณด๋ƒ„
  • ๊ทธ๋Ÿฌ๋ฉด, ๋„๋ฉ”์ธ ์„œ๋ฒ„๊ฐ€ IP ์ฃผ์†Œ๋ฅผ ์‘๋‹ตํ•ด์คŒ
  • DNS ๋Š” Transport Layer ์—์„œ UDP ๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•จ
    • UDP ๋Š” ํ—ค๋”์— ํฌํŠธ๋ฒˆํ˜ธ๋งŒ ์กด์žฌ! (TCP ๋Š” ๋ณต์žกํ•œ๋ฐ,,) → UDP ๋Š” ๋น„์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ (TCP ๋Š” ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ)

 

1๏ธโƒฃ Network Access Layer

 

  • ์ด๋”๋„ท(๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๋ฐฉ์‹) ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ํ—ค๋”
    • MAC(Media Access Control Address) ์ฃผ์†Œ๋ž€, 48 ๋น„ํŠธ๋กœ ํฌํ˜„๋œ ์‹๋ณ„์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์ฃผ์†Œ๋กœ
      • IP ์ฃผ์†Œ๋Š”, ISP ์— ์˜ํ•ด ํ• ๋‹น๋˜๊ณ , ์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ ๋ฐ ํ•ด์ œ๋  ๋•Œ ๋‹ค์‹œ ํ• ๋‹น ๊ฐ€๋Šฅ
      • MAC ์ฃผ์†Œ๋Š” ๋ฌผ๋ฆฌ์  ์–ด๋Œ‘ํ„ฐ์— ์—ฐ๊ฒฐ๋˜๊ณ , ์ œ์กฐ์—…์ฒด์—์„œ ํ• ๋‹น
    • ์žฅ์น˜์—์„œ ๊ณ ์œ ํ•œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.
    • ๊ทธ๋ ‡๋‹ค๋ฉด, ๋ชฉ์ ์ง€์ธ Google ์›น ์„œ๋ฒ„์˜ MAC ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ• ๊นŒ?
      • ์ด๋•Œ์˜ MAC ์ฃผ์†Œ๋Š”, ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์šฐ๋ฆฌ์ง‘ ๊ณต์œ ๊ธฐ์˜ MAC ์ฃผ์†Œ๊ฐ€ ํ•„์š”
      • ์ด ๊ณต์œ ๊ธฐ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์™€ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ˆ ๊ฒŒ์ดํŠธ์›จ์ด ๋ผ๊ณ ๋„ ํ•จ
        • gateway ์˜ IP ๋Š” netstate -rn ์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ์Œ
    • ๊ทธ๋ ‡๋‹ค๋ฉด, ์–ด๋–ป๊ฒŒ IP ์ฃผ์†Œ๋กœ MAC ์ฃผ์†Œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ?
      • IP ์ฃผ์†Œ๋กœ MAC ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด, **IP ์ฃผ์†Œ๋ฅผ MAC ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ์ฃผ์†Œํ•ด์„ ํ”„๋กœํ† ์ฝœ**์ธ ARP ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ

 

3๏ธโƒฃ Transport Layer

 

  • ๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”๊ฐ€? 
    • TCP ๊ฐ€ ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํ”„๋กœํ† ์ฝœ์ธ ๊ฒƒ์„ ๊ณ ๋ คํ•ด์•ผ ํ•จ
    • ๋”ฐ๋ผ์„œ, TCP ํ”„๋กœํ† ์ฝœ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „ ์†ก์‹ ์ธก๊ณผ ์ˆ˜์‹ ์ธก์ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ์ž‘์—… ํ•„์š”
    • 3-Way Handshaking
    • 3 Way Handwhaking ์„ ์œ„ํ•ด **TCP ํ—ค๋”์— ํ‘œ์‹œํ•œ ํ”Œ๋ž˜๊ทธ**๋“ค์ด ์‚ฌ์šฉ๋จ
      • ์ด๋Ÿฌํ•œ ํ”Œ๋ž˜๊ทธ๋“ค์ด **์ปจํŠธ๋กค ๋น„ํŠธ**๋ผ๊ณ  ํ•จ

 

 

  • 3 Way Handwhaking ์—์„œ๋Š” SYN ๊ณผ ACK ํ”Œ๋ž˜๊ทธ๊ฐ€ ์‚ฌ์šฉ๋จ

 

 

  • ํด๋ผ์ด์–ธํŠธ๋Š” → ์„œ๋ฒ„์—๊ฒŒ ์ ‘์†์„ ์š”์ฒญํ•˜๋Š” SYN ํŒจํ‚ท์„ ๋ณด๋‚ด๊ณ 
  • ์„œ๋ฒ„๋Š” SYN ์š”์ฒญ์„ ๋ฐ›๊ณ  → ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•œ๋‹ค๋Š” ACK ๊ณผ SYN ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋œ ํŒจํ‚ท์„ ๋ณด๋ƒ„
    • ์‚ฌ์ง„์—์„œ 2๋ฒˆ์งธ hanshaking ์— SYN ๋ถ€๋ถ„์— 1 ์ด ํ‘œ์‹œ๋˜์–ด์•ผ ํ•จ (์‚ฌ์ง„ ์ˆ˜์ • ํ•„์š”)
  • ํด๋ผ์ด์–ธํŠธ๋Š” → ์„œ๋ฒ„์—๊ฒŒ ๋‹ค์‹œ ACK ํŒจํ‚ท์„ ๋ณด๋ƒ„ !
    •  

 

  • ์ด์ œ, Handshaking ์„ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜์—ˆ์œผ๋‹ˆ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด๋‚ด์งˆ ์ฐจ๋ก€!

 

4๏ธโƒฃ Application Layer

  • Application Layer ๊นŒ์ง€ ์˜ค๋ฉด, ์›น ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ๋  HTTP Request ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์–ด์˜ฌ ์ˆ˜ ์žˆ์Œ
  • ์ด์ œ, ์„œ๋ฒ„์—์„œ ์ •์ƒ์ ์œผ๋กœ HTTP Request ๋ฅผ ๋ฐ›๊ณ  → ์‘๋‹ต์„ ๋Œ๋ ค๋ณด๋ƒ„
  • “ / “ ์— ๋งคํ•‘๋œ GET ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์„œ ์ ์ ˆํ•œ HTML ์„ ์‘๋‹ต
  • HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต๊ณผ์ •์ด ๋๋‚˜๋ฉด ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•ด์•ผ ํ•จ4-Way Handshaking
  • ์ด๋•Œ, TCP ์ปจํŠธ๋กค ๋น„ํŠธ๊ฐ€ ์‚ฌ์šฉ๋จ
    • ์—ฌ๊ธฐ์„œ, ์ปจํŠธ๋กค ๋น„ํŠธ๋กœ๋Š” ACK ๊ณผ FIN ํ”Œ๋ž˜๊ทธ๊ฐ€ ์‚ฌ์šฉ๋จ
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ → ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” FIN ํ”Œ๋ž˜๊ทธ ์ „์†ก
    • ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ACK ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  → ์ž์‹ ์˜ ํ†ต์‹ ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆผ
    • ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ์ด ๋๋‚˜๋ฉด → ํด๋ผ์ด์–ธํŠธ๋กœ FIN ์„ ๋ณด๋ƒ„
      • ์ด๋•Œ, ์„œ๋ฒ„๊ฐ€ FIN ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ณด๋ƒˆ๋˜ ๋ฐ์ดํ„ฐ๊ฐ€ FIN ๋ณด๋‹ค ๋Šฆ๊ฒŒ ๋„์ฐฉํ•  ๊ฒฝ์šฐ?
      • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ FIN ์„ ์ˆ˜์‹ ํ–ˆ๋‹ค๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ”๋กœ ์—ฐ๊ฒฐ๋œ ์†Œ์ผ“์„ ๋‹ซ์•„๋ฒ„๋ฆฌ๋ฉด ?
      • FIN ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ณด๋‚ธ ํŒจํ‚ท์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜์˜ ๋ฐ›์„ ์ˆ˜ ์—†๊ฒŒ ๋จ
      • ๋”ฐ๋ผ์„œ, ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ FIN ์š”์ฒญ์„ ๋ฐ›๋”๋ผ๋„ ์ผ์ •์‹œ๊ฐ„ ์†Œ์ผ“์„ ๋‹ซ์ง€ ์•Š๊ณ , ํ˜น์‹œ๋‚˜, ์•„์ง ๋„์ฐฉํ•˜์ง€ ์•Š์€ ์ž‰์—ฌ ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆผ ⇒ Time Wait โฑ๏ธ
    • ํด๋ผ์ด์–ธํŠธ๋Š” ํ™•์ธ์˜ ์˜๋ฏธ๋กœ → ์„œ๋ฒ„์—๊ฒŒ ACK ์„ ๋ณด๋ƒ„

 

 

๐Ÿ‘Œ๐Ÿป์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” TCP

 

  • ์š”์ฆ˜ ์„ธ์ƒ์—๋Š” ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ
  • ๋”ฐ๋ผ์„œ, ํ•œ ๊ฐœ์˜ ํŒจํ‚ท์œผ๋กœ๋งŒ ์ฃผ๊ณ  ๋ฐ›๊ธฐ์—๋Š” ์ƒ๋‹นํ•œ ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค.
  • ๋ ๋ฆฌ์‚ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ณ , ๋งŽ์€ ํŒจํ‚ท์„ ๋ณด๋‚ด๊ฒŒ ๋˜๊ณ ,
  • ์—„์ฒญ ๋ณต์žกํ•œ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ „๋‹ฌํ•จ
  • ์ด ๋ณต์žกํ•œ ํ™˜๊ฒฝ์—์„œ, ๊ทธ ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋˜์ง€ ์•Š๊ณ  ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์„๊นŒ?
    • ํ๋ฆ„์ œ์–ด
    • ์˜ค๋ฅ˜์ œ์–ด
    • ํ˜ผ์žก์ œ์–ด
    ๋ฅผ ํ†ตํ•ด ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅํ•˜๊ฒŒ ํ•ด์คŒ
  • → ์ด ์–ด๋ ค์šด ๊ฒƒ์„ ! TCP๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์คŒ!

 

๐Ÿคท๐Ÿป UDP(User Datagram Protocol)

 

  • ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ธ TCP ์— ๋น„ํ•ด, ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์€ ๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
  • TCP Vs UDP ๋น„๊ต

 

 

๐Ÿค 3-Way Handshake & 4-Way Handshake

 

3-Way Handshake

  • TCP/IP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ํ†ต์‹ ์„ ์ง„ํ–‰ํ•  ๋•Œ, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์ข…๋‹จ ๊ฐ„ ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด “์—ฐ๊ฒฐ์„ ์„ค์ •”
  1. ํด๋ผ์ด์–ธํŠธ์„œ๋ฒ„ : ์„œ๋ฒ„ ์ ‘์† ์š”์ฒญ **SYN ํŒจํ‚ท**์„ ์ „์†ก
  2. ์„œ๋ฒ„ํด๋ผ์ด์–ธํŠธ : ์š”์ฒญ ์ˆ˜๋ฝ ์‘๋‹ต **ACK ํŒจํ‚ท**๊ณผ + ํฌํŠธ๋ฅผ ์—ด์–ด๋‹ฌ๋ผ๋Š” **SYN ํŒจํ‚ท**์„ ์ „์†ก
  3. ํด๋ผ์ด์–ธํŠธ์„œ๋ฒ„ : ํ™•์ธ ์‘๋‹ต์œผ๋กœ ACK ํŒจํ‚ท ์ „์†ก
  • SYN(Synchronize Sequence Number)
  • ACK(Acknowlegement)

 

4-Way Handshake

  • “์—ด๊ฒฐ ์„ค์ • ํ•ด์ œ”
  1. ํด๋ผ์ด์–ธํŠธ์„œ๋ฒ„ : ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•˜๊ฒ ๋‹ค๋Š” FIN ํŒจํ‚ท ์ „์†ก
  2. ์„œ๋ฒ„ํด๋ผ์ด์–ธํŠธ : ์‘๋‹ต์œผ๋กœ ACK ํŒจํ‚ท ์ „์†ก
  3. ์„œ๋ฒ„ํด๋ผ์ด์–ธํŠธ : ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ชจ๋“  ํ†ต์‹ ์„ ๋๋‚ด๊ณ  → ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” FIN ํŒจํ‚ท ์ „์†ก
    • ์ด๋•Œ, ์„œ๋ฒ„๊ฐ€ FIN ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ณด๋ƒˆ๋˜ ๋ฐ์ดํ„ฐ๊ฐ€ FIN ๋ณด๋‹ค ๋Šฆ๊ฒŒ ๋„์ฐฉํ•  ๊ฒฝ์šฐ?
    • ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ FIN ์„ ์ˆ˜์‹ ํ–ˆ๋‹ค๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ”๋กœ ์—ฐ๊ฒฐ๋œ ์†Œ์ผ“์„ ๋‹ซ์•„๋ฒ„๋ฆฌ๋ฉด ?
    • FIN ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ณด๋‚ธ ํŒจํ‚ท์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜์˜ ๋ฐ›์„ ์ˆ˜ ์—†๊ฒŒ ๋จ
    • ๋”ฐ๋ผ์„œ, ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ FIN ์š”์ฒญ์„ ๋ฐ›๋”๋ผ๋„ ์ผ์ •์‹œ๊ฐ„ ์†Œ์ผ“์„ ๋‹ซ์ง€ ์•Š๊ณ , ํ˜น์‹œ๋‚˜, ์•„์ง ๋„์ฐฉํ•˜์ง€ ์•Š์€ ์ž‰์—ฌ ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆผ ⇒ Time Wait โฑ๏ธ
  4. ํด๋ผ์ด์–ธํŠธ์„œ๋ฒ„ : ํ™•์ธ ์‘๋‹ต์œผ๋กœ ACK ํŒจํ‚ท ์ „์†ก

 

์ฐธ๊ณ  ์ž๋ฃŒ

์ฐธ๊ณ 

'CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Network] HTTP ๋ž€ ?  (0) 2022.07.09
[Network] TCP ์™€ UDP ์˜ ์ฐจ์ด ?  (0) 2022.07.09
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค(Index)  (0) 2022.07.09
[Network] OSI 7๊ณ„์ธต(feat.TCP/IP Updated)  (0) 2022.06.21
[OS] Process / Thread  (0) 2022.01.12