From 2340c20f9a80ebd39eb734e28d26c5c3b10a609c Mon Sep 17 00:00:00 2001 From: asjasj3964 Date: Tue, 17 Sep 2024 02:12:00 +0900 Subject: [PATCH] =?UTF-8?q?keyword:=200=EC=A3=BC=EC=B0=A8=20=ED=82=A4?= =?UTF-8?q?=EC=9B=8C=EB=93=9C=20=EC=9D=B8=EC=A6=9D,=20mission:=200?= =?UTF-8?q?=EC=A3=BC=EC=B0=A8=20=EB=AF=B8=EC=85=98=20=EC=9D=B8=EC=A6=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyword/chapter00/chapter00-good-luck.png | Bin 0 -> 18741 bytes keyword/chapter00/chapter00-npm-run-start.png | Bin 0 -> 17027 bytes keyword/chapter00/keyword.md | 52 ++++++++++++++++++ mission/chapter00/mission.md | 11 ++++ 4 files changed, 63 insertions(+) create mode 100644 keyword/chapter00/chapter00-good-luck.png create mode 100644 keyword/chapter00/chapter00-npm-run-start.png create mode 100644 keyword/chapter00/keyword.md create mode 100644 mission/chapter00/mission.md diff --git a/keyword/chapter00/chapter00-good-luck.png b/keyword/chapter00/chapter00-good-luck.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4ae7dbf90326998b090e86c7290beecee6dcb7 GIT binary patch literal 18741 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 literal 0 HcmV?d00001 diff --git a/keyword/chapter00/chapter00-npm-run-start.png b/keyword/chapter00/chapter00-npm-run-start.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1d96643736ac519079d91e57bbb5f471679f9a GIT binary patch literal 17027 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 C ํด๋ž˜์Šค + - ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ: 255.255.255.0 -> IP์˜ ๋ฒ”์œ„: 192.168.10.0 ~ 192.168.10.255 (256๊ฐœ) + - 50๊ฐœ์˜ IP๊ฐ€ -> ์ ์ ˆํžˆ ๋ถ„๋ฐฐ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„: 64 = 2^6 (ํ˜ธ์ŠคํŠธ ID๊ฐ€ 6๊ฐœ์˜ ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.) + - 256 / 64 = 4 -> 4๊ฐœ์˜ ๋„คํŠธ์›Œํฌ + - 64 <= 70 <= 127 ์ด๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ 2์— ์†ํ•œ๋‹ค. + - ์ฆ‰, IP์˜ ๋ฒ”์œ„๋Š” 192.168.10.70/26 +4. TCP vs UDP + - TCP + - Transmission Control Protocol + - **3 way-handshake๊ฐ€ ์™„์„ฑ์ด ๋˜๋ฉฐ ์„œ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋ผ๋Š” ๊ฒƒ์ด ๋ณด์ฆ๋œ๋‹ค.** + - 3 way-handshake: ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ syn์„ ๋ณด๋‚ธ๋‹ค. -> ๊ทธ๊ฒƒ์„ ๋ฐ›์€ ์„œ๋ฒ„๋Š” ack์™€ syn๋ฅผ ๋ณด๋‚ธ๋‹ค. -> ํด๋ผ์ด์–ธํŠธ๊ฐ€ syn์„ ๋ฐ›๊ณ  ์„œ๋ฒ„์— ack๋ฅผ ๋ณด๋‚ธ๋‹ค. (ack, syn: ์„œ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ ๋ฌป๊ณ  ๋‹ตํ•˜๋Š” ๊ฒƒ) + - **๋ฐ›๋Š” ์ž…์žฅ์—์„œ ํŒจํ‚ท์ด ์ •์ƒ์ ์œผ๋กœ ๋„์ฐฉํ–ˆ์œผ๋ฉด ack ํŒจํ‚ท์„ ๋ณด๋ƒ„์œผ๋กœ์จ ๋ฐ›์•˜์Œ์„ ์•Œ๋ ค์ค€๋‹ค.** + - TCP ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ๋•Œ 3-way handshake์—์„œ ๋งˆ์ง€๋ง‰์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ACK๋ฅผ ๋ณด๋‚ด์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์ „์†ก ์ค‘์—๋„ ํŒจํ‚ท์ด ์ •์ƒ์ ์œผ๋กœ ๋„์ฐฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ACK๋ฅผ ๊ณ„์†ํ•ด์„œ ๋ณด๋‚ธ๋‹ค. + - **TCP๋Š” ํŒจํ‚ท์— sequence number๋ผ๋Š” ์ˆœ์„œ๋ฅผ ๋ถ™์ž„์œผ๋กœ์จ ํŒจํ‚ท ์ „์†ก์˜ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•œ๋‹ค.** ๋„์ฐฉํ•œ ํŒจํ‚ท์˜ sequence number๋ฅผ ๋ถ„์„ํ–ˆ๋Š”๋ฐ ์ˆœ์„œ๊ฐ€ ์ด์ƒํ•˜๋‹ค๋ฉด ์„œ๋ฒ„ ์ธก์—์„œ ack ํŒจํ‚ท์„ ๋ณด๋‚ด ๋ˆ„๋ฝ๋œ sequence number์˜ ํŒจํ‚ท์„ ์š”์ฒญํ•œ๋‹ค. + - UDP + - User Datagram Protocol + - **3 way handshake, ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ณด์ฆ, ์ˆœ์„œ ๋ณด์žฅ์ด ์—†๋‹ค!** + - ๊ธฐ์กด์˜ IP์— port์™€ ์ฒดํฌ์„ฌ(๋ฐ์ดํ„ฐ๊ฐ€ ๋งž๋Š” ์ง€๋งŒ ํ™•์ธ)๋งŒ ์ถ”๊ฐ€ํ•œ ํ”„๋กœํ† ์ฝœ +5. Web Server vs WAS + - Web Server + - ์ •์  ๋ฆฌ์†Œ์Šค(ex. HTML, CSS, ์ด๋ฏธ์ง€ ๋“ฑ)๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. + - WAS + - ๋™์  ๋ฆฌ์†Œ์Šค(DB ์กฐํšŒ๋‚˜ ๋‹ค์–‘ํ•œ ๋กœ์ง ์ฒ˜๋ฆฌ)๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. + - Web Server์— ๋น„ํ•ด ๋” ๋น„์‹ธ๊ณ  ์—๋Ÿฌ๊ฐ€ ๋งŽ์ด ๋‚œ๋‹ค. + +#### ๐Ÿ“ฆย Node.js ์‹ค์Šต +*** +![chapter00-npm-run-start](chapter00-npm-run-start.png) +![chapter00-good-luck.png](chapter00-good-luck.png) diff --git a/mission/chapter00/mission.md b/mission/chapter00/mission.md new file mode 100644 index 0000000..2df8a40 --- /dev/null +++ b/mission/chapter00/mission.md @@ -0,0 +1,11 @@ +#### ๐Ÿ”ฅ ๋ฏธ์…˜ +*** +1. **๋„ˆ๋””๋„ˆ๋ฆฌ ํ™ˆํŽ˜์ด์ง€ ์ ‘์†ํ•˜๋Š” ๊ณผ์ • ์ ์–ด๋ณด๊ธฐ (์†Œ์ผ“ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์€ ๊ฐœ๋… ์—†์ด TCP, IP, PORT ๋“ฑ์˜ ๊ฐœ๋… ๋“ฑ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์–ด์ฃผ์„ธ์š”)** + 1. ์‚ฌ์šฉ์ž(client)๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ํŒจํ‚ท์— IP ์ฃผ์†Œ์™€ port๋ฅผ ๋‹ด๋Š”๋‹ค. + 2. ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ์— ์•ž์„œ 3 way-handshake(ํด๋ผ์ด์–ธํŠธ syn -> ์„œ๋ฒ„ syn/ack -> ํด๋ผ์ด์–ธํŠธ ack)๋ฅผ ํ†ตํ•ด TCP ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•œ๋‹ค. + 3. TCP ์—ฐ๊ฒฐ์ด ๋˜๋ฉด ํŒจํ‚ท์„ ๋žœ์„ ์ด๋‚˜ ์™€์ดํŒŒ์ด(access network)๋ฅผ ํ†ตํ•ด ๋ผ์šฐํ„ฐ(network core)์— ๋ณด๋‚ธ๋‹ค. + 4. ํŒจํ‚ท์„ ๋ฐ›์€ ๋ผ์šฐํ„ฐ๋Š” network layer์—์„œ ํŒจํ‚ท ์•ˆ์˜ IP๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ทธ ํŒจํ‚ท์„ ์•Œ๋งž์€ ์œ„์น˜์˜ ๋ผ์šฐํ„ฐ๋กœ ๋ณด๋‚ธ๋‹ค. + 5. 4๋ฅผ ๊ฑฐ์ณ์„œ ์ตœ์ข…์ ์œผ๋กœ ๋„ˆ๋””๋„ˆ๋ฆฌ ํ™ˆํŽ˜์ด์ง€ ์„œ๋ฒ„(network edge)์— ๋„๋‹ฌํ•˜๋ฉด network layer์—์„œ ํŒจํ‚ท์„ ํ™•์ธํ•œ๋‹ค. ํŒจํ‚ท์˜ IP๊ฐ€ ๋ชฉ์ ์ง€์˜ IP์™€ ์ผ์น˜ํ•œ๋‹ค๋ฉด transport layer๋กœ ์˜ฌ๋ฆฐ๋‹ค. + 6. port๋ฅผ ํ™•์ธํ•˜์—ฌ ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค, ์ฆ‰, ๋„ˆ๋””๋„ˆ๋ฆฌ ํ™ˆํŽ˜์ด์ง€์™€ ๋งค์นญ๋œ๋‹ค. ๐Ÿ˜… +1. **๊นƒํ—ˆ๋ธŒ clone ๋ฐ›์•„์„œ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์˜จ ํŽ˜์ด์ง€ ์Šคํฌ๋ฆฐ ์ƒท ์ฐ๊ธฐ** + keyword์˜ ์‹ค์Šต ์ฐธ๊ณ  \ No newline at end of file