Post

TCP/IP 5๊ณ„์ธต

๐Ÿ“‹TCP/IP Protocol Suite


์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์Šค์œ„ํŠธ(Internet Protocol Suite)๋Š” ์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ๋“ค์ด ์„œ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ ์“ฐ์ด๋Š” ํ†ต์‹ ๊ทœ์•ฝ(ํ”„๋กœํ† ์ฝœ)์˜ ๋ชจ์Œ์ด๋‹ค. ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์ŠˆํŠธ ์ค‘ TCP์™€ IP๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— TCP/IP ํ”„๋กœํ† ์ฝœ ์ŠˆํŠธ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.

๐Ÿ“ŒTCP/IP Protocol Suite์˜ ๊ณ„์ธต ๊ตฌ์กฐ


layer 5์‘์šฉ ๊ณ„์ธต (Application Layer)
layer 4์ „์†ก ๊ณ„์ธต (Transport Layer)
layer 3๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer)
layer 2๋งํฌ ๊ณ„์ธต (Data Link Layer)
layer 1๋ฌผ๋ฆฌ ๊ณ„์ธต (Physical Layer)

์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋””๋ฐ”์ด์Šค๋“ค์€ ์œ„์˜ 5๊ณ„์ธต์„ ๊ฑฐ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค. ๋ฌผ๋ฆฌ ๊ณ„์ธต๋ถ€ํ„ฐ ์‘์šฉ ๊ณ„์ธต๊นŒ์ง€ ๊ฐ ๋‹จ๊ณ„๋“ค์ด ์™œ ํ•„์š”ํ•œ์ง€, ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด๋ณด์ž.

๐Ÿ“ŽLayer 1 : ๋ฌผ๋ฆฌ ๊ณ„์ธต (Physical Layer)


์‹ ํ˜ธ ๋ณ€ํ™˜

์ปดํ“จํ„ฐ๋Š” 0๊ณผ 1์˜ ์ •๋ณด๋งŒ์„ ๊ฐ€์ง€๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ํ‘œํ˜„ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๊ฐ€ ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ๋ฌผ๋ฆฌ์  ์‹ ํ˜ธ(ํŒŒํ˜•, ๋น› ๋“ฑ)๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•ด์•ผํ•˜๋Š”๋ฐ, ๋ฌผ๋ฆฌ ๊ณ„์ธต์€ ์ด๋ฅผ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๊ณณ๊นŒ์ง€ ์ •๋ณด๋ฅผ ์†ก์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ณ„์ธต์ด๋‹ค.

RubberDuck

ํŠนํžˆ ๊ด‘ํ†ต์‹ ์€ ์ „์„ธ๊ณ„์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๊ด‘์ผ€์ด๋ธ”์„ ์ด์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ตฌ ๋ฐ˜๋Œ€ํŽธ์—์„œ ์†ก์‹ ๋œ ์ •๋ณด๋ฅผ 0.2์ดˆ๋งŒ์— ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์ง„๊ณต์ƒํƒœ์—์„œ๋Š” ์•ฝ 0.13์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ์ง€๋งŒ, ๊ด‘์„ฌ์œ ์˜ ๊ตด์ ˆ๊ณผ ๋ฐ˜์‚ฌ๋กœ ์ธํ•ด 30~40% ์ •๋„ ์ง€์—ฐ๋˜์–ด 0.2์ดˆ๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค.

๊ด‘ํ†ต์‹ ์—์„œ๋Š” 0(๋น›์ด ํ๋ฅด์ง€ ์•Š๋Š”๋‹ค), 1(๋น›์ด ํ๋ฅธ๋‹ค)๋กœ ์ปดํ“จํ„ฐ์˜ 0๊ณผ 1์˜ ์ •๋ณด์™€ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ๋‹จ์ˆœํ•˜๋‹ค. ํ•˜์ง€๋งŒ, ๊ณต์ค‘์— ๋– ๋‹ค๋‹ˆ๋Š” ํŒŒ์žฅ์„ ์žก์•„ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฐพ์•„์„œ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์€ ์กฐ๊ธˆ ๋ณต์žกํ•˜๋‹ค. ์ˆ˜๋งŽ์€ ํŒŒํ˜•๋“ค์ด ์ค‘์ฒฉ๋˜์–ด์žˆ๋Š” ๋ณต์žกํ•œ ํŒŒํ˜•์—์„œ ๊ธฐ๋ณธ์ ์ธ ์ฃผ๊ธฐํ•จ์ˆ˜์ธ ์‚ฌ์ธํ•จ์ˆ˜์™€ ์ฝ”์‚ฌ์ธ ํ•จ์ˆ˜์˜ ์กฐํ•ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •(ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜)์ด ํ•„์š”ํ•œ๋ฐ, ๊ทธ ๊ณผ์ • ์—ญ์‹œ ๋ฌผ๋ฆฌ ๊ณ„์ธต์— ํฌํ•จ๋œ๋‹ค.


๋ฐ์ดํ„ฐ๊ทธ๋žจ(datagram) -> ํ”„๋ ˆ์ž„(frame)

TCP/IP ์ธํ„ฐ๋„ท์—์„œ ๊ธฐ๋ณธ ์ „์†ก ๋‹จ์œ„๋ฅผ ๋ฐ์ดํ„ฐ๊ทธ๋žจ(datagram)์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, 3๊ณ„์ธต์— ํ•ด๋‹นํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ๊ฐ€์ ธ์™€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ด๋™์‹œํ‚จ๋‹ค. ์ด๋•Œ ๋ผ์šฐํ„ฐ๋Š” ์ตœ์ƒ์˜ ๋งํฌ๋ฅผ ์„ ํƒํ•ด ์ „์†กํ•˜๊ฒŒ๋˜๊ณ , ์ธํ„ฐ๋„ท์€ ์ด๋ ‡๊ฒŒ ๋ผ์šฐํ„ฐ์— ์˜ํ•ด ์—ฐ๊ฒฐ๋œ ์ˆ˜๋งŽ์€ ๋งํฌ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค(3๊ณ„์ธต). ์ด๋”๋„ท(Ethernet), ๋ฌด์„  LAN, ์œ ์„  WAN, ๋ฌด์„  WAN(LTE, 5G NR)์ด ์ด์— ํ•ด๋‹นํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 2๊ณ„์ธต์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ๊ฐ€์ ธ์™€ ํ”„๋ ˆ์ž„(frame)์ด๋ผ๋Š” ํŒจํ‚ท์— ์บก์Šํ™”์‹œํ‚จ๋‹ค.

์—๋Ÿฌ ์ œ์–ด

๋งํฌ ๊ณ„์ธต์—์„œ๋Š” ์—๋Ÿฌ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ๋„ ํ•œ๋‹ค. ์ „๊ธฐ์  ์‹ ํ˜ธ๋“ค์€ ์™ธ๋ถ€ ์˜ํ–ฅ์— ๋”ฐ๋ผ ๋ฌผ๋ฆฌ์  ์†์‹ค๊ณผ ์ „๊ธฐ์  ์‹ ํ˜ธ ๋ณ€ํ˜•์— ๋งค์šฐ ์ทจ์•ฝํ•œ๋ฐ, ์ˆ˜์‹  ๊ณผ์ •์—์„œ 1๊ณ„์ธต์—์„œ์˜ ์ „๊ธฐ์  ์‹ ํ˜ธ๋ฅผ ํ”„๋ ˆ์ž„(frame)ํ™” ํ•˜๋Š” ๊ณผ์ •์—์„œ ์—๋Ÿฌ๋ฅผ ๊ฒ€์ถœํ•˜๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค.

๐Ÿ“ŽLayer 3 : ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer)


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

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

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

๐Ÿ“ŽLayer 4 : ์ „์†ก ๊ณ„์ธต (Transport Layer)


์‘์šฉ ๊ณ„์ธต(Application Layer)์—์„œ ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›์•„ ์ด๋ฅผ ์ „์†ก ๊ณ„์ธต์˜ ํŒจํ‚ท์— ์บก์Šํ™”ํ•˜์—ฌ ์ „์†กํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ „์†ก๋˜๋Š” 4๊ณ„์ธต์˜ ๋‹จ์œ„๋ฅผ ์„ธ๊ทธ๋จผํŠธ(segment) ํ˜น์€ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ(user datagram)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ(TCP)

TCP๋Š” ์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ๋กœ์จ, ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋‘ TCP ์‚ฌ์ด์— ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•œ๋‹ค.

  • ํ๋ฆ„ ์ œ์–ด(Flow Control) ํ˜ธ์ŠคํŠธ๊ฐ€ ์ „์†กํ•œ ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ์†๋„๋ฅผ ๋Œ€์ƒ ํ˜ธ์ŠคํŠธ์˜ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ ์†๋„์™€ ์ผ์น˜์‹œ์ผœ์„œ ํ๋ฆ„์„ ์ œ์–ดํ•œ๋‹ค.
  • ์˜ค๋ฅ˜ ์ œ์–ด(Error Control) ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์˜ค๋ฅ˜ ์—†์ด ๋ชฉ์ ์ง€์— ๋„์ฐฉํ•˜๋„๋ก ๋ณด์žฅํ•˜๊ณ , ์†์ƒ๋œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์žฌ์ „์†กํ•œ๋‹ค. 2๊ณ„์ธต(๋งํฌ ๊ณ„์ธต)์—์„œ๋„ ์—๋Ÿฌ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ–ˆ๋Š”๋ฐ, 4๊ณ„์ธต์—์„œ๋„ ๋ฐ˜๋ณตํ•˜๋Š” ์ด์œ ๋Š” ์—๋Ÿฌ๋ฅผ ์•„๋ฌด๋ฆฌ ์ฒดํฌํ•ด๋„ 100% ์žก์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ํ™•๋ฅ ์„ ์ค„์ด๋Š” ๊ฒƒ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ TCP๋Š” ์ถฉ๋ถ„ํžˆ ๋‚ฎ์€ ์—๋Ÿฌ ํ™•๋ฅ ์„ ํ†ตํ•ด ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•ด์ค€๋‹ค.
  • ํ˜ผ์žก ์ œ์–ด(Congestion Control) ๋„คํŠธ์›Œํฌ ํ˜ผ์žก์œผ๋กœ ์ธํ•œ ์„ธ๊ทธ๋จผํŠธ์˜ ์†์‹ค์„ ๊ฐ์†Œ์‹œํ‚จ๋‹ค.

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ(UDP)

UDP๋Š” TCP์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ๋กœ์จ, TCP์—์„œ๋Š” ํ๋ฆ„์„ ์ œ์–ดํ•˜์—ฌ ์ „์†ก ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€๋งŒ, UDP์—์„œ๋Š” ์ „์†ก ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜๋„ ์žˆ๋‹ค. ๋˜ํ•œ ์ˆ˜์‹  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•  ํ™•๋ฅ ์ด ๋” ๋†’๊ณ  ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  UDP๊ฐ€ TCP๋ณด๋‹ค ์“ธ๋ชจ๊ฐ€ ์—†๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ์—†๋Š” ๋งŒํผ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก ์†๋„๊ฐ€ TCP๋ณด๋‹ค ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๋Š”์ง€์— ๋”ฐ๋ผ TCP๋ฅผ ์‚ฌ์šฉํ• ์ง€, UDP๋ฅผ ์‚ฌ์šฉํ• ์ง€๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.

๋”ฐ๋ผ์„œ, TCP๋Š” ์ค‘์š”ํ•œ ์ •๋ณด๋‚˜ ์‹ ๋ขฐ์„ฑ ํ™•๋ณด๊ฐ€ ํ•„์š”ํ•œ ์ „์†ก์„ ํ•  ๋•Œ, ์ฆ‰ ์›น ํŽ˜์ด์ง€ ์ ‘์†(HTTP/HTTPS), ๋ฉ”์ผ, ํ„ฐ๋ฏธ๋„ ์ ‘์† ๋“ฑ์— ํ™œ์šฉ๋˜๋ฉฐ, UDP๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋น ๋ฅธ ์ •๋ณด๋ฅผ ์ „์†กํ•ด์•ผํ•  ๋•Œ, ์ฆ‰ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ, ์Œ์„ฑ ์ „ํ™” ๋“ฑ์— ํ™œ์šฉ๋œ๋‹ค.

๐Ÿ“ŽLayer 5 : ์‘์šฉ ๊ณ„์ธต (Application Layer)


์‘์šฉ ๊ณ„์ธต์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. HTTP/HTTPS๋ฅผ ์ด์šฉํ•˜์—ฌ World Wide Web(WWW)์— ์ ‘์†ํ•˜๊ธฐ๋„ ํ•˜๊ณ , ํ„ฐ๋ฏธ๋„ ๋„คํŠธ์›Œํฌ(TELNET), ๋ณด์•ˆ ์…€(SSH)๋ฅผ ์ด์šฉํ•˜์—ฌ ์›๊ฒฉ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•œ๋‹ค. ๊ฐ€์žฅ ์‚ฌ์šฉ์ž์™€ ๋งž๋‹ฟ์•„์žˆ๋Š” ๊ณ„์ธต์ด๊ธฐ ๋•Œ๋ฌธ์— ์—”๋“œ ์‹œ์Šคํ…œ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•œ๋‹ค. ์‘์šฉ ๊ณ„์ธต์˜ ํŒจํ‚ท์„ ๋ฉ”์„ธ์ง€(message)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

This post is licensed under CC BY 4.0 by the author.