software engineering/์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ

[Network] ์ „์†ก ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ

jjingle 2023. 11. 6. 16:25

* ํ”„๋กœ์„ธ์Šค ๋Œ€ ํ”„๋กœ์„ธ์Šค ํ†ต์‹ 

  • ์ „์†ก๊ณ„์ธต์€ ํ”„๋กœ์„ธ์Šค ๋Œ€ ํ”„๋กœ์„ธ์Šค ํ†ต์‹  ์ œ๊ณต (ํ”„๋กœ์„ธ์Šค = ๋™์ž‘์ค‘์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ)
  • ์ „์†ก๊ณ„์ธต์—์„œ๋Š” ํฌํŠธ์ฃผ์†Œ (Port Address, Port Number) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ๋ถ„ํ•จ
    • ์ž˜ ์•Œ๋ ค์ง„ ํฌํŠธ(Well-known Port Number) : ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ์šฉ๋„๋กœ ์˜ˆ์•ฝ๋œ ๋ฒˆํ˜ธ๋กœ์„œ 0~1,023 ์‚ฌ์ด์˜ ์ •์ˆ˜
    • ๋“ฑ๋ก๋œ ํฌํŠธ(Registered Port) : IANA๊ธฐ๊ด€์— ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ ์ฃผ์†Œ
    • ๋™์  ํฌํŠธ(Dynamic Port) : ํ—ˆ๊ฐ€์—†์ด ์ž„์‹œ ํ˜น์ธ ๊ฐœ์ธ ํฌํŠธ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ

 

* ํ๋ฆ„์ œ์–ด(Flow Control)

  • ์ •๋ณด ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž๊ฐ„์— ์ •๋ณด ์ƒ์„ฑ์œจ๊ณผ ์†Œ๋น„์œจ์˜ ๊ท ํ˜•์ด ์ค‘์š” -> ๊ท ํ˜•์ด ๋งž์ง€ ์•Š์œผ๋ฉด ์‹œ์Šคํ…œ ํšจ์œจ ์ €ํ•˜
  • ์ •๋ณด ์ƒ์‚ฐ์ž๋กœ๋ถ€ํ„ฐ ์†Œ๋น„์ž๋กœ ๋ฐฐ๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋ฐ€๊ธฐ(Pushing) : ์†Œ๋น„์ž์˜ ์š”๊ตฌ์—†์ด ์ƒ์‚ฐ์ž๊ฐ€ ์ „๋‹ฌํ•˜๊ณ  ์†Œ๋น„์ž์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ์ „์†ก ์ค‘๋‹จ ๋ฐ ์žฌ๊ฐœ๋ฅผ ์š”์ฒญ
    • ๋Œ๊ธฐ(Pulling) : ์†Œ๋น„์ž๊ฐ€ ์š”๊ตฌํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ „๋‹ฌ
  • ํ•˜๋‚˜์˜ ์—”ํ‹ฐํ‹ฐ(Entity)๊ฐ€ ์ •๋ณด์˜ ์ƒ์‚ฐ์ž์ด๋ฉด์„œ ์†Œ๋น„์ž์ผ ์ˆ˜ ์žˆ์Œ
  • ๋„คํŠธ์›Œํฌ ์ƒ์˜ ํ๋ฆ„์ œ์–ด๋Š” ์†ก์‹  ์ „์†ก๊ณ„์ธต๊ณผ ์ˆ˜์‹  ์ „์†ก๊ณ„์ธต์— ๊ตฌํ˜„๋œ ๋ฒ„ํผ(Buffer)๋ฅผ ์ด์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋จ -> ์ˆ˜์‹  ๋ฒ„ํผ์— ๋นˆ ๊ณต๊ฐ„์ด ์—†์œผ๋ฉด ์†ก์‹ ์ธก์— ์š”์ฒญํ•˜์—ฌ ์ „์†ก ์ค‘๋‹จ

 

* ์˜ค๋ฅ˜ ์ œ์–ด(Error Control)

  • ์‹ ๋ขฐ์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ, ํ›ผ์†๋œ ํŒจํ‚ท์„ ๊ฐ์ง€ํ•˜๊ณ  ํ๊ธฐ
  • ํ๊ธฐ๋œ ํŒจํ‚ท์„ ์†ก์‹ ์ธก์—์„œ ์žฌ์ „์†กํ•˜๋„๋ก ์š”์ฒญ
  • ์ค‘๋ณต ์ˆ˜์‹ ๋œ ํŒจํ‚ท์€ ํ™•์ธํ•˜๊ณ  ํ๊ธฐ ์ฒ˜๋ถ„
  • ํ๊ธฐ๋œ ํŒจํ‚ท์ด ๋‹ค์‹œ ๋„์ฐฉํ•  ๋•Œ๊นŒ์ง€ ์ˆœ์„œ์— ์–ด๊ธ‹๋‚˜๊ฒŒ ์ˆ˜์‹ ๋œ ํŒจํ‚ท์€ ๋ฒ„ํผ์—์„œ ์ €์žฅ

 

* ํ˜ผ์žก ์ œ์–ด(Congestion Control)

  • ๊ฐœ๋ฐฉ ๋ฃจํ”„(Open-loop) ํ˜ผ์žก ์ œ์–ด
    • ํ˜ผ์žก ์ƒํ™ฉ์„ ์‚ฌ์ „์— ๋ฐฉ์ง€
    • ์ ์ ˆํ•œ ์žฌ์ „์†ก์œผ๋กœ ํ˜ผ์žก์„ ๋ฐฉ์ง€
    • ํšจ์œจ์ ์ธ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์ •์ฑ…๊ณผ ํ™•์ธ ์‘๋‹ต ์ •์ฑ… ์‚ฌ์šฉ
  • ํ ๋ฃจํ”„(Closed-loop) ํ˜ผ์žก ์ œ์–ด
    • ๋ฐœ์ƒํ•œ ํ˜ผ์žก ์ƒํ™ฉ์„ ์™„ํ™”
    • ์œˆ๋„์šฐ์˜ ํฌ๊ธฐ๋ฅผ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋ณ€๊ฒฝํ•˜์—ฌ ํ˜ผ์žก ์ƒํ™ฉ ์ œ์–ด
  • ๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
    • ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†ก ๊ฐ€๋Šฅํ•œ ์ž‘์€ ๋‹จํŽธ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „์†ก
    • ๊ฐ๊ฐ์˜ ์กฐ๊ฐ์„ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰
    • ํŒจํ‚ท์˜ ๋„์ฐฉ ์ˆœ์„œ, ํ๋ฆ„์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด ๋˜๋Š” ํ˜ผ์žก์ œ์–ด์— ๊ด€์‹ฌ X
  • ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
    • ๋ฐ์ดํ„ฐ ์ „์†ก์„ ํ•˜๊ธฐ ์ด์ „์—, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„ ์—ฐ๊ฒฐ์„ ์„ค์ •
    • ํ”„๋กœํ† ์ฝœ์—์„œ ์ •์˜ํ•œ ํ๋ฆ„์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด, ํ˜ผ์žก์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ๊ตํ™˜
    • ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์™„๋ฃŒ ํ›„ ์—ฐ๊ฒฐ ํ•ด์ œ