๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Network

(6)
TCP & UDP์˜ ์ฐจ์ด์™€ 3,4 way handshake ์•Œ์•„๋ณด๊ธฐ โญ๏ธUDP๊ฐœ๋…์‹ ๋ขฐ์„ฑ๋ณด๋‹ค ์†๋„์™€ ํšจ์œจ์„ฑ์„ ์ค‘์š”์‹œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ „์†ก ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ ํŠน์ง•1. TCP์™€ ๋‹ฌ๋ฆฌ UDP๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅํ˜•์ด ์•„๋‹™๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ, 3 way handshake ์™€ 4 way handshake ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค. 2. 1:N , N:N ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ด์„œ DNS ํ”„๋กœํ† ์ฝœ๊ณผ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. 3. ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.๋‹จ์ง€ ์ฒดํฌ์„ฌ์„ ํ†ตํ•ด ์ˆ˜์‹ ๋œ ํŒจํ‚ท์˜ ์˜ค๋ฅ˜ ์—ฌ๋ถ€ ์ •๋„๋งŒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์ฒดํฌ์„ฌ ?UDP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.์ฒดํฌ์„ฌ์€ ์†ก์‹ ํ•  ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ 16๋น„ํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ , ๋ชจ๋‘ ๋”ํ•œ ๋‹ค์Œ 1์˜ ๋ณด์ˆ˜๋ฅผ ์ทจํ•ด์„œ ๋งŒ๋“ค์–ด ์ง‘๋‹ˆ๋‹ค.๋งŒ๋“ค์–ด์ง„ ๊ฐ’์„ UDPํ—ค๋”์˜ ์ฒดํฌ์„ฌ ํ•„๋“œ์— ๋„ฃ์–ด ์ „์†ก ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์— ๋Œ€ํ•ด ๋™์ผํ•œ ..
ARQ์™€ TCP ์˜ ์ฐจ์ด์ , ๊ทธ๋ฆฌ๊ณ  TCP Reno ARQ์™€ TCP๋Š” ํŒจํ‚ท์˜ ์˜ค๋ฅ˜๋ฅผ ์ œ์–ดํ•œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ ‡๊ธฐ์—, ๋ฌด์—‡์ด ๋‹ค๋ฅธ์ง€ ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.  โญ Automatic Repeat Request (ARQ)๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์˜ค๋ฅ˜ ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ Automatic Repeat Request(์ดํ•˜ ARQ)๋ผ ๋ถ€๋ฆ…๋‹ˆ๋‹ค.ARQ ์ข…๋ฅ˜์—๋Š” Stop-and-Wait ARQ , Go-Back-N ARQ , Selective Repeat ARQ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Stop-and-Wait ARQ์ „์†กํ›„ ๋Œ€๊ธฐ ํ”„๋กœํ† ์ฝœ๋กœ ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.์ด ๋ฐฉ์‹์€ ํŒจํ‚ท์„ ์ „์†กํ•˜๊ณ  ๊ทธ ํŒจํ‚ท์— ๋Œ€ํ•œ ์ˆ˜์‹  ํ™•์ธ ์‘๋‹ต(ACK)์„ ๋ฐ›๊ณ ๋‚˜์„œ, ๋‹ค์Œ ํŒจํ‚ท์„ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์žฅ์ ์€ ์ˆœ์ฐจ์ ์œผ๋กœ ํŒจํ‚ท์„ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ด ์‰ฝ๊ณ , ํŒจํ‚ท์— ์†์ƒ์ด ์ ์€ ํ™˜๊ฒฝ์— ์ ์ ˆํ•ฉ๋‹ˆ๋‹ค.๋‹จ..
์ฟ ํ‚ค ์„ธ์…˜ ํ† ํฐ์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ , ์ฟ ํ‚ค ์‚ฌ์šฉ ์‹œ์˜ XSS CSRF ์˜ˆ๋ฐฉ ์•Œ์•„๋ณด๊ธฐ ์ฟ ํ‚ค์ฟ ํ‚ค๋Š” stateless ๋ฐฉ์‹์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. โ–ถ ํŠน์ง•- ์ฟ ํ‚ค๋Š” ๋ณด์•ˆ์ด ์ทจ์•ฝํ•˜๋‹ค์ฟ ํ‚ค๋Š” F12 ์˜ Network ํƒญ์œผ๋กœ๋„ ์‰ฝ๊ฒŒ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ๋ณด์•ˆ์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค.๊ทธ๋ ‡๊ธฐ์— ์ฟ ํ‚ค ๋‹จ๋…์œผ๋กœ ์“ฐ์ง€ ์•Š๊ณ  ์ฟ ํ‚ค์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•ด ์„ธ์…˜/JWT์™€ ํ•จ๊ป˜ ์“ฐ์ž…๋‹ˆ๋‹ค. - ํด๋ผ์ด์–ธํŠธ์ธก์—์„œ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ด๋ฅผ stateless ๋ฐฉ์‹์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. -๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋œ ์ฟ ํ‚ค๋Š” ๋ชจ๋“  ์š”์ฒญ์— ํฌํ•จ๋˜์–ด ์„œ๋ฒ„์— ์ „์†ก๋ฉ๋‹ˆ๋‹ค.์ด๋Š” ์ฟ ํ‚ค๊ฐ€ ํ•„์š”์—†๋Š” ์š”์ฒญ์— ๋Œ€ํ•ด์„œ๋„ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์ถ”๊ฐ€๋กœ ์œ ๋ฐœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๊ทธ๋ ‡๊ธฐ์— ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ตœ์†Œํ•œ์˜ ์ •๋ณด๋งŒ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๋˜ํ•œ, ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ํŠน์ง•์„ ์•…์šฉํ•œ CSRF ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.์„ธ์…˜์„ธ์…˜์€ stateful ..
TLS 1.2 Handshake ๋™์ž‘ ๊ณผ์ • + HTTPS ๊ฐœ์š” ByteByteGo : SSL, TLS, HTTPS Explained ์˜์ƒ์„ ๋ณด๋ฉฐ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. HTTPS ๊ฐœ์š”TLS 1.2 Handshake ๋™์ž‘ ๊ณผ์ • ์„ค๋ช…์— ์•ž์„œ ๋ช‡ ๊ฐ€์ง€ ๊ฐœ๋…์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. โ–ถ HTTPS : HTTP ํ”„๋กœํ† ์ฝœ์„ TLS/SSL ๋กœ ์•”ํ˜ธํ™”ํ•œ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.  โ–ถ SSL/TLS : ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ๋กœ, ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. SSL ์ด ์ตœ์ดˆ์˜ ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ๋ณด์•ˆ์ด ๋” ํ–ฅ์ƒ๋˜๊ณ , ๋ฐœ์ „ํ•œ ๊ฒƒ์ด TLS ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.  โ–ถ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”์— ๊ฐ™์€ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์–‘๋ฐฉํ–ฅ ์•”ํ˜ธ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.๊ฐ™์€ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฏธ๋ฆฌ ์•ˆ์ „ํ•œ ํ†ต๋กœ๋ฅผ ํ†ตํ•ด ํ‚ค๊ฐ€ ๊ตํ™˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๊ฐ™์€ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•”ํ˜ธํ™” ์†๋„๊ฐ€ ๋นจ๋ผ์„œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์•”ํ˜ธ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.๊ฐ™์€ ..
HTTP/1.0 → HTTP/1.1 → HTTP/2.0 → HTTP/3.0 ๋ฒ„์ „๋ณ„ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ HTTP ๋ฒ„์ „๋งˆ๋‹ค ์–ด๋–ค ๋‹จ์ ์ด ์žˆ์—ˆ๊ณ , ๋‹ค์Œ ๋ฒ„์ „์—์„œ ๊ทธ ๋‹จ์ ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€๋ฅผ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.HTTP/1.0HTTP/1.0 ์€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„์— Connection ์„ ์ง€์†ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.์ฆ‰, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ Connection ์„ ๋งบ๊ธฐ ์œ„ํ•ด DNS ์กฐํšŒ, TCP 3-way handshake, SSL/TLS handshake ๊ฐ™์ด ๋„คํŠธ์›Œํฌ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋Š˜๋ฆฌ๋Š” ํ–‰์œ„๋ฅผ 1๊ฐœ์˜ ์š”์ฒญ ๋งˆ๋‹ค ๋ฐ˜๋ณต์ ์œผ๋กœ ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋งค์šฐ ๋ถˆํ•„์š”ํ•œ ํ–‰์œ„์ด๊ธฐ ๋•Œ๋ฌธ์—, HTTP/1.1 ์€ ์ด๋ฅผ ์ตœ์ ํ™” ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. HTTP/1.1โ–ถ HTTP/1.1 ์˜ ๊ธฐ๋Šฅ : Keep-Alive ๊ทธ๋ž˜์„œ, HTTP/1.1 ๋ถ€ํ„ฐ ๋งค ์š”์ฒญ๋งˆ๋‹ค Connection ์„ ๋งบ์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„์˜ Connection ์„ K..
TCP/IP์˜ 'ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹' ์ฐ๋จน ํ•˜๊ธฐ ๋…ผ๋ฆฌ์ ์ธ ๊ฒƒ๊ณผ ๋ฌผ๋ฆฌ์ ์ธ ๊ฒƒ์„ ๊ตฌ๋ถ„ํ•˜๊ณ ์ž ๋ฌผ๋ฆฌ์ ์ธ ๊ฒƒ์€ 'ํ•˜๋“œ์›จ์–ด/๋ฌผ๋ฆฌ'๋ž€ ๋‹จ์–ด๋ฅผ ๋ถ™์ด๊ณ  ๋…ผ๋ฆฌ์ ์ด๋ฉด์„œ ๋ฌผ๋ฆฌ์ ์ธ ๊ฒƒ์€ '๋„คํŠธ์›Œํฌ'๋ž€ ๋‹จ์–ด๋ฅผ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค.OSI 7๊ณ„์ธต๊ณผ TCP/IP ๋ชจ๋ธ, ๊ฐ ๊ณ„์ธต์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„ ์™€ ์‹๋ณ„์ž, ๋„คํŠธ์›Œํฌ/ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๋“ค์„ ๊ณต๋ถ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ, 'ํŒจํ‚ท', '์„ธ๊ทธ๋จผํŠธ', 'ํ”„๋ ˆ์ž„' ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์— ๋Œ€ํ•ด ๋ชจ๋ฅด์‹ ๋‹ค๋ฉด ๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž๋‹˜์˜ '๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ ๋‹จ์œ„ ์ •๋ฆฌ' ์˜์ƒ์„ ๋ณธ ํ›„์— ๊ธ€์„ ์ฝ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. TCP/IP์˜ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ‚ท์œผ๋กœ ๋ถ„ํ•  ํ•˜์—ฌ ์ „์†กํ•œ ํ›„, ์ˆ˜์‹ ํ•˜๋Š” ๊ณณ์—์„œ ํŒจํ‚ท์„ ์žฌ์กฐ๋ฆฝํ•˜๋Š” ๋ฐฉ์‹์ธ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋„คํŠธ์›Œํฌ๋Š” ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€๊ฐ€ ์•Š์Šต๋‹ˆ๋‹ค.O..