google.com๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ

@choi2021 ยท February 21, 2023 ยท 15 min read

๐Ÿ˜ Google.com ๋˜๋Š” naver.com์„ ๋ธŒ๋ผ์šฐ์ €์— ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ

๋ฉด์ ‘ ๋‹จ๊ณจ ์งˆ๋ฌธ ์ค‘ ํ•˜๋‚˜์ธ Google.com ๋˜๋Š” naver.com์„ ๋ธŒ๋ผ์šฐ์ €์— ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ์€ ์šฐ๋ฆฌ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋‹จ์ˆœํžˆ ๋ฐ›๋Š” ๋ฐ์—์„œ ๊ทธ์น˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ทธ ์‚ฌ์ด์— ์ˆจ์–ด์žˆ๋Š” ๋„คํŠธ์›Œํฌ ํ†ต์‹ ๊ณผ ๊ด€๋ จ๋œ ๊ณผ์ •์„ ๋ฌผ์–ด๋ณด๋Š” ์งˆ๋ฌธ์ด๋‹ค. ๋ฉด์ ‘ ๊ณผ์ •์—์„œ ํ•œ๋ฒˆ๋„ ์งˆ๋ฌธ์„ ๋ฐ›์•„๋ณธ ์ ์€ ์—†์ง€๋งŒ, ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ ๊ฐ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•œ ๋งŒํผ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.

๐Ÿ™„์šฉ์–ด ์ •๋ฆฌ

ํ•˜๋‚˜์˜ ์งˆ๋ฌธ์ด์ง€๋งŒ ๊ด€๋ จ๋œ ๋‚ด์šฉ์—๋Š” ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ์ง€์‹๋“ค์ด ์—ฐ๊ด€๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ์šฉ์–ด๋ฅผ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค.

  • Protocol: ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ ํ•„์š”ํ•œ ํ˜•์‹, ๋Œ€ํ‘œ์ ์œผ๋กœ HTTP, SSH์™€ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์ด ์žˆ๋‹ค.
  • ํŒจํ‚ท: ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด ํ˜•์‹์— ๋งž๊ฒŒ ์ชผ๊ฐœ์ง„ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ
  • TCP/IP: ์ปดํ“จํ„ฐ๋“ค์ด ๋„คํŠธ์›Œํฌ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ ํ•„์š”ํ•œ ํ”„๋กœํ† ์ฝœ์˜ ์ง‘ํ•ฉ
  • TCP (Transmission Contorl Protocol): ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
  • IP (Internet Protocol): ๋„คํŠธ์›Œํฌ์—์„œ ์ •๋ณด์˜ ์†ก์ˆ˜์‹ ์— ๋Œ€ํ•œ ํ”„๋กœํ† ์ฝœ
  • DNS (Domain Name System): ๋„๋ฉ”์ธ๊ณผ ๊ด€๋ จ๋œ ์‹œ์Šคํ…œ, google.com์„ ํ•ด๋‹น ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋กœ mappingํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ
  • ARP (Address Resolution Protocol): IP์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ(MAC ์ฃผ์†Œ)๋กœ ๋งค์นญํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
  • MAC ์ฃผ์†Œ: ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ธฐ์˜ ๊ณ ์œ ํ•œ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ, ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์œ„์˜ ์šฉ์–ด๋“ค์„ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

๐ŸŽˆTCP/IP 4๊ณ„์ธต

์šฐ๋ฆฌ๊ฐ€ ๋ณด๋‚ด๋Š” ์š”์ฒญ๊ณผ ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๋ฐ›๋Š” ๋ฐ์—๋Š” TCP/IP๋ผ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœํ† ์ฝœ์— ๊ฐ๊ฐ์˜ ํ˜•์‹์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ๋‹ด์•„ ์ฃผ๊ณ  ๋ฐ›๊ฒŒ ๋œ๋‹ค. TCP/IP๋Š” 4๊ฐœ์˜ ์ธต/ ํ”„๋กœํ† ์ฝœ๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ๋จผ์ € ์ •๋ฆฌํ•ด๋ณด์ž.

Application Layer

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋ผ๋ฆฌ ์ฃผ๊ณ  ๋ฐ›์„ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ๊ณ„์ธต์œผ๋กœ, HTTP ํ”„๋กœํ† ์ฝœ๊ณผ ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” SMTP ํ”„๋กœํ† ์ฝœ ๋“ฑ์ด ์‚ฌ์šฉ๋œ๋‹ค.

Transport Layer

๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์†ก์‹  ํ˜ธ์ŠคํŠธ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ด์šฉํ•˜๊ณ  TCP, UDP์™€ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋œ๋‹ค.

Transport Layer์—์„œ ์†ก์‹ ์ž ์ž…์žฅ๊ณผ ์ˆ˜์‹ ์ž์˜ ์ž…์žฅ์—์„œ Transport Layer์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋˜๋Š”๋ฐ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์†ก์‹ ์ž๋Š” Application layer์—์„œ ์ „๋‹ฌ ๋ฐ›์€ ๋ฉ”์„ธ์ง€๋ฅผ segment๋กœ ์ชผ๊ฐœ๊ณ , segment์˜ ํ—ค๋”์— ์ถœ๋ฐœ์ง€์™€ ๋„์ฐฉ์ง€์˜ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ์ „์†กํ•œ๋‹ค.
  • ์ˆ˜์‹ ์ž๋Š” segment๋กœ ๋‚˜๋‰œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ํ•ฉ์นœ ํ›„์— header๋ฅผ ์ฝ๊ณ  ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•ด application layer๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

Internet Layer

์†ก์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•  ํ˜ธ์ŠคํŠธ๊นŒ์ง€ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ณ„์ธต์œผ๋กœ IP ํ”„๋กœํ† ์ฝœ๊ณผ ARP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

Network Access Layer

๋„คํŠธ์›Œํฌ์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๊ธฐ๊ธฐ ๊ฐ„ ์ „์†ก์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, Ethernet ํ”„๋กœํ† ์ฝœ์ด ์ด์šฉ๋œ๋‹ค.

network access

์ด์ œ ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ €์— ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๊ณผ์ •์„ ์ซ“์•„ ๊ฐ€๋ณด์ž

๐Ÿ“ก TCP/IP์˜ ํ๋ฆ„

๋จผ์ € http://www.google.com์„ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ํ•ด๋‹น ์ฃผ์†Œ์˜ ๊ตฌ๊ธ€ ์„œ๋ฒ„์˜ 80ํฌํŠธ์— HTTP Request๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํŒจํ‚ท์— ๋‹ด๊ฒจ์ ธ์•ผ ํ•˜๋Š”๋ฐ ์ด๋•Œ TCP/IP 4 ๊ณ„์ธต์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„์„œ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • Application Layer: ์šฐ๋ฆฌ๊ฐ€ ์š”์ฒญํ•  HTTP Request ๋‚ด์šฉ์„ ๋‹ด๋Š”๋‹ค.
  • Transport Layer: ๋‚ด ์ปดํ“จํ„ฐ์˜ ํฌํŠธ ๋ฒˆํ˜ธ์™€ ๊ตฌ๊ธ€ ์„œ๋ฒ„์˜ 80 ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋‹ด๋Š”๋‹ค. (TCP์ด๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ๋‚ด์šฉ์ด ๋‹ด๊ธด๋‹ค)
  • Internet Layer: ๋‚ด ์ปดํ“จํ„ฐ์˜ IP์ฃผ์†Œ์™€ ๊ตฌ๊ธ€ ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ๋‹ด๋Š”๋‹ค.
  • Network Access Layer: ๋‚ด ์ปดํ“จํ„ฐ์˜ MAC์ฃผ์†Œ์™€ ๊ตฌ๊ธ€ ์„œ๋ฒ„์˜ MAC์ฃผ์†Œ๋กœ ๋ฌผ๋ฆฌ์  ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๋Š”๋‹ค.

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ Internet Layer์™€ Network Access Layer์—์„œ ๊ตฌ๊ธ€ ์„œ๋ฒ„์˜ IP์ฃผ์†Œ์™€ ๊ตฌ๊ธ€ ์„œ๋ฒ„์˜ MAC์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ํ•„์š”ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ DNS์™€ ARP ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๊ฐ๊ฐ์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ์•Œ์•„๋ณด์ž.

๐Ÿ‘‰ DNS (Domain Name System)

DNS๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•œ domain์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ทธ๋ž˜์„œ DNS๋Š” ํ”ํžˆ ์ „ํ™”๋ฒˆํ˜ธ ๋ถ์— ๋งŽ์ด ๋น„์œ ๋˜๋Š”๋ฐ ์˜ˆ๋ฅผ ๋“ค์–ด "์ฒญ๋ฃก๋ฐ˜์ "์ด๋ผ๋Š” ์ค‘๊ตญ์ง‘์— ์งœ์žฅ๋ฉด์„ ์ฃผ๋ฌธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด "์ฒญ๋ฃก๋ฐ˜์ "๋งŒ ์•Œ์•„์„œ๋Š” ์ „ํ™”(๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ)๋ฅผ ํ•  ์ˆ˜๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฒญ๋ฃก๋ฐ˜์ ์˜ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„์•ผ ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๊ธฐ๋ก๋˜์–ด์žˆ๋Š” ์ „ํ™”๋ฒˆํ˜ธ๋ถ€๋ฅผ ์ด์šฉํ•ด์„œ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

dns
dns

์œ„ ์˜ˆ์ œ์—์„œ ์ฒญ๋ฃก๋ฐ˜์ ์„ ๊ตฌ๊ธ€ ์„œ๋ฒ„๋กœ, ์งœ์žฅ๋ฉด ์ฃผ๋ฌธ์„ ์š”์ฒญ, ์ฒญ๋ฃก๋ฐ˜์ ์ด๋ž€ ๊ฐ€๊ฒŒ ์ด๋ฆ„์„ ๋„๋ฉ”์ธ, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ IP์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ๋ถ€๋ฅผ DNS๋กœ ๊ฐ๊ฐ ๋งค์นญ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ IP ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•ด๋„ ๋˜์ง€๋งŒ, IP ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๊ณ  (AWS ์ธ์Šคํ„ด์Šค๋ฅผ ํƒ„๋ ฅ์  IP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๋•Œ ๋งค๋ฒˆ ๋‹ฌ๋ผ์ง€๋Š” IP์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ ์ฃผ์†Œ) ์ˆซ์ž๋ณด๋‹ค google.come์ด ํ›จ์”ฌ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ DNS๋ฅผ ์ด์šฉํ•ด์„œ ๋„๋ฉ”์ธ์„ IP๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

  1. DNS๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๊ณณ์€ ๋กœ์ปฌ DNS ์„œ๋ฒ„๋กœ ๋กœ์ปฌ DNS ์„œ๋ฒ„์— ์บ์‹ฑ๋œ ์ •๋ณด๋ฅผ ํ™•์ธํ•œ๋‹ค. ์ด๋•Œ ์ •๋ณด๊ฐ€ ์—†๋‹ค๋ฉด Root DNS ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
  2. Root DNS ์„œ๋ฒ„๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋„๋ฉ”์ธ ์ •๋ณด ์ค‘์—์„œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์ธ .com์— ํ•ด๋‹นํ•˜๋Š” DNS ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ๋กœ์ปฌ DNS์„œ๋ฒ„์— ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  3. ๋กœ์ปฌ DNS ์„œ๋ฒ„๋Š” ์ „๋‹ฌ๋ฐ›์€ IP์ฃผ์†Œ๋กœ .com DNS ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด google.com์˜ DNS ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  4. ๋กœ์ปฌ DNS ์„œ๋ฒ„๋Š” ์ „๋‹ฌ๋ฐ›์€ google.com DNS ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด google.com DNS ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ˜ธ์ŠคํŠธ ๋„ค์ž„๋ณ„ IP์ฃผ์†Œ ์ค‘์—์„œ www.์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  5. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ „๋‹ฌ๋ฐ›์€ IP ์ฃผ์†Œ๋ฅผ ๋กœ์ปฌ DNS ์„œ๋ฒ„๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ IP์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด Internet Layer์— ์š”์ฒญ์„ ๋ฐ›์„ www.google.com์˜ IP์ฃผ์†Œ๋ฅผ ๋‹ด๋Š”๋‹ค.

[AWS์˜ DNS ์ด๋ฏธ์ง€]

aws dns
aws dns

๐Ÿ™‚ ARP (Address Resolution Protocol)

ARP๋Š” DNS๋ฅผ ์ด์šฉํ•ด ์ฐพ์•„๋‚ธ IP์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ๊ธฐ๊ธฐ์˜ MAC ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ๋Š” ํ”„๋กœํ† ์ฝœ๋กœ, ํ˜ธ์ŠคํŠธ, ๋ผ์šฐํŒ…์„ ํ•ด์ฃผ๋Š” ์žฅ๋น„๊ฐ€ ๊ฐ€์ง€๋Š” ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์ธ IP ์ฃผ์†Œ์™€ ํ•˜๋“œ์›จ์–ด, ๊ธฐ๊ธฐ๋ณ„๋กœ ํ• ๋‹น๋œ ๊ณ ์œ ํ•œ MAC์ฃผ์†Œ๋ฅผ Mappingํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์ด๋•Œ ๋“ค ์ˆ˜ ์žˆ๋Š” ์˜๋ฌธ์€ ์™œ IP์ฃผ์†Œ๋ฅผ ์•„๋Š”๋ฐ MAC ์ฃผ์†Œ๊นŒ์ง€ ํ•„์š”๋กœ ํ• ๊นŒ์ด๋‹ค. ์ด์ ์„ ์ดํ•ดํ•  ๋•Œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ์ฐพ์•„๋‚ธ ๊ตฌ๊ธ€์˜ IP ์ฃผ์†Œ๊ฐ€ ๊ตฌ๊ธ€ ์„œ๋ฒ„ ๊ธฐ๊ธฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” Private IP๊ฐ€ ์•„๋‹ˆ๋ผ ๊ณต์œ ๊ธฐ์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” Public IP์˜€๋‹ค๋Š” ์ ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํƒ๋ฐฐ๋ฅผ ๋ฐ›๋Š”๋ฐ ์ฃผ์†Œ๊นŒ์ง€ ์ž…๋ ฅํ•ด์„œ ์šฐ๋ฆฌ์ง‘ ๊ฑด๋ฌผ ์ฃผ์†Œ๊นŒ์ง€๋Š” ์ž…๋ ฅํ–ˆ์ง€๋งŒ ์ƒ์„ธ์ฃผ์†Œ๋กœ ๋ช‡ ํ˜ธ์ธ์ง€๋ฅผ ์ ์ง€ ์•Š์•„ ํƒ๋ฐฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

TCP/IP 4 ๊ณ„์ธต์˜ ๊ธฐ์ค€์œผ๋กœ ๋ณด๋ฉด IP์ฃผ์†Œ์™€ MAC ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๊ณ„์ธต์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฐ๊ฐ์˜ IP์ฃผ์†Œ์™€ MAC์ฃผ์†Œ๋ฅผ ์•Œ์•„์™€ TCP/IP ๊ณ„์ธต ๋ณ„ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ฑ„์› ์œผ๋‹ˆ ์ด์ œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ์—ฌ๊ธฐ์„œ ๋๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ TCP์˜ handShaking ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

โœจ TCP์˜ 3-way Handshaking๊ณผ 4-way Handshaking

TCP์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค๋ผ๊ณ  ์„ค๋ช…ํ–ˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ฐ”๋กœ ์ด๋Ÿฌํ•œ Hand-shaking๊ณผ์ • ๋•๋ถ„์ด๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ client์™€ server ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ธ์ง€ ํ™•์ธ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ 3-way Handshaking์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ handshaking ๊ณผ์ •์„ ์œ„ํ•ด Transport Layer์— ํฌํŠธ์ •๋ณด ๋ฟ ์•„๋‹ˆ๋ผ flag์ •๋ณด๋“ค์„ ํŒจํ‚ท์— ๋‹ด์•„ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค. 3-way Handshaking ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • client์—์„œ SYN flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ server๋กœ ๋ณด๋‚ธ๋‹ค.
  • server ๋Š” ์ „๋‹ฌ ๋ฐ›์€ SYN ํŒจํ‚ท์„ ๋ฐ›๊ณ  ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๋Š” ACK๊ณผ SYN flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ client์— ๋ณด๋‚ธ๋‹ค.
  • client๋Š” SYN๊ณผ ACK flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ ๋ฐ›๊ณ  ๋‹ค์‹œ ACK flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ ๋ณด๋‚ธ ํ›„์— ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

tcp
tcp

๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋๋‚  ๋•Œ์—๋„ handShaking์ด ํ•„์š”ํ•œ๋ฐ ์ด๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ 4-way Handshaking์ด๋ผ ํ•œ๋‹ค. 4-way Handshaking ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • client์—์„œ FIN flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
  • server๋Š” ACK flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ ๋ณด๋‚ด๊ณ  Client๋Š” server์˜ Fin flag๋ฅผ ๋ฐ›๊ณ ๋„ ๋Šฆ๊ฒŒ ์˜ค๋Š” ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆฌ๋Š”๋ฐ ์ด๋•Œ๋ฅผ TIME_WAIT์ƒํƒœ๋ผ ํ•œ๋‹ค.
  • server์—์„œ ํ†ต์‹ ์ด ๋๋‚œ ํ›„์— FIN flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ client์— ๋ณด๋‚ธ๋‹ค.
  • client๋Š” ACK flag๋ฅผ ๋‹ด์€ ํŒจํ‚ท์„ ๋ณด๋‚ด๋ฉด ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋œ๋‹ค.

tcp
tcp

๋งˆ์น˜๋ฉฐ

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

[์ฐธ์กฐ]

@choi2021
๋งค์ผ์˜ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฐœ๋ฐœ์ผ์ง€์ž…๋‹ˆ๋‹ค.