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

dingdong coding

[ Web, Network ] ๊ด€๋ จ ์šฉ์–ด ์ •๋ฆฌ ( ๊ฐœ์ธ ํ•™์Šต์šฉ ) ๋ณธ๋ฌธ

๐ŸŒˆWeb & Network

[ Web, Network ] ๊ด€๋ จ ์šฉ์–ด ์ •๋ฆฌ ( ๊ฐœ์ธ ํ•™์Šต์šฉ )

๐Ÿถ ๊ฐœ๋ฐœ๊ฐœ๋ฐœ ๐Ÿพ 2022. 7. 13. 18:32

 Protocol

์–ด๋–ค ์‹œ์Šคํ…œ์ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ํ†ต์‹ ์„ ์›ํ™œํ•˜๊ฒŒ ์ˆ˜์šฉํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ํ†ต์‹  ๊ทœ์•ฝ, ์•ฝ์†

 

IP

์ „ ์„ธ๊ณ„ ์ปดํ“จํ„ฐ์— ๋ถ€์—ฌ๋œ ๊ณ ์œ ์˜ ์‹๋ณ„ ์ฃผ์†Œ

 

Port

๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ˜ธ์ŠคํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์•„์•ผ ํ•˜๋Š” ๊ณ ์œ ํ•œ ์ˆซ์ž. ํ•œ ํ˜ธ์ŠคํŠธ ๋‚ด์—์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์ด๋ฏ€๋กœ, ๊ฐ™์€ ํ˜ธ์ŠคํŠธ ๋‚ด์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ™์€ ํฌํŠธ ๋„˜๋ฒ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ๊ฐ™์€ ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฒˆํ˜ธ.

 

Socket 

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

•  ๋–จ์–ด์ ธ ์žˆ๋Š” ๋‘ ํ˜ธ์ŠคํŠธ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๋„๊ตฌ๋กœ์จ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ๋กœ ์†Œ์ผ“์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ํ†ต๋กœ๊ฐ€ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

•  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ฒด

 

Socket ํ†ต์‹ 

•  ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŠน์ • port๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•˜๋Š” ๋ฐฉ์‹

- ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ณ„์† ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์œผ๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ƒํ™ฉ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ

ex) ์‹ค์‹œ๊ฐ„ ๋™์˜์ƒ, Streaming, ์˜จ๋ผ์ธ ๊ฒŒ์ž„..

 

 

1) ํด๋ผ์ด์–ธํŠธ 

- ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“์ž…๋‹ˆ๋‹ค.

 

  •  socket() ํ•จ์ˆ˜๋กœ ๊ฐ€์žฅ ๋จผ์ € ์†Œ์ผ“์„ ์—ฝ๋‹ˆ๋‹ค.
  •  connect() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํ†ต์‹ ํ•  ์„œ๋ฒ„์˜ ์„ค์ •๋œ ip์™€ port๋ฒˆํ˜ธ์— ํ†ต์‹ ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
  • ํ†ต์‹ ์„ ์‹œ๋„ ์‹œ, ์„œ๋ฒ„๊ฐ€ accept() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์˜ socket descriptor๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ read(), write()๋ฅผ ํ•˜๋ฉฐ ํ†ต์‹ ์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

2) ์„œ๋ฒ„ 

- ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“์˜ ์—ฐ๊ฒฐ ์š”์ฒญ์„ ๋Œ€๊ธฐํ•˜๊ณ , ์—ฐ๊ฒฐ์š”์ฒญ์ด ์˜ค๋ฉด ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜์—ฌ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

 

  • socket() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์†Œ์ผ“์„ ์ƒ์„ฑ
  • bind() ํ•จ์ˆ˜๋กœ ip์™€ port ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •
  • listen() ํ•จ์ˆ˜๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์ ‘๊ทผ ์š”์ฒญ์— ์ˆ˜์‹  ๋Œ€๊ธฐ์—ด์„ ๋งŒ๋“ค์–ด ๋ช‡ ๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋Œ€์‹œ ์‹œํ‚ฌ์ง€ ๊ฒฐ์ •
  • accept() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์™€์˜ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆผ

TCP

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

•  ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์„ ์ „์†กํ•˜๊ณ  ์—ฐ๊ฒฐ์ง€ํ–ฅ์ ์ž…๋‹ˆ๋‹ค.

•  ์˜ค๋ฅ˜ ์ˆ˜์ •, ์ „์†ก์ฒ˜๋ฆฌ, ํ๋ฆ„์ œ์–ด๋ฅผ ๋ณด์žฅ

•  ์†ก์ˆ˜์‹ ๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  => ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒ

•  ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. => TCP ์‚ฌ์šฉ

 

UDP

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

•  ๋น„์—ฐ๊ฒฐํ˜• ์†Œ์ผ“์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

•  ํ™•์‹คํ•˜๊ฒŒ ์ „๋‹ฌ์ด ๋ณด์žฅ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋˜๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

•  ์‹ค์‹œ๊ฐ„ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

 

 

TCP, UDP

• TCP Transmission Control Protocol = ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ • UDP User Datagram Protocol = ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ ๋จผ์ € TCP, UDP๋ฅผ ๋ง ๊ทธ๋Œ€๋กœ ํ•ด์„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋ณธ๊ฒฉ์ ์œผ๋กœ TCP, UDP์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ..

dodokwon.tistory.com

 

REST(Representational State Transfer)

•  REST๋Š” ์›น์„œ๋น„์Šค ์™€  ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฒฝ๋Ÿ‰ํ™”์˜ ํ•„์š”์— ๋งž์ถ˜ ์•„ํ‚คํ…์ฒ˜ ์›์น™ ์„ธํŠธ์ž…๋‹ˆ๋‹ค.  

•  ๊ฐ€์ด๋“œ๋ผ์ธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์˜ ๊ตฌํ˜„ ์—ฌ๋ถ€๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐ์ดํ„ฐ ์š”์ฒญ์ด REST API๋กœ ์ „์†ก๋  ๋•Œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜์ดํผํ…์ŠคํŠธ ์ „์†ก ํ”„๋กœํ† ์ฝœ(HTTP)์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜๋ฉด REST์šฉ์œผ๋กœ ์„ค๊ณ„๋œ API(RESTful API ๋˜๋Š” RESTful ์›น ์„œ๋น„์Šค)๊ฐ€ HTML, XML, ์ผ๋ฐ˜ ํ…์ŠคํŠธ, JSON๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ˜•์‹์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

JSON(JavaScript Object Notation)์€ ์ด๋ฆ„๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์–ด๋– ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ๋“  ์ฝ์„ ์ˆ˜ ์žˆ๊ณ , ์ธ๊ฐ„๊ณผ ๊ธฐ๊ณ„๊ฐ€ ๋ชจ๋‘ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฒฝ๋Ÿ‰ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ ํ˜ธ๋˜๋Š” ๋ฉ”์‹œ์ง€ ํ˜•์‹์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ RESTful API๋Š” ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ์„ค์ •ํ•˜๊ธฐ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค.

 

๋‹ค์Œ 6๊ฐ€์ง€ ์•„ํ‚คํ…์ฒ˜ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ค€์ˆ˜ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด RESTful์— ์†ํ•ฉ๋‹ˆ๋‹ค. RESTful ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฐ–์ถฐ์•ผ ํ•  ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

  • ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ๋ฆฌ์†Œ์Šค๋กœ ๊ตฌ์„ฑ๋œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์š”์ฒญ์ด ํ†ต๊ณผํ•˜๋Š” ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ ์ฝ˜ํ…์ธ ๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š๋Š” ์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(stateless) ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ์„ธ์…˜์˜ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ฐ„ ์ƒํ˜ธ ์ž‘์šฉ์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•  ์บ์‹œ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”๊ตฌ ์‚ฌํ•ญ๋ณ„๋กœ ๋‹ค๋ฅธ ํ˜•์‹์ด ์•„๋‹Œ, ํ‘œ์ค€ํ™”๋œ ํ˜•์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„ ํ†ตํ•ฉ๋œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. REST๋ฅผ ์ฒ˜์Œ์œผ๋กœ ์ œ์‹œํ•œ Roy Fielding์€ ์ด๋ฅผ “REST ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์„ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜ ์Šคํƒ€์ผ๊ณผ ์ฐจ๋ณ„ํ™”ํ•˜๋Š” ํ•ต์‹ฌ์ ์ธ ๊ธฐ๋Šฅ”์ด๋ผ๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ณ„์ธต์ ์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ„์ธตํ™”๋œ ์‹œ์Šคํ…œ ์ œ์•ฝ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ „์†กํ•ด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ฝ”๋“œ ์˜จ๋””๋งจ๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๊ฐ€์‹œ์„ฑ์ด ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๋Š” ์„ ํƒ์  ๊ฐ€์ด๋“œ๋ผ์ธ์ž…๋‹ˆ๋‹ค.

SOAP (Simple Object Access Protocol)

 

  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋„๋ฆฌ ์•Œ๋ ค์ง„ HTTP, HTTPS, SMTP ๋“ฑ์„ ํ†ตํ•ด XML ๊ธฐ๋ฐ˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๊ตํ™˜ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. 
  • ์›น ์„œ๋น„์Šค์—์„œ ๊ธฐ๋ณธ์ ์ธ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๋ช‡๊ฐ€์ง€ ํ˜•ํƒœ์˜ ๋ฉ”์‹œ์ง€ ํŒจํ„ด์ด ์žˆ์ง€๋งŒ, ๋ณดํ†ต์˜ ๊ฒฝ์šฐ ์›๊ฒฉ ํ”„๋กœ์‹œ์ ธ ํ˜ธ์ถœ(Remote Procedure Call:RPC) ํŒจํ„ด์œผ๋กœ, ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ(ํด๋ผ์ด์–ธํŠธ)์—์„œ ๋‹ค๋ฅธ ์ชฝ ๋…ธ๋“œ(์„œ๋ฒ„)์ชฝ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์š”์ฒญ ํ•˜๊ณ , ์„œ๋ฒ„๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฆ‰์‹œ ์‘๋‹ตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 
  • XML-RPC์™€ WDDX์—์„œ envelope/header/body๋กœ ์ด๋ฃจ์–ด์ง„ ๊ตฌ์กฐ์™€ ์ „์†ก(transport)๊ณผ ์ƒํ˜ธ ์ค‘๋ฆฝ์„ฑ(interaction neutrality)์˜ ๊ฐœ๋…์„ ๊ฐ€์ง€๊ณ  ์™”์Šต๋‹ˆ๋‹ค.
  • SOAP์€ XML์„ ๊ทผ๊ฐ„์œผ๋กœ ํ—ค๋”์™€ ๋ฐ”๋””๋ฅผ ์กฐํ•ฉํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ—ค๋”๋Š” ์„ ํƒ์‚ฌํ•ญ์œผ๋กœ ๋ฐ˜๋ณต์ด๋‚˜ ๋ณด์•ˆ ๋ฐ ํŠธ๋žœ์žญ์…˜์„ ์ •๋ณด๋กœ ํ•˜๋Š” ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ฐ”๋”” ๋ถ€๋ถ„์€ ์ฃผ์š”ํ•œ ์ •๋ณด์ธ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

SOAP ์žฅ์ 

 

  • ๊ธฐ์กด ์›๊ฒฉ ๊ธฐ์ˆ ๋“ค์— ๋น„ํ•ด์„œ ํ”„๋ก์‹œ์™€ ๋ฐฉํ™”๋ฒฝ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ์‰ฝ๊ฒŒ ํ†ต์‹  ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ”Œ๋žซํผ๊ณผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค.
  • ์›น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€(WSDL, UDDI, WS-*)์ด ์ž˜ ์ •๋ฆฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—๋Ÿฌ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๊ธฐ๋ณธ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถ„์‚ฐ ํ™˜๊ฒฝ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

 

SOAP ๋‹จ์ 

 

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

REST vs SOAP

• ๋Œ€๋ถ€๋ถ„์˜ ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์—์„œ SOAP๋ฅผ ์ค€์ˆ˜ํ•˜๋ฉฐ, REST๋Š” ๊ทธ๋ณด๋‹ค ๋’ค์— ๊ณ ๋ คํ•˜๊ฑฐ๋‚˜ ์›น ๊ธฐ๋ฐ˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ์˜ ๋” ๋น ๋ฅธ ๋Œ€์•ˆ์œผ๋กœ ์—ฌ๊ธฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. REST๋Š” ์œ ์—ฐํ•œ ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ ์„ธํŠธ๊ณ , SOAP๋Š” XML ๋ฉ”์‹œ์ง•๊ณผ ๊ฐ™์€ ํŠน์ • ์š”๊ฑด์ด ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

 

REST API๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ๋ฌผ ์ธํ„ฐ๋„ท(IoT), ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ์„œ๋ฒ„๋ฆฌ์Šค(servreless) ์ปดํ“จํŒ…๊ณผ ๊ฐ™์ด ๋ณด๋‹ค ์ƒˆ๋กœ์šด ์ปจํ…์ŠคํŠธ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. SOAP ์›น ์„œ๋น„์Šค๋Š” ๋งŽ์€ ๊ธฐ์—…์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋ณธ ๋ณด์•ˆ๊ณผ ํŠธ๋žœ์žญ์…˜ ์ปดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ์ด๋กœ ์ธํ•ด ์ข€ ๋” ๋ฌด๊ฑฐ์šด ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Google Maps API์™€ ๊ฐ™์€ ๋Œ€๋ถ€๋ถ„์˜ ํผ๋ธ”๋ฆญ API๋Š” REST ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

 

FTP

•  FTP๋ž€ ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ(File Transfer Protocol)์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค.

•  ๊ธฐ๋ณธ์ ์œผ๋กœ 'ํ”„๋กœํ† ์ฝœ'์€ ์ „์ž๊ธฐ๊ธฐ๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ ˆ์ฐจ๋‚˜ ๊ทœ์น™์„ ๋œปํ•˜์ฃ .

  FTP๋Š” TCP/IP ๋„คํŠธ์›Œํฌ(์ธํ„ฐ๋„ท)์ƒ์˜ ์žฅ์น˜๊ฐ€ ํŒŒ์ผ์„ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ทœ์น™์ž…๋‹ˆ๋‹ค.

 

์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•  ๋•Œ ์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์„ ๋‘˜๋Ÿฌ๋ณผ ๋•Œ๋Š” HTTP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ธ์Šคํ„ดํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ๋Š” XMPP๋ฅผ ์‚ฌ์šฉํ•˜์ฃ . ๊ฐ„๋‹จํžˆ ๋งํ•ด FTP๋ž€ ํŒŒ์ผ์„ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

FTP๋Š” ์ฃผ๋กœ ๋Œ€๋Ÿ‰์˜ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์›น ๊ฐœ๋ฐœ ์‹œ ํŠนํžˆ ์œ ์šฉํ•˜์ฃ . ์›น์‚ฌ์ดํŠธ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ FTP ์„ธ์…˜์„ ํ†ตํ•ด ํŒŒ์ผ ์ „์†ก์„ ๊ด€๋ฆฌํ•˜๋ฉด ํŠน์ •ํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ, ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ถ”๊ฐ€, ์›น ํ…œํ”Œ๋ฆฟ ์ด๋™ ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜์›”ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

HTTP

HTTP๋Š” Hyper Text Transfer Protocol์˜ ๋‘๋ฌธ์ž์–ด๋กœ, ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ์€ ๊ทœ์น™์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ทœ์น™์„ ์ •ํ•ด๋‘์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ์ด ๊ทœ์น™์— ๋งž์ถฐ ๊ฐœ๋ฐœํ•ด์„œ ์„œ๋กœ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

HTTP

• HTTP (HyperText Transfer Protocol) : HTTP๋ž€ HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ์ „์†กํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ HTTP๋Š” HTML๋ฟ์ด ์•„๋‹ˆ๋ผ TEXT, IMAGE, JSON, XML ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜..

dodokwon.tistory.com

 

 

์ธํ„ฐ๋„ท ์ƒ์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ํ†ต์‹  ๊ทœ์•ฝ

 

HTTP๋Š” ํ…์ŠคํŠธ ๊ตํ™˜์ด๋ฏ€๋กœ, ๋ˆ„๊ตฐ๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ์‹ ํ˜ธ๋ฅผ ๊ฐ€๋กœ์ฑ„๋ฉด ๋‚ด์šฉ์ด ๋…ธ์ถœ๋˜๋Š” ๋ณด์•ˆ ์ด์Šˆ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

์ด๋Ÿฐ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด 'HTTPS'

 

  • HTTPS(HyperText Transfer Protocol Secure)
  • ์ธํ„ฐ๋„ท ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” SSL ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ํ†ต์‹  ๊ทœ์•ฝ
  • HTTPS๋Š” ํ…์ŠคํŠธ๋ฅผ ์•”ํ˜ธํ™”ํ•œ๋‹ค. (๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์œผ๋กœ)

 

DNS

• ๋„๋ฉ”์ธ ์ด๋ฆ„ ์‹œ์Šคํ…œ(DNS)์€ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: www.amazon.com)์„ ๋จธ์‹ ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” IP ์ฃผ์†Œ(์˜ˆ: 192.0.2.44)๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

SMTP, Simple Mail Transfer Protocol

•  ์ผ๋ฐ˜์ ์œผ๋กœ ์ „์ž ๋ฉ”์ผ ์ „์†ก์„์œ„ํ•œ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ

•  ์ด๋ฉ”์ผ์„ ์†ก์ˆ˜์‹ ํ•˜๋Š” ์„œ๋ฒ„๋ฅผ SMTP ์„œ๋ฒ„๋ผ๊ณ  ํ•จ

 

TLS/SSL HandShake

•  HTTPS์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹  ์ „์— SSL ์ธ์ฆ์„œ๋กœ ์‹ ๋ขฐ์„ฑ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

 

 

1)  ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ Client hello ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ด์•„ ์„œ๋ฒ„๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด ๋•Œ ์•”ํ˜ธํ™”๋œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๋‹ด๋Š”๋ฐ ๋ฒ„์ „, ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์••์ถ• ๋ฐฉ์‹ ๋“ฑ์„ ๋‹ด์Šต๋‹ˆ๋‹ค.

 

2) ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์••์ถ•๋ฐฉ์‹์„ ๋ฐ›๊ณ , ์„ธ์…˜ ID ์™€ CA  ๊ณต๊ฐœ์ธ์ฆ์„œ๋ฅผ server hello ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ๋‹ด์•„ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์ด CA์ธ์ฆ์„œ์—๋Š” ์•ž์œผ๋กœ ํ†ต์‹  ์ดํ›„ ์‚ฌ์šฉํ•  ๋Œ€์นญํ‚ค๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์ „, ํด๋ผ์ด์–ธํŠธ์—์„œ handshake ๊ณผ์ • ์† ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•  ๊ณต๊ฐœํ‚ค๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

 

3) ํด๋ผ์ด์–ธํŠธ ์ธก์€ ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ CA ์ธ์ฆ์„œ์— ๋Œ€ํ•ด ์œ ํšจํ•œ์ง€ CA ๋ชฉ๋ก์—์„œ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

4) CA ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ์‹ ๋ขฐ์„ฑ์ด ํ™•๋ณด๋˜์—ˆ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™” ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋Š” ๋Œ€์นญํ‚ค๋ฅผ ์ „ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๊ณ  ์•ž์œผ๋กœ ์„œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ต์‹ ํ•  ๋•Œ ์•”ํ˜ธํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

5) ๋งŒ์•ฝ 2๋ฒˆ ๋‹จ๊ณ„์—์„œ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ๋ฅผ ํ•จ๊ป˜ ์š”๊ตฌํ–ˆ๋‹ค๋ฉด, ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„œ์™€ ํด๋ผ์ด์–ธํŠธ์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ์ž„์˜์˜ ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด์„ ํ•จ๊ป˜ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค.

 

6) ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธ ํ›„, ๋‚œ์ˆ˜ ๋ฐ”์ดํŠธ๋ฅผ ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™” ํ›„ ๋Œ€์นญ ๋งˆ์Šคํ„ฐ ํ‚ค ์ƒ์„ฑ์— ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

7) ํด๋ผ์ด์–ธํŠธ๋Š” handshake ๊ณผ์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋Š” finished ๋ฉ”์‹œ์ง€๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด๋ฉด์„œ, ์ง€๊ธˆ๊นŒ์ง€ ๋ณด๋‚ธ ๊ตํ™˜ ๋‚ด์—ญ๋“ค์„ ํ•ด์‹ฑ ํ›„ ๊ทธ ๊ฐ’์„ ๋Œ€์นญํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๊ฐ™์ด ๋‹ด์•„ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค.

 

8) ์„œ๋ฒ„๋„ ๋™์ผํ•˜๊ฒŒ ๊ตํ™˜ ๋‚ด์šฉ๋“ค์„ ํ•ด์‹ฑํ•œ ๋’ค ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ด์ค€ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.. ์ผ์น˜ํ•˜๋ฉด ์„œ๋ฒ„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ finished ๋ฉ”์‹œ์ง€๋ฅผ ์ด๋ฒˆ์— ๋งŒ๋“  ๋Œ€์นญํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค.

 

9) ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€์นญํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์„œ๋กœ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ์‹ ๋ขฐ๋ฐ›์€ ์‚ฌ์šฉ์ž๋ž€ ๊ฑธ ์ธ์ง€ํ•˜๊ณ , ์•ž์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ํ•ด๋‹น ๋Œ€์นญํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

Spyware 

• ์ŠคํŒŒ์ด์›จ์–ด(Spyware)๋Š” ์‚ฌ์šฉ์ž์˜ ๋™์˜ ์—†์ด ์„ค์น˜๋˜์–ด ์ปดํ“จํ„ฐ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ „์†กํ•˜๋Š” ์•…์„ฑ ์†Œํ”„ํŠธ์›จ์–ด๋กœ, ์‹ ์šฉ ์นด๋“œ์™€ ๊ฐ™์€ ๊ธˆ์œต ์ •๋ณด ๋ฐ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์‹ ์ƒ์ •๋ณด, ์•”ํ˜ธ๋ฅผ ๋น„๋กฏํ•œ ๊ฐ์ข… ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค

•  ์ŠคํŒŒ์ด(spy)์™€ ์†Œํ”„ํŠธ์›จ์–ด(software)๋ฅผ ํ•ฉ์นœ ๋ง๋กœ ์ปดํ“จํ„ฐ๋‚˜ ์Šค๋งˆํŠธ ํฐ์— ์žก์ž…ํ•ด์„œ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋นผ๊ฐ€๋Š” ์•…์„ฑ ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. ์„ค์ • ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋˜์–ด ์žˆ์ง€๋งŒ ๋ฐ”์ด๋Ÿฌ์Šค์ฒ˜๋Ÿผ ์Šค์Šค๋กœ ๋ณต์ œํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

 

Ransomware

• ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ๊ฐ์—ผ์‹œ์ผœ ์ ‘๊ทผ์„ ์ œํ•œํ•˜๊ณ  ์ผ์ข…์˜ ๋ชธ๊ฐ’์„ ์š”๊ตฌํ•˜๋Š” ์•…์„ฑ ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ•œ ์ข…๋ฅ˜๋‹ค. ์ปดํ“จํ„ฐ๋กœ์˜ ์ ‘๊ทผ์ด ์ œํ•œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ œํ•œ์„ ์—†์• ๋ ค๋ฉด ํ•ด๋‹น ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•œ ์ž์—๊ฒŒ ์ง€๋ถˆ์„ ๊ฐ•์š”๋ฐ›๊ฒŒ ๋œ๋‹ค.

• ์ด๋•Œ ์•”ํ˜ธํ™”๋˜๋Š” ๋žœ์„ฌ์›จ์–ด๊ฐ€ ์žˆ๋Š” ๋ฐ˜๋ฉด, ์–ด๋–ค ๊ฒƒ์€ ์‹œ์Šคํ…œ์„ ๋‹จ์ˆœํ•˜๊ฒŒ ์ž ๊ทธ๊ณ  ์ปดํ“จํ„ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€๋ถˆํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์•ˆ๋‚ด๋ฌธ๊ตฌ๋ฅผ ๋„์šด๋‹ค.

 

Process

ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์‹คํ–‰์ค‘์ธ ์ž‘์—…

• ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ๊ฐ ๋ณ„๋„์˜ ์ฃผ์†Œ๊ณต๊ฐ„ ํ• ๋‹น (๋…๋ฆฝ์ )

 

  1. Code : ์ฝ”๋“œ ์ž์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ(ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น)
  2. Data : ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜, ๋ฐฐ์—ด ๋“ฑ
    • ์ดˆ๊ธฐํ™” ๋œ ๋ฐ์ดํ„ฐ๋Š” data ์˜์—ญ์— ์ €์žฅ
    • ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋Š” bss ์˜์—ญ์— ์ €์žฅ
  3. Heap : ๋™์  ํ• ๋‹น ์‹œ ์‚ฌ์šฉ (new(), malloc() ๋“ฑ)
  4. Stack : ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฆฌํ„ด ๊ฐ’ (์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ)

Thread

ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํ๋ฆ„ ๋‹จ์œ„

• ์Šค๋ ˆ๋“œ๋Š” Stack๋งŒ ๋”ฐ๋กœ ํ• ๋‹น ๋ฐ›๊ณ  ๋‚˜๋จธ์ง€ ์˜์—ญ์€ ์„œ๋กœ ๊ณต์œ 

• ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ, ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ๊ฐ™์ด ์ƒ์„ฑ

 

ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ๋งŒ์˜ ๊ณ ์œ  ๊ณต๊ฐ„๊ณผ ์ž์›์„ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๋ฐ˜ํ•ด, ์Šค๋ ˆ๋“œ๋Š” ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๊ณต๊ฐ„, ์ž์›์„ ๊ณต์œ ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฐจ์ด๊ฐ€ ์กด์žฌํ•จ

 

Multi Process

ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์— ์—ฌ๋Ÿฌ CPU ์žฅ์ฐฉ → ํ•˜๋‚˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๋™์‹œ์— ์ฒ˜๋ฆฌ(๋ณ‘๋ ฌ)

 

์žฅ์  : ์•ˆ์ „์„ฑ (๋ฉ”๋ชจ๋ฆฌ ์นจ๋ฒ” ๋ฌธ์ œ๋ฅผ OS ์ฐจ์›์—์„œ ํ•ด๊ฒฐ)

๋‹จ์  : ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ–๊ณ  ์žˆ์–ด, ์ž‘์—…๋Ÿ‰ ๋งŽ์„ ์ˆ˜๋ก ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ. Context Switching์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜

 

Context Switching

•  ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •

 

์ฆ‰, ๋™์ž‘ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Œ€๊ธฐํ•˜๋ฉด์„œ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ , ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋˜ ๋‹ค์Œ ์ˆœ๋ฒˆ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘ํ•˜๋ฉด์„œ ์ด์ „์— ๋ณด๊ด€ํ–ˆ๋˜ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•จ

 

→ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ, ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ธฐํ™”์™€ ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ์ž‘์—…์ด ์ง„ํ–‰๋˜์—ˆ์„ ๋•Œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•จ

 

Multi Thread

•  ํ•˜๋‚˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ๊ตฌ์„ฑํ•ด ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ

• ์Šค๋ ˆ๋“œ๋“ค์ด ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋‹ค์ˆ˜์˜ ์ž‘์—…์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ด์คŒ

 

์žฅ์  : ๋…๋ฆฝ์ ์ธ ํ”„๋กœ์„ธ์Šค์— ๋น„ํ•ด ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋งŒํผ์˜ ์‹œ๊ฐ„, ์ž์› ์†์‹ค์ด ๊ฐ์†Œ ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ •์  ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ž๋ฃŒ ๊ณต์œ  ๊ฐ€๋Šฅ

๋‹จ์  : ์•ˆ์ „์„ฑ ๋ฌธ์ œ. ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ๋ง๊ฐ€๋œจ๋ฆฌ๋ฉด, ๋ชจ๋“  ์Šค๋ ˆ๋“œ๊ฐ€ ์ž‘๋™ ๋ถˆ๋Šฅ ์ƒํƒœ (๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ)

 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)

๋‘˜ ์ด์ƒ์˜ CPU or ์ €์žฅ์žฅ์น˜์™€ ๊ฐ™์€ ์ปดํ“จํ„ฐ ์ž์›๋“ค์—๊ฒŒ ์ž‘์—…์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ

์š”์ฆ˜ ์‹œ๋Œ€์—๋Š” ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š” ์ธ์›์ด ๊ธ‰๊ฒฉํžˆ ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ์‚ฌ๋žŒ๋“ค์— ๋Œ€ํ•ด ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ๋‹นํ•˜๊ธฐ์—” 1๋Œ€์˜ ์„œ๋ฒ„๋กœ๋Š” ๋ถ€์กฑํ•˜๋‹ค. ๋Œ€์‘ ๋ฐฉ์•ˆ์œผ๋กœ ํ•˜๋“œ์›จ์–ด์˜ ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜(Scale-up) ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋‚˜๋ˆ ์„œ ์ผํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ(Scale-out)์ด ์žˆ๋‹ค.

 

ํ•˜๋“œ์›จ์–ด ํ–ฅ์ƒ ๋น„์šฉ์ด ๋”์šฑ ๋น„์‹ธ๊ธฐ๋„ ํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ๋Œ€๋ฉด ๋ฌด์ค‘๋‹จ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ™˜๊ฒฝ ๊ตฌ์„ฑ์ด ์šฉ์ดํ•˜๋ฏ€๋กœ Scale-out์ด ํšจ๊ณผ์ ์ด๋‹ค. ์ด๋•Œ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์—๊ฒŒ ๊ท ๋“ฑํ•˜๊ฒŒ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด๋‹ค.

 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์€ ๋ถ„์‚ฐ์‹ ์›น ์„œ๋น„์Šค๋กœ, ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ€ํ•˜(Load)๋ฅผ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Load Balancer๋ฅผ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ๋‘๊ณ , ๋ถ€ํ•˜๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š๋„๋ก ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ„์‚ฐ์‹œ์ผœ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋Š” ์‚ฌ์ดํŠธ์˜ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์›น ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€๋กœ ์ฆ์„คํ•˜๋ฉด์„œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉด ์›น ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฐ๋“œ๋ฝ (DeadLock, ๊ต์ฐฉ ์ƒํƒœ)

• ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์„œ๋กœ ์ž์›์„ ์–ป์ง€ ๋ชปํ•ด์„œ ๋‹ค์Œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ

• ๋ฌดํ•œํžˆ ๋‹ค์Œ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.

• ์‹œ์Šคํ…œ์ ์œผ๋กœ ํ•œ์ •๋œ ์ž์›์„ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.

(๋งˆ์น˜, ์™ธ๋‚˜๋ฌด ๋‹ค๋ฆฌ์˜ ์–‘ ๋์—์„œ ์„œ๋กœ๊ฐ€ ๋น„์ผœ์ฃผ๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ ๋งŒ ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.)

 

OSI 7 Layer

•  ๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„ ๋งํ•˜๋ฉฐ ๊ตญ์ œํ‘œ์ค€ํ™”๊ธฐ๊ตฌ(ISO, International Organization for Standardization)์—์„œ ๋„คํŠธ์›Œํฌ ๊ฐ„ ํ˜ธํ™˜์„ ์œ„ํ•ด OSI 7 ๊ณ„์ธต์ด๋ผ๋Š” ํ‘œ์ค€ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. 

 

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

 

 

 

•  1 ๊ณ„์ธต ๋ฌผ๋ฆฌ๊ณ„์ธต (Physical Layer)   ๋ฆฌํ”ผํ„ฐ, ์ผ€์ด๋ธ”, ํ—ˆ๋ธŒ ๋“ฑ

 

์‹ค์ œ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ „๊ธฐ์  ๋ฐ ๋ฌผ๋ฆฌ์  ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ •์˜ํ•œ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท ์ผ€์ด๋ธ”, ๋ผ์šฐํ„ฐ ์Šค์œ„์น˜ ๋“ฑ์˜ ์ „๊ธฐ์  ์‹ ํ˜ธ๊ฐ€ ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜์— ์˜ํ•ด ์™”๋‹ค ๊ฐ”๋‹ค (ํ†ต์‹ )ํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค.

 

์ด ๊ณ„์ธต์—์„œ๋Š” ๋‹จ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ๋งŒ ํ•  ๋ฟ ์ „์†กํ•˜๋ ค๋Š” (๋˜๋Š” ๋ฐ›์œผ๋ ค๋Š”) ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์–ด๋–ค ์—๋Ÿฌ๊ฐ€ ์žˆ๋Š”์ง€ ๋“ฑ์—๋Š” ์ „ํ˜€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ๋‹จ์ง€ ๋ฐ์ดํ„ฐ ์ „๊ธฐ์ ์ธ ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ธฐ๋Šฅ๋งŒ ํ•  ๋ฟ์ž…๋‹ˆ๋‹ค.

 

 ex ) ์ผ€์ด๋ธ” ์ข…๋ฅ˜, ๋ฌด์„  ์ฃผํŒŒ์ˆ˜ ๋งํฌ, ํ•€ ๋ฐฐ์น˜, ์ „์••, ๋ฌผ๋ฆฌ ์š”๊ฑด ๋“ฑ

 

•  2 ๊ณ„์ธต ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต (Data Link Layer)  ๋ธŒ๋ฆฟ์ง€, ์Šค์œ„์น˜ ๋“ฑ

 

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

 

๋”ฐ๋ผ์„œ ํ†ต์‹ ์—์„œ์˜ ์˜ค๋ฅ˜๋„ ์ฐพ์•„์ฃผ๊ณ  ์žฌ์ „์†ก๋„ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.๋‘ ์ง€์ (์žฅ์น˜) ๊ฐ„์˜ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ „์†ก์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์—์„œ ์ „์†ก๋˜๋Š” ๋‹จ์œ„๋ฅผ ํ”„๋ ˆ์ž„์ด๋ผ๊ณ  ํ•˜๊ณ  ๋Œ€ํ‘œ์ ์ธ ์žฅ๋น„๋กœ๋Š” ๋ธŒ๋ฆฌ์ง€, ์Šค์œ„์น˜ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

  • ์ฃผ์†Œ ํ• ๋‹น : ๋ฌผ๋ฆฌ ๊ณ„์ธต์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์‹ ํ˜ธ๋“ค์ด ๋„คํŠธ์›Œํฌ ์ƒ์˜ ์žฅ์น˜์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์•ˆ์ฐฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • ์˜ค๋ฅ˜ ๊ฐ์ง€ : ์‹ ํ˜ธ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๋™์•ˆ ์˜ค๋ฅ˜๊ฐ€ ํฌํ•จ๋˜๋Š”์ง€ ๊ฐ์ง€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํ๊ธฐํ•œ๋‹ค.

•  3 ๊ณ„์ธต ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer)  ๋ผ์šฐํ„ฐ, IP

 

๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฑฐ์น  ๋•Œ๋งˆ๋‹ค ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ ๋‹ค์–‘ํ•œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•˜๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ์ „์†ก๊ณ„์ธต์ด ์š”๊ตฌํ•˜๋Š” ์„œ๋น„์Šค ํ’ˆ์งˆ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ , ์ ˆ์ฐจ์  ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 

๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ฃผ์†Œ๋ฅผ ์ •ํ•˜๊ณ  ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ํŒจํ‚ท์„ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ด ๊ณ„์ธต์˜ ์ฃผ ์—ญํ• ์ž…๋‹ˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ๋ผ์šฐํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉฐ 2๊ณ„์ธต์˜ ์žฅ๋น„ ์ค‘ ์Šค์œ„์น˜ํ•˜๋Š” ์žฅ๋น„์— ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์„ ์žฅ์ฐฉํ•œ Layer 3 ์Šค์œ„์น˜๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ๋ผ์šฐํŒ…, ํ๋ฆ„์ œ์–ด, ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜, ์˜ค๋ฅ˜์ œ์–ด, ์ธํ„ฐ๋„คํŠธ์›Œํ‚น ๋“ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

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

 

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชฉ์ ์ง€๊นŒ์ง€ ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ(๋ผ์šฐํŒ…)์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์˜ ์ข…๋ฅ˜๋„ ๋‹ค์–‘ํ•˜๊ณ  ๋ผ์šฐํŒ… ํ•˜๋Š” ๊ธฐ์ˆ ๋„ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

 

๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ์ด๋™ํ•  ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜์—ฌ IP ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜๊ณ , ํ•ด๋‹น ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ํŒจํ‚ท์„ ์ „๋‹ฌํ•ด์ค๋‹ˆ๋‹ค. 

๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ ๊ตฌ์กฐ(IP), ๊ณง ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ ์ง์ ‘ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ ๊ณ„์ธต์ ์ž…๋‹ˆ๋‹ค.

 

•  4 ๊ณ„์ธต ์ „์†ก ๊ณ„์ธต (Transport Layer) TCP, UDP

 

์ด ๊ณ„์ธต์€ ํ†ต์‹ ์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ธต์ด๋ฉฐ ๋ณดํ†ต TCP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•˜๋ฉฐ ํฌํŠธ๋ฅผ ์—ด์–ด์„œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์ „์†ก์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ ์™”๋‹ค๋ฉด 4๊ณ„์ธต์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜์—ฌ 5๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์–‘ ๋๋‹จ์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ฒŒ ํ•˜์—ฌ ์ƒ์œ„ ๊ณ„์ธต์ด ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์˜ ์œ ํšจ์„ฑ์ด๋‚˜ ํšจ์œจ์„ฑ์„ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ฒŒ ํ•ด์ฃผ๋Š” ๊ณ„์ธต์ด๋ฉฐ ์‹œํ€€์Šค ๋„˜๋ฒ„ ๊ธฐ๋ฐ˜์˜ ์˜ค๋ฅ˜์ œ์–ด ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

์ „์†ก๊ณ„์ธต์€ ํŠน์ • ์—ฐ๊ฒฐ์˜ ์œ ํšจ์„ฑ์„ ์ œ์–ดํ•˜๊ณ , ์ผ๋ถ€ ํ”„๋กœํ† ์ฝœ์€ ์ƒํƒœ ๊ฐœ๋…์ด ์žˆ๊ณ (stateful), ์—ฐ๊ฒฐ๊ธฐ๋ฐ˜(connection oriented)์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ „์†ก๊ณ„์ธต์ด ํŒจํ‚ท๋“ค์˜ ์ „์†ก์ด ์œ ํšจํ•œ์ง€ ํ™•์ธํ•˜๊ณ  ์ „์†ก ์‹คํŒจํ•œ ํŒจํ‚ท๋“ค์„ ๋‹ค์‹œ ์ „์†กํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ์ „์†ก ๊ณ„์ธต์˜ ์˜ˆ๋Š” TCP์ž…๋‹ˆ๋‹ค.

 

์ข…๋‹จ๊ฐ„(end to end)ํ†ต์‹ ์„ ๋‹ค๋ฃจ๋Š” ์ตœํ•˜์œ„ ๊ณ„์ธต์œผ๋กœ ์ข…๋‹จ ๊ฐ„ ์‹ ๋ขฐ์„ฑ์žˆ๊ณ  ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉฐ ๊ธฐ๋Šฅ์€ ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๋ฐ ๋ณต๊ตฌ์™€ ํ๋ฆ„์ œ์–ด, ์ค‘๋ณต ๊ฒ€์‚ฌ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

  • TCP : ์‹ ๋ขฐ์„ฑ, ์—ฐ๊ฒฐ์ง€ํ–ฅ์ 
  • UDP : ๋น„์‹ ๋ขฐ์„ฑ, ๋น„์—ฐ๊ฒฐ์„ฑ, ์‹ค์‹œ๊ฐ„

3-Way-Handshaking

 

1๋‹จ๊ณ„ 

: ํ†ต์‹  ์ค‘์— ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘ Established ์ƒํƒœ

 

  • ๋‘ ์‹œ์Šคํ…œ์ด ํ†ต์‹ ์„ ํ•˜๊ธฐ ์ „์— ํด๋ผ์ด์–ธํŠธ๋Š” ํฌํŠธ๊ฐ€ ๋‹ซํžŒ Closed ์ƒํƒœ
  • ์„œ๋ฒ„๋Š” ํ•ด๋‹น ํฌํŠธ๋กœ ํ•ญ์ƒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” Listen ์ƒํƒœ

2๋‹จ๊ณ„

: ํ†ต์‹ ์„ ๋Š์œผ๋ ค๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— FIN ํŒจํ‚ท์„ ๋ณด๋‚ด๊ณ  ํด๋ผ์ด์–ธํŠธ๋Š” Close Wait ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฒ˜์Œ ํ†ต์‹ ์„ ํ•˜๋ ค๋ฉด ์ž„์˜์˜ ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์— ํ• ๋‹น๋˜๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์˜์‚ฌ ํ‘œ์‹œ๋กœ SYN Sent ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„

: ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ ์ข…๋ฃŒ ์š”์ฒญ์„ ํ™•์ธํ•˜๊ณ  ์‘๋‹ต์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ACK ํŒจํ‚ท์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋„ ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋กœ FIN ํŒจํ‚ท์„ ๋ณด๋‚ด๊ณ  Close Wait ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

  • ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ ์š”์ฒญ์„ ๋ฐ›์€ ์„œ๋ฒ„๋Š” SYN Received ์ƒํƒœ๊ฐ€ ๋˜๊ณ , ํด๋ผ์ด์–ธํŠธ์— ์—ฐ๊ฒฐ์„ ํ•ด๋„ ์ข‹๋‹ค๋Š” ์˜๋ฏธ๋กœ  SYN+ACK ํŒจํ‚ท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

4๋‹จ๊ณ„ 

: ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฐ๊ฒฐ ์ข…๋ฃŒ๋ฅผ ์š”์ฒญํ•œ ๊ฒƒ์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ํ™•์ธํ–ˆ๋‹ค๋Š” ํ‘œ์‹œ๋กœ ACK ํŒจํ‚ท์„ ์„œ๋ฒ„์— ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

  • ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฐ๊ฒฐ ์š”์ฒญ์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ํ™•์ธํ–ˆ๋‹ค๋Š” ํ‘œ์‹œ๋กœ ACK ํŒจํ‚ท์„ ์„œ๋ฒ„๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

•  5 ๊ณ„์ธต ์„ธ์…˜ ๊ณ„์ธต (Session Layer)  API, Socket

 

์–‘ ๋๋‹จ์˜ ์‘์šฉ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ์ด ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์€ ํ†ต์‹  ์—ฐ๊ฒฐ์ด ์†์‹ค๋˜๋Š” ๊ฒฝ์šฐ ์—ฐ๊ฒฐ ๋ณต๊ตฌ ์‹œ๋„๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์—ฐ๊ฒฐ ์‹œ๋„ ์ค‘ ์žฅ์‹œ๊ฐ„ ์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์„ธ์…˜ ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ ์—ฐ๊ฒฐ์„ ๋‹ซ๊ณ  ๋‹ค์‹œ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ „์ด์ค‘ ํ†ต์‹ , ๋ฐ˜์ด์ค‘ ํ†ต์‹ , ๋ช…๋ น ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ตํ™˜ ๋ฉ”์‹œ์ง€ ์ŠคํŠธ๋ฆผ(stream) ๋‚ด์—์„œ ๋™๊ธฐํ™” ์ง€์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 

 

๋ฐ์ดํ„ฐ๊ฐ€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ์„ ๋‹ด๋‹นํ•œ๋‹ค. TCP/IP ์„ธ์…˜์„ ๋งŒ๋“ค๊ณ  ์—†์• ๋Š” ์ฑ…์ž„์„ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

์„ธ์…˜ ๊ณ„์ธต์˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ธ ๋™๊ธฐํ™”๊ฐ€ ์žˆ๋‹ค.

 

  • ์ „์ด์ค‘ ํ†ต์‹  (Full Duplex) : ๋‘ ๋Œ€์˜ ๋‹จ๋ง๊ธฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋™์‹œ์— ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ํšŒ์„ ์„ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์ „ํ™”๋ง, ๊ณ ์†๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ˜์ด์ค‘ ํ†ต์‹ (Half Duplex) : ํ•œ ์ชฝ์ด ์†ก์‹ ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์ชฝ์—์„œ ์ˆ˜์‹ ํ•˜๋Š” ํ†ต์‹  ๋ฐฉ์‹์œผ๋กœ ์ „์†ก๋ฐฉํ–ฅ์„ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ์Šฌ๋ ˆ์ด๋ธŒ ๋ฐฉ์‹์˜ ์„ผ์„œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋Œ€ํ‘œ์ ์ž…๋‹ˆ๋‹ค. 

•  6 ๊ณ„์ธต ํ‘œํ˜„ ๊ณ„์ธต (Presentaion Layer)  JPEG, MPEG ๋“ฑ

 

์ฝ”๋“œ ๊ฐ„ ๋ฒˆ์—ญ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์ƒ ์ฐจ์ด๋ฅผ ๋‹ค๋ฃจ๋Š” ์‘์šฉ๊ณ„ํ‹์œผ๋กœ๋ถ€ํ„ฐ ๋œ์–ด์ฃผ๊ณ   MINE ์ธ์ฝ”๋”ฉ์ด๋‚˜ ์•”ํ˜ธํ™” ๋“ฑ์˜ ๋™์ž‘์ด ์ด ๊ณ„์ธต์—์„œ ์ด๋ค„์ง‘๋‹ˆ๋‹ค. 

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

 

๋‹ค์‹œ๋งํ•ด ์ด ๊ณ„์ธต์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋„คํŠธ์›Œํฌ๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

์‰ฌ์šด ์˜ˆ์‹œ๋กœ EBCDIC(ํ™•์žฅ ์ด์ง„ํ™” ์‹ญ์ง„๋ฒ• ๊ตํ™˜ ๋ถ€ํ˜ธ)๋กœ ์ธ์ฝ”๋”ฉ๋œ ๋ฌธ์„œ ํŒŒ์ผ์€ ASCII๋กœ ์ธ์ฝ”๋”ฉ ๋œ ํŒŒ์ผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ TEXT์ธ์ง€, ๊ทธ๋ฆผ์ธ์ง€, GIF์ธ์ง€, JPG์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ํ‘œํ˜„ ๊ณ„์ธต์˜ ๋ชซ์ž…๋‹ˆ๋‹ค. 

 

- ๋ฐ์ดํ„ฐ ํ‘œํ˜„์— ๋Œ€ํ•œ ๋…๋ฆฝ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ  ์•”ํ˜ธํ™”ํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค.

- ํŒŒ์ผ ์ธ์ฝ”๋”ฉ, ๋ช…๋ น์–ด๋ฅผ ํฌ์žฅ, ์••์ถ•, ์•”ํ˜ธํ™”ํ•œ๋‹ค.

 

  7 ๊ณ„์ธต ์‘์šฉ ๊ณ„์ธต (Application Layer)  HTTP, FTP, DNS ๋“ฑ

 

์‘์šฉ ํ”„๋กœ์„ธ์Šค์™€ ์ง์ ‘ ๊ด€๊ณ„ํ•˜์—ฌ ์ผ๋ฐ˜์ ์ธ ์‘์šฉ ์„œ๋น„์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ์‘์šฉ ๊ณ„์ธต์€ ์ตœ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง์ ‘์ ์œผ๋กœ ๋ณด์ด๋Š” ๋ถ€๋ถ„์ด๋ฉฐ OSI ๋ชจํ˜•์—์„œ๋Š” ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ์›น ์ƒ์—์„œ ์›น ์„œ๋ฒ„ ๋ฐ ์›น ๋ธŒ๋ผ์šฐ์ € ์ƒํ˜ธ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ์‘์šฉ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ. 

 

์ฒ˜์Œ์—๋Š” www ์ƒ์˜ ํ•˜์ดํผํ…์ŠคํŠธ ํ˜•ํƒœ์˜ ๋ฌธ์„œ๋ฅผ ์ „๋‹ฌํ•˜๋Š”๋ฐ ์ฃผ๋กœ ์ด์šฉํ•˜์˜€๊ณ  ํ˜„์žฌ๋Š” ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์Œ์„ฑ ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋“  ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 7๊ณ„์ธต์—์„œ ์ž‘๋™ํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ์šฉ์ž์™€ ์ง์ ‘์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค.

 

- ์ตœ์ข… ๋ชฉ์ ์ง€๋กœ, ์‘์šฉ ํ”„๋กœ์„ธ์Šค์™€ ์ง์ ‘ ๊ด€๊ณ„ํ•˜์—ฌ ์ผ๋ฐ˜์ ์ธ ์‘์šฉ ์„œ๋น„์Šค๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

- ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, ์ „์ž์šฐํŽธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋“ฑ์˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

ex) ์›น ๋ธŒ๋ผ์šฐ์ € : Chrome, Firefox .. / ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ : Outlook, Office .. 

 

ํฌํŠธ ์„œ๋น„์Šค ์„ค๋ช…
20 FTP Data File Transfer Protocol Datagram
FTP ์—ฐ๊ฒฐ ์‹œ ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.
21 FTP File Transfer Protocol-Control
FTP ์—ฐ๊ฒฐ ์‹œ ์ธ์ฆ๊ณผ ์ œ์–ด๋ฅผ ํ•œ๋‹ค.
23 Telnet ํ…”๋„ท ์„œ๋น„์Šค๋กœ ์›๊ฒฉ์ง€ ์„œ๋ฒ„์˜ ์‹คํ–‰ ์ฐฝ์„ ์–ป์–ด๋‚ธ๋‹ค.
25 SMTP Simple Message Transfer Protocol
๋ฉ”์ผ์„ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
53 DNS Domain Name Service
์ด๋ฆ„์„ ํ•ด์„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
69  TFTP Trivial File Transfer Protocol
์ธ์ฆ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋‹จ์ˆœํ•œ ํŒŒ์ผ ์ „์†ก์— ์‚ฌ์šฉํ•œ๋‹ค.
80 HTTP Hyper Text Transfer Protocol
์›น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
110 POP3 Post Office Protocol
๋ฉ”์ผ ์„œ๋ฒ„๋กœ ์ „์†ก๋œ ๋ฉ”์ผ์„ ์ฝ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
111 RPC Sun์˜ Remote Protocol Call
์›๊ฒฉ์—์„œ ์„œ๋ฒ„์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
138 NetBIOS Network Basic Input Output Service
์œˆ๋„์šฐ์—์„œ ํŒŒ์ผ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
143 IMAP Internet Message access Protocol
POP3์™€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ™์ง€๋งŒ ๋ฉ”์ผ์ด ํ™•์ธ๋œ ํ›„์—๋„ ์„œ๋ฒ„์— ๋‚จ๋Š”๋‹ค๋Š” ๊ฒƒ์ด ์ฐจ์ด์ 
161 SNMP Simple Network Management Protocol
๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์™€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

 

 

VPN

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

 

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

 

Transaction

ํŠธ๋žœ์žญ์…˜(Transaction)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์˜ ๋‹จ์œ„ ๋˜๋Š” ํ•œ๊บผ๋ฒˆ์— ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์ผ๋ จ์˜ ์—ฐ์‚ฐ๋“ค์„ ์˜๋ฏธํ•œ๋‹ค.

 

1. ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ๋ณ‘ํ–‰ ์ œ์–ด ๋ฐ ํšŒ๋ณต ์ž‘์—… ์‹œ ์ฒ˜๋ฆฌ๋˜๋Š” ์ž‘์—…์˜ ๋…ผ๋ฆฌ์  ๋‹จ์œ„์ด๋‹ค.

2. ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์„œ๋น„์Šค ์š”๊ตฌ ์‹œ ์‹œ์Šคํ…œ์ด ์‘๋‹ตํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ ๋ณ€ํ™˜ ๊ณผ์ •์˜ ์ž‘์—…๋‹จ์œ„์ด๋‹ค.

3. ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์€ Commit๋˜๊ฑฐ๋‚˜ Rollback๋œ๋‹ค.

 

•  Atomicity(์›์ž์„ฑ)

1. ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๋“ ์ง€ ์•„๋‹ˆ๋ฉด ์ „ํ˜€ ๋ฐ˜์˜๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

2. ํŠธ๋žœ์žญ์…˜ ๋‚ด์˜ ๋ชจ๋“  ๋ช…๋ น์€ ๋ฐ˜๋“œ์‹œ ์™„๋ฒฝํžˆ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๋ชจ๋‘๊ฐ€ ์™„๋ฒฝํžˆ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๊ณ  ์–ด๋Šํ•˜๋‚˜๋ผ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜ ์ „๋ถ€๊ฐ€ ์ทจ์†Œ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

•  Consistency(์ผ๊ด€์„ฑ)

1. ํŠธ๋žœ์žญ์…˜์ด ๊ทธ ์‹คํ–‰์„ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•˜๋ฉด ์–ธ์ œ๋‚˜ ์ผ๊ด€์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

2. ์‹œ์Šคํ…œ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์ •์š”์†Œ๋Š” ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์ „๊ณผ ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์™„๋ฃŒ ํ›„์˜ ์ƒํƒœ๊ฐ€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.

 

•  Isolation(๋…๋ฆฝ์„ฑ,๊ฒฉ๋ฆฌ์„ฑ)

1. ๋‘˜ ์ด์ƒ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ๋ณ‘ํ–‰ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ ์–ด๋Š ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰์ค‘์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ์ด ๋ผ์–ด๋“ค ์ˆ˜ ์—†๋‹ค.

2. ์ˆ˜ํ–‰์ค‘์ธ ํŠธ๋žœ์žญ์…˜์€ ์™„์ „ํžˆ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์—์„œ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋‹ค.

 

•  Durablility(์˜์†์„ฑ,์ง€์†์„ฑ)

1. ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๋Š” ์‹œ์Šคํ…œ์ด ๊ณ ์žฅ๋‚˜๋”๋ผ๋„ ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•œ๋‹ค.

 

JAR (Java Archive) WAR (Web Application Archive) ๋ชจ๋‘ JAVA์˜ jar ํˆด์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ์••์ถ•(์•„์นด์ด๋ธŒ) ํŒŒ์ผ์ด๋ฉฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ์žˆ๋„๋ก ๊ด€๋ จ ํŒŒ์ผ(๋ฆฌ์†Œ์Šค, ์†์„ฑํŒŒ์ผ ๋“ฑ)๋“ค์„ ํŒจํ‚ค์ง•ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ฃผ ์—ญํ• ์ž…๋‹ˆ๋‹ค.

 

War ( Web Application Archive )

• .war ํ™•์žฅ์ž ํŒŒ์ผ์€  servlet / jsp ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐ์น˜ ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜(Web Application) ์••์ถ• ํŒŒ์ผ ํฌ๋งท์ž…๋‹ˆ๋‹ค.  JSP,  SERVLET, JAR, CLASS, XML, HTML, JAVASCRIPT ๋“ฑ  Servlet Context ๊ด€๋ จ ํŒŒ์ผ๋“ค๋กœ ํŒจํ‚ค์ง• ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. WAR๋Š” ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋ฅผ ์œ„ํ•œ ํฌ๋งท์ด๊ธฐ ๋•Œ๋ฌธ์— ์›น ๊ด€๋ จ ์ž์›๋งŒ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Jar ( Java Archive )

• .jar ํ™•์žฅ์ž ํŒŒ์ผ์—๋Š” Class์™€ ๊ฐ™์€ Java ๋ฆฌ์†Œ์Šค์™€ ์†์„ฑ ํŒŒ์ผ,  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์•ก์„ธ์„œ๋ฆฌ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 

์‰ฝ๊ฒŒ JAVA ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๋ฅผ ์••์ถ•ํ•œ ํŒŒ์ผ๋กœ ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋˜๊ฒ ๋„ค์š”. ์‹ค์ œ๋กœ JAR ํŒŒ์ผ์€ ํ”Œ๋žซํผ์— ๊ท€์†๋˜๋Š” ์ ๋งŒ ์ œ์™ธํ•˜๋ฉด WIN ZIPํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
 
JAR ํŒŒ์ผ์€ ์›ํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ JDK(Java Development Kit)์— ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” JRE(Java Runtime Environment)๋งŒ ๊ฐ€์ง€๊ณ ๋„ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

 

** ๊ณ„์†ํ•ด์„œ ์ถ”๊ฐ€ํ•˜๋Š” **

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

[ OS ] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ Process, Thread  (0) 2022.07.12
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
Comments