๐Ÿ–ฅ๏ธ Computer Science/Web

[Web ์šฉ์–ด] - ์ธํ„ฐ๋„ท ํ†ต์‹  (IP,TCP/UDP, DNS, Port ๋“ฑ)

Rosieblue 2023. 5. 17. 16:32
728x90

์ด ํฌ์ŠคํŠธ๋Š” ์ธํ”„๋Ÿฐ์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ๊ธฐ๋ณธ ์ง€์‹์ด๋ผ๋Š” ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ๋กœ ์ž‘์„ฑํ•˜์˜€๋‹ค. 

์—ฌ๊ธฐ์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์€ ๊ต‰์žฅํžˆ ๊ธฐ์ดˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์ถฉ ์›น์ด ์ด๋ ‡๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๊ตฌ๋‚˜~๋ผ๋Š” ์ •๋„๋กœ ์ดํ•ดํ•˜๋ฉด๋œ๋‹ค.

 

์ธํ„ฐ๋„ท ํ†ต์‹ 

์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ ๋‘˜์€ ์–ด๋–ป๊ฒŒ ํ†ต์‹ ํ• ๊นŒ?

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

์ด๋•Œ ํฌํ„ธ์‚ฌ์ดํŠธ์˜ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ์ปดํ“จํ„ฐ์™€ ํฌํ„ธ์‚ฌ์ดํŠธ ์ •๋ณด๋ฅผ ์šฐ๋ฆฌ์—๊ฒŒ ์ฃผ๋Š” ์ปดํ“จํ„ฐ ์ด๋ ‡๊ฒŒ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ, ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์„œ๋ฒ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์›น์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ํ˜•์‹์œผ๋กœ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

 

ํ•˜์ง€๋งŒ ์„ธ์ƒ์€ ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€ ์•Š๋‹ค. ์šฐ๋ฆฌ์ง‘ ์ปดํ“จํ„ฐ์™€ ๋„ค์ด๋ฒ„ ์„œ๋ฒ„ ์‚ฌ์ด์—๋Š” ์ˆ˜๋งŽ์€ ์ปดํ“จํ„ฐ๋“ค์ด ์กด์žฌํ•  ๊ฒƒ์ด๋‹ค. ๋งˆ์น˜ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ € ๋ณต์žกํ•œ ๊ฒฝ๋กœ๋ฅผ ๋‹ค ๊ฑฐ์ณ์„œ ํ†ต์‹ ์€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์งˆ๊นŒ? ๋ฐ”๋กœ IP๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

IP(Internet Protocol)

ํ”„๋กœํ† ์ฝœ์€ ๊ทœ์•ฝ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์ปดํ“จํ„ฐ๋“ค๋ผ๋ฆฌ ์–ด๋–ป๊ฒŒ ํ†ต์‹ ํ• ์ง€์— ๋Œ€ํ•ด ์ •ํ•ด๋†“์€ ๊ทœ์น™์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

IP๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ๋“ค์€ ๊ฐ๊ฐ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋ฅผ IP ์ฃผ์†Œ๋ผ๊ณ  ํ•œ๋‹ค. HTTP ์š”์ฒญ, ์‘๋‹ต ๋ฉ”์‹œ์ง€์— ์†ก์‹ ์ž,์ˆ˜์‹ ์ž์˜ IP์ฃผ์†Œ๋ฅผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด ์ค‘๊ฐ„์˜ ๋…ธ๋“œ๋“ค์€ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ๋กœ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. 

 

IP์˜ ํŠน์ง•

  • IP์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ ์‹๋ณ„ ๊ฐ€๋Šฅ
  • ํŒจํ‚ท์ด๋ผ๋Š” ๋‹จ์œ„๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„ (๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์œผ๋ฉด ํŒจํ‚ท ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๋ณด๋ƒ„)

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋‘˜๋‹ค ๊ณ ์œ  ์•„์ดํ”ผ ์ฃผ์†Œ๊ฐ€ ๋ถ€์—ฌ๋˜์–ด์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฃผํ™ฉ์ƒ‰ ์ƒ์ž๋Š” ํŒจํ‚ท์ด๋ผ๊ณ  ๋ณด๋ฉด๋˜๋Š”๋ฐ, ํŒจํ‚ท์—๋Š” ์ถœ๋ฐœ์ง€/๋ชฉ์ ์ง€ IP ์ฃผ์†Œ์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค. ์ค‘๊ฐ„์˜ ๋…ธ๋“œ๋“ค์€ ์ € ํŒจํ‚ท์„ IP๋ผ๋Š” ๊ทœ์น™์— ๋”ฐ๋ผ์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

IP์˜ ํ•œ๊ณ„

ํ•˜์ง€๋งŒ IP๋Š” ์™„๋ฒฝํ•˜์ง€ ์•Š๋‹ค. 

ํŒจํ‚ท ์ „๋‹ฌ ์ˆœ์„œ ๋ณด์žฅ x

๋จผ์ € IP ํŒจํ‚ท์ด ์—ฌ๋Ÿฌ๊ฐœ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ฐ€์ •ํ•ด๋ณด์ž. ํด๋ผ์ด์–ธํŠธ๋Š” ํŒจํ‚ท1,ํŒจํ‚ท2, ํŒจํ‚ท3 ์ˆœ์„œ๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค. ํ•˜์ง€๋งŒ ์ด ํŒจํ‚ท๋“ค์€ ์ˆœ์„œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋กœ๋”ฐ๋กœ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ๋Š” ํŒจํ‚ท๋“ค์ด ํŒจํ‚ท3, ํŒจํ‚ท1, ํŒจํ‚ท2 ์ด๋Ÿฐ์‹์œผ๋กœ ๋„์ฐฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ฆ‰, ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด์ž

์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ 1.Hello, 2.World ์ˆœ์œผ๋กœ ํŒจํ‚ท์„ ๋‘๊ฐœ๋ฅผ ๋ณด๋ƒˆ๋Š”๋ฐ ์„œ๋ฒ„์—์„œ๋Š” World, Hello ์ˆœ์œผ๋กœ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•ด์ฃผ๋Š” ์–ด๋–ค ์žฅ์น˜๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค.

 

๋น„์—ฐ๊ฒฐ์„ฑ

์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด๊ฐ€ ์นœ๊ตฌ ๋ฟก๋ฟก์ดํ•œํ…Œ ํŽธ์ง€๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ๋ฟก๋ฟก์ด์•„ํŒŒํŠธ 102ํ˜ธ์— ๋ณด๋‚ธ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ๊ทธ๋Ÿฌ๋‚˜ ์•Œ๊ณ ๋ณด๋‹ˆ ๋ฟก๋ฟก์ด๋Š” ์ง‘์„ ์ด์‚ฌํ•ด์„œ 102ํ˜ธ์— ์‚ด๊ณ  ์žˆ์ง€ ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ IP๋Š” ๊ทธ๋Ÿฐ๊ฑฐ ๋”ฐ์œ„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒ๋Œ€๋ฐฉ์ด ๋ฐ›๋“  ๋ง๋“ , ๊ฑฐ๊ธฐ๊ฐ€ ๋ถˆ๋Šฅ์ด๋“  ๋ง๋“  ๊ทธ๋ƒฅ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ์ฆ‰ ์—ฐ๊ฒฐ์ด ๋ณด์žฅ๋˜์ง€ ์•Š์•„๋„ ๊ทธ๋ƒฅ ๋ณด๋‚ธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

ํŒจํ‚ท ์†Œ์‹ค ๋ฌธ์ œ

์ค‘๊ฐ„์— ํŒจํ‚ท์ด ์‚ฌ๋ผ์ ธ๋„ IP๋Š” ๋ชจ๋ฅธ๋‹ค...

 

ํ•œ๊ณ„ ์ •๋ฆฌ

  • ๋น„์‹ ๋ขฐ์„ฑ (ํŒจํ‚ท์ด ์†Œ์‹ค๋˜๊ฑฐ๋‚˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ๋ชจ๋ฆ„)
  • ๋น„์—ฐ๊ฒฐ์„ฑ (์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š์•„๋„, ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ๋Œ€ ์ปดํ“จํ„ฐ๊ฐ€ ๋ถˆ๋Šฅ์ด์–ด๋„ ๊ทธ๋ƒฅ ๋ณด๋‚ด๋ฒ„๋ฆผ)
  • ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋ถ„ ๋ถˆ๊ฐ€ 

 

์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด TCP๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

TCP, UDP

TCP

TCP ์„ธ๊ทธ๋จผํŠธ์€ IP ํŒจํ‚ท์—์„œ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ๋ง๋ถ™์ธ๋‹ค.

IP ์ •๋ณด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํฌํŠธ ์ •๋ณด, ์ˆœ์„œ ์ •๋ณด, ์ฒดํฌ์„ฌ, ์ „์†ก ์ œ์–ด ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ IP์˜ ๋น„์‹ ๋ขฐ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋˜ํ•œ TCP๋Š” ์ปดํ“จํ„ฐ ๋‘๋Œ€๊ฐ€ ์—ฐ๊ฒฐํ•  ๋•Œ 3-way handshake๋ผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

 

1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ SYN ๋ฉ”์‹œ์ง€ ๋ณด๋ƒ„
2. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ SYN ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด ์•Œ๊ฒ ๋‹ค๊ณ  ACK ๋ฉ”์‹œ์ง€์™€ SYN ๋ฉ”์‹œ์ง€๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋ƒ„
3. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ACK๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋ƒ„
4. ์—ฐ๊ฒฐ ์„ฑ๊ณต!

 

 

 

์ •๋ฆฌํ•˜์ž๋ฉด

  • ์—ฐ๊ฒฐ ์ง€ํ–ฅ (by 3 way handshake)
  • ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ณด์ฆ (์ˆœ์„œ ๋ณด์žฅ, ์†Œ์‹ค๋˜๋ฉด ์•Œ ์ˆ˜ ์žˆ์Œ)
  • ํ˜„์žฌ๋Š” ๋Œ€๋ถ€๋ถ„ TCP ์‚ฌ์šฉ

UDP

UDP๋Š” IP์™€ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ณด๋ฉด๋˜๋Š”๋ฐ ์ฒดํฌ์„ฌ์ด๋‚˜ Port์ •๋ณด๊ฐ€ ์ถ”๊ฐ€๋˜์–ด์žˆ๋‹ค. IP์™€ ๋น„์Šทํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ ๋ณด์žฅ ์ด๋”ด๊ฑฐ ์—†๋‹ค. ๊ทธ๋ž˜๋„ ๋น ๋ฅด๊ธด ํ•˜๋‹ค.

 

PORT

๋„ค์ด๋ฒ„์—๊ฒŒ ๋ญ”๊ฐ€๋ฅผ ์š”์ฒญํ•˜๊ณ  ์‹ถ์€๋ฐ ๋‰ด์Šค๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ณณ๊ณผ ๋ธ”๋กœ๊ทธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณณ์„ ๊ตฌ๋ถ„ํ•ด์•ผํ•  ๊ฒƒ์ด๋‹ค. ์„œ๋น„์Šค์— ๋”ฐ๋ผ์„œ ์ •ํ™•ํžˆ ์–ด๋””๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ์ง€๋„ ๊ตฌ๋ถ„ํ•ด์•ผํ•˜๋Š”๋ฐ, ์ด๋ฅผ ํฌํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์„œ๋ฒ„์˜ ์•„์ดํ”ผ๊ฐ€ ๊ฐ™์•„๋„ ๊ฒŒ์ž„์„ ํ•˜๋Š” ๊ณณ๊ณผ ํ™”์ƒํ†ตํ™”๋ฅผ ํ•˜๋Š” ๊ณณ ๋“ฑ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํฌํŠธ๋กœ ๊ตฌ๋ถ„ํ•˜๊ฒŒ๋œ๋‹ค.

 

DNS

DNS๋Š” Domain Name Server์˜ ์•ฝ์ž์ด๋‹ค. ์ด๋Š” ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์•„์ดํ”ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋„ค์ด๋ฒ„์˜ ์•„์ดํ”ผ๋ฅผ ์น˜๊ณ  ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ  www.naver.com์ด๋Ÿฐ์‹์œผ๋กœ ์ ‘๊ทผํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  dns๊ฐ€ ์ด๋ฅผ ๋„ค์ด๋ฒ„์˜ ์•„์ดํ”ผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด ์•„์ดํ”ผ๋Š” ๋ณ€๊ฒฝ๋  ์ˆ˜๋„ ์žˆ๊ณ  ์‚ฌ๋ผ์งˆ์ˆ˜๋„ ์žˆ๊ณ ,, ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ธฐ์–ตํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ DNS์— ๋จผ์ € ์š”์ฒญ์„ ํ•ด์„œ ๋ฐ›์•„์˜จ IP์ฃผ์†Œ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

์ถœ์ฒ˜ (๋ฌธ์ œ์‹œ ๋Œ“๊ธ€๋‹ฌ์•„์ฃผ์„ธ์š”!)

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

์‹ค๋ฌด์— ๊ผญ ํ•„์š”ํ•œ HTTP ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ์˜ฌ๋ฐ”๋ฅธ HTTP API ์„ค๊ณ„ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค., - ๊ฐ•์˜ ์†Œ๊ฐœ | ์ธํ”„๋Ÿฐ

www.inflearn.com