์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- fontstyle
- AndroidStudio
- Dialog
- ์ฑ์ฉํ์ ํ
- IOC
- swagger
- tcp
- FACTORY
- Python
- ์ด๋ ธํ ์ด์
- di
- url
- datepicker
- ํ๋ IT&E
- Android Studio
- ๊ธฐ์ด100์
- OOP
- 2024-08-20
- reflection
- http method
- menutab
- 2024-08-21
- ์ฝ๋์
- Kotlin
- URN
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- Factory Method Pattern
- uri
- udp
- OpenAPI
dingdong coding
[ Web, Network ] ๊ด๋ จ ์ฉ์ด ์ ๋ฆฌ ( ๊ฐ์ธ ํ์ต์ฉ ) ๋ณธ๋ฌธ
[ Web, Network ] ๊ด๋ จ ์ฉ์ด ์ ๋ฆฌ ( ๊ฐ์ธ ํ์ต์ฉ )
๐ถ ๊ฐ๋ฐ๊ฐ๋ฐ ๐พ 2022. 7. 13. 18:32Protocol
์ด๋ค ์์คํ ์ด ๋ค๋ฅธ ์์คํ ๊ณผ ํต์ ์ ์ํํ๊ฒ ์์ฉํ๋๋ก ํด์ฃผ๋ ํต์ ๊ท์ฝ, ์ฝ์
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 = ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ
• ๋น์ฐ๊ฒฐํ ์์ผ์ผ๋ก ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ์ ํ์ด ์์ต๋๋ค.
• ํ์คํ๊ฒ ์ ๋ฌ์ด ๋ณด์ฅ๋์ง ์์ผ๋ฏ๋ก, ๋ฐ์ดํฐ๊ฐ ์์ค๋๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค
• ์ค์๊ฐ ๋ฉํฐ๋ฏธ๋์ด ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.
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๋ ํ ์คํธ ๊ตํ์ด๋ฏ๋ก, ๋๊ตฐ๊ฐ ๋คํธ์ํฌ์์ ์ ํธ๋ฅผ ๊ฐ๋ก์ฑ๋ฉด ๋ด์ฉ์ด ๋ ธ์ถ๋๋ ๋ณด์ ์ด์๊ฐ ์กด์ฌํ๋ค.
์ด๋ฐ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ฃผ๋ ํ๋กํ ์ฝ์ด '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
• ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์์์ ์คํ์ค์ธ ์์
• ํ๋ก์ธ์ค๋ ๊ฐ๊ฐ ๋ณ๋์ ์ฃผ์๊ณต๊ฐ ํ ๋น (๋ ๋ฆฝ์ )
- Code : ์ฝ๋ ์์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(ํ๋ก๊ทธ๋จ ๋ช ๋ น)
- Data : ์ ์ญ๋ณ์, ์ ์ ๋ณ์, ๋ฐฐ์ด ๋ฑ
- ์ด๊ธฐํ ๋ ๋ฐ์ดํฐ๋ data ์์ญ์ ์ ์ฅ
- ์ด๊ธฐํ ๋์ง ์์ ๋ฐ์ดํฐ๋ bss ์์ญ์ ์ ์ฅ
- Heap : ๋์ ํ ๋น ์ ์ฌ์ฉ (new(), malloc() ๋ฑ)
- 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 ๋ฆฌ์์ค์ ์์ฑ ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ก์ธ์๋ฆฌ ํ์ผ์ด ํฌํจ๋์ด ์์ต๋๋ค.
** ๊ณ์ํด์ ์ถ๊ฐํ๋ **
'๐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 |