์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ - application layer

2020. 9. 20. 20:14ยทComputer Science/์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ

Applications Architecture

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž์— ์˜ํ•ด ์„ค๊ณ„๋˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค์–‘ํ•œ ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ ์–ด๋–ป๊ฒŒ ์กฐ์ง๋˜์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ง€์‹œํ•œ๋‹ค.

 

1. ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๊ตฌ์กฐ

์„œ๋ฒ„(server) - ํ•ญ์ƒ ์ผœ์ ธ์žˆ๋Š” ํ˜ธ์ŠคํŠธ, ํด๋ผ์ด์–ธํŠธ๋ผ๋Š” ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›๋Š”๋‹ค.

                       ๊ณ ์ • IP์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ(client) - ํ•ญ์ƒ ์ผœ์ ธ์žˆ์ง€ ์•Š๊ณ , ์„œ๋ฒ„์— ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•œ๋‹ค.

                               ํด๋ผ์ด์–ธํŠธ๋“ค์€ ์ง์ ‘์ ์œผ๋กœ ํ†ต์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค. 

 

 

ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ•˜๋‚˜์˜ ์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ๊ฐ€ ์ž์‹ ์˜ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ์˜ ๋ชจ๋“  ์š”์ฒญ์— ์‘๋‹ตํ•˜๋Š”๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ตฌ๊ธ€๊ฐ™์€ ์ธ๊ธฐ์žˆ๋Š” ์‚ฌ์ดํŠธ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋กœ๋งŒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด ์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ˆ˜ ๋งŽ์€ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ–์ถ˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

 

2.P2P๊ตฌ์กฐ

P2P๊ตฌ์กฐ์—์„œ๋Š” ํ•ญ์ƒ ์ผœ์ ธ์žˆ๋Š” ๊ธฐ๋ฐ”๊ตฌ์กฐ ์„œ๋ฒ„์— ์ตœ์†Œ๋กœ ์˜์กดํ•œ๋‹ค. ๋Œ€์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ”ผ์–ด(peer)๋ผ๋Š” ๊ฐ„ํ—์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ํ˜ธ์ŠคํŠธ ์Œ์ด ์ง์ ‘ ํ†ต์‹ ํ•˜๋„๋ก ํ•œ๋‹ค. ํ”ผ์–ด๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์†Œ์œ ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉ์ž๋“ค์ด ์ œ์–ดํ•˜๋Š” ๋ฐ์Šคํฌํ†ฑ๊ณผ ๋žฉํ†ฑ์ด๋‹ค.

ํŠน์ • ์„œ๋ฒ„๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ  ํ”ผ์–ด๊ฐ€ ํ†ต์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ตฌ์กฐ๋ฅผ P2P๊ตฌ์กฐ๋ผ๊ณ  ํ•œ๋‹ค.  ์˜ˆ๋ฅผ ๋“ค๋ฉด ์Šค์นด์ดํ”„ ๋“ฑ์ด ์žˆ๋‹ค.

 

P2P๊ตฌ์กฐ์˜ ์žฅ์ ์€ ์ž๊ฐ€ ํ™•์žฅ์„ฑ์ด๋‹ค. ๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„์— ๋น„ํ•ด ๋น„์šฉ๋„ ํšจ์œจ์ ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๊ณ ๋„์˜ ๋ถ„์‚ฐ ๊ตฌ์กฐ ํŠน์„ฑ์„ ๊ฐ€์ ธ ๋ณด์•ˆ, ์„ฑ๋Šฅ, ์‹ ๋ขฐ์„ฑ์— ๋ฌธ์ œ์ ์„ ๊ฐ€์ง„๋‹ค.

P2P๊ตฌ์กฐ

ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ 

ํ”„๋กœ์„ธ์Šค(process) 

- ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ

 

ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ์„ธ์Šค - ๋‘ ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ํ†ต์‹  ์„ธ์…˜์—์„œ ํ†ต์‹ ์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค

์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค - ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ์ ‘์†์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค

 

์†Œ์ผ“(socket)

-ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ํ†ต๋กœ ์—ญํ• , ํ”„๋กœ์„ธ์Šค๋Š” ์ง‘ ์†Œ์ผ“์€ ์ถœ์ž…๊ตฌ๋กœ ๋น„์œ ๋œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ์„ ๋•Œ, ๊ทธ๊ฒƒ์„ ์†Œ์ผ“ ๋ฐ”๊นฅ ๋„คํŠธ์›Œํฌ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ€์–ด๋‚ธ๋‹ค. ์ด ์†ก์‹  ํ”„๋กœ์„ธ์Šค๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฑฐ์ณ ๋ชฉ์ ์ง€ ํ”„๋กœ์„ธ์Šค์˜ ์†Œ์ผ“์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์†ก์‹  ํ”„๋กœ์„ธ์Šค์˜ ์ถœ์ž…๊ตฌ ๋’คํŽธ์— ์ „์†ก ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ์— ๋„์ฐฉํ•˜๋ฉด ๋ฉ”์‹œ์ง€๋Š” ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค์˜ ์†Œ์ผ“์„ ๊ฑฐ์น˜๊ณ  ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๋ฐฐ์ •

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

์ฒซ๋ฒˆ์งธ๋Š” ํ˜ธ์ŠคํŠธ์˜ ์ฃผ์†Œ, ๋‘๋ฒˆ์งธ๋Š” ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ ๋‚ด์˜ ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ช…์‹œํ•˜๋Š” ์‹๋ณ„์ž์ด๋‹ค.

์ธํ„ฐ๋„ท์—์„œ ํ˜ธ์ŠคํŠธ๋Š” IP์ฃผ์†Œ๋กœ, ํ”„๋กœ์„ธ์Šค๋Š” ํฌํŠธ๋ฒˆํ˜ธ๋กœ ์‹๋ณ„๋œ๋‹ค.

 

Q ์™œ IP์ฃผ์†Œ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„๊นŒ?

A ํ•œ ํ˜ธ์ŠคํŠธ์— ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ด์šฉ ๊ฐ€๋Šฅํ•œ ํŠธ๋žœ์ŠคํฌํŠธ ์„œ๋น„์Šค

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

ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค. ์ด ์„œ๋น„์Šค๋“ค์€ ํฌ๊ฒŒ 4๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.

 

1.์‹ ๋ขฐ์  ๋ฐ์ดํ„ฐ ์ „์†ก

-์ „์†ก ๋ฐ์ดํ„ฐ์˜ ์˜ค๋ฅ˜ / ์†์ƒ์— ๋Œ€ํ•œ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ

-๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ๋Š” ์–ด๋А ์ •๋„ ์†์‹ค ํ—ˆ์šฉ

 

2.์ฒ˜๋ฆฌ๋Ÿ‰

-์ตœ์†Œ ์ „์†ก๋ฅ  ๋ณด์žฅ์„ ์š”๊ตฌ

-์ „์†ก๋ฅ ์— ์œ ์—ฐํ•˜๊ฒŒ ์ ์‘

 

3.์‹œ๊ฐ„

-low delay

-timeliness service

 

4.๋ณด์•ˆ

-๊ธฐ๋ฐ€์„ฑ, ๋ฌด๊ฒฐ์„ฑ, ์ธ์ฆ, ๊ฐ€์šฉ์„ฑ ...

 

Internet Transport Service

TCP์„œ๋น„์Šค (Transmission Control Protocol)

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

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด TCP ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์˜ ๋‘๊ฐ€์ง€ ์„œ๋น„์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

1.์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ์„œ๋น„์Šค

 

2.์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค

 

UDP์„œ๋น„์Šค (User Datagram Protocol)

์–ด๋А์ •๋„ ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ˆ˜ํ•˜๊ณ  ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”์‹œ์ง€์˜ ๋น ๋ฅธ ์ „๋‹ฌ์ด ๋ชฉ์ ์ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

UDP๋Š” ๋น„์—ฐ๊ฒฐํ˜•์ด๊ณ , ๋น„์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

Web and HTTP

 

Web

WWW(World Wide Web)

-์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋“ค์ด ํ•˜์ดํผํ…์ŠคํŠธ๋กœ ํ‘œํ˜„๋œ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋œ ์‘์šฉ์„œ๋น„์Šค ์‹œ์Šคํ…œ

 

์›น ํŽ˜์ด์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋กœ ๊ตฌ์„ฑ

-HTMLํŒŒ์ผ, script์ฝ”๋“œ, image, audio, video ๋“ฑ..

-๊ฐ ๊ฐ์ฒด๋Š” URL๋กœ ์ฐธ์กฐ๋จ

URL๊ตฌ์กฐ

HTTP

์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์‘์šฉ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

HTTP๋Š” ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ -์›น ํŽ˜์ด์ง€ ๊ฐ์ฒด๋ฅผ ์š”์ฒญ

์„œ๋ฒ„ - ์š”๊ตฌ๋œ ์›น ํŽ˜์ด์ง€ ๊ฐ์ฒด๋ฅผ ์‘๋‹ต

 

์ „์†ก๊ณ„์ธต์˜ TCP๋ฅผ ์‚ฌ์šฉ

-์›น ์„œ๋ฒ„๋Š” ํ‘œ์ค€ ํฌํŠธ 80๋ฒˆ์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

HTTP Connection

๋น„์ง€์† ์—ฐ๊ฒฐ(Non-persistent HTTP) - HTTP 1.0

-ํ•˜๋‚˜์˜ TCP์—ฐ๊ฒฐ์— ํ•œ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ์ „์†ก

 

์ง€์† ์—ฐ๊ฒฐ(Persistent HTTP) - HTTP 1.1

-๋‹จ์ผ TCP์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋ฅผ ์ „์†ก

'Computer Science > ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ] application layer3  (0) 2020.10.03
[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ] application layer2  (0) 2020.09.27
[์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ] Network Delay  (0) 2020.09.13
[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ]๋„คํŠธ์›Œํฌ ์ฝ”์–ด  (0) 2020.09.07
[์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ] ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ  (0) 2020.09.07
'Computer Science/์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ] application layer3
  • [์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ] application layer2
  • [์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ] Network Delay
  • [์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ]๋„คํŠธ์›Œํฌ ์ฝ”์–ด
๐ŸฅญMango
๐ŸฅญMango
  • ๐ŸฅญMango
    AppleMango๐Ÿฅญ
    ๐ŸฅญMango
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
        • OS
      • ...
      • ๊ฐœ๋ฐœ ํƒ€์ž„์บก์А
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํŒŒ์ด์ฌ 14503
    swiftUI tabview
    1613 ํŒŒ์ด์ฌ
    SwiftUI Apple Login
    ์—ญ์‚ฌ ํŒŒ์ด์ฌ
    ํŒŒ์ด์ฌ
    ์Šคํƒ
    14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
    6118
    ํŒŒ์ด์ฌ 6118
    14503 ํŒŒ์ด์ฌ
    typing animation
    swiftUI Gradients
    MapMarker
    ํ† ๋งˆํ† 
    IOS
    ์ฝ”ํ‹€๋ฆฐ ์ƒ์†
    ํŒŒ์ด์ฌ ํ† ๋งˆํ† 
    SwiftUI
    ์ฝ”ํ‹€๋ฆฐ
    Custom Map Marker
    ํŒŒ์ด์ฌ 1459
    ๋ฐฑ์ค€ ํ† ๋งˆํ† 
    Apple Login
    ๋ฐฑ์ค€ ์†Œ์ˆ˜
    Swift Hello World!
    1์ฐจ์› ๋ฟŒ์š”๋ฟŒ์š”
    ํŒŒ์ด์ฌ ์ •๋ ฌ
    Code Base
    1613 ์—ญ์‚ฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ - application layer
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”