๐ŸŒŸ CS

[CS] ๋„คํŠธ์›Œํฌ(Network)

Genie_. 2024. 10. 30. 13:57
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“š ๋„คํŠธ์›Œํฌ(Network)

1. ์ธํ„ฐ๋„ท(Internet)

์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์Šค์œ„ํŠธ(TCP/IP)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ๋ง์„ ์ผ์ปซ๋Š” ๋ง์ด๋‹ค.

 

์ธํ„ฐ๋„ท ํŠน์ง•

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

2. ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ IP (internet Protocol)

์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์€ ์ธํ„ฐ๋„ท์ด ํ†ตํ•˜๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ์–ด๋–ค ์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ์†ก์‹ ํ•˜๋Š” ํ†ต์‹ ์— ๋Œ€ํ•œ ๊ทœ์•ฝ์„ ์˜๋ฏธํ•œ๋‹ค.

 

IP ์ฃผ์†Œ

IP ์ฃผ์†Œ๋Š” ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ ์ปดํ“จํ„ฐ(๋…ธ๋“œ)๊ฐ„ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์ปดํ“จํ„ฐ์— ๋ถ€์—ฌ๋œ ๋„คํŠธ์›Œํฌ ์ƒ ์ฃผ์†Œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

 

Packet

ํŒจํ‚ท(Packet)์ด๋ž€ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ๋œปํ•œ๋‹ค.

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ํŒจํ‚ท์œผ๋กœ ์ „๋‹ฌ๋˜๊ณ  ์ˆ˜์‹ ๋œ๋‹ค.

์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ๋•Œ, ์›นํŽ˜์ด์ง€์— ์ ‘์†ํ•  ๋•Œ, ์˜์ƒ์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•  ๋•Œ ๋ชจ๋‘ ํŒจํ‚ท์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๊ณ  ๊ฐ€๊ณ  ์žˆ์œผ๋ฉฐ,

๊ฐ ํŒจํ‚ท์—๋Š” ์ˆ˜์‹ ์ž๊ฐ€ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋„์ฐฉํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ IP ์ฃผ์†Œ, ํŒจํ‚ท์˜ ๊ฐœ์ˆ˜, ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋„ ๊ฐ™์ด ์žˆ๋‹ค.


3. TCP(Transmission Control Protocol)

TCP(Transmission Control Protocol)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•˜๋Š” ๊ทœ์•ฝ์ด๋‹ค.

ํ†ต์‹  ์†๋„๋ฅผ ๋†’์ด๋ฉด์„œ๋„ ์•ˆ์ •์„ฑ, ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ˜„์žฌ๋Š” IP(Internet Protocol)์™€ ์—ฎ์–ด์„œ TCP/IP๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

 

  • SYN(Sequence Number) : TCP ํ†ต์‹  ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์ • ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๋Š”๋ฐ, ๋ถ„ํ• ๋œ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ์ด๋‹ค.
  • ACK(Acknowledgment Number) : ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž…์žฅ์—์„œ, ๋‹ค์Œ์œผ๋กœ ๋ฐ›๊ณ  ์‹ถ์€ TCP ์„ธ๊ทธ๋จผํŠธ์˜ Sequence Number์ด๋‹ค.

 


4. UDP(User Datagram Protocol)

UDP๋Š” User Datagram Protocol์˜ ์•ฝ์ž๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

๋น„์—ฐ๊ฒฐํ˜•, ์‹ ๋ขฐ์„ฑ์ด ์—†๋Š” ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๋ฉด์„œ ์ „์†ก์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์†ก๊ณ„์ธต์— ์†ํ•œ๋‹ค.

 

UDP๋Š” ์™œ ์‚ฌ์šฉํ• ๊นŒ?

UDP์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ๋ฐ์ดํ„ฐ์˜ ์‹ ์†์„ฑ์ด๋‹ค, ๋ฐ์ดํ„ฐ์˜ ์ฒ˜๋ฆฌ๊ฐ€ TCP๋ณด๋‹ค ๋น ๋ฅด๋‹ค.

๊ทธ๋ ‡๊ธฐ์— ์ฃผ๋กœ ์‹ค์‹œ๊ฐ„ ๋ฐฉ์†ก๊ณผ ์˜จ๋ผ์ธ ๊ฒŒ์ž„์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.

๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ด ์•ˆ์ข‹์„ ๋•Œ, ๋Š๊ธฐ๋Š” ํ˜„์ƒ์„ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

UDP์˜ ํŠน์ง•

  • IP ๋ฐฉ์‹๊ณผ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค
    • 3 way handshake๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค
    • ๋ฐ์ดํ„ฐ ์ „์†ก, ์‘๋‹ต, ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Œ(๋น„์‹ ๋ขฐ์„ฑ)
  • ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์ด ๊ฑฐ์˜ ์—†๋‹ค.
    • ๊ธฐ๋Šฅ์ด ์—†๊ณ  ์—ฐ๊ฒฐ์„ ํ•˜์ง€ ์•Š๋Š” ๋Œ€์‹  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • IP์™€ ์ฐจ์ด์ ์œผ๋กœ PORT๊ฐ€ ์กด์žฌํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ -> ์ฒดํฌ์„ฌ(checksum)์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.
    • ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜์ง€ ์•Š๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค.

 


5. PORT

์ด๋ฒˆ์— ์•Œ๊ฒŒ ๋œ ๊ฐœ๋…์˜ ํŠน์ง•์„ ์ •๋ฆฌํ•ด๋ณด์„ธ์š”.


๐Ÿ”—๋ ˆํผ๋Ÿฐ์Šค

1. https://www.tcpschool.com/webbasic/intro

2. https://gyoogle.dev/blog/webknowledge/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%20%EB%8F%99%EC%9E%91%20%EB%B0%A9%EB%B2%95.html

 

3. https://www.geeksforgeeks.org/why-does-dns-use-udp-and-not-tcp/

728x90
๋ฐ˜์‘ํ˜•