๐Ÿ’ป What is TCP/IP

๊น€๋ฏผ์šฐยท2022๋…„ 5์›” 11์ผ
1

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

๋ชฉ๋ก ๋ณด๊ธฐ
1/3
post-thumbnail

๐Ÿ“Œ TCP๋ž€?

- TCP์˜ ์ •์˜

  • ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ1(Transmission Control Protocol)์˜ ์•ฝ์ž

  • Server-Client๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœํ† ์ฝœ
    - ๋ฐ์ดํ„ฐ๋Š” ๋„คํŠธ์›Œํฌ ์„ ๋กœ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ๊ณผ์ •์—์„œ ์†์‹ค๋˜๊ฑฐ๋‚˜ ์ˆœ์„œ๊ฐ€ ๋’ค๋ฐ”๋€Œ์–ด ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, TCP๋Š” ์ด๋ฅผ ๊ต์ •ํ•˜๊ณ  ์ˆœ์„œ๋ฅผ ์žฌ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ

  • IP Protocol ์œ„์—์„œ ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ์ „์†ก๊ณ„์ธต ํ”„๋กœํ† ์ฝœ๋กœ, ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉ
    - ์ „์†ก ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์€ ์šด์˜์ฒด์ œ ๋‚ด๋ถ€ ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„๋จ
    ๋”ฐ๋ผ์„œ, ์ด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์‹œ์Šคํ…œ ์ฝœ์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ ํ˜ธ์ถœ ๋ฐฉ์‹์„ ์ด์šฉํ•ด์•ผ ํ•จ


- TCP์˜ ํŠน์ง•

  • ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต

  • ์ „์ด์ค‘(Full Duplex) ๋ฐฉ์‹์˜ ์–‘๋ฐฉํ–ฅ(3, 4 way handshake) ๊ฐ€์ƒ ํšŒ์„ ์„ ์ œ๊ณต

  • ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅ

  • ์ˆœ์ฐจ ์ „์†ก์„ ๋ณด์žฅ
    - TCP๋Š” ์ŠคํŠธ๋ฆผ ๊ธฐ๋ฐ˜์˜ ํ”„๋กœํ† ์ฝœ
    - ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์˜ ํ˜•ํƒœ๋ฅผ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•จ

  • ํ๋ฆ„ ์ œ์–ด (Flow contorl)

  • Etc.


๐Ÿ“Œ IP๋ž€?

- IP์˜ ์ •์˜

  • ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ (Internet Protocol)์˜ ์•ฝ์ž

  • ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  Device๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ๊ฐ์˜ ์žฅ๋น„์— ๋ถ€์—ฌ๋˜๋Š” ๊ณ ์œ  ์ฃผ์†Œ

  • ๋ฐ์ดํ„ฐ์˜ ์กฐ๊ฐ์„ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋„์ฐฉ ๋Œ€์ƒ IP ์ฃผ์†Œ๋กœ ๋ณด๋‚ด๋Š” ์—ญํ• 

    ๐Ÿ“– IP ํ”„๋กœํ† ์ฝœ์˜ ๋ฌธ์ œ์ 

    IP Protocol์—์„œ ๋ผ์šฐํ„ฐ ๊ฐ„์˜ ํŒจํ‚ท ์ค‘๊ฐœํ•  ๋•Œ๋Š” Best Effort2๋ผ๋Š” ์›์น™์— ๋”ฐ๋ผ ์ „์†กํ•˜๋Š”๋ฐ, ์ด ๋ฐฉ์‹์€ ์ „์†ก ํŒจํ‚ท์ด ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ์—๊ฒŒ 100% ๋„์ฐฉํ•˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Œ

    ๋”ฐ๋ผ์„œ, IP Protocol์—์„œ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ „์†ก ์˜ค๋ฅ˜ ๋ฌธ์ œ๋ฅผ ์ƒ์œ„ ๊ณ„์ธต์—์„œ ๊ณ ๋ คํ•ด์•ผ ํ•จ


- IP์˜ ํŠน์ง•

  1. ๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต

  2. ํŒจํ‚ท์„ ๋ถ„ํ• , ๋ณ‘ํ•ฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰

  3. data checksum3์€ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ , header checksum๋งŒ ์ œ๊ณต

  4. Best Effort ์›์น™์— ๋”ฐ๋ฅธ ์ „์†ก ๊ธฐ๋Šฅ์„ ์ œ๊ณต


- IPv4

  • IP version 4์˜ ์•ฝ์ž๋กœ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์‚ฌ์šฉ๋œ ์ฒซ ๋ฒˆ์งธ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ

  • ์ฃผ์†Œ๋Š” 32bit ๋ฐฉ์‹์œผ๋กœ, 8๋น„ํŠธ์”ฉ 4์ž๋ฆฌ๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ฐ ์ž๋ฆฌ๋Š” ์ ('.')์œผ๋กœ ๊ตฌ๋ถ„

    	- ex) 115.68.24.88
  • IPv4๋Š” 2^32๊ฐœ(์•ฝ 42์–ต 9์ฒœ)์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„๋‹ค.


- IPv6

  • IP version 6์˜ ์•ฝ์ž๋กœ ์ฃผ์†Œ์ฒด๊ณ„๋ฅผ 128bit๋กœ ํ™•์žฅํ•œ ์ฐจ์„ธ๋Œ€ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ
  • ์ฃผ์†Œ ์ฒด๊ณ„(IPv4) ๋กœ๋Š” ๋Š˜์–ด๋‚˜๋Š” ์ธํ„ฐ๋„ท ์ฃผ์†Œ์˜ ์ˆ˜์š”๋ฅผ ๊ฐ๋‹น ํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ธกํ•˜์—ฌ ๋“ฑ์žฅํ•˜์˜€์ง€๋งŒ...
  • 16bit์”ฉ 8์ž๋ฆฌ๋กœ ๊ฐ ์ž๋ฆฌ๋Š” ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„
    - ex) 2001:0DB8:1000:0000:0000:0000:1111:2222
  • ๋„คํŠธ์›Œํฌ์˜ ์†๋„์™€ ๋ณด์•ˆ์ด ๊ธฐ์กด ๋ฐฉ์‹(IPv4)์— ๋น„ํ•ด ๋›ฐ์–ด๋‚˜์ง€๋งŒ, ๊ธฐ์กด ์ฒด๊ณ„๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š”๋ฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค์–ด์„œ ์•„์ง ์™„์ „ํžˆ ์ƒ์šฉํ™”๊ฐ€ ๋˜์ง€ ์•Š์Œ

๐Ÿ“Œ TCP/IP๋ž€?

  • ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” TCP์™€ IP์˜ ํ•ฉ์„ฑ์–ด๋กœ ์ธํ„ฐ๋„ท ๋™์ž‘์˜ ์ค‘์‹ฌ์ด ๋˜๋Š” ํ†ต์‹ ๊ทœ์•ฝ

  • ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„ ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ ํ™•์ธ(TCP ์—ญํ• ), ํŒจํ‚ท์„ ๋ชฉ์ ์ง€๊นŒ์ง€ ์ „์†กํ•˜๋Š” ์—ญํ• (IP ์—ญํ• )์„ ๋‹ด๋‹น

  • ๊ฐœ๋ฐฉํ˜• ํ”„๋กœํ† ์ฝœ์˜ ํ‘œ์ค€์œผ๋กœ ํŠน์ • HW๋‚˜ OS์— ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ

  • ์ธํ„ฐ๋„ท์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ๋“ค์„ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ๋กœ ๊ทผ๊ฑฐ๋ฆฌ, ์›๊ฑฐ๋ฆฌ ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ


- TCP / IP์˜ 4๊ณ„์ธต

  • ์ „๋ฌธํ™”์— ๋”ฐ๋ฅธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด OSI 7๊ณ„์ธต์˜ ๋ช‡๊ฐœ ๊ณ„์ธต์„ ํ†ตํ•ฉํ•ด์„œ TCP/IP 4๊ณ„์ธต์„ ๋งŒ๋“ฆ

  1. ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๊ณ„์ธต (Network Access Layer)
    • OSI 7๊ณ„์ธต์˜ ๋ฌผ๋ฆฌ๊ณ„์ธต + ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์— ํ•ด๋‹น
    • TCP/IP ํŒจํ‚ท์„ ๋„คํŠธ์›Œํฌ ๋งค์ฒด๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ๊ณผ ๋„คํŠธ์›Œํฌ ๋งค์ฒด์—์„œ TCP/IP ํŒจํ‚ท์„ ๋ฐ›์•„๋“ค์ด๋Š” ๊ณผ์ •์„ ๋‹ด๋‹น
    • LAN, ํŒจํ‚ท๋ง, Ethernet ๋“ฑ์— ์‚ฌ์šฉ

  2. 2๊ณ„์ธต ์ธํ„ฐ๋„ท ๊ณ„์ธต (Internet Layer)
    • OSI 7๊ณ„์ธต์˜ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์— ํ•ด๋‹น
    • Addressing, Packaging, Routing ๊ธฐ๋Šฅ์„ ์ œ๊ณต
    • ๋„คํŠธ์›Œํฌ ์ตœ์ข… ๋ชฉ์ ์ง€๊นŒ์ง€ ์ •ํ™•ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๋„๋ก ์—ฐ๊ฒฐ์„ฑ์„ ์ œ๊ณต
    • ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜ - IP, ARP, RARP

  3. 3๊ณ„์ธต ์ „์†ก ๊ณ„์ธต (Transport Layer)
    • OSI 7๊ณ„์ธต์˜ ์ „์†ก ๊ณ„์ธต์— ํ•ด๋‹น
    • ์‘์šฉ ๊ณ„์ธต์˜ ์„ธ์…˜๊ณผ ๋ฐ์ดํ„ฐ๊ทธ๋žจ(datagram) ํ†ต์‹ ์„œ๋น„์Šค ์ œ๊ณต
    • ํ†ต์‹  ๋…ธ๋“œ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์ œ์–ดํ•˜๊ณ , ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋‹ด๋‹น
    • ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜ - TCP, UDP

  4. 4๊ณ„์ธต ์‘์šฉ ๊ณ„์ธต (Application Layer)
    • OSI 7๊ณ„์ธต์˜ ์„ธ์…˜ ๊ณ„์ธต, ํ‘œํ˜„ ๊ณ„์ธต, ์‘์šฉ ๊ณ„์ธต์— ํ•ด๋‹น
    • ํ”„๋กœ๊ทธ๋žจ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ณ„์ธต, ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜์Œ์œผ๋กœ ๋ฐ›๋Š” ๊ณณ
    • ๋‹ค๋ฅธ ๊ณ„์ธต์˜ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” Application์„ ์ œ๊ณต
    • TCP/UDP ๊ธฐ๋ฐ˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉ
    • ํ”„๋กœํ† ์ฝœ ์ข…๋ฅ˜ - FTP, HTTP, SSH, SMTP

๐Ÿ“Œ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ์ธํ„ฐ๋„ท์€ HW ์ธํ”„๋ผ์™€ ํ”„๋กœํ† ์ฝœ์„ ์ œ๊ณต
  • ํ”„๋กœํ† ์ฝœ์€ ์‚ฌ์šฉ ๋ช…์„ธ์„œ๋กœ ์ด ๋ช…์„ธ์„œ๋ฅผ ๋”ฐ๋ผ์„œ ํ•ด๋‹น ์‘์šฉ์„ ๊ฐœ๋ฐœ
  • ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ TCP/IP 4๊ณ„์ธต์˜ ์‘์šฉ ๊ณ„์ธต(Application Layer)์˜ ๊ทœ์•ฝ์„ ์ด์šฉํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธ -> ์ฝ”๋“œ๋กœ ์ž‘์„ฑ๋˜์–ด์•ผ ํ•จ
  • ์ฃผ์š” ํ”„๋กœํ† ์ฝœ์˜ ๊ทœ์•ฝ์€ ์†Œ์ผ“์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•จ

๐Ÿ“– Encapsulation

  • ๋ฐ์ดํ„ฐ๋Š” ๊ฐ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋ฉฐ, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ํ•  ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•œ๋‹ค.
  • ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ–ˆ๋‹ค๋ฉด, ํ”„๋กœํ† ์ฝœ์„ ๋งŒ์กฑํ•˜๋Š” ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ ์•ž์— ๋ง๋ถ™์ธ๋‹ค.
  • ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜๊ฐˆ ๋•Œ๊นŒ์ง€ ๊ฐ ๋‹จ๊ณ„์˜ ํ”„๋กœํ† ์ฝœ ์ •๋ณด๊ฐ€ ๋ฐ์ดํ„ฐ์— ๋ง ๋ถ™์—ฌ์ง„๋‹ค.

1. ํ”„๋กœํ† ์ฝœ : ์ปดํ“จํ„ฐ๋‚˜ ์›๊ฑฐ๋ฆฌ ํ†ต์‹  ์žฅ๋น„ ์‚ฌ์ด์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์–‘์‹๊ณผ ๊ทœ์น™์˜ ์ฒด๊ณ„
2. Best-effort : ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋˜๊ฑฐ๋‚˜ ์ „๋‹ฌ์ด ์„œ๋น„์Šค ํ’ˆ์งˆ์„ ์ถฉ์กฑํ•œ๋‹ค๋Š” ๋ณด์žฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค
3. Checksum : ์ค‘๋ณต ๊ฒ€์‚ฌ์˜ ํ•œ ํ˜•ํƒœ๋กœ, ์˜ค๋ฅ˜ ์ •์ •์„ ํ†ตํ•ด, ๊ณต๊ฐ„(์ „์ž ํ†ต์‹ )์ด๋‚˜ ์‹œ๊ฐ„(๊ธฐ์–ต ์žฅ์น˜) ์†์—์„œ ์†ก์‹ ๋œ ์ž๋ฃŒ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•

0๊ฐœ์˜ ๋Œ“๊ธ€