728x90
๋ฐ˜์‘ํ˜•

network 12

[๋„คํŠธ์›Œํฌ] Blocking I/O & Non-Blocking I/O

I/O (Input / Output) I/O ์ž‘์—…์€ Kernel level์—์„œ๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, Process, Thread๋Š” ์ปค๋„์—๊ฒŒ I/O๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•œ๋‹ค. ์–ด๋– ํ•œ ๊ธฐ๊ธฐ(๋””๋ฐ”์ด์Šค)๋ฅผ ํ†ตํ•ด ์ž…์ถœ๋ ฅ์ด ์ด๋ฃจ์–ด์ง€๋Š” ์ž‘์—…์„ ๋ชจ๋‘ I/O๋ผ๊ณ  ํ•œ๋‹ค. ์ฆ‰, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก, ์ปจ์†” ์ถœ๋ ฅ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ๋„ ํฌํ•จ๋œ๋‹ค. ์ด๋Ÿฌํ•œ I/O๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์— ๊ฐ€์žฅ ๋งŽ์€ ์˜ํ–ฅ์„ ๋ผ์นœ๋‹ค. I/O์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‹œ๊ฐ„์€ CPU๋ฅผ ์‚ฌ์šฉํ•œ ์‹œ๊ฐ„๊ณผ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ์ค‘์— ๋Œ€๊ธฐ ์‹œ๊ฐ„์— ์†ํ•˜๊ธฐ ๋•Œ๋ฌธ์— I/O๊ฐ€ ๋งŽ์•„์ง„๋‹ค๋Š ๊ฒƒ์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—ฐ์‚ฐ์„ ํ•  ๋•Œ๊นŒ์ง€ CPU๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ๋ชปํ•˜๊ณ  ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง„๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ , ์ด๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฒ˜๋ฆฌ ์†๋„ ์ €ํ•˜๋กœ ์ด์–ด์ง„๋‹ค. ๋”ฐ๋ผ์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•ด์•ผํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” I/O๊ฐ€ ํฐ ..

CS/Network 2023.07.06

[๋„คํŠธ์›Œํฌ] Blocking/Non-blocking & Synchronous/Asynchronous

๋™๊ธฐ/๋น„๋™๊ธฐ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ผ์ƒ ์ƒํ™œ์—์„œ ๋งŽ์ด ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ๋ง์ด๋‹ค. Blocking๊ณผ Synchronous, ๊ทธ๋ฆฌ๊ณ  Non-blocking๊ณผ Asysnchronous๋ฅผ ์„œ๋กœ ๊ฐ™์€ ๊ฐœ๋…์ด๋ผ๊ณ  ์ฐฉ๊ฐํ•˜๊ธฐ ์‰ฝ๋‹ค. ๊ฐ์ž ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š”์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด๋ณด์ž. 2๋Œ€2 ๋งคํŠธ๋ฆญ์Šค๋กœ ์ •๋ฆฌ๋œ ๊ทธ๋ฆผ์ด๋‹ค. ๊ทธ๋ฆผ์„ ๋ณด๋ฉด Blocking ์ด๋ฉด ๋ฐ˜๋“œ์‹œ Sync ๊ฐ€ ์•„๋‹ˆ๊ณ , Non-blocking ์ด๋ฉด ๋ฐ˜๋“œ์‹œ async ๋„ ์•„๋‹ˆ๋‹ค. ์ฆ‰, Blocking / Non-blocking ๊ณผ Sync / Async ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. Blocking / Non-blocking ๊ณผ Sync / Async ๋Š” '๊ด€์ '์„ ์–ด๋–ป๊ฒŒ ๋‘๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ๋ธ”๋กœํ‚น Blocking A ํ•จ์ˆ˜๊ฐ€ B ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ, B ํ•จ์ˆ˜๊ฐ€ ์ž์‹ ์˜ ์ž‘์—…์ด ์ข…๋ฃŒ..

CS/Network 2023.07.05

[๋„คํŠธ์›Œํฌ] ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ (Load Balancing)

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

CS/Network 2023.07.04

[๊ฐœ๋ฐœ์ƒ์‹] ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP)

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋ช…๋ น์–ด์˜ ๋ชฉ๋ก์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ๋‹จ์œ„, ์ฆ‰ "๊ฐ์ฒด"๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. - ์œ„ํ‚คํ”ผ๋””์•„ - ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ๋ฐ(Object-Oriented Programming)์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ค‘ ํ•˜๋‚˜๋กœ, ์ƒํƒœ(state)์™€ ํ–‰์œ„(behave)๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐ์ฒด๋“ค๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„, ๊ฐœ๋ฐœ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์‰ฝ๊ฒŒ ๋งํ•ด ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. '๊ฐ์ฒด' ๋ผ๋Š” ๋ง์€ Object๋ฅผ ์ง์—ญํ•œ ๋ง์ธ๋ฐ, ์‰ฝ๊ฒŒ ๋งํ•ด ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ทธ๋ฃนํ•‘ ํ•œ ๊ฐœ๋…์ด๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ..

[๋„คํŠธ์›Œํฌ] TLS/SSL HandShake

TLS / SSL ์ด๋ž€? SSL(Secure Sockets Layer)์€ ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ๋กœ์„œ, ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ, ์ธ์ฆ, ๋ฌด๊ฒฐ์„ฑ ์„ ์ธํ„ฐ๋„ท ํ†ต์‹ ์— ์ œ๊ณตํ•œ๋‹ค. SSL/TLS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น์‚ฌ์ดํŠธ์˜ URL์—๋Š” "HTTP" ๋Œ€์‹  "HTTPS" ๊ฐ€ ์žˆ๋‹ค. SSL ์ด๋ž€ ๋ช…์นญ์€ TLS(Transport Layer Security)๋กœ ๋ฐœ์ „ํ–ˆ๋‹ค. ์ตœ๊ทผ ๋ช…์นญ: TLS(Transport Layer Security) ๊ณผ๊ฑฐ ๋ช…์นญ: SSL(Secure Sockets Layer) SSL์˜ ์ธ์ง€๋„๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์— TLS์„ SSL๋กœ ๋ถ€๋ฅด๋ฉฐ ์‚ฌ์šฉํ•œ๋‹ค. Certificate Authority(CA)๋ผ ๋ถˆ๋ฆฌ๋Š” ์„œ๋“œ ํŒŒํ‹ฐ๋กœ๋ถ€ํ„ฐ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ์„ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ฃผ๋กœ ์ „์†ก๊ณ„์ธต๊ณผ ์‘์šฉ๊ณ„์ธต ์‚ฌ์ด์—์„œ ๋ณด์•ˆ์กฐ์น˜๋ฅผ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. SSL (..

CS/Network 2023.06.28

[๋„คํŠธ์›Œํฌ] HTTP์™€ HTTPS์˜ ์ฐจ์ด์ 

HTTP๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์— ์ทจ์•ฝํ•œ ๋ฐ˜๋ฉด HTTPS๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, HTTPS๋Š” ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ๊ณผ์ •์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฆ˜์€ ๊ฑฐ์˜ ํฐ ์ฐจ์ด๋ฅผ ๋ชป๋Š๋ผ์ง€๋งŒ HTTP๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆฌ๊ณ  ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€๋น„์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTP (Hyper Text Transfer Protocol) ์ธํ„ฐ๋„ท ์ƒ์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค. ์ฆ‰, ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๋“ค ์‚ฌ์ด์— ํ†ต์‹ ์„ ์ฃผ๊ณ  ๋ฐ›๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ์œ„ํ•œ ํ†ต์‹ ๊ทœ์•ฝ์ด๋‹ค. ์š”์ฒญ(Request)๊ณผ ์‘๋‹ต(Response)์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ..

CS/Network 2023.06.27

[๋„คํŠธ์›Œํฌ] ๋Œ€์นญํ‚ค์™€ ๊ณต๊ฐœํ‚ค

๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ์•”๋ณตํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๊ฐ€ ๋™์ผํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ์•”๋ณตํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. (๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ผ๊ณ ๋„ ํ•œ๋‹ค.) ๋Œ€์นญํ‚ค(Symmetric Key) ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ๊ฐ™์€ ์•”ํ˜ธํ‚ค(๋Œ€์นญํ‚ค)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•˜๋‚˜์˜ ํ‚ค๋ฅผ ์–‘์ชฝ(client & server)๊ฐ€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค. ๋Œ€์นญํ‚ค๋Š” ์•”๋ณตํ˜ธํ™”ํ‚ค๊ฐ€ ๋™์ผํ•˜๋ฏ€๋กœ ํ•ด๋‹น ํ‚ค๋ฅผ ์•„๋Š” ์‚ฌ๋žŒ์ด ๋ฌธ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์žฅ์  ๋™์ผํ•œ ํ‚ค๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์— ๋น„ํ•ด ์•”ํ˜ธํ™” ๋ฐ ๋ณตํ˜ธํ™” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ๋น„๊ต์  ๊ฐ„ํŽธํ•˜๋‹ค. ๋‹จ์  ์•”ํ˜ธํ™” ํ†ต์‹ ์„ ํ•˜๋Š” ์‚ฌ์šฉ์ž๋ผ๋ฆฌ ๊ฐ™์€ ๋Œ€์นญํ‚ค๋ฅผ ๊ณต์œ ํ•ด์•ผ๋งŒ ํ•œ๋‹ค. (ํ‚ค๋ฅผ ๊ตํ™˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ) ์ด๊ฒŒ ์™œ ๋‹จ์ ? ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ง์ ‘ ๋งŒ๋‚˜์„œ ์ „๋‹ฌํ•˜์ง€ ์•Š๋Š” ํ•œ, ..

CS/Network 2023.06.26

[๋„คํŠธ์›Œํฌ] UDP

UDP ํ†ต์‹ ์ด๋ž€? User Datagram Protocol์˜ ์•ฝ์ž๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๋น„์—ฐ๊ฒฐํ˜•, ์‹ ๋ขฐ์„ฑ ์—†๋Š” ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๋ฉด์„œ ์ „์†ก์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์†ก ๊ณ„์ธต์ด๋‹ค. Transport layer์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP์™€ UDP๋Š” ์™œ ๋‚˜์˜ค๊ฒŒ ๋๋Š”๊ฐ€? IP์˜ ์—ญํ• ์€ Host to Host (์žฅ์น˜ to ์žฅ์น˜)๋งŒ์„ ์ง€์›ํ•œ๋‹ค. ์žฅ์น˜์—์„œ ์žฅ์น˜๋กœ ์ด๋™์€ IP๋กœ ํ•ด๊ฒฐ๋˜์ง€๋งŒ, ํ•˜๋‚˜์˜ ์žฅ๋น„์•ˆ์—์„œ ์ˆ˜๋งŽ์€ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ํ†ต์‹ ์„ ํ•  ๊ฒฝ์šฐ์—๋Š” IP๋งŒ์œผ๋กœ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ๋˜ํ•œ, IP์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ICMP์—์„œ ์•Œ๋ ค์ค€๋‹ค. ํ•˜์ง€๋งŒ ICMP๋Š” ์•Œ๋ ค์ฃผ๊ธฐ๋งŒ ํ•  ๋ฟ ๋Œ€์ฒ˜๋ฅผ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— IP๋ณด๋‹ค ์œ„์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. 1๋ฒˆ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ๋‚˜์˜ค๊ฒŒ..

CS/Network 2023.06.23

[๋„คํŠธ์›Œํฌ] TCP/IP (ํ๋ฆ„ ์ œ์–ด, ํ˜ผ์žก ์ œ์–ด)

TCP / IP ๋ž€? ๋ฐ์ดํ„ฐ๊ฐ€ ์˜๋„๋œ ๋ชฉ์ ์ง€์— ๋‹ฟ์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•ด์ฃผ๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค. TCP์™€ IP ๋‘ ๊ฐ€์ง€์˜ ํ”„๋กœํ† ์ฝœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. TCP (Transmission Control Protocol) ๋‘ ํ˜ธ์ŠคํŠธ๊ฐ€ ๊ตํ™˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ์Šน์ธ ๋ฉ”์„ธ์ง€์˜ ํ˜•์‹์„ ์ •์˜ํ•˜์—ฌ, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๋ขฐ์„ฑ์žˆ๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ทœ์•ฝ์ด๋‹ค. ๋ฐ์ดํ„ฐ ํŒจํ‚ท์— ์ผ๋ จ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•จ์œผ๋กœ์จ, ๋ฐ์ดํ„ฐ ์†์‹ค์„ ์ฐพ์•„๋‚ด์„œ ๊ต์ •ํ•˜๊ณ , ์ˆœ์„œ๋ฅผ ์žฌ์กฐํ•ฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. IP (Internet Protocol) TCP์™€๋Š” ๋‹ฌ๋ฆฌ ๋ฐ์ดํ„ฐ์˜ ์žฌ์กฐํ•ฉ์ด๋‚˜ ์†์‹ค์—ฌ๋ถ€ ํ™•์ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋‹จ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ๋งŒ์„ ๋‹ด๋‹นํ•œ๋‹ค. IP์ฃผ์†Œ๋Š” ํ•˜๋“œ์›จ์–ด ๊ณ ์œ ์˜ ์‹๋ณ„๋ฒˆํ˜ธ์ธ MAC์ฃผ์†Œ์™€ ๋‹ค๋ฅด๊ฒŒ ์ž„์‹œ์ ์œผ๋กœ ๋‹ค๋ฅธ ์ฃผ์ฒด(ํ†ต์‹ ์‚ฌ)..

CS/Network 2023.06.23

[๋„คํŠธ์›Œํฌ] TCP์˜ 3 way handshake & 4 way handshake

TCP (Transmission Control Protocol) ๋ž€? TCP๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์ค‘ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ ์‹ ๋ขฐ์ ์ด๊ณ  ์—ฐ๊ฒฐ์ง€ํ–ฅ์„ฑ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. TCP๋Š” ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋กœ, ์‹ ๋ขฐ์ ์ธ ์ „์†ก์„ ๋ณด์žฅํ•˜๊ธฐ์— hanshakingํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์ œ์–ด์™€ ํ˜ผ์žก์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด TCP์˜ ์†๋„๋Š” ๋Š๋ฆฌ๋‹ค. ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์„ธ์ง€์˜ ํ˜•ํƒœ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. IP๋Š” ๋ฐฐ๋‹ฌ์„, TCP๋Š” ํŒจํ‚ท์˜ ์ถ”์  ๋ฐ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. TCP์˜ 3 way handshake & 4 way handshake ๋ž€? ์—ฐ๊ฒฐ์„ ์„ฑ๋ฆฝํ•˜๊ณ  ํ•ด์ œํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค. 3-Way Handshake ๋Š” TCP์˜ ์ ‘์†, 4-Way Handshake๋Š” TCP์˜ ์ ‘..

CS/Network 2023.06.23
728x90
๋ฐ˜์‘ํ˜•