Notice
Recent Posts
Link
Today
Total
10-06 00:17
๊ด€๋ฆฌ ๋ฉ”๋‰ด

dingdong coding

TCP, UDP ๋ณธ๋ฌธ

๐ŸŒˆWeb & Network

TCP, UDP

๐Ÿถ ๊ฐœ๋ฐœ๊ฐœ๋ฐœ ๐Ÿพ 2022. 3. 5. 01:45

• TCP 

Transmission Control Protocol = ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ

 

 UDP 

User Datagram Protocol = ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ 

 

๋จผ์ € TCP, UDP๋ฅผ ๋ง ๊ทธ๋Œ€๋กœ ํ•ด์„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

๋ณธ๊ฒฉ์ ์œผ๋กœ TCP, UDP์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด Protocol์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. 

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

์ธํ„ฐ๋„ท ํ†ต์‹ ์„ ์œ„ํ•ด์„œ๋Š” ํ˜ธ์ŠคํŠธ, ๋ผ์šฐํ„ฐ, ์ธํ„ฐ๋„ท์˜ ํ†ต์‹ ์ด ํ•„์š”ํ•œ๋ฐ ์ด๋•Œ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ์ ˆ์ฐจ์™€ ๋ฐฉ๋ฒ•.

์ฆ‰, ์ธํ„ฐ๋„ท์˜ ํ†ต์‹ ๊ทœ์•ฝ์„ ํ”„๋กœํ† ์ฝœ(Protocol)์ด๋ผ ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ํ”„๋กœํ† ์ฝœ์ด ๋ฐ”๋กœ TCP/IP๋กœ ์•„๋ž˜๋Š” TCP/IP ํ”„๋กœํ† ์ฝœ์˜ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. 

 

TCP/IP ํ”„๋กœํ† ์ฝœ ๊ตฌ์กฐ

 

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

 

์ถœ์ฒ˜ | TCP/IP ์œˆ๋„ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  - ๊น€์„ ์šฐ ์ € -


์œ„์™€ ๊ฐ™์ด ์ „์†ก๊ณ„์ธต(Transport Layer)์€ ์ตœ์ข… ํ†ต์‹  ๋ชฉ์ ์ง€๋ฅผ ์ง€์ •ํ•˜๊ณ  ์˜ค๋ฅ˜ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

  • ์ธํ„ฐ๋„ท ๊ณ„์ธต์˜ IP์˜ ์ตœ์ข… ๋ชฉ์ ์ง€๋Š” HOST 
  • ์ „์†ก๊ณ„์ธต์˜ ์ตœ์ข… ๋ชฉ์ ์ง€๋Š” HOST์—์„œ ์‹คํ–‰๋˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ 
์ฆ‰, ์ธํ„ฐ๋„ท ๊ณ„์ธต์€ IP์ฃผ์†Œ๋ฅผ ๋ชฉ์ ์ง€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค๋ฉด ์ „์†ก๊ณ„์ธต์€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋ชฉ์ ์ง€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ

 

 

๋•Œ๋ฌธ์— IP๋กœ๋งŒ ํ†ต์‹ ์„ ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋งž๋‹ฅ๋œจ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

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

: ๋ฐ์ดํ„ฐ ์ „์†ก ์ „์— ๋ฏธ๋ฆฌ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์œผ๋กœ ํŒจํ‚ท์„ ๋ฐ›์„ ์ˆ˜์‹ ์ž์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ํŒจํ‚ท์„ ์ „์†ก 

 

 ๋น„์‹ ๋ขฐ์„ฑ  

: ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ๊ฐ”๋Š”์ง€ ํ™•์ธํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์ „์†กํ•œ ํŒจํ‚ท์˜ ์†์ƒ์—ฌ๋ถ€ ๋ฐ ํŒจํ‚ท์˜ ์ „๋‹ฌ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š์Œ

 

 IP ์ฃผ์†Œ์˜ ํ•œ๊ณ„ 

๊ฐ™์€ IP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„์—์„œ ํ†ต์‹ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‘˜ ์ด์ƒ์ด๋ฉด ํŒจํ‚ท์˜ ๋ชฉ์ ์ง€ ๊ตฌ๋ถ„ ๋ถˆ๊ฐ€

 

์ด๋ฅผ ๋ณด์•ˆํ•˜๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์ „์†ก๊ณ„์ธต ํ”„๋กœํ† ์ฝœ(TCP)์ž…๋‹ˆ๋‹ค.

 

IP ( Internet Protocol )

๊ฐ ํ˜ธ์ŠคํŠธ๋ฅผ ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•ด์ฃผ๋Š” IP ์ฃผ์†Œ(Internet Protocol address)์— ํŒจํ‚ท(Packet) ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ

 

 ํŒจํ‚ท( Packet )

์ œ์–ด์ •๋ณด ( ํ†ต์‹ ํ•  HOST์˜ ๊ฐ IP ์ฃผ์†Œ, ํฌํŠธ๋ฒˆํ˜ธ,... )์™€ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒฐํ•ฉ๋œ ๊ฒƒ 

 

 ํฌํŠธ๋ฒˆํ˜ธ( port number )

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•ด์ฃผ๋Š” ์ผ์ข…์˜ ์ฃผ์†Œ, ํ†ต์‹ ์˜ ์ข…์ฐฉ์  ( 0 ~ 65535 )


์ด์ œ ์ „์†ก๊ณ„์ธต์ธ TCP/IP ํ”„๋กœํ† ์ฝœ์˜ ์ข…๋ฅ˜์ธ TCP, UDP์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. 

 

 TCP 

์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ(Transmission Control Protocol)์€ ์—ฐ๊ฒฐ ์ง€ํ–ฅ ํ”„๋กœํ† ์ฝœ๋กœ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค. 

๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด ๋ณด์ฆ๋˜๊ณ  ํŒจํ‚ท ๋„์ฐฉ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

 

3 way handshake

๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ์ „ ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ผญ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์–ด์•ผ ํ•˜๊ณ  1:1 ํ†ต์‹ ๋งŒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

 

UDP

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ(User Datagram Protocol)์€ ๋”ฐ๋กœ ์—ฐ๊ฒฐ์„ค์ •์„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด ๋ณด์ฆ๋˜์ง€ ์•Š์•„ ์‹ ๋ขฐ์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋‹ค์ž๊ฐ„ ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ TCP๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

TCP vs UDP 

   

TCP ( Transmission Control Protocol ) UDP ( User Datagram Protocol ) 
์—ฐ๊ฒฐํ˜•(connection-oriented) ํ”„๋กœํ† ์ฝœ
โ€ฃ ์—ฐ๊ฒฐ ์„ค์ • ํ›„ ํ†ต์‹  ๊ฐ€๋Šฅ 
๋น„์—ฐ๊ฒฐํ˜•(connectionless) ํ”„๋กœํ† ์ฝœ
โ€ฃ ์—ฐ๊ฒฐ ์„ค์ • ์—†์ด ํ†ต์‹  ๊ฐ€๋Šฅ 
์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก
โ€ฃ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์ „์†ก
์‹ ๋ขฐ์„ฑ ์—†๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก
โ€ฃ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์ „์†ก ํ•˜์ง€ ์•Š์Œ
์ผ๋Œ€์ผ ํ†ต์‹  ์ผ๋Œ€์ผ ํ†ต์‹ , ์ผ๋Œ€๋‹ค ํ†ต์‹ 
๋ฐ์ดํ„ฐ ๊ฒฝ๊ณ„ ๊ตฌ๋ถ„ ์•ˆํ•จ
โ€ฃ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ (Byte-stream) ์„œ๋น„์Šค
๋ฐ์ดํ„ฐ ๊ฒฝ๊ณ„ ๊ตฌ๋ถ„ํ•จ
โ€ฃ ๋ฐ์ดํ„ฐ ๊ทธ๋žจ(Datagram) ์„œ๋น„์Šค

์ถœ์ฒ˜ | TCP/IP ์œˆ๋„ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  - ๊น€์„ ์šฐ ์ € -

'๐ŸŒˆWeb & Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Monolithic Architecture, Micro Service Architecture  (0) 2022.06.27
RESTful API  (0) 2022.06.15
HTTP Method  (0) 2022.04.09
HTTP  (0) 2022.03.27
URL ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ (feat. URI, URN)  (0) 2022.03.19
Comments