1. ์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹

์ฟ ํ‚ค๋ž€ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ €์— key value ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด๋†“๋Š” ์ž‘์€ ๊ธฐ๋กํŒŒ์ผ์ด๋‹ค.
์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ์„œ ๊ฐ„๋‹จํ•œ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
 

์ฟ ํ‚ค ๋กœ๊ทธ์ธ ์ธ์ฆ ๋ฐฉ์‹
 

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://brunch.co.kr/@jinyoungchoi95/1

 
ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ ์š”์ฒญ์„ ํ• ๋•Œ๋งˆ๋‹ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฟ ํ‚ค์— id, pw ์ •๋ณด๋ฅผ ๋‹ด์•„์„œ ์ „์†กํ•œ๋‹ค.
์œ„์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„์—์„œ๋Š” ์ด๋ฏธ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋กœ๊ทธ์ธ์ด ์ง„ํ–‰๋œ ํ›„ ์œ ์ € ์ •๋ณด๊ฐ€ ์ฟ ํ‚ค์— ๋“ค์–ด์žˆ์–ด์•ผํ•œ๋‹ค.
 
ํ•˜์ง€๋งŒ ์ฟ ํ‚ค ์ธ์ฆ ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
1. ์ฟ ํ‚ค๊ฐ’ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์ด ํž˜๋“ค๋‹ค. (์กฐ์ž‘ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.)
2. ์ค‘๊ฐ„์— ํƒˆ์ทจํ•ด์„œ id,pw ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
3. ์„œ๋ฒ„์—์„œ ๋งค๋ฒˆ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค.
4. ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ฟ ํ‚ค ํ˜•์‹์ด ํ†ต์ผ๋˜์–ด ์žˆ์ง€ ์•Š์•„์„œ ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ๊ณต์œ ๊ฐ€ ์–ด๋ ต๋‹ค.
 
๋”ฐ๋ผ์„œ ์ฟ ํ‚ค๋งŒ ์ด์šฉํ•œ ์ธ์ฆ ๋ฐฉ์‹์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์„ธ์…˜์„ ์‚ฌ์šฉํ•œ ์ธ์ฆ ๋ฐฉ์‹์ด ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค.
 

2. ์„ธ์…˜ ์ธ์ฆ ๋ฐฉ์‹

์„ธ์…˜์€ ์‚ฌ์šฉ์ž์˜ ์—ฐ๊ฒฐ์„ ํ•˜๋‚˜์˜ ์ƒํƒœ(์„ธ์…˜)์œผ๋กœ ์œ ์ง€์‹œํ‚ค๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค.
 

์„ธ์…˜ ๋กœ๊ทธ์ธ ์ธ์ฆ ๋ฐฉ์‹

์ฟ ํ‚ค๋Š” ๋งค๋ฒˆ id,pw ๊ฐ™์€ ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์ „์†กํ•ด์•ผํ–ˆ๋‹ค๋ฉด, ์„ธ์…˜์€ ์„œ๋ฒ„์˜ ์„ธ์…˜ ์ €์žฅ์†Œ์— ์„ธ์…˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•จ์œผ๋กœ์จ ๋ณด์™„์„ ๊ฐ•ํ™”ํ–ˆ๋‹ค.
ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ์ฆ์ด ํ•„์š”ํ•œ ์š”์ฒญ์„ ํ•„์š”ํ•  ๋•Œ ์ฟ ํ‚ค์— ์„ธ์…˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” ์ด๋ฅผ ์„ธ์…˜ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ๊ณผ ๋น„๊ตํ•ด์„œ ์ธ์ฆ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•œ๋‹ค.
(๋งˆ์น˜ ๋งคํ‘œ์†Œ์—์„œ ํ‹ฐ์ผ“์˜ ์ ˆ๋ฐ˜์„ ๋–ผ์„œ ์†๋‹˜์ด๋ž‘ ๋‚˜๋ˆ ๊ฐ€์ง€๋Š” ์›๋ฆฌ์™€ ๋น„์Šทํ•˜๋‹ค.)
์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ์ธ์ฆ ์š”์ฒญ ์‹œ์— ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ๋„คํŠธ์›Œํฌ ์ƒ์— ๋…ธ์ถœ ์‹œํ‚ค๋Š” ๊ฒƒ์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.
 
ํ•˜์ง€๋งŒ ์„ธ์…˜ ๋ฐฉ์‹๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ์•ˆ๊ณ  ์žˆ๋‹ค.
1. ์„œ๋ฒ„๊ฐ€ ์žฌ๋ถ€ํŒ…๋˜๋ฉด ์„ธ์…˜ ์ €์žฅ์†Œ๊ฐ€ ์ดˆ๊ธฐํ™”๋œ๋‹ค.
2. ์Šค์ผ€์ผ ์•„์›ƒ ๋ฐฉ์‹์˜ ํ™•์žฅ์ด ์–ด๋ ต๋‹ค. -> ๋ชจ๋“  ์„œ๋ฒ„์— ์„ธ์…˜ ์ •๋ณด๋ฅผ ๋™๊ธฐํ™” ์‹œ์ผœ์•ผํ•œ๋‹ค.
3. ์‚ฌ์šฉ์ž์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ์„ธ์…˜ ์ •๋ณด๊ฐ€ ๋งŽ์•„์ ธ์„œ ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์ด ๋œ๋‹ค. -> ๋ฌด์ƒํƒœ(stateless) ์œ„๋ฐ˜
4. ์„ธ์…˜ ์ธ์ฆ ์ •๋ณด ํƒˆ์ทจ์˜ ์œ„ํ—˜์ด ์žˆ๋‹ค.
 

3. JWT ์ธ์ฆ ๋ฐฉ์‹ 

JWT(Json Web Token) ๋ฐฉ์‹์€ ํ† ํฐ ๊ธฐ๋ฐ˜์˜ ์ธ์ฆ ๋ฐฉ์‹์ด๋‹ค. ์ด ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ทธ ๋™์•ˆ์˜ ์ธ์ฆ ๋ฐฉ์‹์—์„œ ๋‚˜์™”๋˜ ๋ฌธ์ œ๋“ค์„ ์–ด๋Š์ •๋„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
 

JWT ๋กœ๊ทธ์ธ ์ธ์ฆ ๋ฐฉ์‹

JWT ํ† ํฐ ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.
 
header
ํ‚ค๊ฐ’, ํ† ํฐ ์œ ํ˜•, ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ™์€ ์ •๋ณด๋“ค์„ ๋‹ด๊ณ  ์žˆ๋‹ค.
 
payload
ํด๋ ˆ์ž„(claim)์ด๋ผ๊ณ  ํ•˜๋Š” ์œ ์ €์˜ ํ† ํฐ ์ธ์ฆ ์ •๋ณด๋ฅผ key/value ํ˜•ํƒœ๋กœ ๋‹ด๊ณ  ์žˆ๋‹ค.
JWT ์ŠคํŽ™์—์„œ๋Š” ํ‘œ์ค€ claim ๋ชฉ๋ก์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. (๊ถŒ์žฅ ์‚ฌํ•ญ์ผ ๋ฟ ๊ผญ ์ง€ํ‚ฌ ํ•„์š”๋Š” ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค)
 
iss (Issuer, ํ† ํฐ ๋ฐœ๊ธ‰์ž): . ๋ˆ„๊ฐ€ ํ† ํฐ์„ ๋ฐœ๊ธ‰(์ƒ์„ฑ)ํ–ˆ๋Š”์ง€
sub (Subject, ํ† ํฐ ์ฃผ์ œ): ์ฃผ์ œ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
aud (Audience, ํ† ํฐ ์ˆ˜์‹ ์ž): ๋ˆ„๊ตฌ์—๊ฒŒ ํ† ํฐ์ด ์ „๋‹ฌ๋˜๋Š” ๊ฐ€
exp (Expiration, ๋งŒ๋ฃŒ ์‹œ๊ฐ„): ์–ธ์ œ ํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜๋Š”์ง€
nbf (Not Before): ์ •์˜๋œ ์‹œ๊ฐ„ ์ดํ›„์— ํ† ํฐ์ด ํ™œ์„ฑ
iat (Issued At, ํ† ํฐ ๋ฐœ๊ธ‰ ์‹œ๊ฐ„): ์–ธ์ œ ํ† ํฐ์ด ๋ฐœ๊ธ‰๋˜์—ˆ๋Š”์ง€
jti (JWT ID, ํ† ํฐ ์‹๋ณ„์ž): ํ† ํฐ์˜ ๊ณ ์œ  ์‹๋ณ„์ž
 
signature
JWT์—์„œ ๊ฐ€์žฅ ๋ฏผ๊ฐํ•œ ๋ถ€๋ถ„์ด๋‹ค. ํ•ด๋‹น ๊ฐ’์œผ๋กœ ํ† ํฐ์˜ ์œ ํšจ์„ฑ์„ ํŒ๋ณ„ํ•˜๋ฉฐ ์ด๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์‹œํฌ๋ฆฟ ๊ฐ’์„ ์œ ์ถœ์‹œํ‚ค์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.
์‹œํฌ๋‹ˆ์ฒ˜๋Š” ํ—ค๋”+ํŽ˜์ด๋กœ๋“œ+์‹œํฌ๋ฆฟ ๊ฐ’์„ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ์„œ ๋งŒ๋“ค์–ด์ง„๋‹ค.
๋”ฐ๋ผ์„œ ์‹œํฌ๋ฆฟ ๊ฐ’์ด ์กฐ๊ธˆ์ด๋ผ๋„ ๋‹ค๋ฅด๋‹ค๋ฉด ํ† ํฐ ๋‚ด์šฉ์€ ์™„์ „ ๋ณ€ํ•˜๊ฒŒ ๋˜์–ด์„œ ์ธ์ฆ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
 
์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ํ—ค๋”์™€ ํŽ˜์ด๋กœ๋“œ๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์•„๋‹Œ base64 ๋ฐฉ์‹์œผ๋กœ ์ธ์ฝ”๋”ฉ ๋˜๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ์ œ3์ž๋„ ํ† ํฐ๋งŒ์œผ๋กœ๋„ ํ•ด๋‹น ๊ฐ’๋“ค์„ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹๋ณ„์ž๋ฅผ ์ œ์™ธํ•œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋“ค์„ ์ตœ๋Œ€ํ•œ ๋„ฃ์ง€ ๋ง์•„์•ผํ•œ๋‹ค!
 
JWT๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ† ํฐ์„ ์ฃผ๋Š” ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ํ† ํฐ์ด ํƒˆ์ทจ ๋‹นํ•œ๋‹ค๋ฉด ์„œ๋ฒ„์—์„œ ๋”ฑํžˆ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์—†๋‹ค.
์ด ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ์ด์šฉํ•ด์„œ ๊ธฐ์กด ํ† ํฐ์˜ ์œ ํšจ ์‹œ๊ฐ„์„ ์งง๊ฒŒ ๊ฐ€์ ธ๊ฐ€๊ณ  ์ƒˆ๋กœ์šด ํ† ํฐ์„ ์ง€์†ํ•ด์„œ ๋ฐœ๊ธ‰ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ์€ ํƒˆ์ทจ๋œ ํ† ํฐ์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ๋ฒ•์€ ์•„๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์€ํ–‰ ๊ฐ™์ด ๋ณด์•ˆ์— ๊ต‰์žฅํžˆ ๋ฏผ๊ฐํ•œ ๊ณณ์—์„œ๋Š” ์—ฌ๋Ÿฌ ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•ด์„œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•œ๋‹ค.
 

 

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://tecoble.techcourse.co.kr/post/2021-11-07-load-balancing/

1. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ž€?

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ๋“ค์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. 

๋ฌผ๋ก  ํ•œ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ์„ฑ๋Šฅ์„ ๊ณ„์† ํ‚ค์›Œ์„œ ์–ด๋Š ์ •๋„๋Š” ์ปค๋ฒ„(Scale-up)ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ์ด ๋ฐฉ์‹์€ ์–ผ๋งˆ ์•ˆ๊ฐ€์„œ ํ•œ๊ณ„๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ๋‘ฌ์„œ ์š”์ฒญ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ(Scale-out)์ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด๊ณ  ์ด ์—ญํ• ์„ ํ•˜๋Š”๊ฒŒ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์ด๋‹ค.

 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” ์‚ฌ์šฉ์ž์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋ฉฐ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค ์„œ๋ฒ„๊ฐ€ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋‚ด๋„๋ก ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•œ๋‹ค.

 

2. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์‚ฌ์šฉ์˜ ์ด์ 

๊ฐ€์šฉ์„ฑ

์„œ๋ฒ„ ์žฅ์•  ๋˜๋Š” ๋ถ€ํ•˜๋กœ ์ธํ•œ ๋”œ๋ ˆ์ด๋ฅผ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ†ตํ•ด ์‚ฌ์ „์— ๋ฐฉ์ง€ํ•จ์œผ๋กœ์จ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ€์šฉ์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€๋™ ์ค‘์ง€ ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์œ ์ง€ ๊ด€๋ฆฌ ๋˜๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ ์‹คํ–‰
  • ๋ฐฑ์—… ์‚ฌ์ดํŠธ์— ์ž๋™ ์žฌํ•ด ๋ณต๊ตฌ ์ œ๊ณต
  • ์ƒํƒœ ํ™•์ธ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฐ€๋™ ์ค‘์ง€๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ๋ฐฉ์ง€

ํ™•์žฅ์„ฑ

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ทœ๋ชจ๋‚˜ ํŠธ๋ž˜ํ”ฝ์ด ์ฆ๊ฐ€ํ•˜๋”๋ผ๋„ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ๋“ค์„ ์ง€๋Šฅ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ™•์žฅ์ด ์šฉ์ดํ•ด์ง„๋‹ค.

  • ํ•œ ์„œ๋ฒ„์—์„œ ํŠธ๋ž˜ํ”ฝ ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ฐฉ์ง€
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠธ๋ž˜ํ”ฝ์„ ์˜ˆ์ธก
  • ์•ˆ์‹ฌํ•˜๊ณ  ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ์— ์ค‘๋ณต์„ฑ์„ ์ถ”๊ฐ€

๋ณด์•ˆ์„ฑ

๋””๋„์Šค๊ฐ™์€ ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ ๊ณต๊ฒฉ์„ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ†ตํ•ด ํ”ผํ•ด๋ฅผ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

์•…์„ฑ ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐ์‹œํ‚ค๊ฑฐ๋‚˜ ๋ฐฉํ™”๋ฒฝ์„ ํ†ตํ•ด ์‚ฌ์ „ ์ฐจ๋‹จํ•œ๋‹ค.

  • ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์•…์„ฑ ์ฝ˜ํ…์ธ  ์ฐจ๋‹จ
  • ๊ณต๊ฒฉ ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ์ž๋™์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜์—ฌ ์˜ํ–ฅ ์ตœ์†Œํ™”
  • ์ถ”๊ฐ€ ๋ณด์•ˆ์„ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ๋ฐฉํ™”๋ฒฝ ๊ทธ๋ฃน์„ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ…

์„ฑ๋Šฅ ํ–ฅ์ƒ

์ง€๋Šฅ์ ์ธ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ํ†ตํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‘๋‹ต ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.

  • ์„œ๋ฒ„ ๊ฐ„์— ๋กœ๋“œ๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ฐฐํฌํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์ง€๋ฆฌ์ ์œผ๋กœ ๋” ๊ฐ€๊นŒ์šด ์„œ๋ฒ„๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜์—ฌ ์ง€์—ฐ ์‹œ๊ฐ„ ๋‹จ์ถ•
  • ๋ฌผ๋ฆฌ์  ๋ฐ ๊ฐ€์ƒ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์˜ ์‹ ๋ขฐ์„ฑ ๋ฐ ์„ฑ๋Šฅ ๋ณด์žฅ

์ฐธ๊ณ  : https://aws.amazon.com/what-is/load-balancing/?nc1=h_ls

 

3. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์ข…๋ฅ˜

 

๋ถ€ํ•˜ ๋ถ„์‚ฐ์—๋Š” L4 , L7 ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ L4๋Š” OSI7 ๊ณ„์ธต์˜ ํ†ต์‹  ๊ณ„์ธต, L7์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์ด๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ง๋กœ ๋„คํŠธ์›Œํฌ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ , ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 

L4 ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ

์ „์†ก ๊ณ„์ธต์˜ IP, PORT ๊ฐ™์€ ์ •๋ณด๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•œ๋‹ค.

ํŒจํ‚ท์ด๋‚˜ ์ฟ ํ‚ค๊ฐ™์€ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ถ„์„ํ•  ํ•„์š”์—†์ด ๋น„๊ต์  ๋‹จ์ˆœํ•˜๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— L7 ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ๋น„ํ•ด ๋น ๋ฅด๊ณ  ๊ฐ€๋ณ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

 

*Client IP์™€ ์„œ๋ฒ„์‚ฌ์ด์— ์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ†ตํ•˜๊ณ  ๋‚˜๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์€ Client IP์™€ ์ง์ ‘ ํ†ต์‹ ํ•œ๋‹ค.

 

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://dev.classmethod.jp/articles/load-balancing-types-and-algorithm/

 

L7 ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต(HTTP, FTP, SMTP)์—์„œ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— HTTP ํ—ค๋”, ์ฟ ํ‚ค ๋“ฑ๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๊ธฐ์ค€์œผ๋กœ ํŠน์ • ์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ex) ๊ฒฐ์ œ ์„œ๋ฒ„, ํšŒ์› ๊ฐ€์ž… ์„œ๋ฒ„

L7 ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ๊ฒฝ์šฐ ํŠน์ •ํ•œ ํŒจํ„ด์„ ์ง€๋‹Œ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ๊ฐ์ง€ํ•ด ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, DoS/DDoS์™€ ๊ฐ™์€ ๋น„์ •์ƒ์ ์ธ ํŠธ๋ž˜ํ”ฝ์„ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ธฐ๋Šฅ์ด ๋งŽ์€ ๋Œ€์‹  ๊ทธ๋งŒํผ ์ž์› ์†Œ๋ชจ๊ฐ€ ํฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

*Client IP์™€ ์„œ๋ฒ„์‚ฌ์ด์— ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋ชจ๋‘ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ํ†ต์‹ ํ•œ๋‹ค.

 

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://dev.classmethod.jp/articles/load-balancing-types-and-algorithm/

4. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋”ฑ 3๊ฐœ๊ฐœ๋งŒ!

 

๋ผ์šด๋“œ ๋กœ๋นˆ(Round Robin)

์š”์ฒญ ๋ฐ›์€ ์ˆœ์„œ๋Œ€๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์„œ๋ฒ„์— ํ• ๋‹นํ•œ๋‹ค. 

์„œ๋ฒ„๋“ค์˜ ์„ฑ๋Šฅ์ด ๋น„์Šทํ•˜๊ณ  ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ์งง์€ ๊ฒฝ์šฐ ์œ ๋ฆฌํ•˜๋‹ค.

 

๊ฐ€์ค‘ ๋ผ์šด๋“œ ๋กœ๋นˆ(Weighted Round Robin)

์„œ๋ฒ„๊ฐ„ ์„ฑ๋Šฅ์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ์„œ๋ฒ„์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ์„œ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•œ๋‹ค.

 

์ตœ์†Œ ์—ฐ๊ฒฐ ๋ฐฉ์‹(Least Connection)

์—ฐ๊ฒฐ ์ƒํƒœ๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์„œ๋ฒ„์— ์šฐ์„ ์ ์œผ๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•œ๋‹ค. 

์„ธ์…˜์ด ์ž์ฃผ ๊ธธ์–ด์ง€๊ฑฐ๋‚˜ ๋ถ„๋ฐฐ๋œ ํŠธ๋ž˜ํ”ฝ๋“ค์ด ์ผ์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์œ ๋ฆฌํ•˜๋‹ค.

 

 

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ https://careerly.co.kr/comments/77905

 

DNS ๋ผ์šด๋“œ ๋กœ๋นˆ

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ™œ์šฉํ•˜์ง€ ์•Š๊ณ  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

DNS ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋„ค์ž„์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•˜๋Š” ์—ฌ๋Ÿฌ IP ์ •๋ณด๋“ค์„ ์‘๋‹ตํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฌ๋Ÿฌ IP ์ •๋ณด์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฒฐ๋ก ์ ์œผ๋กœ ์—ฌ๋Ÿฌ IP๋กœ ํŠธ๋ž˜ํ”ฝ์ด ๋ถ„์‚ฐ๋œ๋‹ค.

์ด ๋ฐฉ์‹์€ ์›น ์„œ๋ฒ„๋“ค์ด ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด ์žˆ์–ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ์ด ์–ด๋ ต๊ฑฐ๋‚˜ ๊ฐ€๋ฒผ์šด ๊ตฌํ˜„ ๋ฐฉ์‹์ด ํ•„์š”ํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค.

 

ํ•˜์ง€๋งŒ ์บ์‹ฑ์œผ๋กœ ์ธํ•ด์„œ ํŠน์ • IP์— ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ์ˆ˜ ์žˆ๊ณ , ํ—ฌ์Šค ์ฒดํฌ๋ฅผ ํ•˜์ง€ ๋ชปํ•ด์„œ ์š”์ฒญํ•œ IP๋กœ ์—ฐ๊ฒฐ์ด ๊ฑฐ๋ถ€๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

1. DNS๋ž€?

๋„๋ฉ”์ธ์€ ์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ๋กœ ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์›๋ž˜ ์ˆซ์ž๋กœ ๋œ ๊ธด IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์‚ฌ๋žŒ๋“ค์ด ์ด ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ์ธํ„ฐ๋„ท ์ƒ์—์„œ ์ฃผ์–ด์ง„ ์œ„์น˜๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๋„๋ฉ”์ธ์ด ๊ฐœ๋ฐœ๋˜์—ˆ๊ณ , ์ž์—ฐ์Šค๋ ˆ ๋„๋ฉ”์ธ์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„ ์‹œ์Šคํ…œ(Domain Name System, ์ดํ•˜ DNS)์ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

 

DNS๋ฅผ ํ†ตํ•˜์—ฌ ์‚ฌ์šฉ์ž๋“ค์€ ๋„๋ฉ”์ธ ์ด๋ฆ„๋งŒ ๊ฐ€์ง€๊ณ ๋„ ์‰ฝ๊ฒŒ ์›น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ์„ค๋ น ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€๋‹ค๊ณ  ํ•œ๋“ค ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค.

 

์ด๋Ÿฌํ•œ DNS ์‹œ์Šคํ…œ์€ ์„ธ๊ณ„์ ์œผ๋กœ ์ผ๊ด€๋œ ๊ทœ์น™์„ ๊ฐ€์ง€๋ฉฐ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์ด๋‹ค.

 

2. DNS ๊ตฌ์„ฑ ์š”์†Œ

๋„๋ฉ”์ธ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค

DNS๋Š” ๊ฑฐ๋Œ€ํ•œ ๋ถ„์‚ฐ ๋„ค์ด๋ฐ ์‹œ์Šคํ…œ์ด๋ฉฐ, ๋„๋ฉ”์ธ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค๋Š” ์ด๋Ÿฌํ•œ DNS๊ฐ€ ์ €์žฅ/๊ด€๋ฆฌํ•˜๋Š” ๊ณ„์ธต์  ๊ตฌ์กฐ์ด๋‹ค.

์ตœ์ƒ์œ„์— ๋ฃจํŠธ ์„œ๋ฒ„๊ฐ€ ์กด์žฌํ•˜๊ณ  ๊ทธ ์•„๋ž˜๋กœ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋“ค์ด ์—ฐ์†ํ•ด์„œ ์ด์–ด์ง„ ๊ณ„์ธต ๊ตฌ์กฐ์ด๋‹ค.

 

1. ๋ฃจํŠธ DNS ์„œ๋ฒ„

TLD DNS ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์•ˆ๋‚ดํ•œ๋‹ค.

DNS ๋งคํ•‘ ๊ณผ์ •์˜ ์ฒซ ๋‹จ๊ณ„์ด๋‹ค.

 

2. TLD ์„œ๋ฒ„

๋„๋ฉ”์ธ ๋“ฑ๋ก ๊ธฐ๊ด€์ด ๊ด€๋ฆฌํ•˜๋ฉฐ SLD DNS ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์•ˆ๋‚ดํ•œ๋‹ค

ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์„ ํ˜ธ์ŠคํŒ…ํ•œ๋‹ค.

ex) example.com ์˜ "com"

 

3. SLD ์„œ๋ฒ„(๊ถŒํ•œ ์žˆ๋Š” ๋„ค์ž„ ์„œ๋ฒ„)

์‹ค์ œ ๊ฐœ์ธ ๋„๋ฉ”์ธ๊ณผ IP ์ฃผ์†Œ์˜ ๊ด€๊ณ„๊ฐ€ ๊ธฐ๋ก๋œ๋‹ค.

๋„ค์ž„ ์„œ๋ฒ„ ์ฟผ๋ฆฌ์˜ ์ข…์ฐฉ์ ์ด๋‹ค. ๊ถŒํ•œ์žˆ๋Š” ์ด๋ฆ„ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญํ•œ ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋‹ค๋ฉด, ์š”์ฒญํ•œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์˜ IP ์ฃผ์†Œ๋ฅผ ์ดˆ๊ธฐ ์š”์ฒญ์„ ํ•œ DNS ๋ฆฌ์ปค์„œ์—๊ฒŒ ๋Œ๋ ค ๋ณด๋‚ธ๋‹ค.

 

4. Resolver , Recursive ,Recurser

์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ธ๋‹ค.

 

๋„ค์ž„ ์„œ๋ฒ„

๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์‹ค์ œ ์ปดํ“จํ„ฐ๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ ์“ฐ๋Š” IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ ์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

๋„ค์ž„ ์„œ๋ฒ„๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค์˜ ํŠธ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

๋ฆฌ์กธ๋ฒ„ 

DNS ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋„ค์ž„ ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๊ณ  ๋„ค์ž„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ๋ฐ›์•„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.

๋จผ์ € ํ•˜๋‚˜์˜ ๋„ค์ž„ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๊ณ  ํ•ด๋‹น ๋„ค์ž„ ์„œ๋ฒ„์— ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ๋‹ค๋ฅธ ๋„ค์ž„ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.

๋ฆฌ์กธ๋ฒ„์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํด๋ผ์ด์–ธํŠธ์— ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ๋กœ DNS ์„œ๋ฒ„์—์„œ ๊ตฌํ˜„ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹จ์ˆœํ•œ ๋ฆฌ์กธ๋ฒ„ ๊ธฐ๋Šฅ(๋ฆฌ์กธ๋ฒ„ ๋ฃจํ‹ด)๋งŒ ๊ตฌํ˜„ํ•˜๊ฒŒ๋” ํ•œ๋‹ค.

 

4. ์ฟผ๋ฆฌ

์žฌ๊ท€์  ์ฟผ๋ฆฌ(์งˆ์˜)

์ผ๋ฐ˜์ ์ธ ๋„ค์ž„ ์„œ๋ฒ„ ๋ฐฉ์‹์ด๋ฉฐ, ํด๋ผ์ด์–ธํŠธ(๋ฆฌ์ปค์„œ, ๋ฆฌ์กธ๋ฒ„)์—๊ฒŒ ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

์ถœ์ฒ˜ : https://blog.naver.com/nj0803/10175980049

๋ฐ˜๋ณต์  ์ฟผ๋ฆฌ(์งˆ์˜)

์ž์‹ ์ด ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ์งˆ์˜ ์š”์ฒญ์ด ์˜ฌ ๊ฒฝ์šฐ ์งˆ์˜ ์‘๋‹ต์ด ๊ฐ€๋Šฅํ•œ NS ๋ชฉ๋ก์„ ์‘๋‹ตํ•œ๋‹ค.

Root ๋„ค์ž„ ์„œ๋ฒ„๋Š” ๋ฌด์กฐ๊ฑด ๋ฐ˜๋ณต์  ๋ฐฉ์‹์ด๊ณ  TLD๋Š” ์ผ๋ถ€๋งŒ ๋ฐ˜๋ณต์  ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ถœ์ฒ˜ : https://blog.naver.com/nj0803/10175980049

5. DNS ๋™์ž‘ ๋ฐฉ์‹

์ถœ์ฒ˜ : https://aws.amazon.com/ko/route53/what-is-dns/

 

1. ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

2. ๋ธŒ๋ผ์šฐ์ €๋Š” DNS ์„œ๋ฒ„์— ์š”์ฒญํ•˜๊ธฐ ์ „์— ์บ์‹œ๋ฅผ ํ™•์ธํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ฐพ๋Š”๋‹ค.

3. ๋งŒ์•ฝ ์ •๋ณด๋ฅผ ์ฐพ๊ธฐ ๋ชปํ•˜์˜€๋‹ค๋ฉด root ์„œ๋ฒ„์— ๋ฐ˜๋ณต์  ์งˆ์˜๋ฅผ ๋ณด๋‚ธ๋‹ค.

๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ(TLD) DNS ์„œ๋ฒ„(์˜ˆ: .com ๋˜๋Š” .net)์˜ ์ฃผ์†Œ๋กœ ํ™•์ธ์ž์— ์‘๋‹ตํ•œ๋‹ค.

ex) example.com์„ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ์˜ ์š”์ฒญ์€ .com TLD ์„œ๋ฒ„๋ฅผ ์‘๋‹ต ๋ฐ›์Œ

4. SLD ๋„ค์ž„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ตœ์ข…์ ์œผ๋กœ IP ์ฃผ์†Œ๋ฅผ ์‘๋‹ต๋ฐ›๋Š”๋‹ค.

5. ๋ธŒ๋ผ์šฐ์ €๋Š” ์‘๋‹ต ๋ฐ›์€ IP ์ •๋ณด๋กœ ์š”์ฒญ์„ ์ „์†กํ•˜๊ณ  ์›น ํŽ˜์ด์ง€๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋‹ค.

6. ํ•ด๋‹น ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•˜๋Š” ์ •๋ณด๋Š” ์ผ์ • ์‹œ๊ฐ„ ์บ์‹ฑ๋œ๋‹ค.

HTTP ๋ž€

HTTP๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•œ ๊ธฐ์ดˆ์ ์ธ ํ†ต์‹  ๊ทœ์น™ ์„ธํŠธ ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. 

์‚ฌ์šฉ์ž๊ฐ€ ์›น ์„œ๋น„์Šค์— ์ ‘์†ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” 80๋ฒˆ ํฌํŠธ๋ฅผ ํ†ตํ•ด ์›น ์„œ๋ฒ„์— HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›๋Š”๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

200 - OK(์ •์ƒ)
400 - Bad request(์ž˜๋ชป๋œ ์š”์ฒญ)
404 - Resource not found(๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ)

 

 

HTTP๋Š” TCP/IP ์œ„์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฌด์ƒํƒœ(stateless) ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://mangkyu.tistory.com/98

 

ํ•˜์ง€๋งŒ HTTP๋Š” ํ‰๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ์— ์ œ 3์ž๊ฐ€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ณด์•ˆ ์ด์Šˆ๊ฐ€ ์žˆ๋‹ค.

 

 

HTTP REQUEST ๋ฐฉ์‹ ์ข…๋ฅ˜

๋ฐฉ์‹ ๋ชฉ์ 
GET ๋ฆฌ์†Œ์Šค ์กฐํšŒ
POST ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
PUT ๋ฆฌ์†Œ์Šค ๋Œ€์ฒด(๋ฎ์–ด ์“ฐ๊ธฐ) , ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†์œผ๋ฉด ์ƒ์„ฑ
PATCH ๋ฆฌ์†Œ์Šค ๋ถ€๋ถ„ ๋ณ€๊ฒฝ
DELETE ๋ฆฌ์†Œ์Šค ์‚ญ์ œ

 

HTTP ๋ฒ„์ „ ๋ณ„ ์ฐจ์ด

HTTP/1.0

๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฐ๊ฒฐ์˜ ์ˆ˜๋ช…์ด ์งง์œผ๋ฉฐ HTTP ์š”์ฒญ๋‹น TCP hand-shake๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๊ฐ๊ฐ ์—ฐ๊ฒฐ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

์ด๋กœ ์ธํ•ด ์„œ๋ฒ„์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  *RTT๊ฐ€ ๋Š˜์–ด๋‚˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

RTT(Round Trip Time) : ์–ด๋–ค ๋ฉ”์„ธ์ง€๊ฐ€ ๋‘ ์žฅ์น˜ ์‚ฌ์ด๋ฅผ ์™•๋ณตํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„

 

HTTP/1.1

1.0 ๋ฒ„์ „์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ํฌ๊ฒŒ 3๊ฐ€์ง€์˜ ๊ฐœ์„ ์ ์ด ์žˆ๋‹ค.

 

1. keep alive default

์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค TCP ์—ฐ๊ฒฐ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ keep alive ์˜ต์…˜์„ ๊ธฐ๋ณธ ์˜ต์…˜์„ ํ•จ์œผ๋กœ์จ ๊ณ„์†ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

2. ํ˜ธ์ŠคํŠธ ํ—ค๋”

1.1 ๋ฒ„์ „๋ถ€ํ„ฐ ์„œ๋ฒ„๋Š” ์—ฌ๋Ÿฌ ๋Œ€์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•ญ์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ ํ—ค๋”์— ํฌํ•จ์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ด์•ผํ•œ๋‹ค.

 

3. Persistent Connection (๋Œ€์—ญํญ ์ตœ์ ํ™”)

์ง€์ •ํ•œ time out ์‹œ๊ฐ„ ๋‚ด์— ๊ธฐ์กด connection์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

๊ธฐ์กด์—๋Š” ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋‹ค๊ฐ€ ๋Š๊ธฐ๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ›์•„์•ผํ–ˆ์ง€๋งŒ, 1.1 ๋ฒ„์ „๋ถ€ํ„ฐ ์ด์–ด์„œ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

์ด์™ธ์—๋„ ์š”์ฒญ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ๋“ค์„ ๋„์ž…ํ–ˆ๋‹ค.

 

1. ์ด๋ฏธ์ง€ ์Šคํ”„๋ผ์ดํŠธ

ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋งŒ ๋‹ค์šด๋ฐ›๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์€ ๋“ฏํ•œ ํšจ๊ณผ๋ฅผ ๋‚ธ๋‹ค.

 

2. ์ฝ”๋“œ ์••์ถ•

 

3. Base64 ์ธ์ฝ”๋”ฉ

์ด๋ฏธ์ง€ ํŒŒ์ผ์„ 64์ง„๋ฒ•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด๋กœ ์ธ์ฝ”๋”ฉํ•ด์„œ ์ด๋ฏธ์ง€ ์„œ๋ฒ„์— ๋Œ€ํ•œ HTTP ์š”์ฒญ์„ ์ค„์ธ๋‹ค.

ํ•˜์ง€๋งŒ ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ๋” ์ปค์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

 

HTTP/1.1์˜ ๋ฌธ์ œ์  : HOL

๊ทธ๋Ÿฌ๋‚˜ HTTP/1.1 ์€ HOL(Head Of Line Blocking)์ด๋ผ๋Š” ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

HTTP/1.1๋ถ€ํ„ฐ๋Š” ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์‘๋‹ต์„ ๋ฐ›๋Š” ํŒŒ์ดํ”„๋ผ์ด๋‹์ด ๊ฐ€๋Šฅํ•ด์กŒ๋Š”๋ฐ ์ด๋กœ ์ธํ•ด ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ์ธํ•ด 1๋ฒˆ ์š”์ฒญ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๊ทธ ๋’ค์— ์š”์ฒญ์ด ์ค„์ค„์ด ์ง€์—ฐ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

RFC ๋ฌธ์„œ ์›์น™์— ๋”ฐ๋ผ ์š”์ฒญ์ด ์˜จ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค.

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : https://withbundo.blogspot.com/2021/02/httphol-head-of-line-blocking.html

 

 

 

HTTP/2.0

 

๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท ๊ณ„์ธต

๋” ์ž‘์€ ํ”„๋ ˆ์ž„์œผ๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ†ต์‹  ๊ณ„์ธต ์‚ฌ์ด์— ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท ๊ณ„์ธต์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. 

 

 

๋ฉ€ํ‹ฐ ํ”Œ๋ ‰์‹ฑ

๋‹จ์ผ TCP ์—ฐ๊ฒฐ์—์„œ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ์กด์—๋Š” ๋‹ค์ค‘ TCP ์—ฐ๊ฒฐ์„ ํ†ตํ•ด์„œ๋งŒ ๋ณ‘๋ ฌ ์š”์ฒญ์ด ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ HTTP/2.0 ๋ถ€ํ„ฐ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ž‘์€ ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์ŠคํŠธ๋ฆผ์œผ๋กœ ํ”„๋ ˆ์ž„์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด HTTP/1.1์˜ ๋ฌธ์ œ์ธ HOL์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋˜ํ•œ ๊ฐ๊ฐ์˜ ํ”„๋ ˆ์ž„์€ ์ŠคํŠธ๋ฆผ id๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‘๋‹ต ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๋ฆฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์„œ๋ฒ„ ํ‘ธ์‹œ

ํด๋ผ์ด์–ธํŠธ์˜ ๋ณ„๋„ ์š”์ฒญ์ด ์—†๋”๋ผ๋„ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์‘๋‹ต์— ๊ฐ™์ด ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

ํ—ค๋” ์••์ถ•

๋ฌด๊ฑฐ์šด ํ—ค๋”๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ค‘๋ณต๋œ ํ—ค๋”๋Š” ํ•œ๋ฒˆ๋งŒ ๋ณด๋‚ด๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š์€ ๊ฐ’์€ *ํ—ˆํ”„๋งŒ ์ธ์ฝ”๋”ฉ์„ ํ†ตํ•ด ์••์ถ•์‹œํ‚จ๋‹ค.

 

ํ—ˆํ”„๋งŒ ์ธ์ฝ”๋”ฉ: ๋ฌธ์ž์—ด์„ ๋ฌธ์ž ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ๋นˆ๋„๊ฐ€ ๋†’์€ ์ •๋ณด๋Š” ์ ์€ ๋น„ํŠธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋นˆ๋„๊ฐ€ ๋‚ฎ์€ ์ •๋ณด๋Š” ๋น„ํŠธ์ˆ˜๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

์šฐ์„  ์ˆœ์œ„

์„œ๋ฒ„์—์„œ ์›ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•ด์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

HTTP/3.0

TCP ์—ฐ๊ฒฐ๋กœ ์ธํ•œ ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐ RTT ์‹œ๊ฐ„ ์ฆ๊ฐ€์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•œ ๋ฒ„์ „์ด๋‹ค.

์ด ๋ฒ„์ „๋ถ€ํ„ฐ UDP ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์˜ QUIC(Quick UDP Internet Connections)๋กœ ๋™์ž‘ํ•˜๋ฉฐ ์ด์ „ ๋ฒ„์ „๋“ค์˜ ์žฅ์ , ํŠน์ง•๋“ค์€ ๋Œ€๋ถ€๋ถ„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

๋˜ํ•œ QUIC๋Š” TLS๋กœ ์•”ํ˜ธํ™” ํ†ต์‹ ์„ ๊ตฌ์ถ•ํ•  ๋•Œ hand shake๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ๊นŒ์ง€ ์ง„ํ–‰ํ•จ์œผ๋กœ์จ 1-RTT๋งŒ์— ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ์กด UDP๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ๋ชปํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด์—ˆ์ง€๋งŒ, QUIC๋Š” ์—๋Ÿฌ๋ฅผ ๊ฒ€์ถœํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆœ๋ฐฉํ–ฅ ์˜ค๋ฅ˜ ์ œ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

HTTPS์™€์˜ ์ฐจ์ด์ 

HTTP์˜ ๋ณด์•ˆ์ ์ธ ํ•œ๊ณ„๋ฅผ SSL/TLS๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ•ด๊ฒฐํ•œ ๊ฒƒ์ด HTTPS์ด๋‹ค.

SSL์€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์— ์•”ํ˜ธํ™” ๋œ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๋“ค์ด ๋„๋‚œ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

 

SSL ์ธ์ฆ์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์•”ํ˜ธํ™”ํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํƒˆ์ทจ๋œ๋‹ค ํ•˜๋”๋ผ๋„ ์•”ํ˜ธํ™” ๋œ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ œ 3์ž๋Š” ์•Œ ์ˆ˜ ์—†๋‹ค.

๋˜ํ•œ SSL ์™ธ์—๋„ TLS ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด์„œ๋„ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•œ๋‹ค.

 

HTTPS๋Š” ๋ณด์•ˆ ์ƒ์˜ ์ด์ ๋„ ์žˆ์ง€๋งŒ ๊ตฌ๊ธ€์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ์‹ ๋ขฐํ•˜๋Š” ์‚ฌ์ดํŠธ๋ผ๋Š” ๋ฐ˜์ฆ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”(SEO)์ธก๋ฉด์—์„œ๋„ ๋งŽ์€ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

 

HTTPS์˜ ๋™์ž‘ ๋ฐฉ์‹

HTTPS์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ์•”ํ˜ธํ™”๋ฅผ ํ•œ๋‹ค๋Š” ์ ์ธ๋ฐ ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.

์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•ด ์˜๋„๋œ ์†ก์ˆ˜์‹ ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.

 

๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ํ‚ค๋ฅผ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ด์„œ ์•”ํ˜ธํ™”ํ•œ๋‹ค.

ํ‚ค๊ฐ€ ๋…ธ์ถœ๋  ์œ„ํ—˜์ด ์žˆ์ง€๋งŒ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

ex)

Plaintext + key = ciphertext: hello + 2jd8932kd8 = X5xJCSycg14=

Ciphertext + key = plaintext: X5xJCSycg14= + 2jd8932kd8 = hello

-> ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๊ณผ์ •์—์„œ key๋ฅผ ํƒˆ์ทจ๋‹นํ•˜๋ฉด ์ œ 3์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”

๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ฑฐ๋‚˜ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ๊ณต๊ฐœํ‚ค๋Š” ๋ˆ„๊ตฌ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์•”ํ˜ธํ™”๋ฅผ ๊ฐœ์ธํ‚ค๋กœ ํ• ๊ฒƒ์ธ์ง€ ๊ณต๊ฐœํ‚ค๋กœ ํ•  ๊ฒƒ์ธ์ง€์— ๋”ฐ๋ผ ์–ป๋Š” ํšจ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.

 

๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”: ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋Š” ์ž์‹ ๋งŒ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ณผ์ •์—์„œ ํ‚ค๊ฐ€ ํƒˆ์ทจ๋  ์œ„ํ—˜์ด ์žˆ์—ˆ์ง€๋งŒ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ๊ณต๊ฐœํ‚ค๊ฐ€ ํƒˆ์ทจ๋˜๋„ ์ƒ๊ด€์ด ์—†๋‹ค.

์ˆ˜์‹ ์ธก์—์„œ๋Š” ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™” ํ•œ ๋‹ค์Œ์— ๋‹ค์‹œ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ œ3์ž๋Š” ๊ฐœ์ธํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํƒˆ์ทจํ•˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค.

 

๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™”: ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ๋œ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜๋ฏ€๋กœ ์ธ์ฆ๋œ ์ •๋ณด์ž„์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋‹ค.

A๋Š” ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด B์—์„œ๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ์ผ์น˜ํ•˜๋ฉด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด์ž„์„ ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”๋ฅผ ํ•˜์˜€์„ ๋•Œ ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ๋‹ค๋ฅด๋‹ค๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋Š” A๊ฐ€ ์•„๋‹Œ ์ œ3์ž๊ฐ€ ์•”ํ˜ธํ™”ํ•œ ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋‹ค.

 

TLS Hand Shaking

SSL์€ SSL 1.0 ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋ช…์นญ์ด ๋ฐ”๋€Œ์–ด TLS 1.3 ๋ฒ„์ „์— ์ด๋ฅด๋ €๋‹ค.

TLS๋Š” ์ „์†ก ๊ณ„์ธต์—์„œ ์ œ 3์ž๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ ๋„์ฒญํ•˜๊ฑฐ๋‚˜ ๋ณ€์กฐํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

 

์ด ๊ณผ์ •์—์„œ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์—ฌ์„œ ๋น ๋ฅธ ์—ฐ์‚ฐ ์†๋„์™€ ์•ˆ์ •์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค.

๋จผ์ € ์ฒ˜์Œ ์—ฐ๊ฒฐ์ด ์ง„ํ–‰๋ ๋•Œ๋Š” ์•ˆ์ „ํ•œ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์†๋„๊ฐ€ ๋‹ค์†Œ ๋Š๋ฆฐ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ดํ›„์—๋Š” ๋น ๋ฅธ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ ๋Œ€์นญํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

Client : Client Hello

ํŒจํ‚ท์— TLS Version, Client๊ฐ€ ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹(์‚ฌ์ดํผ์ŠˆํŠธ), Client Random Data(ํด๋ผ์ด์–ธํŠธ์—์„œ ์ƒ์„ฑํ•œ ๋‚œ์ˆ˜๋กœ ๋Œ€์นญํ‚ค๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ), ์ž„์‹œ *DH๋ณ€์ˆ˜, SNI(์„œ๋ฒ„๋ช…) ๋ฅผ ๋‹ด์•„์„œ ๋ณด๋‚ธ๋‹ค.

 

DH ๋งค๊ฐœ๋ณ€์ˆ˜ : DH๋Š” Die-Hellman์„ ์˜๋ฏธํ•˜๋ฉฐ Die-Hellman ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์„œ๋กœ ๊ณต๊ฐœ๊ฐ’ ๊ณต์œ ,๋น„๋ฐ€๊ฐ’๊ณผ ํ˜ผํ•ฉ, ํ˜ผํ•ฉ๊ฐ’๊ณผ ๊ณต์œ , ๊ฐ์ž์˜ ๋น„๋ฐ€๊ฐ’๊ณผ ํ˜ผํ•ฉํ•ด์„œ ๊ณตํ†ต์˜ ์•”ํ˜ธํ‚ค๋ฅผ ๋งŒ๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ชจ๋“  TLS ํ†ต์‹ ์ด DH ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์Œ

 

Server Hello, EncryptedExtensions, Certificate, CertificateVerify

์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์˜ต์…˜์„ ํ™•์ธํ•˜๊ณ  ๊ณต๊ฐœํ‚ค๊ฐ€ ํฌํ•จ๋œ ์ธ์ฆ์„œ์™€, ์„œ๋ฒ„๋žœ๋ค๊ฐ’, DH ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๋ณด๋‚ธ๋‹ค.

 

Client : Client Key Exchange

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ DH๋งค๊ฐœ๋ณ€์ˆ˜(ํ˜น์€ ๊ณต๊ฐœํ‚ค)๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ธ์…˜ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์„ธ์…˜ํ‚ค๋ฅผ ๋‹ค์‹œ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ ์„œ๋ฒ„์— ๋ณด๋‚ด๋ฉด, ์„œ๋ฒ„๋Š” ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Server & Client : Finished

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ์„ธ์…˜ํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ๋Œ€์นญ ์•”ํ˜ธํ™”๋œ ํ†ต์‹ ์ด ์‹œ์ž‘๋œ๋‹ค.

 

๋งŒ์•ฝ ์„ธ์…˜ํ‚ค๊ฐ€ ์ƒ์„ฑ๋œ ์ดํ›„ ๋‹ค์‹œ ๊ทธ ์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•œ๋‹ค๋ฉด, ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋†“์€ ์„ธ์…˜ํ‚ค๋กœ ํ†ต์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ฆ์— ๋“œ๋Š” ๋น„์šฉ์€ ์—†๋‹ค.

 

 

 

 

TCP - ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ 

 

TCP ํ”„๋กœํ† ์ฝœ์€ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ณ  ์—ฐ๊ฒฐ์ง€ํ–ฅ์ ์ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ์œผ๋ฉฐ ๊ฐ€์ƒ ํšŒ์„  ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

IP์˜ ๋‹จ์ ์ด์—ˆ๋˜ ํŒจํ‚ท ์†์‹ค์ด๋‚˜ ์ˆœ์„œ ๋ฏธ๋ณด์žฅ ๊ฐ™์€ ๋ฌธ์ œ๋“ค์„ ํŒจํ‚ท์„ ์ œ์–ดํ•˜์—ฌ ํ•ด๊ฒฐํ•ด ์ค€๋‹ค.

 

๊ฐ€์ƒ ํšŒ์„  ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹

๊ฐ€์ƒํšŒ์„  ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์€ ๊ฐ ํŒจํ‚ท์— ๊ฐ€์ƒํšŒ์„  ์‹๋ณ„์ž๊ฐ€ ํฌํ•จ๋˜๊ณ  ํŒจํ‚ท๋“ค์ด ์ˆœ์„œ๋Œ€๋กœ ๋„์ฐฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋ชจ๋“  ํŒจํ‚ท์„ ์ „์†กํ•˜๋ฉด ๊ฐ€์ƒ ํšŒ์„ ์ด ํ•ด์ œ๋œ๋‹ค.

 

TCP ํ”„๋กœํ† ์ฝœ์€ ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•  ๋•Œ 3 way ํ•ธ๋“œ์…ฐ์ดํฌ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•  ๋•Œ 4way ํ•ธ๋“œ ์…ฐ์ดํฌ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

3way ํ•ธ๋“œ์…ฐ์ดํฌ

- SYN : ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ *ISN๊ณผ SYN์„ ๋ณด๋‚ธ๋‹ค. 

*ISN : TCP ์—ฐ๊ฒฐ์˜ ์ฒซ ๋ฒˆ์งธ ํŒจํ‚ท์— ํ• ๋‹น๋œ ์ž„์˜์˜ ์‹œํ€€์Šค ๋ฒˆํ˜ธ์ด๋‹ค. ์ง€์—ฐ ์ „์†ก๋œ ํŒจํ‚ท์˜ ํฌํŠธ ๋ฒˆํ˜ธ๋กœ ์ธ์‹ํ•˜๋Š” ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ž„์˜์˜ ๋‚œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋˜ํ•œ ์ž„์˜์˜ ๋‚œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์˜ˆ์ธก์ด ํž˜๋“ค๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด์•ˆ์„ ๊ฐ•ํ™”์‹œํ‚จ๋‹ค.

 

 

- SYN + ACK : ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ SYN์„ ๋ฐ›๊ณ  ์‘๋‹ต๊ฐ’์œผ๋กœ ์„œ๋ฒ„์˜ ISN๊ณผ ์Šน์ธ๋ฒˆํ˜ธ๋กœ ISN + 1์„ ๋ณด๋‚ธ๋‹ค.

 

- ACK : ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์Šน์ธ ๋ฒˆํ˜ธ๋ฅผ ๋‹ด์•„์„œ ACK๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

์ด ๊ณผ์ •์ด ๊ตฌ์ถ•๋˜๊ณ  ๋‚œ ๋’ค์— ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, TCP๋Š” ์‹ ๋ขฐ์„ฑ์ด ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ชจ๋“  ํ†ต์‹ ์—์„œ ์ด ๊ณผ์ •์„ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๊ฐ™์€ ์†๋„๊ฐ€ ์ค‘์š”์‹œ ๋˜๋Š” ํ†ต์‹ ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

 

4way ํ•ธ๋“œ์…ฐ์ดํฌ

- FIN_WAIT_1 : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ๋‹ซ์œผ๋ ค๊ณ  ํ•  ๋•Œ FIN์œผ๋กœ ์„ค์ •๋œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด์„œ FIN_WAIT_1์˜ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

 

- CLOSE_WAIT : ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ ACK๋ผ๋Š” ์Šน์ธ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” CLOSE , ํด๋ผ์ด์–ธํŠธ๋Š” FIN_WAIT2 ์ƒํƒœ์— ๋“ค์–ด๊ฐ„๋‹ค.

 

- LAST_ACK : ์„œ๋ฒ„๋Š” ACK๋ฅผ ๋ณด๋‚ด๊ณ  ์ผ์ • ์‹œ๊ฐ„ ์ดํ›„์— FIN์ด๋ผ๋Š” ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

- *TIME_WAIT : ์ผ์ • ์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ฆฐ ๋’ค์— ์„œ๋ฒ„๋กœ ACK๋ฅผ ๋ณด๋‚ด์„œ ์„œ๋ฒ„๋Š” CLOSED ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ์ดํ›„ ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ์ด ๋‹ซํžˆ๋ฉด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ๋ชจ๋“  ์ž์›์˜ ์—ฐ๊ฒฐ์ด ํ•ด์ œ๋œ๋‹ค.

 

TIME_WAIT : ์†Œ์ผ“์ด ๋ฐ”๋กœ ์†Œ๋ฉธ๋˜์ง€ ์•Š๊ณ  ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์ง€๋˜๋Š” ์ƒํƒœ์ด๋ฉฐ, ์ง€์—ฐ ํŒจํ‚ท์ด๋‚˜ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค.

 

2way ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์—†๋Š” ์ด์œ  : ์ „์†ก ์ธก ์ž…์žฅ์—์„œ ์ž๊ธฐ์˜ ์‹ ํ˜ธ๊ฐ€ ์ œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์—ˆ๋Š” ์ง€ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋Š” TCP์˜ ๊ทผ๋ณธ์ธ ์–‘๋ฑกํ–ฅ ์—ฐ๊ฒฐ์ด ๊นจ์ ธ๋ฒ„๋ฆฌ๊ฒŒ ๋˜๊ณ  ๊ณง ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๊ฒŒ๋œ๋‹ค.

 

TCP ์ „์†ก ์ œ์–ด

 

ํ๋ฆ„์ œ์–ด

์†ก์‹  ์ธก์€ ์ˆ˜์‹  ์ธก์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋Š ์ •๋„๋กœ ๋ณด๋‚ด์ค˜์•ผ ํ• ์ง€๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

ex) ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ์„œ ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋Ÿ‰์„ ์กฐ์ ˆ

 

์˜ค๋ฅ˜์ œ์–ด

ํ†ต์‹  ๋„์ค‘์— ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜์—ˆ์„ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

ex) go back n - ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋œ ์‹œ์ ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค. 

selective repeat - ์œ ์‹ค๋œ ๋ฐ์ดํ„ฐ๋งŒ ์„ ํƒ์ ์œผ๋กœ ๋ณด๋‚ธ๋‹ค. 

 

ํ˜ผ์žก์ œ์–ด

๋„คํŠธ์›Œํฌ ํ˜ผ์žก์„ ๊ฐ์ง€ํ•˜์—ฌ์„œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์†ก์‹  ์ธก์˜ ๋ฐ์ดํ„ฐ ์ „์†ก๋Ÿ‰์„ ์กฐ์ ˆํ•œ๋‹ค.

ex)

AIMD

- ์†ก์‹  ์ธก์ด transmission rate(window size)๋ฅผ ํŒจํ‚ท ์†์‹ค์ด ์ผ์–ด๋‚  ๋•Œ๊นŒ์ง€ ์ฆ๊ฐ€

Slow Start

- Slow Start๋Š” ์†ก์‹  ์ธก์ด window size๋ฅผ 1๋ถ€ํ„ฐ ํŒจํ‚ท ์†์‹ค์ด ์ผ์–ด๋‚  ๋•Œ๊นŒ์ง€ ์ง€์ˆ˜์Šน(exponentially)์œผ๋กœ ์ฆ๊ฐ€

 

TCP ํ—ค๋”

 

TCP ํ”„๋กœํ† ์ฝœ์€ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋‚˜ ACK ๋ฒˆํ˜ธ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ •๋ณด๋“ค์„ ํ—ค๋”์— ๋‹ด๊ณ  ์žˆ๋‹ค.

 

TCP์˜ ํŠน์ง• ์ •๋ฆฌ

1. ์—ฐ๊ฒฐ ์ง€ํ–ฅ(๊ฐ€์ƒํšŒ์„  ํŒจํ‚ท ๊ตํ™˜) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

2. 3way , 4way ํ•ธ๋“œ ์…ฐ์ดํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝํ•˜๊ณ  ํ•ด์ œํ•œ๋‹ค.

3. ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์ „์†ก ์ œ์–ด ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

4. ํŒจํ‚ท์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ›์•„์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€์ ์œผ๋กœ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.

 

UDP - ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํ”„๋กœํ† ์ฝœ

 

๋ฐ์ดํ„ฐ๊ทธ๋žจ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP์˜ ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ์ธ ์†๋„๋กœ ์ธํ•ด์„œ ๋น ๋ฅธ ์ฒ˜๋ฆฌ๊ฐ€ ์š”๊ตฌ๋˜๋Š” ํ˜„๋Œ€์— ํ•„์š”์„ฑ์ด ๋Œ€๋‘๋˜์—ˆ์œผ๋ฉฐ HTTP/3.0์—์„œ ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒ๋˜์—ˆ๋‹ค. 

ํ•˜์ง€๋งŒ ๋น ๋ฅธ ์†๋„ ๋Œ€์‹  ์ „์†ก ์ œ์–ด๋‚˜ ํ•ธ๋“œ ์…ฐ์ดํฌ(๋น„์—ฐ๊ฒฐ์„ฑ) ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์€ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

๋ฐ์ดํ„ฐ๊ทธ๋žจ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹

๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ์„œ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ๋ชฉ์ ์ง€๋กœ ๋ผ์šฐํŒ… ํ•˜๋Š” ์—ญํ• ๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ด ๊ณผ์ •์—์„œ ํ•ธ๋“œ ์…ฐ์ดํฌ๋‚˜ ์ „์†ก ์ œ์–ด๊ฐ™์€ ๊ธฐ๋Šฅ๋„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๋Š” ๋” ๋นจ๋ผ์ง„ ๋Œ€์‹  ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์€ ๋–จ์–ด์ง„๋‹ค.

 

UDP ํ—ค๋”

 

UDP ํ”„๋กœํ† ์ฝœ์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‹จ์ˆœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ—ค๋”์—์„œ๋„ ๋งŽ์€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์ง„์•Š๋‹ค.

checksum ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์ตœ์†Œํ•œ์˜ ์˜ค๋ฅ˜ ๊ฒ€์ถœ์€ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

UDP์˜ ํŠน์ง• ์ •๋ฆฌ

1. ๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ๊ทธ๋žจ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

2. ์—ฐ๊ฒฐ ๊ณผ์ •์—์„œ ๋ณ„๋„์˜ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๋Š”๋‹ค. -> ์ˆ˜์‹  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค.

3. ์‹ ๋ขฐ์„ฑ์ด ๋‚ฎ์€ ๋Œ€์‹  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

4. ์†๋„๊ฐ€ ์ค‘์š”์‹œ๋˜๋Š” ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค์— ์ ํ•ฉํ•˜๋‹ค.

 

๋„คํŠธ์›Œํฌ๋ž€

ํ†ต์‹  ๋ถ„์•ผ์—์„œ ๋‹จ๋ง๊ธฐ ๋“ฑ์„ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋‹จ๋ง๊ธฐ๊ธฐ, ์„ ๋กœ ๋ฐ ๊ต ํ™˜๊ธฐ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์ „์†ก๋งค์ฒด์ด๋‹ค.

 

ํ”„๋กœํ† ์ฝœ

ํ†ต์ผ์„ ์œ„ํ•œ ์ƒํ˜ธ ๊ฐ„์˜ ๊ทœ์•ฝ(์•ฝ์†)์ด๋‹ค.

 

ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌ์„ฑ ์š”์†Œ

1. ๊ตฌ๋ฌธ(syntax)

- ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ• ์ง€ , ์ฝ”๋”ฉ ๋ฐฉ๋ฒ• , ์‹ ํ˜ธ ๋ ˆ๋ฒจ ๋“ฑ์— ๋Œ€ํ•œ ์ •๋ณด

- ๋ฐ์ดํ„ฐ ํฌ๋งท(ํ˜•์‹), ๋ถ€ํ˜ธํ™”, ์‹ ํ˜ธ ๋ ˆ๋ฒจ ๋“ฑ

 

2. ์˜๋ฏธ(semantic)

- ๋ฐ์ดํ„ฐ๋‚˜ ์˜ˆ์™ธ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์ •๋ณด

- ํŠน์ • ํŒจํ„ด์„ ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•˜๊ณ , ์–ด๋–ค ๋™์ž‘์„ ํ•  ๊ฒƒ์ธ๊ฐ€ ๊ฒฐ์ •

 

3. ํƒ€์ด๋ฐ(timing) 

- ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์งˆ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์†๋„์— ๋Œ€ํ•œ ์กฐ์ ˆ๊ณผ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋™์‹œ์— ํ†ต์‹ ์„ ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์ˆœ์„œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฒ•

- ์†๋„ ์ผ์น˜ ๋ฐ ์ˆœ์„œ ์ œ์–ด

 

ํ”„๋กœํ† ์ฝœ์˜ ์—ญํ• 

1. ์—๋Ÿฌ ์ œ์–ด (Error Control)
     - ์ „์†ก ์ค‘ ์—๋Ÿฌ ๊ฒ€์ถœ ๋ฐ ์—๋Ÿฌ ์ •์ •
2. ์บก์Šํ™” (Encapsulation)
     - ํ†ต์‹ ๊ณ„์ธต ์ƒ์˜ ๊ฐ ๊ณ„์ธต์ด ์ž์‹  ๋งŒ์˜ ํŠน์ •์ œ์–ด์ •๋ณด(์ฃผ๋กœ Header)๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ
3. ์—ฐ๊ฒฐ ์ œ์–ด (Connection Control) ๋˜๋Š” ์„ธ์…˜ ๊ด€๋ฆฌ
     - ์—ฐ๊ฒฐ์ง€ํ–ฅ์  ํ†ต์‹ ์—์„œ ์—ฐ๊ฒฐ์„ค์ •,๋ฐ์ดํ„ฐ์ „๋‹ฌ,์—ฐ๊ฒฐ์ข…๋ฃŒ ์ ˆ์ฐจ์˜ ์ œ์–ด
4. ์ˆœ์„œ ์ œ์–ด (Sequence Control)
     - ์ˆœ์„œ ์—ญ์ „, ์ค‘๋ณต ํŒจํ‚ท ๋ฐœ์ƒ ๋“ฑ์˜ ๋ฐฉ์ง€
5. ํ๋ฆ„ ์ œ์–ด (Flow Control)
     - ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ๋Ÿ‰/์ „์†ก๋ฅ ์˜ ์ œํ•œ
6. ํ˜ผ์žก ์ œ์–ด (Congestion Control)
     - ํฌํ™”/๋Œ€๊ธฐ ํŒจํ‚ท ์ˆ˜์˜ ์ œํ•œ์„ ์œ„ํ•œ ์ œ์–ด ๊ธฐ๋ฒ•
7. ๋™๊ธฐํ™” (Synchronization)
     - ์†ก์ˆ˜์‹  ์–‘์ธก ๊ฐ„์— ์‹œ๊ฐ„ ๊ด€๊ณ„(์ฃผ๋กœ,์œ„์ƒ)์˜ ์ผ์น˜
8.์ฃผ์†Œ ์ง€์ • (Addressing)
     - ํ˜ธ์ŠคํŠธ/๋””๋ฐ”์ด์Šค/ํ”„๋กœ์„ธ์Šค ๋“ฑ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณต
9. ๋‹จํŽธํ™” ๋ฐ ์žฌ์กฐ๋ฆฝ (Segmentation and Reassembly, Fragmentation and Reassembly)
     - ๋ฐ์ดํ„ฐ ํŒจํ‚ท์„ ์ „์†ก์— ์ ๋‹นํ•œ ํฌ๊ธฐ๋กœ ๋ถ„ํ•ด,์กฐ๋ฆฝ
10. ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹ํ™” (Data Formatting) ๋“ฑ

 

ํŒจํ‚ท

ํŒจํ‚ท ์Šค์œ„์นญ ๋ฐฉ์‹์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ ๋ธ”๋ก์ด๋‹ค.

 

ํŒจํ‚ท์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค๋ฉด ํ†ต์‹  ๋Œ€์—ญํญ์„ ๋งŽ์ด ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์ด ์ง€์—ฐ๋˜๋ฉฐ ์ด๋Š” ๊ณง ํ†ต์‹ ์˜ ๋ฌธ์ œ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

ํŒจํ‚ท ๊ตฌ์กฐ

๋„คํŠธ์›Œํฌ ํŒจํ‚ท์€ ํ—ค๋”(Header), ํŽ˜์ด๋กœ๋“œ(Payload), ํŠธ๋ ˆ์ผ๋Ÿฌ(Trailer) ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ

1. ํ—ค๋”

- ํŒจํ‚ท ๊ธธ์ด, ํ”„๋กœํ† ์ฝœ, ๋ณด๋‚ธ/๋ฐ›๋Š” ์‚ฌ๋žŒ์˜ IP ์ฃผ์†Œ ๋“ฑ์ด ํฌํ•จ

- ํŒจํ‚ท์˜ ์ฃผ์†Œ(์†ก์ˆ˜์‹  ์ฃผ์†Œ) ๋“ฑ ์ฃผ์š” ์ œ์–ด ์ •๋ณด๋“ค์ด ํฌํ•จ

2. ํŽ˜์ด๋กœ๋“œ

- ํŒจํ‚ท์˜ ๋ณธ๋ฌธ (๋‚ด์šฉ , ๋ฐ์ดํ„ฐ)

3. ํŠธ๋ ˆ์ผ๋Ÿฌ (footer)

- ํŒจํ‚ท์˜ ๋์— ๋„๋‹ฌํ–ˆ์Œ์„ ์ˆ˜์‹  ์ปดํ“จํ„ฐ์— ์•Œ๋ฆฌ๋Š” ๋น„ํŠธ ํฌํ•จ

- ํŒจํ‚ท ์—๋Ÿฌ ๊ฒ€์ถœ ๋“ฑ์— ์‚ฌ์šฉ 
- ํŒจํ‚ท ๊ผฌ๋ฆฌ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์Œ

 

CBN(Curcuit Based Network) vs PBN(Packet Based Network)

 

CBN

1. ์ „ํ™”๋ง์— ์‚ฌ์šฉ

2. ์—ฐ๊ฒฐ ์ง€ํ–ฅ (connection-oriented)

3. ์ž์› ์ ์œ  -> QoS ๋ณด์žฅ

 

PBN

1. ์ธํ„ฐ๋„ท

2. connection less service

3. ์ž์› ๊ณต์œ  ๋ฐฉ์‹ -> QoS ๋ณด์žฅx , Best effort

 

 

OSI 7 Layer

7๊ณ„์ธต - ์‘์šฉ ๊ณ„์ธต

ํ†ต์‹ ์„ ์œ„ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ - ์นด์นด์˜คํ†ก

GUI๋กœ ๊ตฌ์„ฑ ๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

์ฃผ์š” ํ”„๋กœํ† ์ฝœ - TELNET, FTP, SMTP, HTTP ๋“ฑ

 

6๊ณ„์ธต - ํ‘œํ˜„ ๊ณ„์ธต

๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•  ์ง€์— ๋Œ€ํ•ด ๊ฒฐ์ •

Codec(coding+decoding) ๊ด€๋ จ ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ, ์••์ถ•/ํ•ด์ œ, ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ๋“ฑ์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

ex) avi, mp4, mp3

 

5๊ณ„์ธต - ์„ธ์…˜ ๊ณ„์ธต

์‚ฌ์šฉ์ž์˜ ๊ตฌ๋ถ„. ๋ˆ„๊ตฌ์™€ ํ†ต์‹  ํ•  ๊ฒƒ์ธ๊ฐ€? ์— ๋Œ€ํ•ด ๊ฒฐ์ •

Session ID : ๋ˆ„๊ตฌ์™€ ํ†ต์‹  ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•Œ๋ ค์ฃผ๋Š” ๊ตฌ๋ถ„์ž (ID)

TCP/IP ํ†ต์‹  ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝ/ ์œ ์ง€/์ค‘๋‹จ

 

4๊ณ„์ธต - ์ „์†ก ๊ณ„์ธต

์–ด๋–ค *port๋กœ ์ „์†กํ•  ๊ฒƒ์ธ๊ฐ€? ์— ๋Œ€ํ•ด ๊ฒฐ์ •

port : process๋ฅผ ํŠน์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ

 

ํฌํŠธ์˜ ์ข…๋ฅ˜

0~1023: well-known port. ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๋Š” ํฌํŠธ

– 20 FTP, 23 Telnet, 53 DNS, 80 HTTP, 433 HTTPS

1024~49151: registered port. ์ƒ์—…์ ์ธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ํšŒ์‚ฌ๋“ค์ด ๋“ฑ๋กํ•˜ ์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํฌํŠธ

49152~65535: dynamic port. ์‚ฌ์šฉ์ž(๊ฐœ๋ฐœ์ž) ์ž์œ ๋กญ๊ฒŒ ์ฆ‰ํฅ์ ์œผ๋กœ ํ• ๋‹นํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌํŠธ

 

UDP vs TCP

UDP: TCP ๋Œ€๋น„ ํ”„๋กœํ† ์ฝœ์ด ๊ฐ„๊ฒฐํ•จ. ๊ฐ€๋ณ๊ณ  ๋น ๋ฆ„. QoS ๋ณด์žฅ x

– real-time service: ์‹ค์‹œ๊ฐ„ ๋น„๋””์˜ค

TCP: UDP ๋Œ€๋น„ ํ”„๋กœํ† ์ฝœ์ด ๋ณต์žกํ•จ. ๋ฌด๊ฒ๊ณ  ๋Š๋ฆผ. UDP ๋Œ€๋น„ QoS ์ผ๋ถ€๋ถ„ ๋ณด์žฅ

– retransmission, timeout ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ํ๋ฆ„์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด

– non-real-time service: email ์„œ๋น„์Šค, ๋ฌธ์ž ์„œ๋น„์Šค

 

3๊ณ„์ธต - ๋„คํŠธ์›Œํฌ ๊ณ„์ธต

End to End ํ†ต์‹ ์„ ๋‹ด๋‹น (source-to-destination)

๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด IP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค. (๋ผ์šฐํŒ…)

- DNS๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ IP๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

์ฃผ์š” ํ”„๋กœํ† ์ฝœ - IP, ARP, ICMP, IGMP, RIP, RIP v2, OSPF, IGRP, EIGRP, BGP ๋“ฑ

 

2๊ณ„์ธต - ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต

์Šค์œ„์น˜๋ฅผ ํ†ตํ•ด *MAC ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชฉ์ ์ง€๋ฅผ ์ฐพ์•„๊ฐ„๋‹ค (hop by hop , node to node)

MAC : ๊ณ ์œ ํ•œ ํ•˜๋“œ์›จ์–ด ์ฃผ์†Œ

 

์ฃผ์š” ํ”„๋กœํ† ์ฝœ : HDLC, X.25, Ethernet, TokenRing, DFFI, FrameRelay ๋“ฑ

 

1๊ณ„์ธต - ๋ฌผ๋ฆฌ ๊ณ„์ธต

๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋ฅผ ์•„๋‚ ๋กœ๊ทธ์ ์ธ ์ „๊ธฐ์  ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜

๋ฐ์ดํ„ฐ๋ฅผ ๋น„ํŠธํ˜•ํƒœ๋กœ ํ‘œํ˜„

 

Topology: ๋ง์˜ ๊ตฌ์„ฑ

ex) Star, mesh, bus…

 

TCP/IP Layer

OSI ์ฐธ์กฐ ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์—…์ ์ด๊ณ  ์‹ค๋ฌด์ ์œผ๋กœ ์ด์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ๋‹จ์ˆœํ™”๋œ ํ˜„์‹คํ™”์˜ ๊ณผ์ •์—์„œ ์ฑ„ํƒ๋œ ๋ชจํ˜•์ด๋‹ค. 

์ธํ„ฐ๋„ท์ด ๋ฐœ์ „๋˜๋Š” ๊ณผ์ •์—์„œ ๋Œ€๋ถ€๋ถ„ TCP/IP ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ๋„ ๋Œ€๋ถ€๋ถ„์˜ ํ†ต์‹ ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ ๊ตฌ์กฐ์ด๋‹ค.

 

TCP/IP ๊ณ„์ธต์€ OSI 7 ๊ณ„์ธต ๊ตฌ์กฐ์™€ ๋‹ฌ๋ฆฌ 4๊ฐœ์˜ ๊ณ„์ธต์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

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

 

1. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜(application) ๊ณ„์ธต

FTP , HTTP ๊ฐ™์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ ๊ณ„์ธต์ด๋ฉฐ ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค. 

OSI 7 ๊ณ„์ธต์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ํก์‚ฌ

 

2. ์ „์†ก ๊ณ„์ธต(transport) ๊ณ„์ธต

์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ํ†ต์‹  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 

์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ๋กœ๋Š” TCP์™€ UDP๊ฐ€ ์žˆ์œผ๋ฉฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ์ธํ„ฐ๋„ท ๊ณ„์ธต ์‚ฌ์ด์—์„œ ์ค‘๊ณ„ ์—ญํ• ์„ ํ•œ๋‹ค.

OSI 7 ๊ณ„์ธต์˜ ์ „์†ก ๊ณ„์ธต๊ณผ ํก์‚ฌ

 

3. ์ธํ„ฐ๋„ท ๊ณ„์ธต

๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ IP ์ฃผ์†Œ๋กœ ์ง€์ •๋œ ๋ชฉ์ ์ง€๋กœ ์ „์†กํ•œ๋‹ค. 

*ARP , IP ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์‹  ์ƒํƒœ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ๋น„์—ฐ๊ฒฐํ˜• ํ†ต์‹ ์„ ์ œ๊ณตํ•œ๋‹ค.

OSI 7 ๊ณ„์ธต์˜ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต๊ณผ ํก์‚ฌ

 

ARP : IP์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” MAC ์ฃผ์†Œ๋ฅผ ๋งค์นญ์‹œ์ผœ์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ , ๋ฐ˜๋Œ€์˜ ๊ฐœ๋…์œผ๋กœ RARP๋„ ์žˆ๋‹ค.

 

4. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ณ„์ธต

์ „์„  , ๊ด‘์„ฌ์œ  , ๋ฌด์„  ๋“ฑ์œผ๋กœ ์‹ค์งˆ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. -> ์žฅ์น˜ ๊ฐ„์˜ ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ทœ์น™์„ ์ •ํ•œ๋‹ค.

๋ฌผ๋ฆฌ ๊ณ„์ธต๊ณผ ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ณด๊ธฐ๋„ ํ•œ๋‹ค. 

๋ฌผ๋ฆฌ๊ณ„์ธต์€ ๋ฌด์„  LAN์ด๋‚˜ ์œ ์„  LAN์„ ํ†ตํ•ด 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์€ ์ด๋”๋„ท ํ”„๋ ˆ์ž„์„ ํ†ตํ•ด MAC ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†กํ•œ๋‹ค.

 

๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ๊ณผ์ •

 

๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์ฒญ ๊ฐ’๋“ค์ด ์บก์Šํ™”๋˜์–ด์„œ ์ „๋‹ฌ๋˜๊ณ  ์š”์ฒญ ๋ฐ›๋Š” ์„œ๋ฒ„๊ฐ€ ๋‹ค์‹œ ๋น„์บก์Šํ™” ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋œ๋‹ค.

 

 

Encapsulation๊ณผ Decapsulation

Encapsulation - ์ƒ์œ„ ๊ณ„์ธต์˜ ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜์œ„ ๊ณ„์ธต์˜ ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„์— ํฌํ•จ์‹œํ‚ค๊ณ  ํ•ด๋‹น ๊ณ„์ธต์˜ ํ—ค๋”๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.

Decapsulation - ํ•˜์œ„ ๊ณ„์ธต์—์„œ ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ๊ฐ€๋ฉด์„œ ๊ฐ ๊ณ„์ธต์˜ ํ—ค๋” ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•œ๋‹ค.

 

 

 

OSI 7 Layer ๋˜๋Š” TCP/IP Layer์—์„œ ๊ณ„์ธตํ™”ํ•˜๋Š” ์ด์œ 

๋„คํŠธ์›Œํฌ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ๊ณ„์ธต ๋ณ„๋กœ ๋‚˜๋ˆ„๊ณ  ํ‘œ์ค€ํ™”ํ•จ์œผ๋กœ์จ ํฌํŠธ , ํ”„๋กœํ† ์ฝœ์˜ ํ˜ธํ™˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

(๊ฐ ๊ณ„์ธต๋ผ๋ฆฌ๋งŒ ํ†ต์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ)

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๊ณ„์ธต๋“ค๊ฐ„์˜ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ์ƒ๊ธด ๊ณ„์ธต์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ ์›์ธ์„ ์ถ”์ ํ•ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 

๋˜ํ•œ ๊ฐ ๊ณ„์ธต์˜ ์žฅ๋น„๋‚˜ ๊ธฐ์ˆ ์˜ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ์œ ์—ฐํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

 

IP(Internet Protocol)๋ž€?

์ธํ„ฐ๋„ท์—์„œ ๋„คํŠธ์›Œํฌ์˜ ๋‘ ํ˜ธ์ŠคํŠธ(host) ๊ฐ„์— ํ†ต์‹ ํ•  ๋•Œ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜๊ณ  ์ „์†ก ๊ณ„์ธต์˜(transport layer)์˜ ์ •๋ณด๋ฅผ ํŒจํ‚ท์œผ๋กœ ๋ถ„ํ• /์กฐ๋ฆฝํ•˜๋ฉฐ, ํŒจํ‚ท์„ IP ์ฃผ์†Œ์— ๋”ฐ๋ผ ๋ชฉ์ ์ง€์— ์ „์†กํ•˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค.

 

์†ก์‹ ์ธก์—์„œ๋Š” ํŒจํ‚ท์— ๋ชฉ์ ์ง€ ์ฃผ์†Œ๋ฅผ ํ‘œ๊ธฐํ•˜๊ณ  ๊ฐ๊ฐ์˜ ๋ผ์šฐํ„ฐ๋“ค์€ ํ•ด๋‹น ๋ชฉ์ ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์—ฌ ๋‹ค์Œ ๋ผ์šฐํ„ฐ๋กœ ๋ผ์šฐํŒ…์‹œํ‚จ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ๋Š” ๋ชฉ์ ์ง€๊นŒ์ง€ ํŒจํ‚ท์„ ์ „์†กํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ํŒจํ‚ท์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ผ์šฐํ„ฐ๋ฅผ ๊ฑด๋„ˆ๊ฐ€๋Š” ๊ฒƒ์„ hop-by-hop ํ†ต์‹ ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

IP ์ฃผ์†Œ๋ž€?

IP์ฃผ์†Œ๋ž€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋””๋ฐ”์ด์Šค์˜ ๋„คํŠธ์›Œํฌ์ƒ ์ฃผ์†Œ(์‹๋ณ„์ž)์ด๋‹ค.

 

IPV4 vs IPV6

IPv4 ์ฒด๊ณ„ ์ฃผ์†Œ์˜ ๊ณ ๊ฐˆ๊ณผ ํ™•์žฅ์„ฑ ๋ฉด์—์„œ์˜ ํ•œ๊ณ„๋กœ ์ธํ•ด ๋‚˜์˜จ ์ƒˆ๋กœ์šด ์ฃผ์†Œ ์ฒด๊ณ„์ด๋‹ค. IPv4๋Š” ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ ํ• ๋‹น ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์ด ๋ฐฉ์‹์€ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ๋ณด๋‹ค ๋ฒ„๋ฆฌ๋Š” ์ฃผ์†Œ๊ฐ€ ๋งŽ์€๋‹จ์ ์ด ์žˆ์—ˆ๊ณ  ํ™•์žฅ์„ฑ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ๋” ๋งŽ์€ ์ฃผ์†Œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ์ฐจ์„ธ๋Œ€ ๋ฉ€ํ‹ฐ ๋ฏธ๋””์–ด ํ™˜๊ฒฝ์—๋„ ์šฉ์ดํ•œ IPv6๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค.

 

IPv4๋Š” 32๋น„ํŠธ๋ฅผ 8๋น„ํŠธ ๋‹จ์œ„๋กœ ์ ์„ ์ฐ์–ด์„œ ํ‘œํ˜„ํ•œ๋‹ค. ex) 123.45.67.89

IPv6๋Š” 64๋น„ํŠธ๋ฅผ 16๋น„ํŠธ ๋‹จ์œ„๋กœ ์ ์„ ์ฐ์–ด ํ‘œ๊ธฐํ•œ๋‹ค. ex) 2001:db8:ff00:42:8329

์•„์ง๊นŒ์ง€๋Š” ์—ฌ์ „ํžˆ IPv4๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ์ฃผ์†Œ ์ฒด๊ณ„์ด๋‹ค.

 

IPv64์™€ IPv6์˜ ์ฐจ์ด์  ๋น„๊ต

  IPv4 IPv6
์ฃผ์†Œ ๊ธธ์ด 32๋น„ํŠธ๋ฅผ 8๋น„ํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ” (10์ง„์ˆ˜) 64๋น„ํŠธ๋ฅผ 16๋น„ํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ” (16์ง„์ˆ˜)
์ฃผ์†Œ ๊ฐœ์ˆ˜ ์•ฝ 43์–ต๊ฐœ 2^128๊ฐœ
QoS(Quality Of Service) ๋ฏธ๋ณด์žฅ(Best Effort) ๋ณด์žฅ
๋ณด์•ˆ IPSec ๋ณ„๋„ ์„ค์น˜ ํ•„์š” IPSec ์ž์ฒด ์ง€์›

 

 

IPv4์˜ ์ฃผ์†Œ ๋ถ€์กฑํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•

DHCP

- ์ฃผ์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ• ๋‹นํ•  ํ•„์š” ์—†์ด ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•  ๋•Œ๋งˆ๋‹ค IP์ฃผ์†Œ๋ฅผ ์ž๋™์œผ๋กœ ํ• ๋‹น ๋ฐ›๋Š”๋‹ค. (plug & play)

 

NAT

- ํŒจํ‚ท์ด ๋ผ์šฐํŒ… ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋™์•ˆ ํŒจํ‚ท์˜ IP ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค๋ฅธ ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•œ๋‹ค.

IPv4 ์ฒด๊ณ„๋กœ๋Š” ๋งŽ์€ ์ฃผ์†Œ๋“ค์„ ๊ฐ๋‹นํ•˜์ง€ ๋ชปํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณต์ธ IP์™€ ์‚ฌ์„ค IP๋กœ ๋‚˜๋ˆ„์–ด์„œ ์ฃผ์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

NAT๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ๊ณต์ธ IP๋กœ ์‚ฌ์šฉ์ž๋“ค์€ ๊ฐ๊ฐ์˜ ๋‹ค๋ฅธ IP๋ฅผ ๊ฐ€์ง„๊ฒƒ์ฒ˜๋Ÿผ ์ธํ„ฐ๋„ท์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (๊ณต์œ ๊ธฐ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.)

NAT

 

 

+ Recent posts