๋„คํŠธ์›Œํฌ

[OSI] 4๊ณ„์ธต - ์ „์†ก ๊ณ„์ธต (Transport Layer)

Castle Bird 2025. 12. 23. 17:38
๐Ÿ“
ํ”„๋กœ๊ทธ๋žจ(Program): ๋””์Šคํฌ์— ์ €์žฅ๋œ ์†Œํ”„ํŠธ์›จ์–ด  
ํ”„๋กœ์„ธ์Šค(Process): ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ

 

์ „์†ก ๊ณ„์ธต์€ ์†ก์‹ ์ž์˜ ํ”„๋กœ์„ธ์Šค์™€ ์ˆ˜์‹ ์ž์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
์ด ๊ณ„์ธต์€ ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐ์ดํ„ฐ์ŠคํŠธ๋ฆผ ์ง€์›, ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ, ํ๋ฆ„ ์ œ์–ด, ๋‹ค์ค‘ํ™”(Multiplexing) ๋“ฑ์˜ ํŽธ๋ฆฌํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์€ TCP์™€ UDP์ด๋‹ค.


UDP (User Datagram Protocol)

  • ๋น„์—ฐ๊ฒฐ ์ง€ํ–ฅ(Connectionless)
  • ์—ฐ๊ฒฐ ์„ค์ • ๊ณผ์ • ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก
  • ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ˆœํ•˜์—ฌ ์ „์†ก ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ, ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์Œ
  • ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜, ์ค‘๋ณต๋˜๊ฑฐ๋‚˜, ์†์‹ค๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ํ†ต๋ณด๊ฐ€ ์—†์Œ
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ๋‚˜ ์ˆ˜์ •์ด ํ•„์š” ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ

๋Œ€ํ‘œ์ ์ธ UDP ์‚ฌ์šฉ ์˜ˆ์‹œ: DNS

DNS(Domain Name System / ๋„๋ฉ”์ธ์ด๋ฆ„์˜ ์ˆ˜์ง์ ์ธ ์ฒด๊ณ„) ์„œ๋ฒ„๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, naver.com์˜ IP ์ฃผ์†Œ๊ฐ€ 123.123.123.123์ด๋ผ๋ฉด ์ด ์ˆซ์ž๋ฅผ ์™ธ์šฐ๊ธด ์–ด๋ ต์ง€๋งŒ, ๋„๋ฉ”์ธ ์ด๋ฆ„ naver.com์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด์ฒ˜๋Ÿผ ๋„๋ฉ”์ธ๊ณผ IP์˜ ๋งคํ•‘ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด DNS ์„œ๋ฒ„์ด๋‹ค.

์ถœ์ฒ˜: https://krnic.or.kr/jsp/resources/dns/dnsInfo.jsp (DNS์„œ๋ฒ„์˜ ์ฃผ์†Œ ๋งคํ•‘ ์ด๋ฏธ์ง€)


TCP (Transmission Control Protocol)

  • ์—ฐ๊ฒฐ ์ง€ํ–ฅ(Connection-oriented)
  • ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•œ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก
  • ์•ˆ์ •์ ์œผ๋กœ, ์ˆœ์„œ๋Œ€๋กœ, ์˜ค๋ฅ˜ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ
  • TCP์˜ ์‹ ๋ขฐ์„ฑ์ด ํ•„์š” ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ UDP๋ฅผ ์‚ฌ์šฉ
  • TCP๋Š” UDP๋ณด๋‹ค ์•ˆ์ „ํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ๋А๋ฆผ

TCP ํ”Œ๋ž˜๊ทธ ๋น„ํŠธ โญ (Flag bits) - TCP ํŒจํ‚ท ์ค‘ ์ผ๋ถ€

C E U A P R S F (์ด 8๊ฐœ ํ”Œ๋ž˜๊ทธ ์ค‘ ์ฃผ์š”: U, A, P, R, S, F ์ค‘์š”)

  • U (URG): ๊ธด๊ธ‰ ํ”Œ๋ž˜๊ทธ. URG ํฌ์ธํ„ฐ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ (๊ธด๊ธ‰ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ).
  • A (ACK): ์Šน์ธ ํ”Œ๋ž˜๊ทธ. ํŒจํ‚ท ์ˆ˜์‹ ์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ (์—ฐ๊ฒฐ ์Šน์ธ ์‹œ ํ•„์ˆ˜). โญ
  • P (PSH): ํ‘ธ์‹œ ํ”Œ๋ž˜๊ทธ. ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ๋ง ์—†์ด ์ฆ‰์‹œ ์ „์†กํ•˜๋„๋ก ์š”์ฒญ.
  • R (RST): ๋ฆฌ์…‹ ํ”Œ๋ž˜๊ทธ. ๋น„์ •์ƒ์ ์ธ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™”.
  • S (SYN): ๋™๊ธฐํ™” ํ”Œ๋ž˜๊ทธ. ์—ฐ๊ฒฐ ์‹œ์ž‘ ์‹œ ์‚ฌ์šฉ. โญ
  • F (FIN): ์ข…๋ฃŒ ํ”Œ๋ž˜๊ทธ. ์—ฐ๊ฒฐ ์ข…๋ฃŒ ์‹œ ์‚ฌ์šฉ.

TCPํ†ต์‹ ์‹œ ํŒจํ‚ท ํ—ค๋”์˜ ๋‚ด์šฉ

 


TCP ํ†ต์‹  ๊ณผ์ • (3-Way Handshake)

์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ณผ์ •์œผ๋กœ, ์„ธ ๋‹จ๊ณ„์˜ ํŒจํ‚ท ๊ตํ™˜์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ์„ ํ™•์ธํ•œ๋‹ค.

  1. SYN
    ํด๋ผ์ด์–ธํŠธ → ์„œ๋ฒ„ : ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๋Š” SYN ํŒจํ‚ท ์ „์†ก
    (์ด๋•Œ ํด๋ผ์ด์–ธํŠธ๋Š” "์—ฐ๊ฒฐํ•ด๋„ ๋ ๊นŒ์š”?" ์š”์ฒญ์„ ๋ณด๋ƒ„)
  2. SYN + ACK
    ์„œ๋ฒ„ → ํด๋ผ์ด์–ธํŠธ : ์š”์ฒญ ์ˆ˜๋ฝ์„ ์˜๋ฏธํ•˜๋Š” SYN + ACK ํŒจํ‚ท ์ „์†ก
    (์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด๋ฉฐ "์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค"๋ผ๊ณ  ์‘๋‹ต)
  3. ACK
    ํด๋ผ์ด์–ธํŠธ → ์„œ๋ฒ„ : ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ์ˆ˜๋ฝํ•˜๋Š” ACK ํŒจํ‚ท ์ „์†ก
    (์ด๋กœ์จ ์–‘์ชฝ ์—ฐ๊ฒฐ์ด ํ™•๋ฆฝ๋˜๊ณ  ๋ฐ์ดํ„ฐ ํ†ต์‹  ์ค€๋น„ ์™„๋ฃŒ)

๐Ÿ‘‰ ์ด 3๋‹จ๊ณ„ ๊ณผ์ •์„ 3-Way Handshake๋ผ ํ•œ๋‹ค.

 


ํฌํŠธ ๋ฒˆํ˜ธ (Port Number)

ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์ด๋‹ค.
ํ•˜๋‚˜์˜ ํฌํŠธ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ,
ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

ํฌํŠธ ๋ฒˆํ˜ธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ •ํ•ด์ ธ ์žˆ์ง€๋งŒ, ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ์›น ์„œ๋น„์Šค๋Š” ๋ณดํ†ต 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

์ „์ฒด ๋ฒ”์œ„: 0 ~ 65535

ํฌํŠธ ๋ฒˆํ˜ธ ๊ตฌ๋ถ„

  1. Well-known Port (์ž˜ ์•Œ๋ ค์ง„ ํฌํŠธ): 0 ~ 1023
    ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ํ‘œ์ค€ ์„œ๋น„์Šค๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ
    • FTP: 20, 21
    • SSH: 22
    • TELNET: 23
    • SMTP: 25
    • DNS: 53
    • DHCP: 67, 68
    • TFTP: 69
    • HTTP: 80
    • HTTPS: 443
  2. Registered Port (๋“ฑ๋ก๋œ ํฌํŠธ): 1024 ~ 49151
    ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์•ฝ๋œ ํฌํŠธ
    • Oracle DB: 1521
    • MySQL: 3306
    • MS ์›๊ฒฉ ๋ฐ์Šคํฌํƒ‘: 3389
  3. Dynamic / Private Port (์ž„์‹œ ๋˜๋Š” ์‚ฌ์šฉ์ž ํฌํŠธ): 49152 ~ 65535
    ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ