Search
๐Ÿฅ…

netwhat / NetPractice

Created
2021/01/19
tag
42์„œ์šธ
42Seoul
netwhat

1. Basic Concept

1) Protocol ์ด๋ž€?

์ •ํ™•ํžˆ 3๊ฐ€์ง€๋ฅผ ๊ธฐ์–ตํ•˜๋ฉด ๋œ๋‹ค.
โ€ข
Format
โ€ข
Order
โ€ข
Action
๋งŽ์€ ๋ธ”๋กœ๊ทธ์—์„œ๋Š” Protocol์ด๋ž€ Sender, Receiver์˜ ์ƒํ˜ธ ๊ฐ„์˜ ๊ทœ์•ฝ (ํ†ต์‹ ์„ ํšจ์œจ์ ์œผ๋กœ ํ˜น์€ ํŠน์ • ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ) ์ด๋ผ๊ณ  ๋ช…์‹œ๋ฅผ ํ•ด๋‘”๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ๊ทœ์•ฝ์ด ๋ฌด์—‡์„ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š”์ง€๊ฐ€ ์ค‘์š”ํ• ํ…๋ฐ, ๊ทธ๊ฒƒ์ด ์œ„์˜ 3๊ฐ€์ง€ ํ‚ค์›Œ๋“œ์ด๋‹ค.
โ€ข
ํ†ต์‹ ์— ์žˆ์–ด์„œ ๋ฉ”์„ธ์ง€์˜ ํ˜•์‹์ด ์–ด๋– ํ•œ์ง€
โ€ข
๋„คํŠธ์›Œํฌ ๊ฐœ์ฒด ๊ฐ„์— ํ•ด๋‹น ๋ฉ”์„ธ์ง€๋ฅผ ์–ด๋–ค ์ˆœ์„œ๋กœ ๋ฐ›์„ ๊ฒƒ์ธ์ง€
โ€ข
์ž์‹ ์ด ํ•ด๋‹น ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ ์ „๋‹ฌํ–ˆ์„ ๋•Œ ์–ด๋–ค ํ–‰๋™์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ธ์ง€
๋ฅผ ๋ช…์‹œํ•œ ๊ฒƒ์ด Protocol์ด๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ,
1.
๋ฉ”์„ธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” ์ •ํ™•ํ•œ ํ˜•์‹์„ ์ง€ํ‚ค์ง€ ์•Š์œผ๋ฉด ํ•ด์„ ์ž์ฒด๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ
2.
๋ฉ”์„ธ์ง€์˜ ํ˜•์‹์ด ์˜ฌ๋ฐ”๋ฅด๋”๋ผ๋„ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋ฅผ ์ง€ํ‚ค์ง€ ์•Š์œผ๋ฉด Protocol์— ๋Œ€ํ•œ ํ–‰๋™ ์ˆ˜ํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ 
3.
๋ฉ”์„ธ์ง€ ํ–‰๋™์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š์œผ๋ฉด ํ˜•์‹๊ณผ ์ˆœ์„œ๋ฅผ ์ง€์ผœ๋„ ์–ด๋–ค ํ–‰๋™์„ ํ• ์ง€ ์•Œ ์ˆ˜ ์—†๊ฒŒ ๋˜์–ด ๋ฌด์šฉ์ง€๋ฌผ์ด ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

2) Protocol Layering ์ด๋ž€?

ํŠน์ • Protocol๋กœ ์‚ฌ์šฉ์ž์™€ ํ†ต์‹ ์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฉ”์„ธ์ง€์˜ Delivery๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ํ•˜๋ฉด, Delivery์™ธ์˜ ์žก๋‹คํ•œ ์ผ์„ ํ•œ ์žฅ์น˜์—์„œ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๋•Œ Protocol์ด ์ˆ˜ํ–‰ํ•˜๋Š” ํŠน์ • ํ–‰์œ„ ์™ธ์˜ ๋ชจ๋“  ๊ฒƒ๋“ค์„ ํ•˜์œ„ ๊ณ„์ธต์˜ Protocol์—๊ฒŒ ๋งก๊ธด๋‹ค.
๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ํ•˜์œ„ ๊ณ„์ธต์˜ Protocol ๋‹ค์‹œ ํ•˜์œ„ ๊ณ„์ธต์˜ Protocol์—๊ฒŒ ์œ„์ž„ํ•˜๋Š” Recursive Relationship์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด ๋•Œ์˜ ๋…ผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ Protocol Stack์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. (์ธต์ธต์ด ๋‘”๋‹ค๋Š” Layering์˜ ์˜๋ฏธ์™€ ๋™์ผ)
Layering์ด ํ•„์š”ํ•œ ์ด์œ ์— ๋Œ€ํ•ด์„œ Single Layer ๊ตฌ์กฐ์™€ Triple Layer ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž.

Single Layer Protocol (๋Œ€๋ฉด์˜ ๊ฒฝ์šฐ)

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

Triple Layer Protocol (๋น„๋Œ€๋ฉด์˜ ๊ฒฝ์šฐ)

์ด ๋•Œ์˜ ์š”๊ตฌ ์กฐ๊ฑด์€ ๋งŒ๋‚˜์ง€ ์•Š์•„๋„ (์œก์ฒด์ ์œผ๋กœ ๋ฉ€์–ด๋„) ์†Œํ†ต์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์„œ๋กœ๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๋ง์ด ์žˆ๋‹ค๋ฉด ๋™์‹œ์— ์†Œํ†ต์„ ํ•ด๋„ ๋˜๋ฉฐ, ์•”ํ˜ธํ™” ๋•์— ๋‘˜ ์™ธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์†Œํ†ต์— ์ฐธ์—ฌ๋ฅผ ํ•  ์ˆ˜๊ฐ€ ์—†์œผ๋ฉฐ, ๋‚ด๊ฐ€ ์“ฐ๊ณ  ์‹ถ์€ ๋ง์„ ์“ฐ๊ธฐ๋งŒ ํ•˜๋ฉด ์ง์ ‘ ์ „๋‹ฌํ•˜์ง€ ์•Š์•„๋„ ์ „๋‹ฌ์ด ๋ณด์žฅ๋œ๋‹ค.
์ฆ‰, Layering์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํ•œ ์ธต์—์„œ Protocol์ด ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ํ–‰๋™ ๋ฒ”์œ„๊ฐ€ ๋งŽ์ด ์ค„์–ด๋“ค๋ฉด์„œ ๊ฐ์ž ์ž์‹ ์˜ ์ž„๋ฌด๋งŒ ๋ช…ํ™•ํžˆ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์ƒ๊ธด๋‹ค. ๋”ฐ๋ผ์„œ Protocol Layering์ด๋ผ๋Š” ๊ฒƒ์€ ๋ณต์žกํ•œ ์—…๋ฌด๋ฅผ ์ž‘์€ ์ผ์˜ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ„๋‹จํ•œ ์—…๋ฌด๋ฅผ ๋ถ€๋‹ดํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๋น„๋ก ๊ฐ„๋‹จํ•œ ์—…๋ฌด๊ฐ€ ๋ณต์žกํ•ด์งˆ ์ˆ˜๋Š” ์žˆ๋”๋ผ๋„ Protocol Layering์„ ํ–ˆ์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Œ€ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Protoco ๊ฐ„์— ์ƒํ˜ธ ๋…๋ฆฝ์ ์ธ ๊ธฐ๋Šฅ์„ฑ๋งŒ ๋‘˜ ์ˆ˜ ์žˆ๋‹ค. (๊ฐ Protocol์˜ ๋…๋ฆฝ์ ์ธ ์ˆ˜์ •์ด ๊ฐ€๋Šฅ)
โ€ข
๊ฐ Protocol์˜ ๋‚ด๋ถ€๋ฅผ ์ผ์ข…์˜ ๋ธ”๋ž™๋ฐ•์Šค๋ผ๊ณ  ์—ฌ๊ธธ ์ˆ˜ ์žˆ๋‹ค. (๋‚ด๋ถ€ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ „ํ˜€ ์ง€์‹์ด ์—†๋”๋ผ๋„ Input์„ ๋„ฃ์—ˆ์„ ๋•Œ Output์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.)

Protocol Layering์˜ ์›์น™

1.
Bidirectional (์–‘๋ฐฉํ–ฅ์„ฑ)
ํ†ต์‹ ์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ๊ฐ Layer๋Š” ์†ก์‹ ๊ณผ ์ˆ˜์‹  ๋‘ ๊ฐ€์ง€์— ๋Œ€ํ•ด์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. (Sender, Receiver๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ)
2.
๋‘ ๊ฐ์ฒด ์•„๋ž˜์˜ Layer๋“ค์€ ๋™์ผํ•˜๊ฒŒ ์Œ“์—ฌ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

3) OSI 7 Layer (Open System Interconnection)

OSI 7 ๊ณ„์ธต์€ ๋งค์šฐ ์ž˜ ์ •์˜ (Well-Defined)๋œ ๊ฐœ๋…์  ๊ตฌ์กฐ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ๊ฐ Protocol์˜ ๋ณดํŽธ์ ์ธ ์—ญํ• ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. OSI 7 ๊ณ„์ธต๋Š” ISO (International Organization for Standardization)์—์„œ ๋งŒ๋“ค์—ˆ์œผ๋ฉฐ, ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ 7๊ฐœ์˜ ๊ณ„์ธต์„ ์ด๋ฃฌ๋‹ค. ๊ฐ ๊ณ„์ธต๋ณ„ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
๊ฐ„ํ˜น ํŽธ์˜๋ฅผ ์œ„ํ•ด ์•„๋ž˜ ๊ณ„์ธต๋“ค์„ 4๊ฐœ์˜ Layer๋กœ ๋ณด๊ธฐ๋„ ํ•˜๋Š”๋ฐ, 1๊ณ„์ธต๊ณผ 2๊ณ„์ธต์„ ๋ฌถ์€ Link Layer, Network Layer, Transport Layer, 5๊ณ„์ธต๊ณผ 6๊ณ„์ธต ๊ทธ๋ฆฌ๊ณ  7๊ณ„์ธต์„ ๋ฌถ์€ Application Layer๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

[1]Physical (Physical Communication / LAN or NIC Hardware)

๋งค์ฑ„๋ฅผ ํ†ตํ•ด ๋น„ํŠธ ๋ฐ์ดํ„ฐ๋ฅผ Stream์˜ ํ˜•ํƒœ๋กœ ์ „์†กํ•˜๊ณ  ๋ฐ›๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ธฐ๊ณ„์  ์ „๊ธฐ์ ์ธ ํŠน์„ฑ์„ ์ œ๊ณตํ•˜๋Š” Layer์ด๋‹ค.
Data Link Layer๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ Frame์„ ์‹ค์ œ ๋น„ํŠธ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋น„ํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ๋น„ํŠธ๋ฅผ Electrical Signal, Light Signal, Radio Signal ๋“ฑ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ์ด ๋•Œ ์ฒ˜๋ฆฌ์˜ ๋‹จ์œ„๊ฐ€ ๋น„ํŠธ๊ฐ€ ์•„๋‹Œ Signal์ธ ์ด์œ ๋Š” ์—ฌ๋Ÿฌ ๋น„ํŠธ๋ฅผ ํ•œ Signal์— ๋„ฃ์–ด์„œ ์ด์šฉํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
Signal, ์‹œ๊ทธ๋„์ด๋ž€? Signal์€ ๋ง๊ทธ๋Œ€๋กœ ์ „๊ธฐ ์‹ ํ˜ธ, ์ฆ‰, ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ „๊ธฐ์˜ ํ๋ฆ„์„ ํ‘œ๊ธฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ณผํ•™ ์‹œ๊ฐ„์— ์ „๊ธฐ๊ฐ€ ํ†ตํ• ๋•Œ๋Š” 1, ์•ˆํ†ตํ•  ๋•Œ๋Š” 0์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ์‹œ๊ฐ„ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณธ ์ ์ด ํ•œ๋ฒˆ์”ฉ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ˜น์€ AC, DC ๊ทธ๋ž˜ํ”„ ๋ฐ ๋ฌผ๊ฒฐ๋ชจ์–‘์œผ๋กœ ์ƒ๊ธด ํŒŒ์žฅ ๊ทธ๋ž˜ํ”„๋“ค๋„ ์ด๋Ÿฌํ•œ Signal์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. Physical Layer์—์„œ๋Š” ๋น„ํŠธ๋“ค์„ ์ด๋Ÿฌํ•œ Signal์— ๋„ฃ์–ด์„œ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํ†ต์‹ ์„ ์ง„ํ–‰ํ•œ๋‹ค!

[2]Data Link (Hop to Hop / NIC Driver)

๋น„ํŠธ ๋ฐ์ดํ„ฐ ํ˜น์€ Packet์„ Frameํ™” ํ•˜์—ฌ ๊ธฐ๊ธฐ ๊ฐ„ Hop-to-Hop ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” Layer์ด๋‹ค.
Packet, ํŒจํ‚ท์ด๋ž€? ์ปดํ“จํ„ฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์ •ํ•ด๋‘” ๋ฐ์ดํ„ฐ ํ˜•์‹์ด๋‹ค. Pack๊ณผ Bucket์„ ํ•ฉ์นœ ๋ง์ด๋‹ค. ์šฐ์ฒด๊ตญ์—์„œ ํฐ ํ™”๋ฌผ์„ ์ ๋‹นํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด ํ–‰์„ ์ง€ ๋“ฑ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์šด์†ก์žฅ์„ ๋ถ™์ด๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ํ†ต์‹ ์—๋„ ์ ‘๋ชฉ์‹œํ‚จ ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์ •๋ณด๋ฅผ ๋ณด๋‚ผ ๋•Œ ํŠน์ •ํ•œ ํ˜•ํƒœ์— ๋งž์ถ”์–ด ๋ณด๋‚ธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ปดํ“จํ„ฐ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค!
Hop-to-Hop์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์„œ๋กœ ์†ํ•œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐ™์œผ๋ฉด์„œ ์ธ์ ‘ํ•œ ๊ธฐ๊ธฐ (Adjacent Node)์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ ๊ธฐ๊ธฐ๊ฐ€ ๊ฐ€์ง„ ์‹ค์ œ ์ฃผ์†Œ(MAC ์ฃผ์†Œ)๋ฅผ ์ด์šฉํ•œ๋‹ค.
MAC Address, ๋งฅ ์ฃผ์†Œ๋ž€? Media Access Control์˜ ์•ฝ์ž๋กœ ๊ฐ ๊ธฐ๊ธฐ์˜ ๋„คํŠธ์›Œํฌ ์นด๋“œ(ํ•˜๋“œ์›จ์–ด)์— ๋ถ€์—ฌ๋œ ๊ณ ์œ ํ•œ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ์ด๋‹ค! ์ฆ‰, ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋Š” ์ž์‹ ๋งŒ์˜ ๊ณ ์œ ํ•œ MAC ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 48๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ 16์ง„์ˆ˜๋กœ ํ‘œ์‹œ๋œ๋‹ค ์œˆ๋„์šฐ์—์„œ๋Š” ํ„ฐ๋ฏธ๋„ โ†’ ipconfig ๋ช…๋ น์–ด Mac์—์„œ๋Š” ํ„ฐ๋ฏธ๋„ โ†’ ifconfig ๋ช…๋ น์–ด ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
Data Link Layer๋Š” Network Layer์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ž‘์šฉ๋œ๋‹ค. (์ฆ‰, ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„  Network Layer๋Š” ๋ชฉ์ ์ง€์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ Data Link Layer์˜ ์ฃผ์†Œ๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.)
๋˜ํ•œ Hop-to-Hop์œผ๋กœ ์ธ์ ‘ํ•œ ๊ธฐ๊ธฐ์— ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๋“ค์€ Error๊ฐ€ ์—†๋„๋ก ์ „๋‹ฌ๋œ๋‹ค. ์ฆ‰, ์ˆ˜์‹  ์ธก ๊ธฐ๊ธฐ์—์„œ๋Š” ์ด๋ฏธ ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฌด์กฐ๊ฑด ๋ฐ›๊ฒŒ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋•์— ์ˆ˜์‹  ์ธก์—์„œ๋Š” ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์œ„ Layer๋กœ ์˜ฌ๋ฆด ๋•Œ Error Free๋ฅผ ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
(์ด๋ฏธ ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฐ›์•„ ๋†“์€ ์ƒํƒœ์ด๋ฏ€๋กœ Error Detection๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด Error Correction์˜ ์—ฌ์ง€๊ฐ€ ์ถฉ๋ถ„ํ•˜๋ฏ€๋กœ Error Free๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.)
Transport Layer์™€ ๊ฐ™์ด Flow Control, Error Detection, Error Correction์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” Transport Layer์˜ ๊ฒƒ๊ณผ๋Š” ์กฐ๊ธˆ์€ ๋‹ค๋ฅด๋‹ค. Tranposrt Layer๋Š” ์ธํ„ฐ๋„ท ์ƒ์—์„œ Logical Connection ์ƒํƒœ์—์„œ์˜ Layer ๊ฐ„ ์ „๋‹ฌ์—์„œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด๊ณ , Data Link Layer์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ๊ธฐ๊ธฐ๊ฐ„ ์ „๋‹ฌ์—์„œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

[3]Network (Host to Host / Kernel Space of OS)

์ƒํ˜ธ ๊ฐ„์˜ ๋„คํŠธ์›Œํ‚น์„ ์œ„ํ•ด Packet์˜ ํ˜•ํƒœ๋กœ Source์—์„œ Destination์œผ๋กœ ์šด์†กํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” Layer์ด๋‹ค.
๋‹จ์ˆœํžˆ Destination๊นŒ์ง€์˜ ์šด์†ก ์—ญํ• ๋งŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ •ํ™•ํžˆ ๋”ฐ์ง€์ž๋ฉด, Network Layer๋Š” Routing๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค.
Routing, ๋ผ์šฐํŒ…์ด๋ž€? ์ƒํ˜ธ ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ๋“ค์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ์šด์˜๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๋ฌถ๊ฒŒ ๋˜๋ฉด, Source์—์„œ Destination๊นŒ์ง€ ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ(Multiple Routes)๋“ค์ด ์ƒ๊ธด๋‹ค. ์ด ๋•Œ, Source์—์„œ Destination๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š”๋ฐ ์žˆ์–ด์„œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฐพ์•„๋‚ด๋Š” ๊ธฐ๋Šฅ ์ž์ฒด๋ฅผ Routing์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
Internetworking ์ด๋ž€? ์œ„์—์„œ ์–ธ๊ธ‰๋œ Internetworking์ด๋ž€ ์ผ์ข…์˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ„์˜ Packet ์†ก์ˆ˜์‹ ์„ ๋งํ•œ๋‹ค. ์ฆ‰, Endpoint ๊ฐ„์˜ Packet ์†ก์ˆ˜์‹ ์ด ์•„๋‹ˆ๋”๋ผ๋„ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์˜ Gateway ํ˜น์€ Router ๊ฐ„์˜ Packet ์†ก์ˆ˜์‹ ๋„ ์ด์— ํ•ด๋‹นํ•œ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์ตœ์ข… Destination๊นŒ์ง€์˜ ํ†ต์‹  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ค‘๊ฐ„ ๊ฐœ์ฒด๋“ค ๊นŒ์ง€์˜ ์†ก์ˆ˜์‹ ๋„ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด๋‹ค!
IP์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ๋“ค์ด Network Layer์— ํ•ด๋‹นํ•˜๋Š”๋ฐ, ์ด ๋•Œ IP๋Š” Connectionless์ด๋ฉฐ ๋‹จ์ˆœํžˆ Destination์„ ์ฐพ์•„๊ฐ€๊ธฐ ์œ„ํ•œ ์šฉ๋„์˜ Internetworking ์„œ๋น„์Šค๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
IP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ End-to-End์˜ Reliable Delivery๋ฅผ ๋ณด์žฅํ•ด์ฃผ์ง„ ์•Š๋Š”๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์ตœ์„ ์„ ๋‹คํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์•„๋‹Œ๋ฐ, ์ด๋ฅผ Best Effort Delivery๋ผ๊ณ  ํ•œ๋‹ค.
Network Layer์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ๋Š” IP ์ฃผ์†Œ๋กœ ์ผ์ข…์˜ Logical Address์ด๋‹ค. (๋ง ๊ทธ๋Œ€๋กœ ๊ธฐ๊ธฐ์— ๋Œ€ํ•œ ์‹ค์งˆ์ ์ธ ์ฃผ์†Œ๋Š” ์•„๋‹ˆ๋‹ค.) Public IP์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” IP ์ฃผ์†Œ๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด์„œ Uniquely, Universally Distinguishableํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

[4]Transport (Process to Process / Kernel Space of OS)

์‹ ๋ขฐ์„ฑ ๋ณด์žฅ ๋“ฑ์„ ์œ„ํ•ด ์ •ํ•ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ๋ฉ”์„ธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋„˜๊ฒจ์ฃผ์–ด Error Detection ํ˜น์€ Error Correction๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” Layer์ด๋‹ค.
Transport Layer์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์€ Unreliable Data Delivery์ด๋‹ค. (์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•ด์ฃผ์ง€ ์•Š์€์ฑ„๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์ด๋‹ค.) ์ฆ‰, Connection-Oriented Protocol (TCP, SCTP, RTP ๋“ฑ)๊ณผ Connectionless Protocol (UDP) ์ค‘์—์„œ ํ›„์ž๊ฐ€ Transport Layer์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” Protocol์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
๋‹ค์Œ์€ Connectionless Protocol๊ณผ ๋‹ฌ๋ฆฌ Connection-Oriented Protocol์˜ ์ฃผ๋œ 5๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด๋‹ค.
โ€ข
Connection Management (TCP์˜ ๊ฒฝ์šฐ 3 Hand-Shaking)
โ€ข
Connection Multiplexing (Port๋ฅผ ์ด์šฉํ•œ)
โ€ข
Segmentation (SCTP์˜ Chuck)
โ€ข
Reliable Delivery
โ€ข
Flow Control(์ˆ˜์‹  ์ธก์—์„œ ์ˆ˜ํ–‰), Congestion Control (์†ก์‹  ์ธก์—์„œ ์ˆ˜ํ–‰)

[5]Session (Peer to Peer / User Space of OS)

Session ๋Œ€ํ•œ ์ƒ์„ฑ, ๊ด€๋ฆฌ, ์ข…๋ฃŒ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” Layer์ด๋‹ค.
Session์ด๋ž€? Session์ด๋ผ ํ•จ์€ ์ธ๊ฐ„์ด ์ผํ•˜๋Š” ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. Session์€ Connection์„ ๋‹ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ „๋ฐ˜์ ์ธ Connection์„ ๊ด€๋ฆฌํ•œ๋‹ค.
Endpoint๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ๊ฐ„์˜ Application Process๋“ค ์‚ฌ์ด์— Session์„ ์—ด๊ณ  ๋‹ซ๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋‘ Host ์‚ฌ์ด์— ์ฒซ Connection์„ ์—ด๊ธฐ๋„ ํ•˜๊ณ , ์ด๋ ‡๊ฒŒ ์—ด๋ฆฐ Session์„ ํ†ตํ•ด์„œ ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ๋ฐ์ดํ„ฐ ์†ก์‹ ๊ณผ ์ˆ˜์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด, VoIP(Voice over IP)์—์„œ ์‚ฌ์šฉ๋˜๋Š” SIP (Session Initiate Protocol)๊ฐ€ ์ด์— ํ•ด๋‹นํ•œ๋‹ค.
์ด๋Ÿฌํ•œ Session Layer๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š”, Endpoint๊ฐ„ ๋ฉ”์„ธ์ง€ ์†ก์‹  ์ˆ˜์‹ ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ Dialog Control (Endpoint์˜ Token์„ ์ด์šฉํ•˜์—ฌ ๋ˆ„๊ฐ€ ์ „์†กํ•  ์ฐจ๋ก€์ธ์ง€์— ๋Œ€ํ•œ ์ˆœ์„œ ์กฐ์ • ๋ฐ ๊ด€๋ฆฌ)๊ณผ Synchronization (Stream์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ๋™๊ธฐํ™” ์ง€์ ์„ ๊ธฐ๋ก)์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
Session Layer์—๋Š” ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ๋“ค์ด ์žˆ๋Š”๋ฐ.
One to Many์˜ ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

[6]Presentation (Peer to Peer / User Space of OS)

๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ Translate, Encrypt (Decrypt), Compress (Decompress) ๋“ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” Layer์ด๋‹ค. (์ฐธ๊ณ ๋กœ ๋„คํŠธ์›Œํฌ์—์„œ๋Š” Big Endian์„ ์‚ฌ์šฉํ•œ๋‹ค.)
๋ฐ์ดํ„ฐ๋ฅผ Network Format์—์„œ Application Format์œผ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜, Application Format์—์„œ Network Format์œผ๋กœ ๋ฐ”๊พธ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์†ก์‹  ์‹œ์— Encoding, Compressing์„ ์ž‘์—… ํ–ˆ๋‹ค๋ฉด, ์ˆ˜์‹  ์ธก์—์„œ๋Š” Decoding, Decompressing ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

[7]Application (Peer to Peer / User Space of OS)

๋„คํŠธ์›Œํฌ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” Layer์ด๋‹ค. ๋„คํŠธ์›Œํฌ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์†ก์‹ ๊ณผ ์ˆ˜์‹ ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„คํŠธ์›Œํฌ์— ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
7๊ฐœ์˜ Layer ์ค‘์—์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” Layer๋กœ์จ, ์‚ฌ์šฉ์ž์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๋ฉฐ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ๋ถ€๋ถ„์ด๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด Internet Explorer ํ˜น์€ Google Chrome๊ณผ ๊ฐ™์€ Browser๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ , Gmail๊ณผ ๊ฐ™์€ Email Client๊ฐ€ ์žˆ๋‹ค.
์†ก, ์ˆ˜์‹  ์‹œ์— ์†ก์‹  ์ธก์—์„œ๋Š” 7 ~ 1 ๊ณ„์ธต์„ ๊ฑฐ์ณ ์ˆ˜์‹  ์ธก์˜ 1 ~ 7 ๊ณ„์ธต์„ ์ง€๋‚˜์„œ ๋ฉ”์„ธ์ง€๊ฐ€ ์ „๋‹ฌ๋œ๋‹ค. ์ด ๋•Œ์˜ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฉ”์„ธ์ง€์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

OSI 7 Layer ์ด์šฉ์˜ ์žฅ์ 

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

4) Internet Architecture์˜ ๋ชฉํ‘œ

์ฃผ ๋ชฉํ‘œ๋Š” ์กด์žฌํ•˜๋Š” ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ๋“ค์˜ Multiplexed Utilization (๋‹ค์ค‘ ํ™œ์šฉ)์„ ์œ„ํ•ด ํšจ์œจ์ ์ธ ๊ธฐ๋ฒ•์„ ๋งŒ๋“ค์–ด ๋‚ด๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋ถ€๊ฐ€์ ์ธ ๋ชฉํ‘œ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.
1.
ํ•œ ์ชฝ์˜ ๋„คํŠธ์›Œํฌ ํ˜น์€ Gateway์˜ ์†์‹ค์ด ์žˆ๋”๋ผ๋„ ํ†ต์‹  ์ž์ฒด๋Š” ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ
ํ†ต์‹  ์ค‘๊ฐ„์— ์žˆ๋Š” ์žฅ์น˜(Gateway)๋“ค์—๋Š” ๋ฏธ๋ฆฌ ์„ค์ •๋˜์–ด ์žˆ๋Š” State๊ฐ€ ์—†๋‹ค. ์ด ๋ง์€ Endpoint ๊ฐ„์— ์„œ๋กœ์— ๋Œ€ํ•œ State๋“ค์„ ๊ฐ–๊ณ  ์žˆ๋Š” ํ˜•ํƒœ๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ํ†ต์‹ ํ•˜๊ณ  ์žˆ๋Š” Endpoint์— State๋ฅผ ๋‘๋Š” ๊ฒƒ์„ Fate Sharing์ด๋ผ๊ณ  ํ•œ๋‹ค. Endpoint์— State๋ฅผ ๋ชฐ์•„์„œ ๋‘ฌ์•ผ ํ•˜๋ฏ€๋กœ Endpoint์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๊ธฐ์˜ ๋ฐœ์ „์ด ์—†๋‹ค๋ฉด ์ œ์•ฝ์ด ๋งŽ์€ ํ˜•ํƒœ์˜€์œผ๋‚˜, ๊ณผ๊ฑฐ์— ๋ฏธ๊ตญ๋ฐฉ์„ฑ์—์„œ ๊ตญ๋ฐฉ์„ ์œ„ํ•ด ์–ด๋งˆ์–ด๋งˆํ•œ ๋ˆ์„ ๋“ค์—ฌ๊ฐ€๋ฉด์„œ ๋ฐœ์ „ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์ค‘๊ฐ„ ๊ฑฐ์ ๋งˆ๋‹ค State๋ฅผ ๋‘์ง€ ์•Š๋Š” ๊ฒƒ์ด ํฐ ์žฅ์ ์œผ๋กœ ๋‹ค๊ฐ€์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.
โ†’ Gateway๋Š” Stateless, Endpoint๋Š” Stateful
2.
์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ํ†ต์‹  ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ
TCP, UDP์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ํ†ต์‹  Protocol์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค๋งŒ, ์ƒํ˜ธ ๊ฐ„ ํ†ต์‹ ์„ ํ•  ๋•Œ๋Š” ์„œ๋กœ ๋™์ผํ•œ Protocol์„ ์ด์šฉํ•ด์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค.
3.
๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆ˜์šฉํ•˜๋Š” ๊ฒƒ
LAN, ์œ„์„ฑ๋ง, ํŒจํ‚ท๋ง ๋“ฑ๊ณผ์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ๋งŽ์€ ๋ง๋“ค๊ณผ ์„œ๋กœ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ, ๋ง ๊ฐ„์— ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š” ์ƒํ™ฉ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„  ์ž์‹  ์•„๋ž˜์— ์กด์žฌํ•˜๋Š” ๊ธฐ์ˆ (ํ˜น์€ Protocol)์€ ํฌ๊ฒŒ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ž์‹  ์•„๋ž˜์— ์กด์žฌํ•˜๋Š” ๊ธฐ์ˆ ์„ ํฌ๊ฒŒ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ์ด์œ ๋กœ๋Š” ์• ์ดˆ์— ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์งค ๋•Œ ์ผ์ผ์ด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค์„ ๊ณ ๋ คํ•˜๋ฉฐ ์งœ๋Š” ๊ฒƒ์ด ์–ด๋ ต๊ธฐ๋„ ํ•˜๊ณ , ์ž๊ธฐ ๊ธฐ๋Šฅ๋งŒ ์‹ ๊ฒฝ ์“ฐ๋ฉด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค๊ณผ Independentํ•˜๋ฏ€๋กœ ์ˆ˜์ •์—๋„ ์šฉ์ดํ•˜์—ฌ ์–ด๋–ค ๊ธฐ์ˆ ์—๋„ Mapping์„ ํ•˜์—ฌ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์„ ๋‘๊ธฐ ์œ„ํ•ด์„œ๋‹ค.
4.
๋„คํŠธ์›Œํฌ์— ์กด์žฌํ•˜๋Š” ์ž์›์„ ๋ถ„๋ฐฐ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ
์ž์›๋“ค์€ ๋…๋ฆฝ์ ์ธ AS (Autonomous System)์— ์˜ํ•ด์„œ ๊ด€๋ฆฌ ๋œ๋‹ค. ์ด๋Ÿฐ AS๋“ค์€ BGP(Border Gateway Protocol)์— ์˜ํ•ด์„œ ์„œ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค. BGP๋ฅผ ์ด์šฉํ•จ์œผ๋กœ์จ Routing์˜ ์ค‘์•™ ์ง‘๊ถŒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” 18,000๊ฐœ์˜ Constituent Network๊ฐ€ ์กด์žฌํ•˜๊ณ  1M ์ด์ƒ์˜ ์—”ํŠธ๋ฆฌ๋ฅผ ๊ฐ€์ง„ ๋งŽ์€ Routing Table๋“ค๋กœ ์ธํ•˜์—ฌ, ๋งŽ์€ ์ง€์ถœ์ด ๋™๋ฐ˜๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  AS๊ฐ„์˜ ์•„์ฃผ ์ž‘์€ ์˜ค๋ฅ˜๋กœ ๊ตญ๊ฐ€ ๊ฐ„์˜ ์ธํ„ฐ๋„ท ์ ‘๊ทผ์— ๊ต‰์žฅํžˆ ํฐ ์žฅ์• ๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
5.
Cost-Effective ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ
Packet Switched Network๋ฅผ ํ†ตํ•ด์„œ ์กฐ๊ธˆ ๋” ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋ชจ๋“  Packet๋“ค์€ ๊ณต์šฉ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š”๋ฐ, ์ด ๋•Œ๋ฌธ์— Packet ์ „์†ก ์‹œ ํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด Overhead๊ฐ€ ๋˜๋Š” ๋‹จ์ ์€ ์กด์žฌํ•œ๋‹ค. (์ถ”๊ฐ€๋กœ ๋ถ™์€ ์ •๋ณด๋“ค์— ๋Œ€ํ•œ Encapsulation, Decapsulation์ด Overhead๋กœ ์ž‘์šฉํ•˜๊ฒŒ ๋œ๋‹ค.)
6.
์ ์€ ๋…ธ๋ ฅ์œผ๋กœ ์ƒˆ๋กœ์šด Host๊ฐ€ ๋„คํŠธ์›Œํฌ์— ๋ถ™์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ
IP๋Š” ๊ต‰์žฅํžˆ ํŽธ๋ฆฌํ•˜๊ฒŒ Plug & Play๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. IP Stack์„ ์ด์šฉํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ ๋  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„  Endpoint ๋‹จ๋ง์˜ ๋ฌธ์ œ๋ณด๋‹ค๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์—ญํ• ์ด ์ค‘์š”ํ•˜๋‹ค. Endpoint๋ฅผ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๋“ค์€ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ์—ญํ• ์€ ๋ณต์žกํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ํ†ตํ•ด์„œ ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋ถ€๋‹ด์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
7.
Internet Architecture์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์ž์›์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ
์ด๋Š” ๊ฒฐ๊ตญ์— Billing๊ณผ ์ง๊ฒฐ๋œ๋‹ค. ๊ธฐ๊ธฐ์— ๋Œ€ํ•œ ๊ณ ์žฅ์€ ์žˆ์„ ์ˆ˜ ์žˆ์–ด๋„, Billing์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์ ˆ๋Œ€ ์•ˆ ๋œ๋‹ค.

5) End-to-End ์›์น™

ํ†ต์‹ ์€ Endpoint์™€ Endpoint ๊ฐ„์— ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด๊ณ , ํ†ต์‹ ์— ์žˆ์–ด์„œ ํ•„์š”ํ•œ ๋ณต์žกํ•œ ๊ธฐ๋Šฅ๋“ค์€ Endpoint์— ์œ„์น˜ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.
์ฆ‰, Transport Layer์™€ Application Layer๋Š” (5, 6, 7 ๊ณ„์ธต์„ ๋ณดํ†ต ํฌ๊ฒŒ ๋ฌถ์–ด์„œ Application Layer๋ผ๊ณ  ํ•˜๊ธฐ๋„ ํ•จ) Host์˜ ์ปดํ“จํ„ฐ์—๋งŒ ์กด์žฌํ•˜๋ฉฐ, Router๋Š” Network Layer, Data Link Layer, Physical Layer์˜ ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. (Switch๋Š” Data Link Layer ๋ฐ Physical Layer์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค.)
End-to-End ์›์น™์„ ๊ณ ์ˆ˜ํ•˜๋Š” ์ด์œ ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์„ ์‰ฝ๊ฒŒ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ด๋Ÿฐ ์ด์œ  ๋•Œ๋ฌธ์— End-to-End ์›์น™์€ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์„ค๊ณ„์— ํ•ต์‹ฌ์ ์œผ๋กœ ์ž‘์šฉํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์˜๋„์ ์œผ๋กœ ๋ฌด์‹œํ•˜๋Š” ๊ฒฝ์šฐ๋“ค์ด ์กด์žฌํ•œ๋‹ค.
์‚ฌ์šฉ์ž๋“ค์ด ๊ด‘๊ณ ๋ฅผ ๋ณด๋Š” ์กฐ๊ฑด์œผ๋กœ ๋ฌด๋ฃŒ WiFi๋ฅผ ์ œ๊ณต ๋ฐ›๋Š” ์ƒํ™ฉ์ด๋ผ๊ณ  ํ•  ๋•Œ, ๊ด‘๊ณ ๋ฅผ ๋ผ์›Œ๋„ฃ๊ธฐ ์œ„ํ•ด์„œ๋Š” Endpoint ๊ฐ„์˜ ํ†ต์‹ ์—์„œ ๋ฌด์„  ๊ณต์œ ๊ธฐ๊ฐ€ ๋ผ์–ด๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ๊ฒŒ์ž„ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ๋•Œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด, Client๋ผ๋Š” Endpoint์™€ Server๋ผ๋Š” Endpoint ์ค‘๊ฐ„์— ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ผ๋Š” ์žฅ๋น„๋ฅผ ๋„ฃ๋Š” ๊ฒƒ๋„ ์ผ์ข…์˜ End-to-End ์›์น™์„ ์˜๋„์ ์œผ๋กœ ๊นฌ ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. (๋ณด์•ˆ ์žฅ๋น„ ํ˜น์€ ํ† ๋ ŒํŠธ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ QoS ์žฅ๋น„๋“ค๋„ ์ด์— ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.)

6) Curse of the Narrow Waist

"IP์œ„์˜ ๋ชจ๋“  ๊ฒƒ, ๋ชจ๋“  ๊ฒƒ ์œ„์˜ IP" (IP over anything, anything over IP)๋ผ๋Š” ๋ง์ด ์žˆ์„ ์ •๋„๋กœ IP ์œ„ ์•„๋ž˜๋กœ์˜ ๊ธฐ์ˆ  ๋ฐœ์ „์ด ๋งŽ์ด ์žˆ์—ˆ๋‹ค. ๋•Œ๋ฌธ์— IP์— ๋Œ€ํ•œ ์ˆ˜์ •์€ ๊ต‰์žฅํ•œ ์–ด๋ ค์›€์ด ๋”ฐ๋ฅธ๋‹ค.
Internet Architecture ๋ชฉํ‘œ๋“ค ์ค‘ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ์ˆ˜์šฉ์„ ์œ„ํ•œ ๋Œ€๋ถ€๋ถ„์˜ Independentํ•œ ๊ธฐ์ˆ ๋“ค์ด(์•„๋ฌด๋ฆฌ Independentํ•˜๊ฒŒ ์งœ๋ ค๊ณ  ํ•ด๋„), IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด์™”๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋กœ ์ธํ•œ ๋ฌธ์ œ๋Š” ์ˆ˜์ • ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ด๊ณ , ์ด ๋ฟ ์•„๋‹ˆ๋ผ ๊ทผ๊ฐ„์ด๋˜๋Š” ์ตœํ•˜์œ„ ๋ ˆ๋ฒจ์—์„œ๋Š” ๊ต‰์žฅํžˆ ์†Œ๋Ÿ‰์˜ ์ •๋ณด๋“ค๋งŒ ์ด์šฉํ•  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค๋Š” ์–ด๋ ค์›€๋„ ์žˆ๋‹ค. (๋ฌด์„ ๊ณผ ๊ฐ™์ด ๋ง์ด๋‹ค.)

7) Internet์˜ 3๊ฐ€์ง€ ์š”์†Œ

1.
Host
(ํ†ต์‹  ์„œ๋น„์Šค์˜ ๊ถ๊ทน์ ์ธ ์†Œ๋น„์ž์ด๋‹ค.)
2.
Packet Network
(Internet Protocol ์ด์šฉํ•˜๋Š” Host์ปดํ“จํ„ฐ์˜ ํ†ต์‹ ์„ ์ง€์›ํ•ด์ค€๋‹ค.)
3.
IP Router (๊ฐ™์€ ๋ง ๋‚ด์— ์žˆ์„ ๋•Œ๋Š” Router, ๋‹ค๋ฅธ Domain์˜ ๊ฒฝ์šฐ Gateway)
(์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ์—์„œ Packet-Switching์„ ์ด์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ Gateway ํ˜น์€ IP Router๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.)

8) Internet์˜ Architectural Assumption

1.
์ธํ„ฐ๋„ท์€ ๋„คํŠธ์›Œํฌ์˜ ๋„คํŠธ์›Œํฌ์ด๋‹ค.
2.
(Fate Sharing์—์„œ ์–ธ๊ธ‰ ๋˜์—ˆ ๋“ฏ์ด) Gateway๋Š” Connection State๋ฅผ ๋‹ด๊ณ  ์žˆ์ง€ ์•Š๋‹ค.
3.
Routing Complexity์— ๋Œ€ํ•œ ์ •๋ณด๋Š” Gateway์— ์žˆ์–ด์•ผ ํ•œ๋‹ค. (๋ฉ”์„ธ์ง€ ์ „์†ก์„ ์œ„ํ•œ Path๋ฅผ ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๋•Œ Host๋Š” Routing์— ๊ด€์—ฌ ํ•˜์ง€ ์•Š๋Š”๋‹ค.)
4.
์ธํ„ฐ๋„ท ์‹œ์Šคํ…œ์€ ๋„“์€ ๋ฒ”์œ„์˜ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด์„œ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. (์ฆ‰, ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด ๋ฐ”๋€Œ์–ด๋„, ์—ฌ์ „ํžˆ ํ†ต์‹ ์€ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.)

9) NAI (Network Access Identifier)

Identity๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๋ฐ”๋กœ ๋‚ด๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ (Identifier), ๋‚ด๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€(Locator)๋ฅผ ๋ฐํžˆ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ Identity๋Š” ํ†ต์‹  ์‹œ ์š”๊ตฌ๋˜๋Š” ๊ธฐ๋ณธ ์‚ฌํ•ญ์ด๋‹ค.
ํ†ต์‹ ์—์„œ Identity๋ฅผ ์š”๊ตฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์„ , ๋ฌด์„ ์— ๋Œ€ํ•ด์„œ๋„ ๊ฐ๊ฐ ํ‘œ์ค€์ด ์กด์žฌํ•˜๋ฉฐ, ๋‹น์—ฐํ•˜๊ฒŒ๋„ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์—์„œ๋„ ์ด๋Ÿฐ ๊ฐœ๋…์ด ์กด์žฌํ•œ๋‹ค.
๋„คํŠธ์›Œํฌ์—์„œ์˜ Identity๋Š” NAI๋ผ๊ณ  ํ•˜๋ฉฐ ์ด๋Š” RFC2486 (Obsoleted by RFC4282) โ†’ RFC4282 (Obsoleted by RFC7542) โ†’ RFC7542 ์ˆœ์œผ๋กœ ๋ฐœ์ „ํ•ด์™”๋‹ค.
RFC(Request For Comment)๋ž€? ์ธํ„ฐ๋„ท๊ณผ TCP/IP์— ๋Œ€ํ•œ ์ œ์•ˆ, ์•„์ด๋””์–ด, ๊ธฐ์ˆ , ๋‰ด์Šค, ํ‘œ์ค€ ๋“ฑ ์ข…ํ•ฉ์ ์ธ Note์ด๋‹ค. ๋ชจ๋“  ์ธํ„ฐ๋„ท ํ‘œ์ค€์€ ํ•ญ์ƒ RFC๋กœ ๋ฌธ์„œํ™”๋˜๊ณ  ์žˆ๋‹ค. IETF์—์„œ ์ด๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์œผ๋ฉฐ RFC๋Š” ๋ˆ„๊ตฌ๋‚˜ ์ž…์ˆ˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
RFC7542๋Š” Domain๊ฐ„ ๋กœ๋ฐ(์ธ์ฆ) ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ทœ์ •์ด๋‹ค. RFC4282์— NAI์— ๋Œ€ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ˆ์ œ๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ๋‹ค.
username@realm jseo@example.com
์ด๋Ÿฌํ•œ NAI์— ๋Œ€ํ•œ RFC7542์—์„œ ๋‚˜ํƒ€๋‚˜๋Š” Identifier๋Š” RFC5322 + RFC6532๋ฅผ ๋”ฐ๋ฅด๋ฉฐ Application Layer์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
RFC5322๋Š” Internet Message Format์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋ถ€๋ถ„(User Portion / username)์ด๊ณ , RFC6532๋Š” ์œ„์น˜์— ๋Œ€ํ•œ ๋ถ€๋ถ„(Local Portion / realm)์œผ๋กœ์จ Internationalized Email Header์˜ ์—ฐ์žฅ์„ ์ธ ์ด๋ฉ”์ผ ํ˜•์‹์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.
์ด๋ ‡๊ฒŒ ์ •์˜๋œ Identifier๋Š” ๋Œ€์ฒด๋กœ utf8์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜๋Š”๋ฐ, ์ด๋Ÿฐ utf8์œผ๋กœ ์ž‘์„ฑ๋œ realm ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” Internationalized Domain Names (IDNs)์— ๋งž๋Š” ํ˜ธํ™˜์„ฑ์„ ๊ฐ–๋Š” ์‹์œผ๋กœ ์˜๋„๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ RFC5890์„ ๋”ฐ๋ฅธ๋‹ค.
RFC5890์€ Internationalized Domain Names์— ๋Œ€ํ•œ Syntax ์ •์˜ ๊ทœ์•ฝ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” RFC1034(LDH๋ผ๊ณ  ํ•˜์—ฌ Letters, Digits, Hyphen๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Syntax)๋ฅผ ์„ ํ˜ธํ•˜๊ณ  ๋”ฐ๋ฅด๋Š” ๋ถ„์œ„๊ธฐ์ด์ง€๋งŒ, Symmetry Constraint๋งŒ ์ง€ํ‚จ๋‹ค๋ฉด A-label (ASCII), U-label (UNICODE)์— ๋Œ€ํ•œ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
Application Layer์—์„œ NAI๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž๋“ค๊ณผ Domain์— ๋Œ€ํ•œ ๊ตฌ๋ถ„์„ ์ง€์—ˆ๋“ฏ์ด, ๋‹ค๋ฅธ ๊ณ„์ธต์—์„œ๋„ ๊ฐ์ž๋งŒ์˜ Identifier๋กœ ๊ตฌ๋ถ„์„ ์ง“๋Š”๋‹ค.
โ€ข
Data Link Layer์—์„œ๋Š” Interface & Device & Node์— ๋Œ€ํ•œ ๊ตฌ๋ถ„์„ ์œ„ํ•ด Interface Identifier (MAC)๋ฅผ ์ด์šฉํ•œ๋‹ค.
โ€ข
Network Layer์—์„œ๋Š” Host & Gateway์— ๋Œ€ํ•œ ๊ตฌ๋ถ„์„ ์œ„ํ•ด Host Identifier (IP)๋ฅผ ์ด์šฉํ•œ๋‹ค.
โ€ข
Tranport Layer์—์„œ๋Š” Process ๋ฐ Program์— ๋Œ€ํ•œ ๊ตฌ๋ถ„์„ ์œ„ํ•ด Endpoint (Port)๋ฅผ ์ด์šฉํ•œ๋‹ค.

10) ์•ž์œผ๋กœ ์•Œ์•„๋‚˜๊ฐ€์•ผ ํ•  ๊ฒƒ๋“ค?

Internet Protocol Stack์— ๋Œ€ํ•ด์„œ ๋ช…ํ™•ํžˆ ์•Œ์•„์•ผ ํ•œ๋‹ค.
โ€ข
๋ฉ”์„ธ์ง€๊ฐ€ ์ธํ„ฐ๋„ท ์ƒ์—์„œ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌ ๋˜๋Š”์ง€
โ€ข
๊ฐ Protocol์˜ Layer์˜ ๋ชฉ์ ์€ ๋ฌด์—‡์ธ์ง€
โ€ข
1๊ณผ 2๋ฅผ ๋งŒ์กฑ ํ•˜๋ฉด์„œ ๊ฐ Protocol์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€
์ ์–ด๋„ ์ด ์„ธ๊ฐ€์ง€๋ฅผ ๋ฌด๋‚œํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์€ ๊น”๋ ค์žˆ๋‹ค๊ณ  ๋ณด๋ฉด ๋˜๊ฒ ๋‹ค.

2. IPv4 Address

1) IPv4 ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ

RFC791 (IP ํ‘œ์ค€์— ๋Œ€ํ•œ ๊ทœ์•ฝ)์„ ๋”ฐ๋ฅธ๋‹ค.
ํ›„์—๋Š” CIDR์ด๋ผ๊ณ  ํ•ด์„œ Classless Inter-Domain Routing์œผ๋กœ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ง‘๊ณ„ ์ „๋žต์„ ํŽผ์ณค๋‹ค. (RFC1519)
Private Internet์— ๋Œ€ํ•œ ์ฃผ์†Œ ํ• ๋‹น ๊ทœ์•ฝ์ด ์žˆ๋‹ค. (RFC1918) Address Mask๋ฅผ ์ด์šฉํ•œ Internet Standard Subnetting Procedure (RFC950)๊ฐ€ ์กด์žฌํ•œ๋‹ค. IP Multicasting์„ ์œ„ํ•œ Host Extension (RFC1112)์ด ์กด์žฌํ•œ๋‹ค.

2) IPv4 Address ํŠน์„ฑ

1.
IPv4 ์ฃผ์†Œ๋Š” Uniqueํ•˜๊ณ  Universalํ•˜์—ฌ Internet Protocol์„ ์ด์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ํŠน์ • ๋ชฉ์ ์ง€์— ๋Œ€ํ•ด์„œ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. (Public์— ํ•œํ•˜์—ฌ)
2.
IPv4 ์ฃผ์†Œ์˜ ๊ธธ์ด๋Š” 32 ๋น„ํŠธ์ด๋‹ค. 32 ๋น„ํŠธ๋Š” 4๊ฐœ์˜ Octet (8๊ฐœ์˜ ๋น„ํŠธ)์œผ๋กœ ๋‚˜๋‰œ๋‹ค. ํ‘œํ˜„๋ฒ•์€ 2์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œํ˜„๊ณผ, ์ ์œผ๋กœ ๊ตฌ๋ถ„๋œ 10์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œํ˜„ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.
2์ง„์ˆ˜ โ†’ 00000000 00000000 00000000 00000000 10์ง„์ˆ˜ โ†’ 0.0.0.0
3.
32๋น„ํŠธ์˜ ๊ฐ 4๊ฐœ์˜ Octet์—์„œ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋Š” (๊ฐ Chunk๋Š” 8๋น„ํŠธ๋ฏ€๋กœ) 0~255๊นŒ์ง€์ด๋‹ค.
๋”ฐ๋ผ์„œ 10์ง„์ˆ˜๋กœ ํ‘œํ˜„๊ฐ€๋Šฅํ•œ IP์ฃผ์†Œ์˜ ๋ฒ”์œ„๋Š” 0.0.0.0 ~ 255.255.255.255
4.
IPv4 ์ฃผ์†Œ๋Š” Network Part (NAI์—์„œ์˜ Local Portion์„ ์˜๋ฏธ), Host Part (NAI์—์„œ User Portion์„ ์˜๋ฏธ)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ๋˜๋Š” Network Part์™€ Host Part์— ๋Œ€ํ•œ (์–ผ๋งŒํผ์˜ ๊ธธ์ด๋กœ) ๊ตฌ๋ถ„์€ IP Class์— ๋”ฐ๋ผ ๋‚˜๋‰œ๋‹ค. โ†’ ๋” ๋‚˜์•„๊ฐ€ Subnetting์˜ ๊ฐœ๋…๊นŒ์ง€ ๋“ค์–ด๊ฐ€๋ฉด ์•„๋ž˜์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์กฐ๊ธˆ ๋” Flexibleํ•˜๊ฒŒ Host Part๋ฅผ ์ด์šฉํ•˜๋ฉด์„œ Hierarchical(๊ณ„์ธต์ ) Routing์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ์˜ IPv4 ์ฃผ์†Œ๋ฅผ Hierarchical IPv4 Address๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋ฅผ ํ†ตํ•ด Hierarchical Routing์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค๋ฉด ๋ชฉ์ ์ง€ ๋Œ€์ƒ์ด ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์‰ฝ๊ฒŒ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์–ด IP Routing์— ๋„์›€์ด ๋œ๋‹ค. (Routing์—๋„ ๋„์›€์ด ๋˜์ง€๋งŒ, ์ด๋Ÿฐ ๊ณ„์ธต ๊ตฌ์กฐ๋Š” IP ์ฃผ์†Œ์˜ ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ๋„ ๊ต‰์žฅํžˆ ์œ ์šฉํ•˜๋‹ค.)
5.
IPv4 ์ฃผ์†Œ๋Š” Classful์ด์—ˆ๋‹ค๊ฐ€ Classless ๊ฐœ๋…์œผ๋กœ ๋ฐ”๋€Œ์–ด ๋‚˜๊ฐ”๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋กœ 4๋ฒˆ๊ณผ ๊ฐ™์ด ์กฐ๊ธˆ ๋” Hierarchicalํ•œ ๊ตฌ์กฐ๋ฅผ ๋„๊ฒŒ ๋˜์—ˆ๋‹ค.

3) Classful IPv4

โ€ข
Class A
1๋ฒˆ์งธ Octet์€ Network Part, ๋‚˜๋จธ์ง€ 3๊ฐœ์˜ Octet์€ Subnet / Host๋กœ ํ™œ์šฉ
โ€ข
Class B
1, 2๋ฒˆ์งธ Octet์€ Network Part, ๋‚˜๋จธ์ง€ 2๊ฐœ์˜ Octet์€ Subnet / Host๋กœ ํ™œ์šฉ
โ€ข
Class C
1, 2, 3๋ฒˆ์งธ Octet์€ Network Part, ๋‚˜๋จธ์ง€ 1๊ฐœ์˜ Octet์€ Subnet / Host๋กœ ํ™œ์šฉ
โ€ข
Class D
Multicasting์„ ์œ„ํ•œ IP ์ฃผ์†Œ
โ€ข
Class E
ํŠน์ •ํ•˜๊ฒŒ ๋ชฉ์ ์ด ์ •ํ•ด์ ธ ์žˆ๋Š” ํ™œ๋™์„ ์œ„ํ•œ IP ์ฃผ์†Œ
IPv4 ์ฃผ์†Œ์˜ ํ˜•ํƒœ๋Š”
{<Network>, <Host>}
{<Network>, <Subnet>, <Host>}
์™€ ๊ฐ™์€ ํ˜•ํƒœ์ธ๋ฐ, Subnet์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ Mask ์ฃผ์†Œ ํ˜•ํƒœ๋Š”
{-1, -1, 0}
๊ฐ€ ๋œ๋‹ค. Masking ๋น„ํŠธ๋“ค์€ 1๋กœ ์ฑ„์›Œ์ ธ์„œ & ์—ฐ์‚ฐ์„ ํ†ตํ•ด Host๋ฅผ ๋ถ„๋ณ„ํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
(์ด ๋•Œ ์ฑ„์›Œ์ง„ ๋ชจ๋“  1 ๊ฐ’๋“ค์€ ๋น„ํŠธ๊ฐ€ ๊ฝ‰ ์ฐจ์žˆ๋Š” ํ˜•ํƒœ๋ฏ€๋กœ -1๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋ถ€ํ˜ธ๊ฐ€ ์žˆ๋Š” 2์ง„์ˆ˜ ํ‘œํ˜„๋ฒ•

4) IPv4 Packet Forwarding Method

[1] Unicast: MAC ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ๋Œ€์ธก IP์ฃผ์†Œ๋ฅผ ๋ชฉ์ ์ง€๋กœํ•˜๋Š” 1:1 ํ†ต์‹ 

ํ˜„์žฌ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Unicast ๋ฐฉ์‹์€ ํ•˜๋‚˜์˜ ์†ก์‹ ์ž๊ฐ€ ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ์ˆ˜์‹ ์ž๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ผ๋ฐ˜์ ์ธ ์ธํ„ฐ๋„ท ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋ชจ๋‘ Unicast ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. Unicast ํ†ต์‹ ์€ ๋ชฉ์ ์ง€๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์ƒ์˜ PC๋“ค์˜ CPU์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค! ๊ทธ ์ด์œ ๋Š” ์ž์‹ ์—๊ฒŒ ์˜จ Packet์ด ์•„๋‹ˆ๋ผ๊ณ  ํŒ๋‹จ๋˜๋ฉด ํ•ด๋‹น Frame์„ ๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค!
๋งŒ์•ฝ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์ˆ˜์‹ ์ž์—๊ฒŒ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด, Unicast ํ†ต์‹ ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์ „์†กํ•ด์•ผ ํ•˜๋ฉฐ ๋™์ผํ•œ Packet์˜ ์ค‘๋ณต ์ „์†ก์œผ๋กœ ์ธํ•ด ๋„คํŠธ์›Œํฌ ํšจ์œจ์ด ์ €ํ•˜๋œ๋‹ค!

[2] Broadcast: Local ์ƒ์— ๋ถ™์–ด์žˆ๋Š” ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋“ค์—๊ฒŒ ๋ณด๋‚ด๋Š” 1: N(all) ํ†ต์‹ 

์—ฌ๊ธฐ์„œ Local์ด๋ž€ Router์— ์˜ํ•ด์„œ ๊ตฌ๋ถ„๋˜์–ด์ง„ ๊ณต๊ฐ„, ์ฆ‰ Broadcast Domain์ด๋ผ๊ณ  ํ•˜๋Š” ๊ณต๊ฐ„์„ ๋œปํ•œ๋‹ค. Broadcast ์ฃผ์†Œ๋กœ Packet์ด ์˜ค๋ฉด ์ž์‹ ์˜ MAC ์ฃผ์†Œ์™€ ๊ฐ™์ง€ ์•Š์•„๋„ ๋ฌด์กฐ๊ฑด ์ฝ์–ด์„œ CPU๋กœ ์ „๋‹ฌํ•œ๋‹ค.
๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ํ†ต์‹  ๋ฐฉ์‹์ด์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์ˆ˜์‹ ์ด ํ•„์š”์—†๋Š” Host๋“ค์—๊ฒŒ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒ๋œ๋‹ค. ๋˜ํ•œ ์ž์‹ ์ด ์†ํ•œ ๋„คํŠธ์›Œํฌ์—๋งŒ ํ•œ์ •๋œ๊ณ , Router๋ฅผ ๊ฒฝ์œ ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
Broadcast๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์‹œ!
โ€ข
ARP(Address Resolution Protocol)
์ฒ˜์Œ ๋‘ PC๊ฐ„์— ํ†ต์‹ ์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—, ์ƒ๋Œ€ IP ์ฃผ์†Œ๋Š” ์•Œ ์ˆ˜ ์žˆ๋”๋ผ๋„ MAC ์ฃผ์†Œ๋Š” ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค!
์ด ๋•Œ, ์ƒ๋Œ€ํŽธ์˜ MAC ์ฃผ์†Œ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ ํ•˜๋Š” Protocol์ด ๋ฐ”๋กœ ARP์ด๋‹ค!
โ€ข
Router๋ผ๋ฆฌ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ Router๋ฅผ ์ฐพ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ
โ€ข
Server๊ฐ€ ์ž์‹ ์ด ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ชจ๋“  Client๋“ค์—๊ฒŒ ์•Œ๋ฆด ๋•Œ
โ€ข
DHCP๋ฅผ ํ†ตํ•ด์„œ ์ž์‹ ์˜ IPv4 ์ฃผ์†Œ ์„ค์ •์„ ์ง„ํ–‰ํ•  ๋•Œ

[3] Multicast: ํ•˜๋‚˜ ์ด์ƒ์˜ ์†ก์‹ ์ž๋“ค์ด ํŠน์ •ํ•œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆ˜์‹ ์ž๋“ค์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ํ†ต์‹ 

Multicast์˜ ๊ฒฝ์šฐ ์ž์‹ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์›ํ•˜๋Š” ํŠน์ • Host๋“ค์—๊ฒŒ๋งŒ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, Switch๋‚˜ Router๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค! Multicast ์ „์†ก์„ ์œ„ํ•œ ๊ทธ๋ฃน ์ฃผ์†Œ๋Š” D Class IP ์ฃผ์†Œ (224.0.0.0 ~ 239.255.255.255)๋กœ ์‹ค์ œ Host๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ฃผ์†Œ๊ฐ€ ์•„๋‹ˆ๋ฉฐ ๊ทธ๋ฃน ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ๋„คํŠธ์›Œํฌ ์ƒ์— 200๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ์„ ๋•Œ, 150๋ช…์—๊ฒŒ๋งŒ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹ ์ด๋‹ค. Broadcast๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ 50๋ช…์˜ PC์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค, Unicast๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ™์€ Packet์„ 150๋ฒˆ ์ „์†กํ•ด์•ผ ํ•ด์„œ ๋น„ํšจ์œจ์ ์ด๋‹ค. ์ฆ‰ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๋ฐฉ๋ฒ•์ธ ๊ฒƒ์ด๋‹ค.
Multicast๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ One-to-Many ํ†ต์‹ ์„ ์œ„ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค. Multicast๋Š” (๋งŽ์€ ์ˆ˜์‹ ์ž๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๋”๋ผ๋„) Packet์ด ํ•œ ๋ฒˆ๋งŒ ์ „์†ก๋  ์ˆ˜ ์žˆ๋„๋ก ์ž์›์„ ๋Œ์–ด๋ชจ์œผ๋Š” ์‹์œผ๋กœ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, Unicast๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.

5) IPv4 Special Address

[1-1] 0.0.0.0 ({0, 0}

[1-2] {0, <Host>}

IPv4 Packet์„ ์ „์†กํ•˜๋ ค๋Š” ์ปดํ“จํ„ฐ์—์„œ Source IP ์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์— ์ž์‹ ์˜ IPv4 ์ฃผ์†Œ๋กœ 0.0.0.0์ด ์ด์šฉ๋œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด, DHCPDISCOVER์™€ ๊ฐ™์€ ์ž‘์—…์— ์ด์šฉ๋˜๋Š”๋ฐ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด IPv4 Packet์„ ๋‚ ๋ฆฌ๋ฉด DHCP Server๋กœ ๋ถ€ํ„ฐ ๋‹ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

[2-1] 255.255.255.255 ({-1, -1}

[2-2] {<Network>, -1}

[2-3] {<Network>, <Subnet>, -1}

[2-4] {<Network>, -1, -1})

๋ชจ๋“  ๋น„ํŠธ๊ฐ€ 1์ธ IPv4 ์ฃผ์†Œ๋Š” Broadcast์— ์ด์šฉ๋œ๋‹ค. ๋˜ํ•œ ํŠน์ • ๋„คํŠธ์›Œํฌ ์ „์ฒด์— ๋ณด๋‚ด๋Š” Broadcast๊ฐ€ ์•„๋‹Œ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํŠน์ • Subnet์—๋งŒ ๋ณด๋‚ด๋Š” Broadcast์˜ ๊ฒฝ์šฐ, ์ •ํ•ด์ง„ ์ „์ฒด ๋„คํŠธ์›Œํฌ์— Broadcast Packet์„ ๋ฟŒ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŠน์ • Subnet์— Broadcast Packet์„ ๋ฟŒ๋ฆฌ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฅผ IP Directed Broadcast๋ผ๊ณ  ํ•œ๋‹ค.
์ด์™€ ๊ฐ™์ด IP Directed Broadcast๋กœ Packet์„ ๋‚ ๋ฆฌ๊ฒŒ ๋˜์–ด์„œ Target Subnet์„ ํ–ฅํ•ด ๊ฒฝ๋กœ ํƒ€๊ณ  ๊ฐ€๋ฉด, ๋„คํŠธ์›Œํฌ๋Š” ์ด Packet์„ Unicast Packet์„ ์ „์†กํ•  ๋•Œ์™€ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ Forwarding ํ•œ๋‹ค. (์ฆ‰, Unicast Packet๊ณผ ๋™์ผํ•œ ์ทจ๊ธ‰์„ ํ•œ๋‹ค.) ์ด๋ ‡๊ฒŒ Target Subnet์— ์—ฐ๊ฒฐ๋œ Switch๊นŒ์ง€ Unicast์ฒ˜๋Ÿผ ์ „์†ก๋œ Packet์€ ํ•ด๋‹น Switch์— ๋„์ฐฉํ•˜๋ฉด, Switch๊ฐ€ ์•Œ์•„์„œ Subnet์— ํ•ด๋‹นํ•œ ๋ชจ๋“  Endpoint ๋‹จ๋ง์—๊ฒŒ Packet์„ Broadcastํ•ด์ค€๋‹ค.

[3-1]127.0.0.1

[3-2]({127, <Any>}

์ž๊ธฐ ์ž์‹ (Local Host)์„ ๋‚˜ํƒ€๋‚ด๋Š” Loopback ์ฃผ์†Œ์ด๋‹ค.
Loopback ์ฃผ์†Œ๋ž€? ํŠน์ • ์ฃผ์†Œ๋กœ ์ ‘์†ํ–ˆ์„ ๋•Œ ์ž์‹ ์˜ ์ปดํ“จํ„ฐ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ์ด๋‹ค. ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ํ™˜๊ฒฝ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

[4]Private IPv4 Address

์‚ฌ์„ค๋ง๊ณผ ํ†ต์‹ ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์†Œ์ด๋‹ค. (๊ธฐ๊ด€ ๋“ฑ์—์„œ ์ „ํ™” ํšŒ์„  ์—ฐ์žฅ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๋‹ค.)

6) Scaling Issues in Routing & CIDR (RFC4632)

IPv4 Address ๊ณต๊ฐ„์— ๋Œ€ํ•œ ๋น„ํšจ์œจ์ ์ธ ์ด์šฉ

ํด๋ž˜์Šค C์—์„œ์˜ 2๊ฐœ์˜ Host โ†’ (2 / 254 = 0.78% Efficient) (28โˆ’2=254)2^8 - 2 = 254)
ํด๋ž˜์Šค B์—์„œ์˜ 256๊ฐœ์˜ Host โ†’ (256 / 65536 = 0.39% Efficient) (28โˆ—28โˆ’2=65534)2^8 * 2^8 - 2 = 65534)
IPv4 ์ฃผ์†Œ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๊ณต๊ฐ„์˜ ์ˆ˜๊ฐ€ ๊ต‰์žฅํžˆ ๋น ๋ฅด๊ฒŒ ์†Œ๋ชจ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋„ˆ๋ฌด๋‚˜๋„ ๋งŽ์€ ๋„คํŠธ์›Œํฌ๋“ค

Routing Table์€ ํ™•์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
Routing Propagation Protocol ์—ญ์‹œ ํ™•์žฅ ๋˜์ง€ ์•Š๋Š”๋‹ค.
Forwarding์„ ์œ„ํ•œ ํฐ Routing Table์„ Router๊ฐ€ ์Šค์บ”ํ•  ๋•Œ ๊ต‰์žฅํžˆ ๋Š๋ ค์ง„๋‹ค.

์ •๋ฆฌ

๊ทธ๋ž˜์„œ..? ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ๋งŒ ์ธ์‹ํ•˜๋˜ ์ธํ„ฐ๋„ท์— ๋Œ€ํ•ด ํด๋ž˜์Šค ๊ฐœ๋…์„ ์—†์• ๋ณด๋Š” ์ชฝ์œผ๋กœ 2006๋…„ 08์›”์— CIDR (Classless Inter-Domain Routing (RFC4632))์ด ์ œ์‹œ๋˜์—ˆ๋‹ค. (IPv4 ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ž์œ ๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ)
CIDR์€ ํด๋ž˜์Šค A, B, C์˜ Network Part ๊ฐœ๋…์„ Classlessํ•œ Prefix๋กœ ๋ฐ”๊พผ ๊ฒƒ์„ ๋งํ•œ๋‹ค. (๊ธฐ์กด ํด๋ž˜์Šค A, B, C์— ๋Œ€ํ•ด์„œ Class๋ฅผ ์—†์• ๋ฉด ์–ด๋”” ๋ถ€๋ถ„๊นŒ์ง€๊ฐ€ Network Part์ด๊ณ , ์–ด๋”” ๋ถ€๋ถ„๊นŒ์ง€๊ฐ€ Host Part์ธ์ง€ ๊ตฌ๋ถ„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ Subnet Mask์— ๋Œ€ํ•œ ํ•„์š”์„ฑ์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ๋‹ค.) ์ด ๋•Œ, Network Part๋Š” ํŠน์ • ๋ฒ”์ฃผ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” Endpoint ๋‹จ๋ง์˜ Network Part๋ฅผ ์ด์šฉํ•œ๋‹ค. (Subnet Mask๋Š” ๋‹ค์Œ ํŒŒํŠธ์—์„œ ๋‹ค๋ฃฌ๋‹ค.)
CIDR ํ‘œ๊ธฐ๋ฒ•์—์„œ Prefix๋Š” ๊ธฐ์กด IPv4 ์ฃผ์†Œ์ฒ˜๋Ÿผ 4๊ฐœ์˜ Octet์œผ๋กœ ํ‘œ๊ธฐ๋˜๋ฉฐ ๊ทธ ๋’ค์— / ๊ฐ€ ๋ถ™์œผ๋ฉด์„œ ์ด์–ด์„œ ํŠน์ • ๋น„ํŠธ ์ˆ˜์— ๋Œ€ํ•ด์„œ ๋ช…์‹œํ•œ๋‹ค. IPv4 ์ฃผ์†Œ์˜ ๊ฒฝ์šฐ 32 ๋น„ํŠธ์˜ ๊ธธ์ด๋ฅผ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์—, / ๋’ค์—๋Š” 0 ~ 32 ์‚ฌ์ด์˜ 10์ง„์ˆ˜ ๊ฐ’์ด ํ‘œ๊ธฐ ๋œ๋‹ค.
์•”๋ฌต์ ์œผ๋กœ 255.255.0.0์˜ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ Mask๋ฅผ ์ด์šฉํ•˜๋Š” ๊ธฐ์กด ํด๋ž˜์Šค B ๋„คํŠธ์›Œํฌ์˜ 172.16.0.0 IPv4 ์ฃผ์†Œ๋Š” CIDR ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ 172.16.0.0/16์ด ๋œ๋‹ค.

7) Subnet Mask

Subnetwork ํ˜น์€ Subnet์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์€ IP ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์  ๋ถ„ํ• ์ด๋‹ค.
Subnet Mask ํ˜น์€ Subnetwork์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋‚ด๊ณ ์ž ๊ณ„์‚ฐ์„ ํ•  ๋•Œ๋Š”, Logicial Multiplication์„ ์ด์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 192.168.0.1/24๋ผ๋Š” CIDR ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋‚˜ํƒ€๋‚ธ IPv4 ์ฃผ์†Œ๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๊ณ  ํ•ด๋ณด์ž. ์ด์— ๋”ฐ๋ฅธ Subnetwork ์ฃผ์†Œ ๊ตฌํ•  ๋•Œ๋Š” IPv4 ์ฃผ์†Œ์— Subnet Mask ์ฃผ์†Œ๋ฅผ & ์—ฐ์‚ฐ์„ ์ทจํ•˜๋ฉด ๋˜๊ณ , Subnet Mask ์ฃผ์†Œ๋ฅผ ๊ตฌํ•  ๋•Œ๋Š” IPv4 ์ฃผ์†Œ์— Subnetwork ์ฃผ์†Œ๋ฅผ & ์—ฐ์‚ฐ์„ ์ทจํ•˜๋ฉด ๋œ๋‹ค.
IPv4 by Binary โ†’ 110000001100 0000 . 101010001010 1000 . 000000000000 0000 . 000000010000 0001
Subnet Mask โ†’ 1111111111111111 . 1111111111111111 . 1111111111111111 . 000000000000 0000
Subnetwork โ†’ 1100000011000000 . 101010001010 1000 . 0000000000000000 . 0000000000000000
์ด ๋•Œ์˜ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Host์ˆ˜๋Š” 253๊ฐœ์ด๋‹ค. (์ž๊ธฐ ์ž์‹  IP, ๋„คํŠธ์›Œํฌ ์ž์ฒด์— ๋Œ€ํ•œ IP {<Network>, 0}, ๋„คํŠธ์›Œํฌ์˜ Broadcast IP {<Network>, -1}์„ ์ œ์™ธํ•œ 253๊ฐœ์ด๋‹ค.)
Subnet Mask ๊ฐ’์˜ ๋ชฉ์ ์€ Host Part ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์œ ๋™์ ์ธ ๋ถ„ํ• ์— ๋Œ€ํ•œ ๋ช…์‹œ์ด๋‹ค. Subnet ์ž์ฒด๋Š” ํ•ด๋‹น ๋„คํŠธ์›Œํฌ ๋‚ด๋ถ€์—์„œ๋งŒ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹จ์ˆœํžˆ IPv4 ์ฃผ์†Œ๋งŒ ์ฃผ์–ด์ง„ ์ƒํƒœ์—์„œ๋Š” Subnet์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํด๋ž˜์Šค B์˜ IPv4 ์ฃผ์†Œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ๋Š” ์–ด๋–ค Subnet์ธ์ง€ ์•Œ ์ˆ˜ ์—†์ง€๋งŒ, Subnet Mask๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์–ด๋Š Subnet์„ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. (๊ณ„์‚ฐํ•  ๋•Œ๋Š” ํ•ญ์ƒ 2์ง„์ˆ˜!)

8) Subnetting & Supernetting from CIDR

๋‘ Netting ๋ชจ๋‘ Network Mask๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

Subnetting

ํฐ ๋„คํŠธ์›Œํฌ๋ฅผ ์ž‘์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ๋กœ ๋‚˜๋ˆ„๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ๋‘˜ ์ˆ˜ ์žˆ๋‹ค. Supernetting๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Routing์— ๋„์›€์„ ์ค€๋‹ค. ๊ธฐ์กด ๋„คํŠธ์›Œํฌ Prefix์—์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ทธ๋ฃน์„ ํ˜•์„ฑํ•˜์—ฌ ๋‚˜๋ˆด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน์— ๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ Prefix๋ฅผ ์œ„ํ•œ ๋น„ํŠธ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ ํด๋ž˜์Šค B ๋„คํŠธ์›Œํฌ์˜ ๊ฒฝ์šฐ, 256๊ฐœ์˜ ํด๋ž˜์Šค C ๋„คํŠธ์›Œํฌ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ์˜ Network Part์˜ Prefix๋Š” 16 ๋น„ํŠธ์—์„œ 24 ๋น„ํŠธ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค.
๊ธฐ์กด์— ํด๋ž˜์Šค๋กœ ์ด์šฉ๋˜๋˜ ๋„คํŠธ์›Œํฌ
Subnet ๊ฐœ๋…์ด ์ƒ๊ธฐ๊ณ  ๋‚œ ํ›„์˜ ๋„คํŠธ์›Œํฌ
๋‹ค์Œ์„ ํ’€์–ด๋ณด์ž
์ •๋‹ต

Supernetting

์ž‘์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ•˜๋‚˜์˜ ํฐ ๋„คํŠธ์›Œํฌ๋กœ ๋ฌถ๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๊ทธ๋ฃจํ•‘์„ ๋„์™€์ฃผ๊ธฐ ๋•Œ๋ฌธ์— Routing Entry๊ฐ€ ์ข‹์•„์ง€๊ฒŒ ๋˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด Router์˜ Lookup์ด ํŽธํ•ด์ง„๋‹ค. ๊ธฐ์กด์— ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ๋ฅผ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด๋ƒˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ์ด์šฉํ•˜๋˜ ๋„คํŠธ์›Œํฌ Prefix์˜ ๋น„ํŠธ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ 4๊ฐœ์˜ ํด๋ž˜์Šค C ๋„คํŠธ์›Œํฌ๋ฅผ ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ๋กœ Supernettingํ•œ ๊ฒฝ์šฐ, Network Part์˜ Prefix๋Š” 24 ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ 2 ๋น„ํŠธ (4๊ฐœ์˜ ํด๋ž˜์Šค โ†’ 222^2 โ†’ 2 ๋น„ํŠธ) ๋งŒํผ ์ค„์–ด์„œ Network Part์˜ Prefix๋Š” 22 ๋น„ํŠธ๋กœ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค.
Supernetting์— ๋Œ€ํ•œ ํ‘œํ˜„์€ Supernetting๋œ ๋„คํŠธ์›Œํฌ IPv4 ์ฃผ์†Œ์™€ ๋ฌถ์„ ์ˆ˜์— ๋Œ€ํ•œ ์†Œ๊ด„ํ˜ธ ์Œ์ธ
(<IPv4 Address>, <Count>)
์™€ ๊ฐ™์ด ํ‘œ๊ธฐํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ (192.5.48.0, 3)์ด๋ผ๊ณ  ํ•˜๋ฉด ์‹ค์ œ๋กœ๋Š” 192.5.48.0, 192.5.49.0, 192.5.50.0 ์ด๋ ‡๊ฒŒ 3๊ฐœ๊ฐ€ ๋ฌถ์ธ ๊ฒƒ์ด๋‹ค. ์ด์— ๋Œ€ํ•œ ํ’€์ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
โ†’ 48.0์œผ๋กœ Supernetting ๋œ ๊ฒƒ์ด๋‹ˆ ์ด๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ ํ•ด๋ณด๋ฉด 00110000.00000000 ์ธ๋ฐ, ์—ฌ๊ธฐ์„œ 3๊ฐœ๋ฅผ ๋ฌถ๊ธฐ ์œ„ํ•ด์„  2 ๋น„ํŠธ (4๊ฐœ์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ปค๋ฒ„๋ฆฌ์ง€ โ†’ 222^2 โ†’ 2 ๋น„ํŠธ)๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํด๋ž˜์Šค C IPv4 ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ 2 ๋น„ํŠธ๋ฅผ ์ด์šฉํ•œ Supernetting์„ ํ•œ ๊ฒƒ์ด๋‹ˆ, 24 ๋น„ํŠธ์—์„œ 2 ๋น„ํŠธ๊ฐ€ ์ค„์–ด์„œ 22 ๋น„ํŠธ๋กœ ๊ทธ๋ฃจํ•‘์„ ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๊ทธ๋ฃจํ•‘ ๋œ 3๊ฐœ์˜ IPv4 ์ฃผ์†Œ๋Š” 00110000.00000000 (48.0), 00110001.00000000 (49.0), 00110010.00000000 (50.0) 3๊ฐœ๊ฐ€ ๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
๋น„์Šทํ•œ ์˜ˆ๋กœ X.Y.32.1 ~ X.Y.32.254 (์ฒซ ๋ฒˆ์งธ ํด๋ž˜์Šค C ์ฃผ์†Œ๋“ค), X.Y.33.1 ~ X.Y.33.254 (๋‘ ๋ฒˆ์งธ ํด๋ž˜์Šค C ์ฃผ์†Œ๋“ค), X.Y.34.1 ~ X.Y.34.254 (์„ธ ๋ฒˆ์งธ ํด๋ž˜์Šค C ์ฃผ์†Œ๋“ค), X.Y.35.1 ~ X.Y.35.254 (๋„ค ๋ฒˆ์งธ ํด๋ž˜์Šค C ์ฃผ์†Œ๋“ค)์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, 4๊ทธ๋ฃน์„ ๋ชจ๋‘ ๋ฌถ์„ ์ˆ˜ ์žˆ๋Š” Supernetting ์ฃผ์†Œ๋Š” (X.Y.32.0, 4)๊ฐ€ ๋œ๋‹ค.
โ†’ 32.0์€ 00100000.00000000, 33.0์€ 00100001.00000000, 34.0์€ 00100010.00000000, 35.0์€ 00100011.00000000์ด๋‹ค.์ด ๋•Œ ํด๋ž˜์Šค C์— ๋Œ€ํ•œ Network Prefix๋Š” 24 ๋น„ํŠธ์ธ๋ฐ 4๊ฐœ์˜ ๊ทธ๋ฃน์„ ๋ฌถ์–ด์•ผ ํ•˜๋ฏ€๋กœ ์œ„์˜ ์˜ˆ์ œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 2 ๋น„ํŠธ๊ฐ€ ๊ฐ์†Œ๋˜์–ด ๊ทธ๋ฃจํ•‘ ๋œ๋‹ค. ์ฆ‰ 22 ๋น„ํŠธ์— ๋Œ€ํ•ด์„œ Masking์„ ํ•˜๋ฉด, 00100000.00000000์ด ๋˜์–ด 32.0์ด ์ตœ์ข… Supernetting ๊ฒฐ๊ณผ๊ฐ€ ๋œ๋‹ค.
๋‹ค์Œ ์˜ˆ์‹œ๋„ ์œ„์™€ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ด๋ค„์ง€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

9) IPํ†ต์‹ ์ด ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์กฐ๊ฑด

1.
IPv4 Address
2.
Subnet Mask
3.
Default Gateway
4.
Default DNS Server

3. IPv6 Address

1) IPv6 ๋“ค์–ด๊ฐ€๊ธฐ ์•ž ์„œ

RFC4291 (IPv6 ์ฃผ์†Œ์— ๋Œ€ํ•œ ํ‘œ์ค€ ๊ทœ์•ฝ)์„ ๋”ฐ๋ฅธ๋‹ค. IPv4 ์ฃผ์†Œ์™€๋Š” Incomptiable ํ•œ ํ˜•์‹์ด๋ฏ€๋กœ ์„œ๋กœ์— ๋Œ€ํ•œ Translator๊ฐ€ ์žˆ์–ด์•ผ IPv4 ์ฃผ์†Œ์™€ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ ‡๊ฒŒ Translator๋ฅผ ๋‘๋Š” ๋ฐฉ์‹์€ ๊ต‰์žฅํ•œ ๋ถˆํŽธํ•จ์ด ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์œ„ํ•ด IPv4 ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ IPv6 ์ฃผ์†Œ๋ฅผ ๊ฒน์น˜๋Š” ์˜ค๋ฒ„๋ ˆ์ด ๋ฐฉ์‹์„ ํ†ตํ•ด์„œ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์„ ํ˜ธ๋œ๋‹ค.

2) IPv6 Address ํŠน์„ฑ

1.
IPv6 ์ฃผ์†Œ์˜ ๊ธธ์ด๋Š” 128 ๋น„ํŠธ์ด๋‹ค. (16 ๋ฐ”์ดํŠธ) โ†’ ์ด๋Š” ๊ณง 21282^{128}๋กœ ์•ฝ 340ร—Billionร—Billionร—Billion340 \times Billion \times Billion \times Billion๊ฐœ ๋งŒํผ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
2.
IPv4 ์ฃผ์†Œ์—์„œ๋Š” Octet์„ . (Dot)์œผ๋กœ ๊ตฌ๋ถ„ ํ–ˆ๋‹ค๋ฉด, IPv6 ์ฃผ์†Œ์—์„œ๋Š” 2๊ฐœ Octet์„ : (Colon)์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
3.
1 ๋ฐ”์ดํŠธ๋Š” 2๊ฐœ์˜ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋˜๋ฉฐ (1 ๋ฐ”์ดํŠธ = 8 ๋น„ํŠธ = 2๊ฐœ์˜ 16์ง„์ˆ˜), ์ด 16 ๋ฐ”์ดํŠธ ๊ธธ์ด๋ฅผ 2 ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ฌถ์œผ๋ฉด 8๊ฐœ์˜ ๊ทธ๋ฃน์ด : (Colon)์œผ๋กœ ๊ตฌ๋ถ„ ๋˜๋Š” ํ˜•์‹์ด๋ฏ€๋กœ ์ด 32๊ฐœ์˜ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ๋‹ค. (ํ•œ ๊ทธ๋ฃน๋‹น 4๊ฐœ์˜ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋˜๋ฏ€๋กœ)
4.
๊ฐ„ํ˜น ์ฃผ์†Œ ํ‘œํ˜„์— ์žˆ์–ด์„œ :: (Double Colon)์œผ๋กœ ํ‘œ๊ธฐ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ์˜๋ฏธ๋Š” 0์œผ๋กœ ์ฑ„์›Œ์ง„ 2 ๋ฐ”์ดํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ๊ทธ๋ฃน ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
5.
IPv6 ์ฃผ์†Œ์˜ ๊ฒฝ์šฐ 64 ๋น„ํŠธ์˜ Network Prefix์™€ 64 ๋น„ํŠธ์˜ Interface Identifier๋กœ ๊ตฌ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์—, IPv6 ์ฃผ์†Œ๋Š” Node๊ฐ€ ์•„๋‹Œ Interface์— ํ• ๋‹น๋œ๋‹ค. (๋ชจ๋“  Interface๋Š” ์ ์–ด๋„ 1๊ฐœ ์ด์ƒ์˜ Link-Local Unicast ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด์„œ ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.) ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ Interface๋Š” Unicast, Multicast, Anycast์— ๋”ฐ๋ฅธ ์—ฌ๋Ÿฌ IPv6 ์ฃผ์†Œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
6.
IPv4 ์ฃผ์†Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ IPv6 ์ฃผ์†Œ ์—ญ์‹œ Subnet Prefix๋Š” ํ•˜๋‚˜์˜ Link์— ํ• ๋‹น๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค. (์›๋ž˜ Subnet Prefix๋Š” ํ•˜๋‚˜์˜ Link์™€ ์—ฐ๊ด€๋˜์–ด ์žˆ๋‹ค.) ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋™์ผํ•œ Link์— ๋Œ€ํ•ด์„œ ์—ฌ๋Ÿฌ Subnet Prefix๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 3๊ฐœ์˜ IPv6 Subnet์ด ๋‚˜ํƒ€๋‚˜ ์žˆ๋‹ค.
7.
IPv6 ์ฃผ์†Œ์—์„œ๋Š” ์˜ค๋กœ์ง€ Network Mask๋กœ์จ CIDR ํ‘œ๊ธฐ๋ฒ•๋งŒ ๋”ฐ๋ฅธ๋‹ค. (์‹ค์ œ๋กœ IPv6 ์ฃผ์†Œ์—๋Š” ํด๋ž˜์Šค๊ฐ€ ์—†๋‹ค.)

3) 3 Types of IPv6 Address

IPv6 ์ฃผ์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ†ต์‹  ํ˜•ํƒœ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

Unicast

ํ•˜๋‚˜์˜ Interface๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ Identifier

Anycast

Unicast์™€ ํฌ๊ฒŒ ๋‹ค๋ฅผ ๊ฒƒ์ด ์—†์ด Unicast ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค. ๋‹ค๋งŒ ๋Œ€ํ‘œ ์ „ํ™”์™€ ๊ฐ™์ด ํ•œ Interface์—์„œ๋งŒ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋œ๋‹ค.) ์—ฌ๋Ÿฌ Interface๋“ค์— ๋Œ€ํ•œ ๋Œ€ํ‘œ Identifier

Multicast

Anycast์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ Interface๋“ค์—๊ฒŒ ์ „์†ก๋˜์—ˆ์„ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” Idenfier์ด๋‹ค. Anycast๋Š” ์—ฌ๋Ÿฌ Interface๋“ค์—๊ฒŒ ์ „์†กํ–ˆ์„ ๋•Œ ํ•˜๋‚˜์˜ Interface๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉด ๋˜์—ˆ๋‹ค๋ฉด, Multicast๋Š” Identifier๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  Interface๊ฐ€ Packet์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
Mutlicast๋Š” ๊ทธ๋‹ฅ ์ข‹์€ ํ†ต์‹ ์€ ์•„๋‹ˆ๋‹ค. Multicast๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ๊ทธ๋ฃน์— ์†Œ์†๋œ Node๋“ค์ด ์“ธ๋ฐ์—†๋Š” ์ผ์„ ํ•˜๊ฒŒ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ Broadcast๋ณด๋‹ค๋Š” ๋‚ซ๋‹ค.
IPv6 ์ฃผ์†Œ ์ฒด๊ณ„

4) IPv6 Address Format

IPv6 ์˜ Unicast ์ฃผ์†Œ์—๋Š” Link์—์„œ Interface๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” Interface Identifier๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ–ˆ์—ˆ๋‹ค. ์ด ๋•Œ Interface Identifier๋Š” 64 ๋น„ํŠธ์˜ ๊ธธ์ด์ด๋ฉฐ, Modified EUI-64 Format์„ ๋”ฐ๋ฅธ๋‹ค.
IPv6 ์ฃผ์†Œ์— IID (Interface Identifier)๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ ์œ„ํ•ด์„ , Subnet Prefix ๋ฒ”์œ„ ๋‚ด์—์„œ Unique ํ•ด์•ผํ•œ๋‹ค. (IID์˜ Uniqueํ•จ์€ IPv6 ์ฃผ์†Œ์˜ Unique์™€ ๋…๋ฆฝ์ ์ด๋‹ค.)

IPv6 Address Format

IPv6 ์ฃผ์†Œ์˜ ํ˜•ํƒœ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. ๋งŒ์ผ Global Unicast Address๋กœ์จ IPv6 ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉด, IID๋Š” 64 ๋น„ํŠธ๋กœ ๊ณ ์ •์ด๊ณ  n+mn + m ์—ญ์‹œ 64 ๋น„ํŠธ๊ฐ€ ๋œ๋‹ค.

Modified EUI-64 Format

IID๋Š” Modified EUI-64 Format์„ ๋”ฐ๋ฅธ๋‹ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ, ์ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. EUI๋ผ๋Š” ๋ง์€ Extended Unique Identifier์˜ ์•ฝ์–ด์ด๋‹ค.
Modified EUI-64 Format์—์„œ์˜ EUI๋Š” IPv6 ์ฃผ์†Œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” IID์— ๋Œ€ํ•ด์„œ 64 ๋น„ํŠธ์˜ ๊ธธ์ด์˜ Uniqueํ•จ์„ ๋ณด์žฅํ•ด์ค€๋‹ค. IPv4 ์ฃผ์†Œ์™€ ๋‹ฌ๋ฆฌ IPv6 ์ฃผ์†Œ์—์„œ์˜ ์ฃผ์š”ํ•œ ์žฅ์ ์ด ๋ฐ”๋กœ EUI์— ์žˆ๋‹ค. ๋ฐ”๋กœ IPv4 ์ฃผ์†Œ ์ฒด๊ณ„์—์„œ IPv4 ์ฃผ์†Œ ํ• ๋‹น์„ ์œ„ํ•œ ์ˆ˜๋™ ์„ค์ • ๋ฐ DHCP์˜ ํ•„์š”์„ฑ์„ ์—†์• ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
IPv6 ์ฃผ์†Œ ์ฒด๊ณ„์—์„œ๋Š” DHCP ์—†์ด๋„ ์ฃผ์†Œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค๋Š” ์†Œ๋ฆฌ์ธ๋ฐ, ๊ทธ๋Ÿผ IPv6 ์ฃผ์†Œ๋Š” ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”๊ฑธ๊นŒ? Node ์ž์ฒด๊ฐ€ MAC ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ IPv6 ์ฃผ์†Œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ• ๋‹นํ•˜๊ฒŒ ๋œ๋‹ค.
EUI-64 Format์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด์„  ์–ด๋–ค ํ˜•์‹์„ ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š”์ง€ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž. ๋ชจ๋“  ๊ธฐ๊ธฐ๋“ค์€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์œ„์—์„  ๊ฐ™์€ Mapping ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ, ๋Œ€์ฒด์ ์œผ๋กœ Data Link Layer์—์„œ์˜ ๋ณดํŽธ์ ์ธ ๋ฐฉ๋ฒ•์€ IEEE 802 MAC ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๋•Œ Data Link Layer์—์„œ ์‚ฌ์šฉํ•˜๋Š” MAC ์ฃผ์†Œ๋Š” 48 ๋น„ํŠธ์˜ ๊ธธ์ด์ด๊ณ  EUI-64๋Š” ์ด MAC ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ 64 ๋น„ํŠธ๋ฅผ ์ด๋ฃฌ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๋ถ€์กฑํ•œ 16 ๋น„ํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋ฉ”๊พธ์–ด IPv6 ์ฃผ์†Œ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ผ๊นŒ?
Data Link Layer์˜ 48 ๋น„ํŠธ ๊ธธ์ด์˜ ์ฃผ์†Œ๋Š” 24 ๋น„ํŠธ ์”ฉ ์ชผ๊ฐœ์„œ Upper 24 ๋น„ํŠธ, Lower 24 ๋น„ํŠธ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Upper 24 ๋น„ํŠธ๋Š” OUI (Organizationally Unique Identifier)๋ฅผ ์˜๋ฏธํ•˜๊ณ  Lower 24 ๋น„ํŠธ๋Š” ๊ธฐ๊ธฐ์˜ Identifier๋ฅผ ์˜๋ฏธํ•œ๋‹ค. EUI-64 Format์€ MAC ์ฃผ์†Œ์˜ Upper์™€ Lower ์‚ฌ์ด์— ๋ชจ๋‘ 1๋กœ ์ฑ„์›Œ์ง„ 16 ๋น„ํŠธ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ 64 ๋น„ํŠธ๋ฅผ ํ˜•์„ฑํ•œ๋‹ค.
EUI-48 โ†’ EUI-64 โ†’ Modified EUI-64 ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ๊ทธ๋ฆผ์œผ๋กœ ์‚ดํŽด๋ณด์ž.
์ด ๋•Œ, IPv6 ์ฃผ์†Œ๋Š” EUI-64 Format์„ ์‚ฌ์šฉํ•˜๊ธด ํ•˜๋‚˜, Modfied EUI-64 Format์„ ์ด์šฉํ•จ์„ ์œ ์˜ํ•˜์ž!
๋‹จ์ˆœํžˆ EUI-64 Format์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ 3๋ฒˆ ๊ณผ์ •์ฒ˜๋Ÿผ 7๋ฒˆ์งธ ๋น„ํŠธ์— ๋Œ€ํ•ด์„œ ์ƒํ™ฉ์— ๋งž๋Š” ๋ณ€ํ™”๋ฅผ ์ฃผ์–ด ์ด์šฉํ•œ๋‹ค. ์œ„์˜ ์กฐ๊ฑด์ด ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, IPv6 ์ฃผ์†Œ๋ฅผ ๋น„ํŠธ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์˜ 7๋ฒˆ์งธ ๋น„ํŠธ๋ฅผ ๋ณด๋ฉด Uniqueํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. IPv6 ์ฃผ์†Œ๊ฐ€ Uniqueํ•˜๋‹ค๋ฉด IID์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์˜ 7๋ฒˆ์งธ ๋น„ํŠธ๋ฅผ 1๋กœ, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด 0์œผ๋กœ ์ฑ„์›Œ๋„ฃ๋Š”๋‹ค.

MAC ์ฃผ์†Œ์˜ ์ „๋‹ฌ

MAC ์ฃผ์†Œ์˜ ํ˜•ํƒœ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.
์ด ๋•Œ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ ๊ฐ ๊ฐ’๋“ค์ด ์‹ค์ œ๋กœ ํ†ต์‹ ์—์„œ ์ „์†ก๋  ๋•Œ๋Š” ๋’ค์ง‘ํ˜€์„œ ์ „๋‹ฌ๋œ๋‹ค.
์ด๋Ÿฐ ๊ณผ์ •์ด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฐ Octet๋ณ„ ํ‘œํ˜„์ด ์žˆ์„ ๋•Œ, ๊ฐ Octet์˜ LSB๋ถ€ํ„ฐ (๋์—์„œ๋ถ€ํ„ฐ) ์ „์†ก์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

5) IPv6 Special Address

IPv6 ์ฃผ์†Œ์˜ Speical Address๋Š” IPv4 ์ฃผ์†Œ์™€ ํฌ๊ฒŒ ๋‹ค๋ฅผ ๊ฒƒ์€ ์—†๋‹ค.

Unspeicified Address

0:0:0:0:0:0:0:0 ํ˜น์€ :: ์ฃผ์†Œ๋Š” IPv6 ์ฃผ์†Œ์˜ ๋ถ€์žฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. IPv4 ์ฃผ์†Œ์˜ 0.0.0.0๊ณผ ๋™์ผํ•œ ํ‘œํ˜„์ด๋‹ค. Uniqueํ•œ ์ฃผ์†Œ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ์ „๋‹ฌํ•˜๋Š” Packet์˜ Source์˜ ์ž„์‹œ ์ฃผ์†Œ๋กœ ์ด์šฉ๋œ๋‹ค.

Loopback Address

IPv4 ์ฃผ์†Œ์˜ 127.0.0.1๊ณผ ๋™์ผํ•œ ํ‘œํ˜„์ด๋‹ค. IPv6 ์ฃผ์†Œ์—์„œ๋Š” 0:0:0:0:0:0:0:1 ํ˜น์€ :: 1๋กœ ํ‘œํ˜„ํ•œ๋‹ค. Loopback ์ฃผ์†Œ๋ฅผ ํ–ฅํ•œ Packet์€ ์ ˆ๋Œ€๋กœ IPv6 Router๋กœ Forward ๋˜์ง€ ์•Š๋Š”๋‹ค. (๋‹ค์Œ Link๋กœ๋„ ๋‚˜๊ฐ€์ง€ ์•Š๋Š” ๊ฒƒ๋„ ๋‹น์—ฐํ•˜๋‹ค.)

IPv4-Mapped IPv6 Address

[1] IPv4-Compatiable IPv6 Address (Deprecated)
IPv6 ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ์ธ๋ฐ IPv4 ์ฃผ์†Œ์— ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค.
[2] IPv4-Mapped IPv6 Address
IPv4 ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ์ธ๋ฐ IPv6 ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค.
์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ผ ๋•Œ, ์ฃผ์†Œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Mapping ํ•œ๋‹ค. 80 ๋น„ํŠธ๋Š” 0์œผ๋กœ ์ฑ„์šฐ๊ณ , 16 ๋น„ํŠธ๋Š” 1๋กœ ์ฑ„์šด ๋’ค (๋งŒ์ผ ์ด ๋ถ€๋ถ„์˜ 16 ๋น„ํŠธ๊ฐ€ 0์œผ๋กœ ์ฑ„์›Œ์ ธ ์žˆ๋‹ค๋ฉด ์ด๋Š” IPv4-Mapped IPv6 Address๊ฐ€ ์•„๋‹Œ IPv4-Compatiable IPv6 Address์ด๋‹ค.), 32 ๋น„ํŠธ ๊ธธ์ด์˜ IPv4๋ฅผ ์”Œ์šด๋‹ค.

6) Unicast

IPv6 Unicast ์ฃผ์†Œ์˜ ๋ฒ”์œ„๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

Scope

[1] Link-Local Scope
Link-Local Addresses๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํ•˜๋‚˜์˜ Link ๋ฒ”์œ„ ๋‚ด์— ์†ํ•œ ๋ชจ๋“  Host๋“ค์— ๋Œ€ํ•œ Identifier๋ฅผ ์˜๋ฏธํ•œ๋‹ค.(Link-Local Scope์— ํ•ด๋‹นํ•˜๋Š” ์ฃผ์†Œ๋Š” Link-Local Addresses์™€ Site-Local Addresses๊ฐ€ ์žˆ๋Š”๋ฐ ํ›„์ž๋Š” Deprecated ๋˜์—ˆ๋‹ค.)
[2] Unique-Local Scope
Unique-Lcoal Addresses๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํŠน๋ณ„ํžˆ ๊ด€๋ฆฌ๋˜๋Š” ๋ฒ”์œ„ ํ˜น์€ ๋ณ„๋„์˜ Link ๋‚ด์— ์†ํ•œ ๋ชจ๋“  Host๋“ค์— ๋Œ€ํ•œ Identifier๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
[3] Global Scope
Global Unicast Addresses๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ชจ๋“  ์ธํ„ฐ๋„ท ์ƒ์—์„œ ๊ธฐ๊ธฐ๊ฐ€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” Identifier๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

Address Type

[1] Global Unicast Address
ํ•ด๋‹น Unicast ์ฃผ์†Œ๋Š” IPv4์˜ ์ฃผ์†Œ์™€ ์ผ๋งฅ์ƒํ†ตํ•˜๋‹ค. Globally Routableํ•˜๊ณ , Reachableํ•˜๋‹ค. ๋‹ค๋งŒ ์ˆ˜ํ‰์ ์ด๋ฉด์„œ๋„ ๊ณ„์ธต์ ์ธ IPv4 ์ฃผ์†Œ ํ™˜๊ฒฝ์˜ ์ธํ„ฐ๋„ท๊ณผ ์กฐ๊ธˆ์€ ๋‹ค๋ฅธ ์ ์ด ์žˆ๋‹ค๋ฉด, IPv6 ์ฃผ์†Œ ํ™˜๊ฒฝ์˜ ์ธํ„ฐ๋„ท์€ ์„ค๊ณ„๋ถ€ํ„ฐ ํšจ์œจ์ ์ด๊ณ  ๊ณ„์ธต์ ์ธ ์ฃผ์†Œ์™€ Routing์„ ๋ชฉ์ ์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
Globalํ•œ Scope๋ฅผ ๋‘์–ด ํ†ต์‹ ํ•˜๋ ค๋Š” Unicast ์ฃผ์†Œ๋Š” ์ตœ์ƒ์œ„ 3๊ฐœ์˜ ๋น„ํŠธ๊ฐ€ 001๋กœ ๋˜์–ด ์žˆ๋‹ค.
๊ทธ๋ฆผ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด Global Unicast Address๋Š” 3๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ์žˆ๋‹ค. ์ฒซ 3๊ฐœ์˜ ๋น„ํŠธ๋Š” 001๋กœ ๊ณ ์ •๋˜์–ด ์žˆ๊ณ , ๊ทธ ์™ธ์— Global Routing Prefix (Site Prefix), Subnet ID, Interface ID๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค.
์—ฌ๊ธฐ์„œ Global Routing Prefix๋Š” Leaf Site๋กœ ๊ธฐ๊ด€์— ๋“ฑ๋ก๋œ๋‹ค. ์ด๋Š” Provider Prefix๋กœ์จ ๋“ฑ๋ก๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋“ฑ๋ก๋œ Prefix๋Š” ์ถ”๊ฐ€ 16 ๋น„ํŠธ๋ฅผ Subnet ID๋กœ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๊ด€์€ ์ตœ๋Œ€ 6553565535๊ฐœ์˜ Subnet์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. Host ๋ถ€๋ถ„์€ Node์˜ Interface Identifier๋กœ์จ ๊ธฐ๋ก๋œ๋‹ค. ์ด์— ๋Œ€ํ•œ ์˜ˆ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.
[2] Link-Local Address
์ฃผ๋กœ Link ์ƒ์˜ ์ด์›ƒ ์‚ฌ์ด์— ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜, NDP (Neighbor Discovery Processes)์—์„œ ์‚ฌ์šฉ๋œ๋‹ค.
์ด ์ฃผ์†Œ๋Š” ๋‹ค๋ฅธ Unicast ์ฃผ์†Œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•„๋„ Default Gateway๋กœ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ ๋ถ€ํŒ… ์‹œ ์ž๋™์œผ๋กœ ์„ค์ •๋œ๋‹ค. ์ด ๋•Œ Link-Local Address์˜ Prefix๋Š” FE80::/10์ด๋‹ค. (์ด์–ด์ง€๋Š” ๋‚˜๋จธ์ง€ 54 ๋น„ํŠธ๋Š” 0์œผ๋กœ ์ฑ„์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์— FE80::/64๋กœ ๋ณด๊ธฐ๋„ ํ•œ๋‹ค.)
[3] Site-Local Address (Deprecated)
Site-Local Address๋Š” IPv4 ์ฃผ์†Œ์—์„œ์˜ Private ์ฃผ์†Œ์™€ ๋™์ผํ•˜๋‹ค.
(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ๋‚ด์˜ ์ฃผ์†Œ๋“ค๊ณผ ๋™์ผํ•˜๋‹ค.)
Site-Local Address์˜ ๋ฒ”์œ„๋Š” ํ•ด๋‹น Site์—๋งŒ ํ•ด๋‹นํ•œ๋‹ค. Site-Local Address๋Š” ๋‹ค๋ฅธ Site์—์„œ๋Š” ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ˜๋Œ€๋กœ๋„ Router๋Š” Site-Local Traffic์„ Site ๋ฐ–์œผ๋กœ Forward ํ•ด์„œ๋„ ์•ˆ ๋œ๋‹ค.
Site-Local Address์˜ Prefix๋Š” FEC0::/10์ด๋‹ค. (Link-Local Address์™€ ๋‹ฌ๋ฆฌ ์ž๋™์œผ๋กœ ์„ค์ •๋˜์ง€๋Š” ์•Š์ง€๋งŒ, Link-Local Address์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‚˜๋จธ์ง€ 54 ๋น„ํŠธ๋Š” 0์œผ๋กœ ์ฑ„์›Œ์ง€๋ฏ€๋กœ FEC0::/64๋กœ ๋ณด๊ธฐ๋„ ํ•œ๋‹ค.)
[4] Unique Local IPv6 Unicast Address

7) Anycast

Anycast๋Š” ์„œ๋กœ ๋‹ค๋ฅธ Node์˜ Interface์— ๋™์ผํ•œ Anycast ์ฃผ์†Œ๊ฐ€ ํ• ๋‹น๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
Anycast๋กœ ์ „๋‹ฌ๋œ Packet๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ Node์—์„œ Anycast ์ฃผ์†Œ๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ Interface์— ์ „๋‹ฌ๋œ๋‹ค. ์ด ๋•Œ, Packet์€ Routing Protocol์— ๋”ฐ๋ผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ์œผ๋กœ ๊ฒฐ์ •๋œ Node์˜ Interface๋กœ ๊ฐ€๊ฒŒ ๋œ๋‹ค. (๋™์ผํ•œ Anycast ์ฃผ์†Œ๋ฅผ Node๋“ค์ด ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ํ•ด๋„ ์•„๋ฌด๋ฐ๋กœ๋‚˜ ๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.)
์œ„์ฒ˜๋Ÿผ Routing Protocol์ด ์–ด๋””๋กœ ํ–ฅํ•ด๊ฐ€๋Š”์ง€ ๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ, Anycast๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ๋ชฉ์ ์€ Traffic์— ๋Œ€ํ•œ Load Balancing์ด๋‹ค. (Packet์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Node๊ฐ€ ์—ฌ๋Ÿฟ์ธ ๊ฒฝ์šฐ, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด Node๋กœ ๊ฐ์œผ๋กœ์จ Traffic์ด ๋ชฐ๋ฆฌ๋Š” ๊ฒƒ์„ ์–ด๋Š ์ •๋„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.) ์‹ค์ œ ๊ตฌ๊ธ€์˜ Cloud Service๋กœ ์ด์šฉํ•˜๋Š” Load Balancer๋„ Anycast ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
์ด์™ธ์—๋„ ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ DNS Server ์—ญ์‹œ Anycast๋ฅผ ํ†ตํ•ด ๋“์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. DNS Server๊ฐ€ Anycast๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์„ ์กฐ๊ธˆ ์‚ดํŽด๋ณด๋ฉด DNS Server์— ๋Œ€ํ•œ ๊ณต๊ฒฉ๊ณผ ๋งŽ์€ ์—ฐ๊ด€์ด ์žˆ๋‹ค. 2002๋…„ 10์›” Root DNS DDoS Attack์ด ์žˆ์—ˆ๊ณ  ์ด๋กœ ์ธํ•ด ์ „ ์„ธ๊ณ„์— ์žˆ๋Š” 13๊ฐœ์˜ Root DNS ์ค‘ 8๊ฐœ๊ฐ€ ์ฃฝ์–ด๋ฒ„๋ฆฌ๋Š” ์‚ฌ๊ฑด์ด ์žˆ์—ˆ๊ณ , 2003๋…„ 1์›”์—๋Š” Worm DDos Attack์œผ๋กœ 5๊ฐœ์˜ Root DNS๊ฐ€ ์ฃฝ์—ˆ์—ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์ด DNS Server๋ฅผ ์ด์šฉํ•˜์ง€ ๋ชปํ•˜๋Š” ์ผ์ด ์žˆ์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ DNS Server๋ฅผ ์ด์šฉํ•  ๋•Œ, Anycast ๋ฐฉ์‹์„ ์ด์šฉํ•˜๊ฒŒ ํ•˜์—ฌ ๋งŒ์ผ ํ•œ ์ชฝ ์ง€์—ญ์— ์žˆ๋Š” DNS Server๊ฐ€ ์ฃฝ๋”๋ผ๋„ ๋‹ค๋ฅธ ์ง€์—ญ์˜ DNS Server๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์„œ ์ด๋Ÿฐ ํ˜„์ƒ์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋งŒ๋“ค์—ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์œ ๋ช…ํ•œ ์˜ˆ๋กœ๋Š” ๊ตฌ๊ธ€์˜ Public DNS 8.8.8.8์— ์žˆ๋‹ค. ๊ตฌ๊ธ€์˜ DNS๋Š” ์ „ ์„ธ๊ณ„์— ๊ต‰์žฅํžˆ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ํฉ์–ด์ ธ ์žˆ๋‹ค. ๋งŒ์ผ ๋‚ด๊ฐ€ ๊ตฌ๊ธ€์˜ Public DNS๋ฅผ ์ด์šฉํ•˜๋ฉด, ๋‚ด ์ง€์—ญ์—์„œ ๊ฐ€์žฅ ์ตœ์ ์˜ Routing Path์— ์žˆ๋Š” ์ง€์—ญ์˜ DNS ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค. (๋ณดํ†ต ์ด๋Ÿฐ ์„œ๋น„์Šค๊ฐ€ ์ œ๊ณต๋˜๋Š” ๊ณณ์˜ ์ง€์—ญ์€ ๊ตฌ๊ธ€ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ์ตœ์ ์ธ ์ง€์—ญ์— ๋‘”๋‹ค. ์•„์‹œ์•„์˜ ๊ฒฝ์šฐ ๋Œ€๋งŒ๊ณผ ํ™์ฝฉ์— ์œ„์น˜ํ•ด์žˆ๋‹ค.)
๋˜ํ•œ IPv6 ์ฃผ์†Œ์˜ Anycast๋Š” Network Redundancy์˜ ๋ชฉ์ ์„ ๊ฐ–๊ณ  ์žˆ๊ธฐ๋„ ํ•˜๋‹ค. (์„ค๊ณ„๋Š” ํ–ˆ์ง€๋งŒ ์“ฐ๋Š” ์‚ฌ๋žŒ์€ ์ž˜ ์—†๋‹ค.)
๋งŒ์ผ A Server์™€ B Server์˜ Anycast ์ฃผ์†Œ๊ฐ€ ๋™์ผํ•˜๊ณ  A Server์™€ ํ†ต์‹ ์ด ์—†์—ˆ๊ณ  B Server์™€ ํ†ต์‹ ์„ ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด, Client Anycast๋ฅผ ์‹œ๋„ํ•  ๋•Œ ๋ณ„๋„์˜ ์„ค์ • ์—†์ด ์ž๋™์œผ๋กœ B Server๋กœ ํ†ต์‹ ์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.
๋งˆ์ง€๋ง‰์œผ๋กœ Subnet-Router Anycast Address๋ฅผ ์•Œ์•„๋ณด์ž. Subnet-Router Anycast Address๋Š” ์‚ฌ์ „์— ์ •์˜๋œ ์ฃผ์†Œ์ด๋‹ค. (Anycast์—์„œ์˜ Subnet Prefix๋Š” ํŠน์ • Link์— ๋Œ€ํ•ด์„œ ์ž‘์šฉํ•˜๋Š” Identifier์ด๋‹ค.) ์ด ๋•Œ, Subnet-Router Anycast Address๋Š” ์–ด๋–ค Node๊ฐ€ ์—ฌ๋Ÿฌ Router๋“ค ์ค‘ ํ•˜๋‚˜์™€ ํ†ต์‹ ์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์ด์šฉ๋œ๋‹ค. (์ฆ‰, Anycast์ธ๋ฐ ํŠน์ • Subnet์— ๋Œ€ํ•œ Anycast๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.) Subnet-Router Anycast Address๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด, ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Subnet Prefix์˜ ๋น„ํŠธ๊ฐ€ ์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ์ •ํ•ด์ง€๋ฉฐ ๋‚˜๋จธ์ง€ ๋น„ํŠธ๋Š” 0์œผ๋กœ ํ• ๋‹น๋œ ์ƒํƒœ๋กœ ์ด์šฉ๋œ๋‹ค.
์ด๋Ÿฐ Subnet-Router Anycast Address์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
โ€ข
Subnet์ด ์žˆ๋Š” Router์˜ ๋ชจ๋“  Interface๋“ค์€ ํ•ด๋‹น Interface์˜ Subnet์„ ์œ„ํ•ด Subnet-Router Anycast Address๊ฐ€ ํ• ๋‹น๋˜์–ด ์žˆ๋‹ค.
โ€ข
Subnet-Router Anycast Address๋Š” ํŠน์ • Subnet๊ณผ ์—ฐ๊ฒฐ๋œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด Router์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
์ด์ƒ Anycast์— ๋Œ€ํ•œ ์„ค๋ช…๋“ค์ด๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ ์ฃผ์˜ํ•  ์ ์€ Anycast ์ฃผ์†Œ๋Š” IPv6 Packet์˜ Source ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค!

8) Multicast

IPv6 ์ฃผ์†Œ์—์„œ๋Š” ๋” ์ด์ƒ์˜ Broadcast๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜ค๋กœ์ง€ Multicast๋กœ๋งŒ ๋ถˆํŠน์ • ๋‹ค์ˆ˜์—๊ฒŒ Packet์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. (IPv6 ์ฃผ์†Œ์—์„œ๋Š” Unicast, Anycast, Multicast๋งŒ์ด ์กด์žฌํ•œ๋‹ค.) IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  Node์—์„œ๋Š” Multicast๋ฅผ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค. Multicast๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด IPv6์—์„œ๋Š” ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋น„์Šค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค. (IPv4 ์ฃผ์†Œ๊ฐ€ ๊ณตํ‘œ๋˜์—ˆ์„ ๋•Œ๋Š” Multicast์— ๋Œ€ํ•œ ํ‘œ์ค€์ด ์กด์žฌํ•˜์ง€ ์•Š์•˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ARP ํ˜น์€ DHCP์™€ ๊ฐ™์€ Protocol์€ Broadcast์— ์˜์กดํ–ˆ์—ˆ๋‹ค.) ๋‹จ์ˆœํžˆ ์ƒ๊ฐํ•ด์„œ Broadcast๋ณด๋‹ค Multicast๊ฐ€ ๋” ์ข‹๊ธฐ ๋•Œ๋ฌธ์— Broadcast๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒŒ ๋˜์—ˆ๋‹ค. LAN์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ณ  Switch๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜„๋Œ€์˜ Broadcast๋Š” ๋ฌธ์ œ๊ฑฐ๋ฆฌ์ด๋‹ค.
1.
IPv6 ์ฃผ์†Œ์—์„œ Multicast์˜ Traffic์€ IPv4์™€ ๊ฐ™์ด ์ˆ˜ํ–‰๋œ๋‹ค.
2.
IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Node์—์„œ๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ Multicast ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ Listen ํ•  ์ˆ˜ ์žˆ๋‹ค.
3.
Node๋Š” ์–ธ์ œ๋“ ์ง€ Multicast ๊ทธ๋ฃน์— ์ฐธ๊ฐ€ํ•˜๊ณ  ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
4.
Multicast ์ฃผ์†Œ๋Š” Source ์ฃผ์†Œ ํ˜น์€ Intermediate Destination ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์—†๋‹ค.
5.
Multlicast์˜ ์ฃผ๋œ ๋ชฉ์ ์€ Node ๊ฐ„์— ์ฃผ๊ณ ๋ฐ›๋Š” Packet์˜ ์ˆ˜๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ๋Œ€์—ญํญ์„ ์•„๋ผ๋Š” ํšจ์œจ์ ์ธ ๋„คํŠธ์›Œํฌ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด Mutlicast ์ฃผ์†Œ ํ˜•ํƒœ๋Š” ์–ด๋–ค ์‹์ผ๊นŒ? Multicast๋ฅผ ์ด์šฉํ•  ๋•Œ IPv6 ์ฃผ์†Œ์˜ ์ฒซ Octet์˜ ๋ชจ๋“  ๋น„ํŠธ๋“ค์€ 1๋กœ ์ฑ„์›Œ์ง„๋‹ค. ์ด๋Š” ๊ณง ์ฒซ Octet์ด FF๋กœ ์‹œ์ž‘ํ•จ์„ ์˜๋ฏธํ•œ๋‹ค. (๋น„ํŠธ Masking์—์„œ๋„ ์‰ฝ๊ฒŒ Mutlicast์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.)
์œ„ ๊ทธ๋ฆผ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ, flgs์™€ scop์— ๋Œ€ํ•œ ํ•ญ๋ชฉ์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ํ†ตํ•ด์„œ ํŠน์ • ๋ฒ”์œ„์™€ ์ฃผ์†Œ์— ๋Œ€ํ•œ ํƒ€์ž…์„ ๊ตฌ๋ถ„์ง€์„ ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋จธ์ง€ 112 ๋น„ํŠธ๋“ค์€ Multicast์— ๋Œ€ํ•œ ๊ทธ๋ฃน ID๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
IPv6 ์ฃผ์†Œ์—์„œ Flag๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
T๋Š” Transient Flag, P๋Š” Prefix Flag, R์€ Rendezvous Point Address Flag๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
T ๊ฐ’์ด 0์ด๋ฉด IANA (Internet Assigned Numbers Authority์˜ ์•ฝ์–ด๋กœ IPv4, IPv6 ๋“ฑ์˜ ํ• ๋‹น์— ๊ด€์—ฌํ•˜๋Š” ๊ธฐ๊ด€์ด๋‹ค.) ์— ์˜ํ•ด ํ• ๋‹น๋œ Permanent Assigned Multicast Address์ด๊ณ , T ๊ฐ’์ด 1์ด๋ฉด Non-Permanent Assigned Multicast Address์ด๋‹ค.
Prefix Flag๋Š” RFC3306์— ์˜ํ•ด ์ œ์‹œ๋œ Flag์œผ๋กœ์จ, Unicast ์ฃผ์†Œ์˜ Prefix์— ๊ธฐ๋ฐ˜ํ•œ Multicast ์ฃผ์†Œ์ธ์ง€์— ๋Œ€ํ•œ Flag์ด๋‹ค.
R Flag๋Š” Rendezvous Point Address๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋Š” ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์„ค์ •๋˜๋Š” Flag์ด๋‹ค.
IPv6 ์ฃผ์†Œ์—์„œ Scope๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
Scope์— ๋Œ€ํ•ด์„œ Link์˜ ์˜๋ฏธ๋Š” Interface-Local, Link-Local, Subnet-Local๋กœ 3๊ฐ€์ง€๋ฅผ ๊ฐ–๋Š”๋‹ค. Interface-Local์€ FF01::1 ํ˜น์€ ::1๋กœ Loopback์„ ๋งํ•˜๊ณ , Link-Local์€ FF02::1 (๋ชจ๋“  Node), FF02::2 (๋ชจ๋“  Router)๋ฅผ ๋งํ•œ๋‹ค. Link-Local์˜ ๊ฒฝ์šฐ ๊ฐ™์€ Link ์ƒ์— ์žˆ๋Š” ์ธ์ ‘ํ•œ Node์™€ ํ†ต์‹ ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. Subnet-Lcoal์€ ์ฃผ๋กœ ํ—ˆ์šฉ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.

9) Solicited-Node Multicast Address

Solicited-Node Multicast Address๋Š” IPv4 ์ฃผ์†Œ์—์„œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, IPv6 ์ฃผ์†Œ์—์„œ๋Š” ํ•„์š”ํ•œ ์ฃผ์†Œ์ด๋‹ค. ์ด ์ฃผ์†Œ๋Š” DAD (Duplicate Address Detection)์„ ํ™•์ธํ•œ ํ›„์— ํ• ๋‹น์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. DAD๋Š” NDP (Neighbor Discovery Protocol)์˜ ์ผ๋ถ€๋กœ์จ, DAD๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ Node์—์„œ Stateless Auto Configuration์„ ํ†ตํ•ด ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋Š” IPv6 ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ Local-Link์—์„œ ์ด๋ฏธ IPv6 ์ฃผ์†Œ๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ์ง€ ํ™•์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. Solicited-Node Multicast Address๋Š” ๋‹ค๋ฅธ Node์—์„œ ์ด๋ฏธ ๊ตฌ์„ฑ๋œ Unicast ์ฃผ์†Œ ํ˜น์€ Anycast ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ Local-Link์—์„œ ์‚ฌ์šฉ ์ค‘์ธ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
Solicited-Node Multicast Address์˜ Prefix๋Š” FF02::1:FF00:0000/104๋กœ์จ Link-Local์˜ Multicast ์ฃผ์†Œ์˜ Prefix๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์–ด์ง„ 104 ๋น„ํŠธ๋ฅผ Prefix๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚จ์€ 24 ๋น„ํŠธ ๊ฐ’์€ Unicast ์ฃผ์†Œ ํ˜น์€ Anycast ์ฃผ์†Œ์˜ ๋ 24 ๋น„ํŠธ๋ฅผ ๋ณต์‚ฌํ•ด์™€์„œ Solicited-Node Multicast Address๋กœ ์ด์šฉํ•œ๋‹ค. ๋ณ€ํ™˜ ๊ณผ์ •์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ Unicast ์ฃผ์†Œ๊ฐ€ FE80::2AA:FF:FE28:9C5A๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, Solicited-Node Multicast Address๋Š” FF02::1:FF28:9C5A๊ฐ€ ๋œ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Ÿฐ Solicited-Node Multicast Address๋Š” ์™œ ํ•„์š”ํ•œ ๊ฒƒ์ผ๊นŒ? ํ˜„์žฌ ๋‚ด IPv6 ์ฃผ์†Œ๋ฅผ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ด์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ DAD๋ฅผ ํ†ตํ•œ ํ™•์ธ์„ ์œ„ํ•ด Destination ์ฃผ์†Œ๋กœ ์ด์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์˜ˆ์ƒํ•œ๋Œ€๋กœ Solicited-Node Mutlicast Address๋Š” IPv4 ์ฃผ์†Œ์—์„œ ARP์˜ ๋Œ€์ฒด๋กœ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค. IPv6 ์ฃผ์†Œ์—์„œ๋Š” ARP๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ๋˜๋ฉฐ, ์ด๋Š” ํ˜„์žฌ์˜ Node ํ˜น์€ Router์—๊ฒŒ ์ธ์ ‘ํ•œ Node ํ˜น์€ Router์˜ Data Link Layer ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. IPv4 ์ฃผ์†Œ์—์„œ์˜ ARP์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, IPv6 Packet์„ Data Link Layer์˜ Frame์œผ๋กœ ์ „๋‹ฌ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ์ธ์ ‘ํ•œ Node์˜ Data Link Layer์˜ ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

10) IPv6 ๊ธฐํƒ€ ๋“ฑ๋“ฑ...

IPv4 ์ฃผ์†Œ์˜ ๊ฒฝ์šฐ ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ์— ๋ถ™์€ ํ•˜๋‚˜์˜ Host๋Š” ํ•˜๋‚˜์˜ IPv4 ์ฃผ์†Œ๋ฅผ ๊ฐ€์กŒ์—ˆ์ง€๋งŒ, IPv6 ์ฃผ์†Œ์˜ ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ Interface์—๋งŒ ์—ฌ๋Ÿฌ IPv6 ์ฃผ์†Œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

Summary for Unicast on Host & Router

[1] IPv6 Host๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Unicast ์ฃผ์†Œ๋“ค์„ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๊ฐ Interface ๋ณ„ Link-Local Address
โ€ข
๊ฐ Interface ๋ณ„ Site-Local Address ๋ฐ ์—ฌ๋Ÿฌ Global Unicast Address
โ€ข
Loopback Interface ๋ณ„ Loopback Address
[2] IPv6 Router๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Unicast ์ฃผ์†Œ๋“ค์„ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๊ฐ Interface ๋ณ„ Link-Local Address
โ€ข
๊ฐ Interface ๋ณ„ Site-Local Address ๋ฐ ์—ฌ๋Ÿฌ Global Unicast Address
โ€ข
Subnet-Router Anycast Address
โ€ข
Loopback Interface ๋ณ„ Loopback Address
์ฆ‰, IPv6 ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜๋Š” Host๋“ค ๋ฐ Router๋“ค์€ IPv4 ์ฃผ์†Œ์™€ ๋‹ฌ๋ฆฌ Packet์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ๊ฐ€ ์ ์–ด๋„ 2๊ฐœ ์ด์ƒ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋ฅผ Logically Multihomed๋ผ๊ณ  ํ•œ๋‹ค. (Local-Link Traffic์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” Link-Local Address, Site-Local Address ํ˜น์€ Global Address์™€ ๊ฐ™์ด Routableํ•œ ์ฃผ์†Œ) ๋˜ํ•œ ๊ฐ Host๋“ค ๋ฐ Router๋“ค์€ ์ด๋ ‡๊ฒŒ 2๊ฐœ์˜ ์ฃผ์†Œ๋กœ Packet์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์„ ๋ฟ ์•„๋‹ˆ๋ผ Multicast Address์— ๋Œ€ํ•ด์„œ๋„ Traffic์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก Listen ํ•˜๊ณ  ์žˆ๋‹ค.

Summary for Multicast on Host & Router

[1] IPv6 Host๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Multicast ์ฃผ์†Œ๋“ค์„ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Interface-Local Scope์˜ ๋ชจ๋“  Node๋“ค์— ๋Œ€ํ•œ Multicast Address (FF01::1)
โ€ข
Link-Local Scope์˜ ๋ชจ๋“  Node๋“ค์— ๋Œ€ํ•œ Multicast Address (FF02::1)
โ€ข
๊ฐ Interface์—์„œ์˜ ๋‹ค๋ฅธ Unicast ์ฃผ์†Œ๋“ค์„ ํ–ฅํ•œ Solicited-Node Multicast Address
โ€ข
๊ฐ Interface๊ฐ€ ์†ํ•œ ๊ทธ๋ฃน์˜ Multicast Address
[2] IPv6 Router๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Multicast ์ฃผ์†Œ๋“ค์„ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Interface-Local Scope์˜ ๋ชจ๋“  Node๋“ค์— ๋Œ€ํ•œ Multicast Address (FF01::1)
โ€ข
Interface-Local Scope์˜ ๋ชจ๋“  Router๋“ค์— ๋Œ€ํ•œ Multicast Address (FF01::2)
โ€ข
Link-Local Scope์˜ ๋ชจ๋“  Node๋“ค์— ๋Œ€ํ•œ Multicast Address (FF02::1)
โ€ข
Link-Local Scope์˜ ๋ชจ๋“  Router๋“ค์— ๋Œ€ํ•œ Multicast Address (FF02::2)
โ€ข
Site-Local Scope์˜ ๋ชจ๋“  Router๋“ค์— ๋Œ€ํ•œ Multicast Address (FF05::2)
โ€ข
๊ฐ Interface์—์„œ์˜ ๋‹ค๋ฅธ Unicast ์ฃผ์†Œ๋“ค์„ ํ–ฅํ•œ Solicited-Node Multicast Address
โ€ข
๊ฐ Interface๊ฐ€ ์†ํ•œ ๊ทธ๋ฃน์˜ Multicast Address

4. Public / Private IP Address

IPv4 ์ฃผ์†Œ ์ฒด๊ณ„๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€, Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ๋กœ ๋‚˜๋ˆ„์–ด์ ธ์žˆ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด IP ์ฃผ์†Œ๋ฅผ Public๊ณผ Private๋กœ ๋‚˜๋ˆˆ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ?
๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋ฐ”๋กœ ํ• ๋‹น ๊ฐ€๋Šฅํ•œ IPv4์ฃผ์†Œ์˜ ๊ณ ๊ฐˆ์ด๋‹ค. IPv4 ์ฃผ์†Œ ์ฒด๊ณ„์—์„œ ์ด๋ก ์ƒ์œผ๋กœ ์•ฝ 43์–ต ๊ฐœ์˜ ๋‹จ๋ง์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ ์  ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž๋„ ๋Š˜์–ด๋‚˜๊ณ  ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ณ„๋“ค์ด ์ ์  ์ƒ๊ฒจ๋‚˜๋ฉด์„œ 43์–ต ๊ฐœ์˜ ์ฃผ์†Œ๊ฐ€ ๋ถ€์กฑํ•œ ์‹œ๋Œ€๊ฐ€ ์™”๋‹ค. ๊ทธ๋ž˜์„œ Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ๋กœ ๋‚˜๋ˆ„์–ด IP ์ฃผ์†Œ๋ฅผ ์ ˆ์•ฝํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์—ˆ๋‹ค.

1) Public IP Address

์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž์˜ Local ๋„คํŠธ์›Œํฌ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ISP(์ธํ„ฐ๋„ท ์„œ๋น„์Šค ๊ณต๊ธ‰์ž)๊ฐ€ ์ œ๊ณตํ•˜๋Š” IP ์ฃผ์†Œ์ด๋‹ค. Public IP ์ฃผ์†Œ๋Š” ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์–ด ์žˆ๋Š” IP ์ฃผ์†Œ์ด๋‹ค.
โ€ข
Public IP ์ฃผ์†Œ๋Š” ์ „ ์„ธ๊ณ„์—์„œ ์œ ์ผํ•œ IP ์ฃผ์†Œ๋ฅผ ๊ฐ–๋Š”๋‹ค.
โ€ข
Public IP ์ฃผ์†Œ๊ฐ€ ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์–ด ์žˆ๊ธฐ์— ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ PC๋กœ๋ถ€ํ„ฐ์˜ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ Public IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐฉํ™”๋ฒฝ ๋“ฑ์˜ ๋ณด์•ˆ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

2) Private IP Address

์ผ๋ฐ˜ ๊ฐ€์ •์ด๋‚˜ ํšŒ์‚ฌ ๋‚ด ๋“ฑ์— ํ• ๋‹น๋œ ๋„คํŠธ์›Œํฌ์˜ IP ์ฃผ์†Œ์ด๋ฉฐ, Local IP, ๊ฐ€์ƒ IP๋ผ๊ณ ๋„ ํ•œ๋‹ค. IPv4 ์ฃผ์†Œ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด Subnetting๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Router์— ์˜ํ•ด Local ๋„คํŠธ์›Œํฌ์ƒ์˜ PC ๋‚˜ ์žฅ์น˜์— ํ• ๋‹น๋œ๋‹ค.
Private IP ์ฃผ์†Œ ๋Œ€์—ญ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
โ€ข
Class A :ย 10.0.0.0 ~ย 10.255.255.255
โ€ข
Class B :ย 172.16.0.0 ~ย 172.31.255.255
โ€ข
Class C :ย 192.168.0.0 ~ย 192.168.255.255
๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋กœ ์•Œ์•„๋ณด์ž.
โ€ข
Public IP ์ฃผ์†Œ๋Š” ์ „ ์„ธ๊ณ„์—์„œ ์œ ์ผํ•œ IP ์ฃผ์†Œ ์ด๋ฏ€๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ํ• ๋‹น๋œ๋‹ค.
โ€ข
Private IP ์ฃผ์†Œ๋Š” ํŠน์ •ํ•œ ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์œ ์ผํ•œ IP ์ฃผ์†Œ์ด๋ฏ€๋กœ ํ•ด๋‹น ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ํ• ๋‹น๋œ๋‹ค. ๋”ฐ๋ผ์„œ Private IP ์ฃผ์†Œ๋Š” ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ƒ์—์„  ๊ฐ™์€ ์ฃผ์†Œ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด๋ ‡๊ฒŒ Private, Public IP ์ฃผ์†Œ๋ฅผ ํ™œ์šฉํ•ด์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜์˜€์„ ๊ฒฝ์šฐ, Public IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ์–ด๋””์„œ๋“  ๋‚˜์˜ ์ฃผ์†Œ๋กœ ์ฐพ์•„์˜ฌ ์ˆ˜ ์žˆ์ง€๋งŒ Private IP ์ฃผ์†Œ๋Š” ํ•ด๋‹น IP ์ฃผ์†Œ๊ฐ€ ํฌํ•จ๋œ ์‚ฌ์„ค๋ง ๋‚ด์—์„œ๋งŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.(์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ์ฐพ์„ ์ˆ˜ ์—†๋‹ค.)
์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์ด ์‚ฌ์„ค๋ง ์—ญ์‹œ Public IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ Host์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์‚ฌ์„ค๋ง์˜ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ Host๋„ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ธํ„ฐ๋„ท์˜ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ ๊ฐ„ Host์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ ๊ฒŒ ๋ฐ”๋กœ NAT์ด๋‹ค.

3) NAT(Network Address Translation)

NAT๋Š” ์ฃผ๋กœ Private IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋ง์—์„œ Public IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋ง์œผ๋กœ์˜ ํ†ต์‹ ์„ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์‚ฌ์„ค๋ง์—์„œ๋Š” Private IP ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ํ†ต์‹ ์„ ํ•˜๊ณ , ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ํ†ต์‹ ํ•  ๋•Œ์—๋Š” NAT๋ฅผ ๊ฑฐ์ณ์„œ Public IP ์ฃผ์†Œ๋กœ ์ž๋™ ๋ณ€ํ™˜๋œ๋‹ค.

NAT๋ž€?

โ€ข
์™ธ๋ถ€์— ๊ณต๊ฐœ๋œ Public IP ์ฃผ์†Œ์™€ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” Private IP ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๋„คํŠธ์›Œํฌ ์ „์†ก ์ˆ˜ํ–‰ ์‹œ ๋‘ IP ์ฃผ์†Œ๋ฅผ ๋งตํ•‘ํ•˜์—ฌ ํ†ต์‹ ์„ ์›ํ™œํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.
โ€ข
๋ณดํ†ต Router ํ˜น์€ ๋ฐฉํ™”๋ฒฝ์— ์„ค์น˜๋˜์–ด ๋™์ž‘ํ•œ๋‹ค.

NAT์˜ ์žฅ์ 

โ€ข
IP ์ฃผ์†Œ ๋ถ€์กฑ ๋ฌธ์ œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๋ณด์•ˆ์„ฑ์ด ์ข‹๋‹ค. (์™ธ๋ถ€์—์„œ ์‚ฌ์„ค๋ง์˜ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.)

NAT์˜ ์ข…๋ฅ˜

[1] Static NAT
Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ๋ฅผ 1 : 1 ๋กœ Mappingํ•˜์—ฌ ๋ณ€ํ™˜ํ•œ๋‹ค.
๊ฐ€์žฅ ์‰ฌ์šด ๋ณ€ํ™˜ ๋ฐฉ์‹์ด์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•  ๊ฒฝ์šฐ Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Public IP ์ฃผ์†Œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์“ฐ๊ณ ์ž ํ•˜๋Š” ๋ชฉ์ ์— ๋งž์ง€ ์•Š๋Š”๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์„ค๋ง์˜ ์—ญํ• ์ด ๋งŽ์•„์„œ Port Forwarding ์ž‘์—…์ด ๋งŽ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์•„์˜ˆ ํ•ด๋‹น ์‚ฌ์„ค๋ง์˜ IP ์ฃผ์†Œ๋ฅผ Public IP ์ฃผ์†Œ๋กœ Mappingํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
[2] Dynamic NAT
Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ๋ฅผ N : N ์œผ๋กœ Mappingํ•˜์—ฌ ๋ณ€ํ™˜ํ•œ๋‹ค.
ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ด์ง€ ์•Š์€ Public IP ์ฃผ์†Œ์— Private IP ์ฃผ์†Œ๋ฅผ ๋™์ ์œผ๋กœ Mappingํ•œ๋‹ค.
๋ณดํ†ต Public IP ์ฃผ์†Œ๊ฐ€ Private IP ์ฃผ์†Œ๋ณด๋‹ค ์ ์„ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค.
[3] NAPT
Public IP ์ฃผ์†Œ์™€ Private IP ์ฃผ์†Œ๋ฅผ 1 : N ์œผ๋กœ ๋งตํ•‘ํ•˜์—ฌ ๋ณ€ํ™˜ํ•œ๋‹ค. ์‚ฌ์„ค๋ง ๋‚ด ๊ฐ Host๋งˆ๋‹ค Port๋ฅผย ์ง€์ •ํ•ด์ฃผ์–ด, Private IP + Port๋ฅผ ํ•˜๋‚˜์˜ Public IP + Port๋กœย Mappingํ•œ๋‹ค.

NAT ๋ฐ NAPT ์˜ ํ†ต์‹  ์›๋ฆฌ

์‚ฌ์„ค๋ง์—์„œ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ๋กœ ํ†ต์‹ ์„ ์‹œ๋„ํ•˜๋ฉด ํ•ด๋‹น Packet์€ ํ•ญ์ƒ Gateway๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋˜์–ด์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ†ต์‹  ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํฌ๊ฒŒ 4๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋œ๋‹ค.
1.
Node 1 โ†’ Gateway
2.
Gateway โ†’ Node 2
3.
Node 2 โ†’ Gateway
4.
Gateway โ†’ Node 1
์•„๋ž˜๋Š” ์ด ๊ณผ์ •์„ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค๋ณธ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ Source IP ์ฃผ์†Œ๋Š” Packet์„ ๋ณด๋‚ด๋Š” ์ฃผ์†Œ, Destination IP ์ฃผ์†Œ๋Š” Packet์ด ๋„์ฐฉํ•˜๋Š” ์ฃผ์†Œ์ด๋‹ค.
Packet์„ Node 1์—์„œ Node 2๋กœ ๋ณด๋‚ด๋Š” ๊ณผ์ •์—๋Š” Gateway๋ฅผ ํ•ญ์ƒ ๊ฑฐ์น˜๊ฒŒ ๋˜๋ฏ€๋กœ ์„œ 1๋ฒˆ ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด, Source IP ์ฃผ์†Œ๋Š” Private IP ์ฃผ์†Œ์ธ 192.168.0.2๋กœ ์ฑ„์›Œ์ ธ์žˆ๊ณ , Destination IP ์ฃผ์†Œ๋Š” Node 2์˜ ์ฃผ์†Œ์ธ 2.2.2.2๋กœ ์ฑ„์›Œ์ ธ ์žˆ๋‹ค. ์ด ๋•Œ Gateway๋Š” Private IP ์ฃผ์†Œ๋กœ ๊ธฐ๋ก๋œ Source IP ์ฃผ์†Œ๋ฅผ ์ž์‹ ์˜ Public IP ์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ” ๋„ฃ๊ฒŒ ๋œ๋‹ค. ์ด๋Š” Node 2๊ฐ€ Packet์„ ํšŒ์‹ ํ•  ๋•Œ Private IP ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋˜๋ฉด Packet์„ ์–ด๋””๋กœ ๋ณด๋‚ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— 2๋ฒˆ ๊ณผ์ •์—์„œ๋Š” Gateway๊ฐ€ ์ž์‹ ์˜ Public IP ์ฃผ์†Œ๋ฅผ Packet์— ๋‹ด๊ฒŒ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
Packet์„ Node 2์—์„œ Node 1์œผ๋กœ ํšŒ์‹ ํ•˜๋Š” ๊ณผ์ •์—๋„ ์†ก์‹ ์˜ ๊ณผ์ •์ฒ˜๋Ÿผ Gateway๋ฅผ ๊ฒฝ์œ ํ•˜๊ฒŒ ๋œ๋‹ค. ์†ก์‹  ๊ณผ์ •์—์„œ Gateway์˜ Public IP ์ฃผ์†Œ๋ฅผ ๋ฐ›์•˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— 3๋ฒˆ ๊ณผ์ •์—์„œ์˜ Destination IP ์ฃผ์†Œ๋Š” ์ด๋ฅผ ๊ทธ๋Œ€๋กœ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด 4๋ฒˆ ๊ณผ์ •์—์„œ Gateway๋Š” ํšŒ์‹ ๋œ Packet์ด Node 1์œผ๋กœ ํ–ฅํ•˜๋Š” ๊ฒƒ์ž„์€ ์–ด๋–ป๊ฒŒ ์•Œ๊ณ , ์ด๋ฅผ ๋˜ ์–ด๋–ป๊ฒŒ Node 1์œผ๋กœ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ผ๊นŒ?
์ด๋Š” 2๋ฒˆ ๊ณผ์ •์—์„œ Gateway๊ฐ€ Source IP ์ฃผ์†Œ๋ฅผ ์ž์‹ ์˜ Public IP ์ฃผ์†Œ๋ฅผ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์— ๋‹ต์ด ์กด์žฌํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋‹จ์ˆœํžˆ Packet์˜ IP ์ฃผ์†Œ๋งŒ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‚ด๋ถ€์ ์œผ๋กœ NAT Table์— ์ด ์ •๋ณด๋“ค์„ ๊ธฐ๋กํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ํšŒ์‹ ๋œ Packet์„ ๋ฐ›๊ฒŒ ๋˜๋ฉด, Table์„ ํ†ตํ•ด ์ ์ ˆํ•œ Private IP ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ์–ด ์‚ฌ์„ค๋ง์˜ Node 1์œผ๋กœ Packet์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.
์ด๋Ÿฐ ๋ฐฉ์‹์˜ ํ†ต์‹ ์„ NAT ํ†ต์‹ ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋Š” ํฐ ๋‹จ์ ์ด ์žˆ๋‹ค. ์™ธ๋ถ€๋กœ Packet์„ ๋ณด๋‚ธ Node์— ๋Œ€ํ•ด์„œ ๊ธฐ๋ก์„ ํ•  ๋•Œ ํ•˜๋‚˜์˜ IP ์ฃผ์†Œ๋งŒ Gateway์˜ Public IP ์ฃผ์†Œ์™€ Binding ๋˜๋ฏ€๋กœ ์‚ฌ์„ค๋ง ๋‚ด์˜ ์—ฌ๋Ÿฌ Node๊ฐ€ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ๋กœ Packet์„ ๋ณด๋ƒˆ์„ ๋•Œ ๋™์ผํ•œ Gateway๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋ฉด ๊ณค๋ž€ํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•˜๊ธฐ ์œ„ํ•ด NAPT ํ†ต์‹ ์„ ์ฃผ๋กœ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค.
NAPT ํ†ต์‹ ์€ ์‚ฌ์„ค๋ง์—์„œ ์ด์šฉ ์ค‘์ธ Node์˜ Private IP ์ฃผ์†Œ๋ฅผ Gateway์˜ Public IP ์ฃผ์†Œ + ์ž„์˜์˜ Port๋กœ Bindingํ•˜์—ฌ Table์— ๊ธฐ๋กํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์„ค๋ง ๋‚ด๋ถ€์˜ ์—ฌ๋Ÿฌ Node๊ฐ€ ๋™์ผํ•œ Gateway๋ฅผ ์ด์šฉํ•˜๋”๋ผ๋„ Packet ํšŒ์‹  ์‹œ์— ์ •์ƒ์ ์œผ๋กœ Node๋“ค์—๊ฒŒ ๋ถ„๋ฐฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” Port๊ฐ€ 65535๊ฐœ์ด๋ฏ€๋กœ ๋™์‹œ์— 65535๊ฐœ ๋งŒํผ์˜ Session์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ํ˜„์žฌ๋Š” NAPT ํ†ต์‹ ์„ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค.

5. Network Layer Protocol

1) IP (Internet Protocol) ์„ค๊ณ„ ๋ชฉ์ 

ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ์ฒ˜๋Ÿผ Packet Switch๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ปดํ“จํ„ฐ ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก Internet Protocol์ด ์„ค๊ณ„๋˜์—ˆ๋‹ค. Internet Protocol์€ Source๋กœ๋ถ€ํ„ฐ Destination๊นŒ์ง€ Datagram์ด๋ผ๊ณ  ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ธ”๋ก๋“ค์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ฒŒ ํ•ด์ค€๋‹ค. (์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” Source์™€ Destination์€ ํŠน์ • ๊ธธ์ด์˜ IP ์ฃผ์†Œ๋กœ ๋ช…์‹œ๋œ Host๋ฅผ ์˜๋ฏธํ•œ๋‹ค.) ์ด ๋•Œ IP๋Š” Network Layer์—์„œ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, Small Packet๋งŒ ์ง€์›ํ•˜๋Š” ๋„คํŠธ์›Œํฌ์—์„œ๋„ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ธด Datagram์— ๋Œ€ํ•ด์„œ Fragment ๋ฐ Reassemble๋ฅผ ์ง€์›ํ•œ๋‹ค.

2) Baisc of IP Operation

IP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 2๊ฐ€์ง€ Function์„ ์‹คํ–‰ํ•œ๋‹ค. ํ•˜๋‚˜๋Š” Addressing์ด๊ณ , ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” Fragmentation์ด๋‹ค.
Internet Module๋“ค์€ IP Header์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ Destination์œผ๋กœ Datagram์„ ์ „์†กํ•˜๋Š”๋ฐ, ์ด ๋•Œ Destination์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์„ Routing์ด๋ผ๊ณ  ํ•œ๋‹ค.
๋˜ํ•œ Internet Module๋“ค์€ IP Header์— ์žˆ๋Š” ๋ช‡ ํ•„๋“œ๋“ค์„ ์ด์šฉํ•˜์—ฌ Datagram์— ๋Œ€ํ•œ Fragment์™€ Reassemble์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.
์ด ๋•Œ ์ค‘์š”ํ•œ ๊ฒƒ์ด IP๋Š” ์„œ๋กœ ๋‹ค๋ฅธ Datagram์— ๋Œ€ํ•ด์„œ ๊ด€๋ จ์„ฑ์ด ์—†๋Š” ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ธ ๊ฐœ์ฒด๋กœ ์ธ์‹ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋ง์€ ์ „์†กํ•˜๋Š” Datagram์„ ๋ฉ”๋ชจ๋ฆฌ์— ์“ฐ์ง€ ์•Š๊ฒ ๋‹ค๋ผ๋Š” ๋ง๋กœ State๋ฅผ ๋‘์ง€ ์•Š์€ ์ฑ„๋กœ ๊ธฐ์–ตํ•˜์ง€ ์•Š๊ฒ ๋‹ค์™€ ๋™์ผํ•œ ์˜๋ฏธ์ด๋ฉฐ, Network Layer์—์„œ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ๋งŒ์„ ์ˆ˜ํ–‰ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ด๋Ÿฐ State์— ๋Œ€ํ•œ ์ •๋ณด๋Š” End-to-End ๋ฐ Fate Sharing์— ๋”ฐ๋ผ End ๋‹จ๋ง์—๋งŒ ๋‘๊ณ , ์™ธ์˜ ๋‹จ๋ง์—์„œ๋Š” Datagram์— ๋Œ€ํ•ด์„œ ๋ณ„๋„์˜ ์ €์žฅ์„ ํ•˜์ง€ ์•Š๊ณ  ๋น ๋ฅด๊ฒŒ๋งŒ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ๋ณด๋ฉด ๋œ๋‹ค. (์‹ค์ œ๋กœ End์™ธ์˜ ๋‹จ๋ง์—์„œ๋Š” ํ†ต๊ณ„์— ๋Œ€ํ•œ ์ •๋ณด ์ •๋„๋Š” ์ €์žฅ์„ ํ•œ๋‹ค.)
์œ„์™€ ๊ฐ™์€ 2๊ฐœ์˜ Function์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ IP๋Š” ์•„๋ž˜์˜ 4๊ฐ€์ง€์˜ ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค.
โ€ข
Type of Service
โ€ข
Time to Live
โ€ข
Options
โ€ข
Header Checksum
(์œ„์˜ 4๊ฐ€์ง€๋ณด๋‹ค๋Š” IP๋Š” Addressing๊ณผ Fragmentation์ด๋ผ๋Š” Function์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•˜์ž.)

3) IPv4 Header Format

Datagram์˜ ๊ตฌ์กฐ

IPv4 ์ฃผ์†Œ ์ฒด๊ณ„์—์„œ Datagram์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ์ด๋‹ค.

Header์˜ ๊ตฌ์กฐ

Datagram ๋‚ด์˜ Header์˜ ๊ตฌ์กฐ๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•œ๋ฐ ๊ทธ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
โ€ข
Version์€ IPv4์ธ์ง€ IPv6์ธ์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค.
โ€ข
HLEN์€ Header Length๋ผ๊ณ  ํ•ด์„œ Header์˜ ๊ธธ์ด๋ฅผ 32 ๋น„ํŠธ ๋‹จ์œ„๋กœ ์ž˜๋ผ์„œ ๋ช‡ ๊ฐœ์˜ Chunk๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. (์œ„ ๊ทธ๋ฆผ์—์„œ Header์˜ ๊ฐ€๋กœ ํญ์€ 32 ๋น„ํŠธ์ด๋ฏ€๋กœ Option์˜ ํฌ๊ธฐ๊ฐ€ 0์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ๊ธฐ๋ณธ์ ์œผ๋กœ Header์— ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š” ์„ธ๋กœ ํญ์€ 5๊ฐœ์ด๋‹ค. ์ฆ‰, ์ด ๋•Œ๋Š” HLEN์ด 5๊ฐ€ ๋˜์–ด HLEN ํ‘œ์‹œ๋ฅผ ์œ„ํ•œ 4 ๋น„ํŠธ ์ค‘ 3 ๋น„ํŠธ๋ฅผ ์ด์šฉํ•ด 101์ด ํ‘œ๊ธฐ๋œ๋‹ค. ๋˜ํ•œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จํ•ด์•ผ ํ•˜๋Š” ์„ธ๋กœ ํญ์ด 5๊ฐœ๋ผ๊ณ  ํ–ˆ๊ณ  ๊ฐ€๋กœ ํญ์˜ ๊ธธ์ด๋Š” 4 ๋ฐ”์ดํŠธ (32 ๋น„ํŠธ)์ด๋ฏ€๋กœ Header์˜ ๊ธธ์ด๋Š” ์ตœ์†Œ 20 ๋ฐ”์ดํŠธ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Option์˜ ํฌ๊ธฐ๋Š” ์ตœ๋Œ€ 40 ๋ฐ”์ดํŠธ๊นŒ์ง€ ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Header์˜ ์ตœ์†Œ ํฌ๊ธฐ 20 ๋ฐ”์ดํŠธ์— Option์˜ ์ตœ๋Œ€ ํฌ๊ธฐ 40 ๋ฐ”์ดํŠธ๋ฅผ ํ•ฉํ•˜์—ฌ 60 ๋ฐ”์ดํŠธ๊นŒ์ง€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋ฉฐ, ์ด 60 ๋ฐ”์ดํŠธ๋ฅผ HLEN์— ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด์„  4 ๋ฐ”์ดํŠธ Chunk๋กœ ๋Š์—ˆ์„ ๋•Œ 4 ๋น„ํŠธ (24=162^4 = 16๊ฐœ) ๋‚ด๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ HLEN์€ 4 ๋น„ํŠธ๋กœ ํ‘œ๊ธฐํ•˜๋„๋ก ํ•ด๋†“์€ ๊ฒƒ์ด๋‹ค.)
โ€ข
Total Length๋Š” Header๋ฅผ ํฌํ•จํ•œ Datagram์˜ ์ด ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
โ€ข
Protocol ํ•„๋“œ๋Š” Datagram์˜ ๋ฐ์ดํ„ฐ์— ์‚ฌ์šฉ๋˜๋Š” ์ƒ์œ„ ๊ณ„์ธต์˜ Protocol์„ ๋ช…์‹œํ•˜๋Š” ํ•„๋“œ์ด๋‹ค. ๋‹ค์–‘ํ•œ Protocol์— ๋Œ€ํ•œ ๊ฐ’๋“ค์€ ํŠน์ • ๊ฐ’์œผ๋กœ ๋ฏธ๋ฆฌ ์ •ํ•ด์ ธ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์–ด๋–ค Protocol์ด Packet์— ๋‹ด๊ฒจ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Time to Live์˜ ๊ฒฝ์šฐ Datagram์˜ ์ˆ˜๋ช…์— ๋Œ€ํ•œ ์ƒํ•œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. (TTL ํ•œ๊ณ„์น˜๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด Packet์€ ์Šค์Šค๋กœ ์†Œ๋ฉธํ•œ๋‹ค.) TTL์˜ ๊ฒฝ์šฐ Router์— ๋„๋‹ฌํ•  ๋•Œ๋งˆ๋‹ค 1์”ฉ ๊ฐ์†Œํ•˜๋ฉฐ IP Packet์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. (๋งŒ์ผ TTL์ด 0์ธ ์ƒํƒœ๋กœ Router์— ๋„๋‹ฌํ•˜๋ฉด, ํ•ด๋‹น Packet์„ ๋ฒ„๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์ด๋ง์€ Router๋Š” TTL์ด 0์ธ Packet์€ ๋ฐ›์ง€ ์•Š๊ฒ ๋‹ค๋Š” ๊ณตํ†ต์ ์ธ ์•ฝ์†์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ž์‹ ์ด ์†ํ•œ Link์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์€ ์ฑ„๋กœ Packet์„ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด, TTL์„ 1๋กœ ์ฃผ๋ฉด Router ๋„์ฐฉ ์‹œ 0์ด ๋˜์–ด Router ๋ฐ”๊นฅ์„ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋Š” ์‹์œผ๋กœ ํ†ต์‹ ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.) TTL์˜ ์กด์žฌ ๋ชฉ์ ์€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋™์•ˆ ๋„คํŠธ์›Œํฌ์—์„œ ๋– ๋ˆ Packet์— ๋Œ€ํ•ด์„œ Router๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. Packet์€ ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•œ ์ด์œ ๋กœ ์ •ํ•ด์ง„ ๋ชฉ์ ์ง€์— ์ œ์‹œ๊ฐ„์— ๋„๋‹ฌํ•˜์ง€ ๋ชป ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํŠนํžˆ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์ •๋ณด๋กœ Routing Table์„ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋œ ๊ฒฝ์šฐ Packet์€ ์˜์›ํžˆ Cycle์„ ๋Œ๋ฉด์„œ ๋„คํŠธ์›Œํฌ ์ž์›์„ ์†Œ๋ชจํ•˜๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด TTL์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
โ€ข
Identification ๋ฐ Flag, Fragmentation Offset์€ Fragmentation์—์„œ ์ด์šฉ๋œ๋‹ค.
โ€ข
Option ํ•„๋“œ๋Š” ์ด๋ฆ„์—์„œ ์•”์‹œํ•˜๋“ฏ Datagram์—์„œ ํ•„์ˆ˜ ์‚ฌํ•ญ์€ ์•„๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋Š” ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ Testing, Debugging์— ์ด์šฉ๋œ๋‹ค. NOP ํ˜น์€ END-OF-LIST๋ผ๋Š” Option์„ ์ œ์™ธํ•˜๊ณ ๋Š” Datagram์—์„œ ์ˆ˜์‹ ํ•œ ๋ชจ๋“  Option๋“ค์€ ๋ฐ˜๋“œ์‹œ Transport Layer๋กœ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ, Source Route์— ๋Œ€ํ•œ Option์ด ์ „์†ก๋˜์–ด์•ผ ํ•œ๋‹ค. Source Route์˜ ํƒ€์ž…์—๋Š” Strict Source Routing (๋ฐ˜๋“œ์‹œ ์ •ํ•ด์ง„ ๊ฒฝ๋กœ๋กœ๋งŒ ๊ฐ€์•ผํ•˜๋Š”), Loose Source Routing (์ •ํ•ด์ง„ ๊ฒฝ๋กœ์—์„œ ์กฐ๊ธˆ ๋‹ฌ๋ผ์ ธ๋„ ๋˜๋Š”)๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ „์ž์˜ ๊ฒฝ์šฐ ์†ก์‹  ์ธก์—์„œ Datagram์ด ๊ฐ€์•ผํ•˜๋Š” ์ •ํ™•ํ•œ ๊ฒฝ๋กœ๋ฅผ ๋ช…์‹œํ•œ๋‹ค. ๋งŒ์ผ Source Route์— ๋ช…์‹œ๋œ Router๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด, ICMP๊ฐ€ source router failed๋ผ๋Š” Error๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ํ›„์ž์˜ ๊ฒฝ์šฐ๋Š” ์†ก์‹  ์ธก์—์„œ Datagram์ด ์ง€๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ช…์‹œํ•œ๋‹ค. ์ด ๋•Œ ๊ผญ ์ด ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ฃผ์†Œ์˜ Router๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ Error๋ฅผ ๋‚ด์ง€ ์•Š๊ณ  ๊ฒฝ์œ ํ•ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
๊ฐ„๋‹จํžˆ ์ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์ƒ๊ฐํ•ด๋ณด์ž. IP Packet์—์„œ HLEN์ด 8๋กœ ์ฃผ์–ด์กŒ๊ณ  (4 ๋น„ํŠธ๊ฐ€ 1000์œผ๋กœ ๋‚˜ํƒ€๋‚จ) ์ด ๋•Œ Packet ๋‚ด์˜ Option์˜ ํฌ๊ธฐ๋Š” ๋ช‡ ๋ฐ”์ดํŠธ์ธ๊ฐ€?
์ •๋‹ต

4) IP Function : Addressing

Node์— ๋Œ€ํ•œ ๊ตฌ๋ณ„์˜ 3์š”์†Œ๋Š” Names, Addresss, Routes์ด๋‹ค.
Name์€ ์šฐ๋ฆฌ๊ฐ€ ์ฐพ๊ณ ์ž ํ•˜๋Š” ์‹๋ณ„ ๋Œ€์ƒ์ด๊ณ , Address๋Š” ์‹๋ณ„ ๋Œ€์ƒ์˜ ์œ„์น˜๋ฅผ ๋งํ•˜๋ฉฐ, Route๋Š” ์–ด๋–ป๊ฒŒ ๊ทธ ์œ„์น˜๊นŒ์ง€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ด๋‹ค.
IP๋Š” 3๊ฐ€์ง€๋ฅผ ๋‹ค ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ๋„๋ก Addressing์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.

5) IP Function : Fragmentation

Fragmentation์€ Datagram์— ๋Œ€ํ•ด์„œ Datagram์ด ์ƒ์„ฑ๋œ ๊ณณ์—์„œ ํ—ˆ์šฉํ•œ Packet ํฌ๊ธฐ๋ณด๋‹ค Datagram์ด ํ–ฅํ•ด ๊ฐ€๋Š” Destination์—์„œ ํ—ˆ์šฉํ•œ Packet์˜ ํฌ๊ธฐ๊ฐ€ ๋” ์ž‘์€ ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. Fragmentation์€ ํ•„์ˆ˜ ์‚ฌํ•ญ์€ ์•„๋‹ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, Fragmentation์„ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ง๋ผ๊ณ  Packet์— ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

MTU

Fragmentation์˜ ๋‹จ์œ„๋Š” MTU๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. MTU๋ž€ Maximum Transmit Unit์˜ ์•ฝ์–ด๋กœ, ๋„คํŠธ์›Œํฌ Interface์—์„œ ๋ถ„ํ• ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” Datagram์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. (์•„๋ž˜ ๊ทธ๋ฆผ์„ ์ฐธ๊ณ )
1๋ฒˆ Index์— ํ•ด๋‹นํ•˜๋Š” MTU๊ฐ€ ๊ต‰์žฅํžˆ ํฐ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์€ Loopback์ด๋ผ์„œ (์ž์‹ ์„ ํ–ฅํ•œ ๊ฒƒ์ด๋ผ) ๊ทธ๋ ‡๋‹ค.
๋งŒ์ผ Datagram์„ Data Link Layer๋กœ ๋„˜๊ธฐ๋Š” ๊ณผ์ •์—์„œ Frameํ™”๋ฅผ ํ•ด์•ผํ•  ๋•Œ, MTU ๋‹จ์œ„๋กœ ๋Š์–ด์„œ Frameํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. (์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ๊ณ )

Fragmentation์„ ์ด์šฉํ•˜๋Š” Header ๊ตฌ์กฐ

IPv4 Header Format์—์„œ ๋ฐํžŒ ๊ฒƒ์ฒ˜๋Ÿผ Header์—๋Š” Fragmentation์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค. Identification, Flag, Fragmentation Offset ํ•„๋“œ๋“ค์ด ์ด์— ํ•ด๋‹นํ•œ๋‹ค.
Identification์€ ์„œ๋กœ ๋‹ค๋ฅธ Datagram์ด ์„ž์ด์ง€ ์•Š๋„๋ก ์†ก์‹  ์ธก์—์„œ ์ž‘์„ฑํ•˜์—ฌ ์ •์ฒด์„ฑ์„ ๋ณด์žฅํ•ด์ค€๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ˆ˜์‹  ์ธก์—์„œ๋Š” Datagram์ด ์„ž์ด์ง€ ์•Š๋„๋ก ํŽธํ•˜๊ฒŒ Assembling์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
Flag์˜ ๊ฒฝ์šฐ 3 ๋น„ํŠธ๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ ๋น„ํŠธ๋Š” ํ™œ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋‘ ๋ฒˆ์งธ ๋น„ํŠธ๋Š” Do Not Fragment๋กœ Fragmentation์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์„ ๋•Œ 1๋กœ ํ‘œ๊ธฐํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ๋น„ํŠธ๋Š” More ๋น„ํŠธ๋กœ ํ›„์— ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐ›์•„์•ผํ•˜๋Š” Fragment๊ฐ€ ์žˆ๋‹ค๋ฉด 1๋กœ ํ‘œ๊ธฐ ๋˜๊ณ , ์ž์‹ ์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋” ๋ฐ›์„ Fragment๊ฐ€ ์—†๋‹ค๋ฉด 0์œผ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.
Fragmentation Offset์€ ํ˜„์žฌ Fragment๊ฐ€ Datagram์˜ ์–ด๋Š ๋ถ€๋ถ„์— ์†ํ•˜๋Š”์ง€๋ฅผ ์˜๋ฏธํ•œ๋‹ค. Fragmentation Offset๊ณผ Total Length๋ฅผ ํ†ตํ•ด์„œ ์›๋ž˜์˜ Datagram์—์„œ ์–ด๋Š ๋ถ€๋ถ„์— ์†ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ Datagram์˜ ํฌ๊ธฐ๋Š” Header๋ฅผ ํฌํ•จํ•˜์—ฌ 2162^{16} ๋ฐ”์ดํŠธ๋กœ 6553565535 ๋ฐ”์ดํŠธ๋งŒํผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋Š” ๊ณง 216โˆ—232^{16} * 2^3 ๋น„ํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Fragmentation Offset์€ 13 ๋น„ํŠธ๋งŒ ์ฃผ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 2132^{13} ๋น„ํŠธ๋งŒํผ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ € ๋งŽ์€ ํฌ๊ธฐ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Fragmentation Offset์€ ๋ฐ”์ดํŠธ ๋‹จ์œ„์˜ ํ‘œํ˜„์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 216โˆ—232^{16} * 2^3์—์„œ์˜ 232^3 ๋ถ€๋ถ„์€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ ๋‚จ์€ ๊ฒƒ์€ 13 ๋น„ํŠธ๋ฅผ ํ†ตํ•ด์„œ 2162^{16}์„ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•  ๊ฒƒ์ด๋ƒ์ธ๋ฐ, Fragmentation Offset์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 8๊ฐœ์˜ Octet์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ณธ๋‹ค. ๋”ฐ๋ผ์„œ 2162^{16}์„ 2132^{13}๊นŒ์ง€ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ , ์ด๋Š” 13 ๋น„ํŠธ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค. ์ดํ•ดํ•˜๋ฉด ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์กฐ๊ธˆ์€ ๋ฐ›์•„๋“ค์ด๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด์ž.
์ขŒ์ธก๊ณผ ๊ฐ™์ด ์ด 4000 ๋ฐ”์ดํŠธ ๊ธธ์ด์˜ Datagram์ด ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž. ์ด ๋•Œ Total Length๋Š” Datagram ํฌ๊ธฐ 4000์— Header ํฌ๊ธฐ 20์„ ๋”ํ•ด 4020์œผ๋กœ ๊ธฐ๋ก๋œ๋‹ค. ํ˜„์žฌ๋Š” Fragmentation์ด ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— Flag ํ•„๋“œ์˜ More ๋น„ํŠธ๋Š” 0์ด๊ณ , Fragmentation Offset ๋„ 000์ธ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ MTU๊ฐ€ 1400 ๋ฐ”์ดํŠธ๋ผ๊ณ  ํ•˜์—ฌ ์›๋ณธ Datagram 4000 ๋ฐ”์ดํŠธ๊ฐ€ ๊ฐ๊ฐ 1400, 1400, 1200์œผ๋กœ ์ชผ๊ฐœ์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.
์ฒซ ๋ฒˆ์งธ Fragment์˜ Total Length๋Š” 1400 ๋ฐ”์ดํŠธ + Header ํฌ๊ธฐ 20 ๋ฐ”์ดํŠธ๋กœ 1420์ด๋˜๊ณ , ๋’ค์— ์•„์ง 2๊ฐœ์˜ Fragment๊ฐ€ ๋‚จ์•˜๊ธฐ ๋•Œ๋ฌธ์— Flag ํ•„๋“œ์˜ More ๋น„ํŠธ๊ฐ€ 1์ด ๋œ๋‹ค. ๋˜ํ•œ ์ฒซ Fragment์ด๋ฏ€๋กœ Fragmentation Offset๋„ 0์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‘ ๋ฒˆ์งธ Fragment์˜ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ Fragment์ฒ˜๋Ÿผ Flag์˜ More ๋น„ํŠธ๊ฐ€ 1, Total Length๊ฐ€ 1420์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ Fragmentation Offset์€ ํฌ๊ธฐ ๋ฐ”์ดํŠธ์— ๋Œ€ํ•ด์„œ 8๊ฐœ์˜ Octet์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ๋ฒˆ์งธ Fragment์˜ ํฌ๊ธฐ 1400 ๋ฐ”์ดํŠธ์— 8 ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•œ๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ 8๋กœ ๋‚˜๋ˆ„์–ด 175๋กœ ํ‘œ๊ธฐํ•˜๊ฒŒ ๋œ๋‹ค.
์„ธ ๋ฒˆ์งธ Fragment์˜ ๊ฒฝ์šฐ ํฌ๊ธฐ๊ฐ€ 1200 ๋ฐ”์ดํŠธ๋ฏ€๋กœ Header ํฌ๊ธฐ๋ฅผ ๋”ํ•˜์—ฌ Total Length๋Š” 1220์ด ๋˜๊ณ , ๋งˆ์ง€๋ง‰ Fragment์ด๋ฏ€๋กœ Flag์˜ More ๋น„ํŠธ๊ฐ€ 0์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Fragmentation Offset์— ๋Œ€ํ•ด์„œ๋Š” ๋‘ ๋ฒˆ์งธ Fragment์˜ ํฌ๊ธฐ๊ฐ€ 1400 ๋ฐ”์ดํŠธ์˜€์œผ๋ฏ€๋กœ 8๋กœ ๋‚˜๋ˆ„์–ด (8 ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๋ฏ€๋กœ) ๋‚˜์˜จ 175๋ฅผ ๋‘ ๋ฒˆ์งธ Fragmentation Offset์ธ 175์— ๋”ํ•˜์—ฌ 350์ด ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
์ถ”๊ฐ€์ ์œผ๋กœ ๋งŒ์ผ ๋‘ ๋ฒˆ์งธ Fragment์— ๋Œ€ํ•ด์„œ MTU 800์œผ๋กœ ์ชผ๊ฐ ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์—ฌ ๋” ์ชผ๊ฐœ๋ณด์ž. 2.1 Fragment์˜ Total Length๋Š” Header ํฌ๊ธฐ๋ฅผ ๋”ํ•˜์—ฌ 820, Flag์˜ More ๋น„ํŠธ๋Š” (์•„์ง ๋ Fragment๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ) 1์ด ๋œ๋‹ค. Fragmentation Offset์€ ์ฒซ ๋ฒˆ์งธ Fragment์˜ ํฌ๊ธฐ๊ฐ€ 1400์ด์—ˆ์œผ๋ฏ€๋กœ 8๋กœ ๋‚˜๋ˆ„์–ด 175์ธ ์ƒํƒœ์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 2.2 Fragment์˜ ๊ฒฝ์šฐ ๋‘ ๋ฒˆ์งธ Fragment์˜ ํฌ๊ธฐ 1400์—์„œ 2.1 Fragment์˜ ํฌ๊ธฐ 800์„ ๋บ€ 600 ๋ฐ”์ดํŠธ์ด๊ณ , Header ํฌ๊ธฐ๋ฅผ ๋”ํ•˜์—ฌ Total Length๋Š” 620์ด ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ธ ๋ฒˆ์งธ Fragment๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Flag์˜ More ๋น„ํŠธ๋„ 1์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Offset์˜ ๊ฒฝ์šฐ 2.1 Fragment์˜ Fragmentation Offsest 175์— 2.1 Fragment์˜ ํฌ๊ธฐ 800 ๋ฐ”์ดํŠธ๋ฅผ 8๋กœ ๋‚˜๋ˆˆ 100์„ ๋”ํ•˜์—ฌ 275๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๋‹ค์Œ ์งˆ๋ฌธ์— ๋‹ตํ•ด๋ณด์ž. Packet์ด ๋„์ฐฉํ•˜์—ฌ ํ™•์ธํ•ด๋ณด๋‹ˆ Fragmentation Offset์ด 100์ž„์„ ํ™•์ธํ–ˆ๋‹ค. ์ด ๋•Œ HLEN์€ 5์˜€๊ณ , Total Length๋Š” 100์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ์ด Fragment์˜ ์‹œ์ž‘ Byte์™€ ๋ Byte๋Š” ๋ช‡์ด ๋ ๊นŒ?
์ •๋‹ต

6) IPv4 Header Checksum

Checksum์ด๋ผ๋Š” ๊ฒƒ์€ TCP/IP ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” Error Detection ๋ฐฉ๋ฒ• ์ค‘์— ํ•˜๋‚˜์ด๋‹ค. Error์— ๋Œ€ํ•ด์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Packet ์ „์†ก ์ค‘์— ๋ง๊ฐ€์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ Protection์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
Checksum์€ ์†ก์‹  ์ธก์—์„œ ๊ณ„์‚ฐํ•˜์—ฌ Packet์— ๋„ฃ๊ฒŒ๋˜๊ณ , ์ˆ˜์‹  ์ธก์—์„œ๋Š” ์†ก์‹  ์ธก์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ชจ๋“  Packet์— ๋Œ€ํ•ด Packet์— ๊ธฐ์ž…๋œ Checksum์„ ์ด์šฉํ•˜์—ฌ ๋™์ผํ•œ ๊ณ„์‚ฐ์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋งŒ์ผ Checksum ํ™•์ธ์—์„œ ๋ฌธ์ œ๊ฐ€ ์—†์ด ๋‹ค ํ†ต๊ณผ๊ฐ€ ๋œ๋‹ค๋ฉด ์ˆ˜์‹  ์ธก์—์„œ Packet์„ ๋ฐ›๊ฒŒ๋œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด Packet์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.
Header Checksum์€ ์˜ค๋กœ์ง€ Header์— ๋Œ€ํ•ด์„œ๋งŒ ๊ฒ€์ฆํ•œ๋‹ค. ๋งŒ์ผ Header์˜ ํŠน์ • ํ•„๋“œ์˜ ๊ฐ’์ด ๋ณ€ํ–ˆ์„ ๊ฒฝ์šฐ (๋Œ€ํ‘œ์ ์œผ๋กœ TTL๊ณผ ๊ฐ™์€...), Header๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฐ ์ง€์ ์—์„œ ๋‹ค์‹œ ๊ณ„์‚ฐ๋˜์–ด ๊ฒ€์ฆ๋œ๋‹ค.
๊ฐ Header์—์„œ 16 ๋น„ํŠธ์”ฉ ๋Š์–ด์„œ ๋‚˜์˜จ ๊ฐ’๋“ค์„ ๋ชจ๋‘ ๋”ํ•˜์—ฌ (๋ง์…ˆ ์‹œ 1์˜ ๋ณด์ˆ˜๋กœ ๋”ํ•จ) ๋‚˜์˜จ ๊ฐ’์„ Negate (๋น„ํŠธ๋“ค์„ ๋ชจ๋‘ Flip)ํ•œ ๊ฐ’์ด Checksum ํ•„๋“œ์— ๊ธฐ์žฌ๋œ๋‹ค. ์ด ๋•Œ 16 ๋น„ํŠธ์”ฉ ๋Š์–ด์„œ ์‚ฌ์šฉํ•  ๋•Œ Checksum์˜ ๊ฐ’๋„ ๊ณ„์‚ฐ์— ๊ธฐ์—ฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ดˆ๊ธฐ Checksum์˜ ๊ฐ’์€ 0์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ง์…ˆ ์‹œ 1์˜ ๋ณด์ˆ˜๋กœ ๋”ํ•œ๋‹ค๊ณ  ํ•œ ๊ฒƒ์€ Carry ๋ฐœ์ƒ ์‹œ Carry๋ฅผ ๋”ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. (2์˜ ๋ณด์ˆ˜ ๋ง์…ˆ ์‹œ์—๋Š” Carry ๋ฐœ์ƒ ์‹œ Carry๋ฅผ ๋ฒ„๋ฆฐ๋‹ค.) ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด์ž.
์œ„์™€ ๊ฐ™์ด ๊ณ„์‚ฐ๋œ Checksum์ด Packet์— ๋‹ด๊ธฐ๊ฒŒ ๋˜๋ฉด ์ˆ˜์‹  ์ธก์—์„œ๋Š” ๋ชจ๋“  Header์˜ ๋‚ด์šฉ๋“ค์„ ์†ก์‹  ์ธก์—์„œ Checksum์„ ๊ณ„์‚ฐํ–ˆ์„ ๋•Œ ์ฒ˜๋Ÿผ 16 ๋น„ํŠธ์”ฉ ๋Š์–ด์„œ ๋ชจ๋‘ ๋”ํ•ด๋ณด๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ ๋งŒ์ผ Header์— ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด, ๊ฒฐ๊ณผ๋Š” FFFF๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜๊ณ  Negate ์‹œ์— 0000์ด ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋˜์–ด ์ˆ˜์‹  ์ธก์—์„œ๋Š” ์†ก์‹ ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ Packet์˜ Header์— ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. (์•„๋ž˜ ๊ทธ๋ฆผ์„ ์ฐธ๊ณ )

7) Requirements for Internet Host (RFC1122)

Network Layer์—์„œ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  Host์˜ ์†Œํ”„ํŠธ์›จ์–ด์—๋Š” IP์™€ ICMP (RFC792)๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
Host์—์„œ ๋™์ž‘ํ•˜๋Š” IP๋Š” ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ 2๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์ฒซ ์งธ๋กœ๋Š” Datagram์ด ๋ณด๋‚ด์งˆ ์ˆ˜ ์žˆ๋„๋ก Next Hopํ•  Gateway ํ˜น์€ Host๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” Addressing, ๋‘˜ ์งธ๋กœ๋Š” Datagram์— ๋Œ€ํ•œ Fragmentation ๋ฐ Reassembling์ด๋‹ค.
ICMP๋Š” Network Layer๊ฐ€ ์ •์ƒ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•œ์ง€ ์ง„๋‹จํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ์œ„์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋“ค์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์ด์ง€๋งŒ ์š”์•ฝํ•˜์—ฌ ์ •๋ฆฌํ•ด๋ณด์ž.

Datagram์„ ๋ฐ›๋Š” ์ž…์žฅ์—์„œ...

1.
Datagram์ด ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
2.
ํ˜„์žฌ Local Host๋ฅผ ํ–ฅํ•ด์„œ ์˜จ ๊ฒƒ์ด ๋งž๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. (Destination์ด ๋‚˜์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ธ๋ฐ ์•„๋ž˜ ๊ธฐ์ค€ ์ค‘์— ํ•˜๋‚˜๋ผ๋„ ๋งŒ์กฑํ•˜๋ฉด ๋œ๋‹ค.)
โ€ข
Host์˜ IP ์ฃผ์†Œ์— ํ•ด๋‹นํ•  ๋•Œ
โ€ข
์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ์— ์œ ํšจํ•œ IP Broadcast ์ฃผ์†Œ์ผ ๋•Œ
โ€ข
Host๊ฐ€ ์ˆ˜์‹ ํ•˜๋Š” Physical Interface๊ฐ€ Multicast ๊ทธ๋ฃน์— ์†ํ•˜๊ณ , ํ•ด๋‹น Multicast ์ฃผ์†Œ๊ฐ€ ์ด์šฉ ๋˜์—ˆ์„ ๋•Œ
3.
Packet์— ๋ช…์‹œ๋œ Option์— ๋Œ€ํ•ด ์ฒ˜๋ฆฌํ•œ๋‹ค.
4.
ํ•„์š”ํ•˜๋‹ค๋ฉด Datagram์„ Reassembleํ•œ๋‹ค.
5.
Capsuleํ™”๋œ ๋ฉ”์„ธ์ง€๋ฅผ ์ ์ ˆํ•œ Transport Layer Protocol ๋ชจ๋“ˆ์—๊ฒŒ ๋„˜๊ฒจ์ค€๋‹ค.

Datagram์„ ๋ณด๋‚ด๋Š” ์ž…์žฅ์—์„œ...

1.
Transport Layer์—์„œ ์„ค์ •๋˜์ง€ ์•Š์€ ํ•„๋“œ๋“ค์— ๋Œ€ํ•ด์„œ ์„ค์ •ํ•œ๋‹ค.
2.
์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ€์žฅ ๋จผ์ € Hop ํ•ด์•ผํ•  ์˜ฌ๋ฐ”๋ฅธ ์ง€์ ์„ ๊ณ ๋ฅธ๋‹ค.
3.
ํ•„์š”ํ•˜๋‹ค๋ฉด Datagram์„ Fragment๋กœ ๋‚˜๋ˆˆ๋‹ค.
4.
Packet์„ ์˜ฌ๋ฐ”๋ฅธ Data Link Layer์˜ Driver๋กœ ๋ณด๋‚ธ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ...

RFC1122์—๋Š” ์œ„ ๋‚ด์šฉ ์™ธ์—๋„ IP ํ†ต์‹ ์„ ์œ„ํ•ด Routing Outbound Datagrams (Route Cache ํ•„์š”์„ฑ, Default Gateway๋“ค์ด ๋ช…์‹œ๋œ ๋ฆฌ์ŠคํŠธ ํ•„์š”์„ฑ), Forwarding Outbound Datagrams (Local / Remote Decision์— ๋Œ€ํ•œ Rule์˜ ํ•„์š”์„ฑ, Gateway Selection์— ๋Œ€ํ•œ Rule์˜ ํ•„์š”์„ฑ), Dead Gateway Detection, New Gateway Selection, Host Initialization, ARP Cache Validation, ARP Packet Queue ๋“ฑ์ด ๋งŒ์กฑ๋˜์–ด์•ผ ํ•œ๋‹ค.

8) IPv4 Packet Forwarding

Forwarding ์šฉ์–ด ๊ตฌ๋ถ„

[1] Forwarding
Forwarding Table์„ ์ด์šฉํ•˜์—ฌ Packet ํ˜น์€ Frame์˜ ํšจ์œจ์ ์ธ ์ „์†ก์„ ์ง€์นญํ•œ๋‹ค.
[2] Routing Algorithm
Source์™€ Destination ์‚ฌ์ด์—์„œ ์„ ํƒํ•ด์•ผํ•  ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ทœ์น™๋“ค์˜ ์ง‘ํ•ฉ์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Forwarding Table์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
[3] Routing Protocol
ํŠน์ • Routing Algorithm์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”์„ธ์ง€ ๊ตํ™˜์— ๋Œ€ํ•œ ๋‹จ๊ณ„๋“ค์„ ์ •์˜ ํ•ด๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

Packet Forwarding?

IP๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” LAN ๊ธฐ์ˆ  (Ethernet ํ˜น์€ 802.3 ๋“ฑ) ์— ๊ธฐ๋ฐ˜ํ•œ Forwarding ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฐ Packet Forwarding ๋ฐฉ์‹์—๋Š” 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
[1] Direct Packet Forwarding
1.
B๊ฐ€ Packet์„ A์—๊ฒŒ ๋ณด๋‚ด๊ณ  ์‹ถ์€ ์ƒํ™ฉ์ด๋‹ค.
2.
B๋Š” ์ž์‹ ์˜ IP ์ฃผ์†Œ์™€ Destination IP ์ฃผ์†Œ์ธ A์˜ IP ์ฃผ์†Œ๋ฅผ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Mask ๊ณ„์‚ฐ์„ ํ†ตํ•ด ๋™์ผํ•œ Subnet์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
3. B๋Š” Forwarding Table์„ ํ†ตํ•ด์„œ A์— Packet์ด ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก Packet์„ ๋ณด๋‚ด์•ผํ•˜๋Š” Next Hop์˜ ์‹ค์ œ ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๋‚ธ๋‹ค.
4. Ethernet ๋“ฑ์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด B๋Š” Network Layer์—์„œ Data Link Layer๋กœ Packet์„ ํ˜๋ ค๋ณด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Next Hop ๋‹จ๋ง๋กœ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ํ˜„์žฌ ๊ฒฝ์šฐ์—๋Š” Next Hop์œผ๋กœ ๋ฐ”๋กœ A์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ด๋‹ค.
์ฃผํ™ฉ์ƒ‰ ๋ถ€๋ถ„์ด Frame์— ํ•ด๋‹นํ•˜๋Š” SRC ๋‹จ๋ง ์ฃผ์†Œ, DST ๋‹จ๋ง ์ฃผ์†Œ๊ฐ€ ๊ธฐ๋ก ๋˜๋ฉฐ ํŒŒ๋ž€ ๋ถ€๋ถ„์ด Packet์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ๊ทธ ์•„๋ž˜์— ๋ณด๋ฉด Header์™€ Payload (Datagram์„ ์˜๋ฏธ)๋กœ ๋‚˜๋‰˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
[2] Indirect Packet Forwarding
1.
B๋Š” IP Packet์„ D๋ผ๋Š” Host์—๊ฒŒ ๋ณด๋‚ด๊ณ  ์‹ถ์€ ์ƒํ™ฉ์ด๋‹ค.
2.
B๋Š” ์ž์‹ ์˜ IP ์ฃผ์†Œ์™€ Destination IP ์ฃผ์†Œ์ธ D์˜ IP ์ฃผ์†Œ๋ฅผ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Mask ๊ณ„์‚ฐ์„ ํ†ตํ•ด ๋™์ผํ•œ Subnet์— ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
3.
๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ ๊นŒ์ง€ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก Router์—๊ฒŒ ํ•ด๋‹น Packet์„ ๋ณด๋‚ด๊ฒŒ ๋˜๊ณ , D์— ํ•ด๋‹นํ•˜๋Š” Network๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ Indirect Packet Forwarding์„ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค. ๋งŒ์ผ D์— ํ•ด๋‹นํ•˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์ฐพ๊ฒŒ ๋˜๋ฉด Direct Packet Forwarding์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.
ํ•œ ๋ฒˆ์— Packet Forwarding์„ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— Router๋กœ Forwarding ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Frame์— ์“ฐ์—ฌ์ง„ ์ฃผ์†Œ์™€๋Š” ๋‹ฌ๋ฆฌ Packet์—๋Š” ์—ฌ์ „ํžˆ Source B, Destination D๊ฐ€ ์ ํ˜€์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Forwarding Table Lookup Rule

์ด ๋•Œ Packet์„ Forwarding ํ•  ๊ณณ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ Forwading Table์„ Lookup ํ•˜๋Š” Rule์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.
๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ๊ฐ€์žฅ ๊ธด Network Prefix์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์‚ฌ์šฉํ•ด์„œ Matching์ด ๋˜๋Š”์ง€ ์•Œ์•„๋ณธ๋‹ค. ์ด๋ฅผ Logest Prefix Matching์ด๋ผ๊ณ  ํ•œ๋‹ค.
์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
[1] Full Matching์ด ๋œ ๊ฒฝ์šฐ (Host๋ฅผ ๋ฐ”๋กœ ์ฐพ์€ ๊ฒƒ์œผ๋กœ Direct Forwarding์„ ์‚ฌ์šฉํ•œ๋‹ค.)
Destination IP ์ฃผ์†Œ์™€ ์™„๋ฒฝํžˆ ์ผ์น˜ํ•œ ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ์˜ Network Prefix๋Š” 32 ๋น„ํŠธ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. ๊ฒฐ๊ณผ๋กœ๋Š” ์ด์šฉํ•  Interface ์ฃผ์†Œ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
[2] Network Matching์ด ๋œ ๊ฒฝ์šฐ (Indirect Forwarding์„ ์‚ฌ์šฉํ•œ๋‹ค.)
๊ฐ€์žฅ ๊ธด Network Prefix์— ํ•ด๋‹นํ•˜๋Š” Entry๋ถ€ํ„ฐ Destination IP ์ฃผ์†Œ์™€์˜ Matching ์—ฌ๋ถ€๋ฅผ Forwarding Table์—์„œ ์‚ดํŽด๋ณธ๋‹ค. ๊ฒฐ๊ณผ๋กœ๋Š” Next Hop ํ•ด์•ผํ•  Gateway์˜ Interface ์ฃผ์†Œ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
[3] ์œ„ 2๊ฐ€์ง€ ๊ฒฝ์šฐ์— ๊ฑธ์น˜์ง€ ์•Š์•˜์„ ๋•Œ, Default Route๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ
์ „ํ˜•์ ์œผ๋กœ Default Route์˜ ํ‘œํ˜„์€ 0.0.0.0/0์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค. Network Prefix๊ฐ€ 0 ๋น„ํŠธ์ด๋ฏ€๋กœ ์ •์˜๋งŒ ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋ชจ๋‘ ์ผ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๊ฒฐ๊ณผ๋กœ๋Š” Default Gateway์˜ Interface ์ฃผ์†Œ๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
[4] Packet์„ ํ๊ธฐ ์ฒ˜๋ถ„

Entry Matching ์—ฌ๋ถ€ ํŒ๋‹จ

์œ„ ์‚ฌํ•ญ์„ ์ฝ์–ด๋ณด๋ฉด Matching ์—ฌ๋ถ€๋Š” Network Prefix๋ฅผ ์ด์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์–ด๋ ดํ’‹์ด ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, Network Prefix๋ฅผ ์ด์šฉํ•ด์„œ ์–ด๋–ป๊ฒŒ Matching ์—ฌ๋ถ€๋ฅผ ์•Œ์•„๋‚ด๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.
[1] Packet์˜ Destination IP ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ณ  ์˜จ๋‹ค.
[2] Forwarding Table์—์„œ ์ฐพ์€ ๊ฐ€์žฅ ๊ธด Network Prefix์— ํ•ด๋‹นํ•˜๋Š” Entry๋ฅผ ๊ฐ–๊ณ  ์˜จ๋‹ค.
[3] Destination IP ์ฃผ์†Œ์™€ Entry๋กœ ์–ป์€ ๊ฐ’์— ๋Œ€ํ•ด & ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
[4] Source IP ์ฃผ์†Œ์™€ [3]์˜ ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•œ๋‹ค.
[5] ๋งŒ์ผ ์ผ์น˜ํ•œ๋‹ค๋ฉด Entry์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ Forwarding Table์—์„œ ๊ฐ–๊ณ  ์™€์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
[6] ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ทธ ๋‹ค์Œ Entry์— ๋Œ€ํ•ด์„œ 2๋ฒˆ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์œ„ ๊ณผ์ •์„ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž.
Destination IP ์ฃผ์†Œ๊ฐ€ 162.152.161.078 ์ด๋ผ๊ณ  ํ–ˆ์„ ๋•Œ ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ Forwarding ํ•  ์ˆ˜ ์žˆ๋Š” Entry๋Š” ๋‘ ๋ฒˆ์งธ 163.152.161.0์ธ Entry์ด๋‹ค.
๋งŒ์ผ Destination IP ์ฃผ์†Œ๊ฐ€ 163.152.162.179 ์˜€๋‹ค๋ฉด, ์ด ๋•Œ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ Forwarding ํ•  ์ˆ˜ ์žˆ๋Š” Entry๋Š” Default Gateway๊ฐ€ ๋œ๋‹ค.

9) ARP(Address Resolution Protocol) (RFC826)

์‹ค์ œ ํ†ต์‹ ์—์„œ IP ์ฃผ์†Œ๋Š” ๋…ผ๋ฆฌ ์ฃผ์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ๋งŒ ์•Œ์•„์„œ๋Š” ํ†ต์‹ ์„ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ธฐ๊ธฐ์˜ ์‹ค์ œ ์ฃผ์†Œ์ธ MAC ์ฃผ์†Œ๋„ ํ•จ๊ป˜ ์•Œ์•„์•ผ ํ•œ๋‹ค. ARP๋Š” ๋™์ผํ•œย LANย ๋‚ด์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ์˜ย IPย ์ฃผ์†Œ์— ๋Œ€์‘๋˜๋Š” MAC ์ฃผ์†Œ๋ฅผ ์–ป๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์งˆ์ ์œผ๋กœ ARP๋Š” Network Layer์˜ Protocol์„ ๋•๋Š” Data Link Layer์˜ Protocol๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ARP๊ฐ€ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Data Link๊ฐ€ Broadcast์— ๋Œ€ํ•œ ์ˆ˜์šฉ ๋Šฅ๋ ฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ „์ œ๋กœ ํ•œ๋‹ค. (Data Link๊ฐ€ Broadcast์— ๋Œ€ํ•œ ์ˆ˜์šฉ ๋Šฅ๋ ฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์€ Limited Broadcast ์ž„์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ ๋ฒ”์œ„๊ฐ€ ํ•˜๋‚˜์˜ Router๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.) ๊ฒฐ๋ก ์ ์œผ๋กœ ARP๋Š” ๋…ผ๋ฆฌ์ ์ธ IP ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ MAC ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ํ”„๋กœํ† ํ† ์ฝœ์ด๋‹ค.
์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ์‚ดํŽด๋ณด์ž. (์ด ์˜ˆ์‹œ๋Š” Indirect Packet Forwarding์ด ๋œ ์ƒํƒœ์ด๋‹ค.)
๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ WAN ๊ตฌ๊ฐ„์„ ๊ฑฐ์ณ์„œ ๊ตฌ๊ธ€์ด๋ผ๋Š” LAN ๊ตฌ๊ฐ„์— ๋„์ฐฉํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์šฐ๋ฆฌ๋Š” Router๋ฅผ ์ฐพ์•˜์œผ๋‹ˆ ์ด์ œ ์›ํ•˜๋Š” Server์— ์ ‘์†ํ•ด์•ผํ•œ๋‹ค. ์–ด๋–ป๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์„๊นŒ? LAN ๊ตฌ๊ฐ„์—์„œ๋Š” IP ํ†ต์‹ ์„ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ MAC ํ†ต์‹ ์„ ํ†ตํ•ด Server์— ์ ‘์†ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋•Œ Router๋Š” Server์˜ MAC ์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅด๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Router๋Š” MAC ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด Broadcast ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋‘์—๊ฒŒ MAC ์ฃผ์†Œ๋ฅผ Requestํ•œ๋‹ค. ์ด๋•Œ, ํ•จ๊ป˜ ์ „์†ก๋œ IP ์ฃผ์†Œ์™€ ์ž์‹ ์˜ IP ์ฃผ์†Œ๊ฐ€ ์ผ์น˜ํ•˜๋Š” Server๋Š” ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ ์ฒจ๋ถ€ํ•ด Reply๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ Server์˜ Destination IP ์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” MAC ์ฃผ์†Œ๋ฅผ ์•Œ์•˜๊ธฐ ๋•Œ๋ฌธ์— Router๋Š” ๋น„๋กœ์†Œ Forwarding์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ARP ๋™์ž‘ ์›๋ฆฌ

[1] Host ์†ก์‹ ์ž๋Š” Destination IP ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜์—ฌ Broadcast๋ฅผ ๋ณด๋‚ธ๋‹ค.
[2] IP์—์„œ๋Š” ARP๋ฅผ ์ด์šฉํ•˜์—ฌ ARP Request ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑ์„ ์š”์ฒญํ•œ๋‹ค.
[3] ARP Request ๋ฉ”์„ธ์ง€๋Š” Data Link Layer์œผ๋กœ ์ „๋‹ฌ๋˜๊ณ  ์ „๋‹ฌ๋˜๊ณ  Ethernet Frame์œผ๋กœ Encapsulation (์บก์Šํ™”)๋œ๋‹ค. โ†’ ์†ก์‹ ์ž MAC ์ฃผ์†Œ๋ฅผ Sender Address, ์ˆ˜์‹ ์ž MAC ์ฃผ์†Œ๋ฅผ Broadcast ์ฃผ์†Œ๋กœ ์ง€์ •ํ•œ๋‹ค.
[4] ๋ชจ๋“  Host์™€ Router๋Š” Frame์„ ์ˆ˜์‹ ํ•œ ํ›„ ์ž์‹ ์˜ ARP์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.
[5] Destination IP ์ฃผ์†Œ์™€ ์ผ์น˜ํ•˜๋Š” ์‹œ์Šคํ…œ์€ ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ARP Reply ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ๋“ค์€ ํ•ด๋‹น Packet์„ ํ๊ธฐ๋ฆฐ๋‹ค.
[6] ์†ก์‹  ์ธก์€ ์ง€์ •ํ•œ IP ์ฃผ์†Œ์— ๋Œ€์‘ํ•˜๋Š” MAC ์ฃผ์†Œ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
ARP Request์€ Broadcast, ARP Reply๋Š” Unicast

ARP Header

ARP Header์˜ Operation ํ•„๋“œ์—๋Š” Request, Reply ๋”ฑ 2๊ฐœ๋งŒ ์กด์žฌํ•œ๋‹ค. Request๋ฅผ ํ• ๋•Œ๋Š” 1, Reply์„ ํ•  ๋•Œ์—๋Š” 2๋กœ ์ง€์ •๋œ๋‹ค. Request๋ฅผ ๋ณด๋‚ผ ๋•Œ Target Hardware Address๋ฅผ ๋ชจ๋ฅผ ๊ฒฝ์šฐ์— ์ƒ๋žต ํ•˜๊ฑฐ๋‚˜, 0์œผ๋กœ ์ฑ„์šฐ๊ฑฐ๋‚˜, 1๋กœ ์ฑ„์›Œ๋„ ๋œ๋‹ค. (ํ˜„์žฌ๋Š” ๋Œ€์ฒด์ ์œผ๋กœ 0์œผ๋กœ ์ฑ„์›Œ์„œ ๋ณด๋‚ธ๋‹ค.)

ARP Cache

ARP๋Š” ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ๊ฐ€ ๋ฐ”๋กœ ARP Cache์ด๋‹ค. ARP Request๋ฅผ ํ†ตํ•ด ์–ป์€ MAC ์ฃผ์†Œ๋Š” ๊ฐ€๊นŒ์šด ์‹œ๊ฐ„์•ˆ์— ๋˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ARP Cache Table์— ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ์ €์žฅํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹ค์Œ Request๋ฅผ ๋ณด๋‚ผ ๋•Œ, ์šฐ์„ ์ ์œผ๋กœ Cache Table์„ ๊ฒ€์‚ฌํ•˜์—ฌ ๋งŒ์•ฝ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด ์ดํ›„ ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ arp -a ๋ช…๋ น์–ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ARP Cache Table์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

Gratuitous ARP (GARP)

Gratuitous ARP ๋‚ด๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” IP ์ฃผ์†Œ์— ๋Œ€ํ•œ MAC ์ฃผ์†Œ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ARP Request์„ ๋ณด๋‚ด๋Š” ํ–‰์œ„๋ฅผ ๋งํ•œ๋‹ค. ์ด๋Š” Source์™€ Target์˜ IP ์ฃผ์†Œ๊ฐ€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ง„ํ–‰๋˜๊ธฐ ๋–„๋ฌธ์—, ๋‹ค๋ฅธ ์ด์˜ MAC ์ฃผ์†Œ๋ฅผ ์•Œ๊ณ ์ž ํ•˜๋Š” ์˜๋„๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ง ๊ทธ๋Œ€๋กœ ๋ฌด์ตํ•œ ARP์ธ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ์—๋„ Gratuitous ARP๊ฐ€ ์กด์žฌํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ?
[1] Duplicated IP Address Detection
๋‹ค๋ฅธ Host์˜ ์‘๋‹ต์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น IP ์ฃผ์†Œ๊ฐ€ ์ด๋ฏธ ๋‹ค๋ฅธ Host์— ์˜ํ•ด์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
[2] ARP Caceh Update
๋™์ผํ•œ Subnet์—์„œ ARP Cache๋ฅผ ์ƒˆ๋กœ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ GARP์— ํ•ด๋‹นํ•˜๋Š” Packet์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น Packet์„ ์ˆ˜์‹ ํ•˜๋Š” ๋ชจ๋“  Node๋“ค์€ ARP Cache๋ฅผ GARP Packet์— ์žˆ๋Š” {Sender MAC ์ฃผ์†Œ, Sender IP ์ฃผ์†Œ}๋กœ ์—…๋ฐ์ดํŠธ ํ•˜๊ฒŒ ๋œ๋‹ค.

Proxy ARP

Proxy ARP๋Š” ํŠน์ • Node๊ฐ€ ๋‹ค๋ฅธ Node๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ARP Request์— ์‘๋‹ตํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์ด ๋•Œ ๋Œ€์‹  Reply๋ฅผ ๋ณด๋‚ธ Node๋Š” ์ž์‹ ์˜ ID๋ฅผ ์†์—ฌ ์‹ค์ œ Destination์„ ํ–ฅํ•ด ๋ณด๋‚ธ ARP Packet์— ๋Œ€ํ•ด์„œ ์ฒ˜๋ฆฌํ•  ์˜๋ฌด๋ฅผ ์ง€๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด Proxy ARP๋ฅผ ์ด์šฉํ•˜์—ฌ Routing์ด๋‚˜ Default Gateway์— ๋Œ€ํ•œ ์„ค์ •์ด ์—†์–ด๋„ Subnet์˜ Node๊ฐ€ ์›๊ฒฉ Subnet์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด์ž.
Subnet A์—์„œ 172.16.10.100์ธ Host A๊ฐ€ Subnet B์— ์žˆ๋Š” 172.16.20.200์˜ Host D์—๊ฒŒ Packet์„ ๋ณด๋‚ด๋ ค๋Š” ์ƒํ™ฉ์ด๋‹ค. ๊ทธ๋ฆผ์— ๋‚˜ํƒ€๋‚œ ๊ฒƒ์ฒ˜๋Ÿผ Host A๋Š” 16์ž๋ฆฌ์˜ Subnet Mask๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ 172.16.X.X๋Š” ํด๋ž˜์Šค B์— ํ•ด๋‹นํ•˜๊ณ  ํด๋ž˜์Šค B์˜ Subnet Mask๊ฐ€ 16์ž๋ฆฌ์ด๋‹ˆ, Host A๋Š” ์ž์‹ ์ด 172.16.0.0์œผ๋กœ ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ๋„คํŠธ์›Œํฌ์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค. ARP ๋™์ž‘ ํŠน์„ฑ ์ƒ Host A๊ฐ€ ์ž์‹ ๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์™€ ํ†ต์‹ ์„ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ํ•ด๋‹น Host์˜ Destination์œผ๋กœ ARP Request๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ, ๋”ฐ๋ผ์„œ Host A๊ฐ€ Host D์—๊ฒŒ Packet์„ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๋ฉด Host A๋Š” Host D๊ฐ€ ์ž์‹ ์ด ๋ฐ”๋กœ ํ†ต์‹ ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ARP Request๋ฅผ ๋ฐ”๋กœ Host D์—๊ฒŒ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฐ”๋กœ Host D๋กœ Packet์„ ๋ณด๋‚ด๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ ๋Š” ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž.
Host D์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด์„  Host A๋Š” Host D์˜ MAC ์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, Host A๋Š” ์•„๋ž˜์˜ ํ˜•์‹์œผ๋กœ ARP Request๋ฅผ Subnet A์— Broadcastํ•˜๊ฒŒ ๋œ๋‹ค.
ARP Request๋ฅผ Broadcast๋กœ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— Subnet A ๋‚ด์— ์žˆ๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋“ค์ด ์ด Packet์„ ๋ฐ›๊ฒŒ ๋˜์ง€๋งŒ (Router์˜ e0 Interface๋ฅผ ํฌํ•จํ•˜์—ฌ), ์‹ค์ œ๋กœ Host D์—๋Š” ์ด Packet์ด ๋„๋‹ฌํ•˜์ง€ ์•Š๋Š”๋‹ค. (์ด์œ ๋Š” Broadcast๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ„๋‹ค๋ฅธ ์„ค์ •์ด ์—†๋Š” ํ•œ Router๊ฐ€ Forward๋ฅผ ์‹œํ‚ค์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.) ํ•˜์ง€๋งŒ Router๋Š” Target IP ์ฃผ์†Œ์ธ 172.16.20.200์ด ๋‹ค๋ฅธ Subnet์— ์žˆ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋Š”๋ฐ๋‹ค๊ฐ€, 172.16.20.200์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Router ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ ์‹ค์–ด์„œ Host A์—๊ฒŒ ๋‹ต์„ ํ•˜๊ฒŒ ๋œ๋‹ค.
์ž์„ธํžˆ ๋ณด๋ฉด Host D์˜ MAC ์ฃผ์†Œ๊ฐ€ Target MAC์œผ๋กœ ๋˜์–ด ์žˆ์ง€ ์•Š๊ณ  Router์˜ MAC ์ฃผ์†Œ๊ฐ€ Target MAC ์ฃผ์†Œ๋กœ ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์ด๊ฒƒ์ด ๋ฐ”๋กœ Proxy ARP Reply๊ฐ€ ๋˜๊ฒ ๋‹ค. ์ด ๋•Œ ๋ณด๋‚ด๋Š” Reply๋Š” Request๋ฅผ ๋ณด๋‚ธ Host A์—๊ฒŒ ํ•ญ์ƒ Unicast๋กœ ๋‹ตํ•˜๊ฒŒ ๋œ๋‹ค.
Host A๊ฐ€ ARP Reply๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋ฉด, ARP Table์„ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์—…๋ฐ์ดํŠธ ํ•˜๊ฒŒ ๋œ๋‹ค. Host D์— ๋Œ€ํ•œ MAC ์ฃผ์†Œ๋ฅผ Router์˜ MAC ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ๊ฒŒ ๋œ๋‹ค.
์ด ๋•Œ๋ถ€ํ„ฐ Host A๋Š” Host D๋กœ ๋ณด๋‚ด๋ ค๋Š” ๋ชจ๋“  Packet์„ Router์—๊ฒŒ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. (Router๋Š” Host D๋กœ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๊ณ  Destination IP ์ฃผ์†Œ๋Š” Host D๋ฅผ ํ–ฅํ•ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค ๋ณ„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. Router๋Š” Host D๋กœ ๊ฐ€๋Š” Packet์„ ๋ฐ›๊ฒŒ ๋˜๋ฉด Host D์—๊ฒŒ Forward ํ•ด์ค€๋‹ค.) ๋˜ํ•œ Subnet A์˜ Host๋“ค์—๊ฒŒ ์žˆ๋Š” ARP Cache๋Š” Subnet B์˜ Host๋“ค์— ๋Œ€ํ•ด์„œ Router์˜ MAC ์ฃผ์†Œ๋กœ ๋ชจ๋‘ ์—…๋ฐ์ดํŠธ ๋œ๋‹ค. ๊ด„ํ˜ธ์— ์จ๋†“์€ ๊ฒƒ์ฒ˜๋Ÿผ Router๋Š” Subnet B์— ํ•ด๋‹นํ•˜๋Š” Host๋“ค์—๊ฒŒ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค ์•Œ๊ณ  ์žˆ๊ณ  IP ์ฃผ์†Œ์— Destination์ด ๋ช…์‹œ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Packet์„ Host์—๊ฒŒ Forward ํ•  ์ˆ˜ ์žˆ์–ด ๋ณ„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.
Host A์˜ ARP Cache๊ฐ€ ๋˜๊ฒ ๋‹ค.

Proxy ARP์˜ ์žฅ๋‹จ์ 

[1] ๊ฐ ๋„คํŠธ์›Œํฌ์— Router๊ฐ€ ์—†์–ด๋„ ํ•˜๋‚˜์˜ Router๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
[2] Host๋Š” ๋„คํŠธ์›Œํฌ์˜ ์‹ค์งˆ์ ์ธ ์„ธ๋ถ€ ์ •๋ณด๋Š” ์•Œ์ง€ ๋ชปํ•˜๊ณ , ARP Request๋ฅผ ๋ณด๋‚ด๋ณด๋ฉด์„œ ๊ทธ์ € ์•„๋ฌด Destination์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” Flat Network๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ฒŒ ๋œ๋‹ค. โ†’ ํ˜„์žฌ ๋‚ด๊ฐ€ ์†ํ•œ Segment์—์„œ ARP Traffic์ด ๊ธ‰์ฆํ•˜๊ฒŒ ๋œ๋‹ค.
[3] Proxy ARP๋Š” ARP Request์˜ Reply์œผ๋กœ ๋‹ค๋ฅธ MAC ์ฃผ์†Œ๋ฅผ ์‘๋‹ตํ•ด์ค€๋‹ค๋Š” ์ ์—์„œ ์‚ฌ์‹ค ARP Spoofing Attack๊ณผ ์„ฑ์งˆ์ด ๋น„์Šทํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋•Œ์˜ ARP Request์— ๋Œ€ํ•ด์„œ Proxy ARP์˜ Request์ธ์ง€ ARP Spoofing Attack์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.

10) ICMP(Internet Control Messeage Protocol)

ICMP๋Š” TCP/IP์—์„œ IP Packet์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ ๊ทธ์™€ ๊ฐ™์€ ๋ฌธ์ œ์˜ ์ง„๋‹จ์„ ํ•˜๋Š” Protocol์ด๋‹ค. ICMP๋Š” Network Layer์˜ ์ผ๋ถ€์ด๋ฉฐ, IP Datagram ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„์— ํฌํ•จ๋˜์–ด ์ „๋‹ฌ๋œ๋‹ค.
IP์—๋Š” ์˜ค๋กœ์ง€ Packet์„ Destination์— ๋„๋‹ฌ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋‚ด์šฉ๋“ค๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ •์ƒ์ ์œผ๋กœ Destination์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ IP์—์„œ ํ†ต์‹ ์ด ์„ฑ๊ณตํ•˜๊ณ  ์ข…๋ฃŒ๋˜๋ฏ€๋กœ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.
ํ•˜์ง€๋งŒ ๋งŒ์•ฝ Destination์˜ Host ํ˜น์€ Router๊ฐ€ ๊บผ์ ธ์žˆ๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ์ด ๋˜์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ด Packet์„ ๋ณด๋‚ธ ์ˆ˜์‹ ์ž ์ธก์— ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์•ผ ํ•˜์ง€๋งŒ IP์—๋Š” ๊ทธ๋Ÿฌํ•œ Error์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์ด ๋ช…์‹œ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ์ด๋Ÿฌํ•œ IP์˜ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ๋ฉ”๊พธ๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ICMP์ด๋‹ค.

ICMP Header

ICMP์˜ ์šฉ๋„

[1] Source ์—๊ฒŒ IP ๋ฐ์ดํ„ฐ๊ทธ๋žจ ์ „์†ก ์‹คํŒจ๋ฅผ ์•Œ๋ฆผ (ICMP Error Reporting Messages์— ํ•ด๋‹น)
Packet ์ „์†ก์„ ์‹คํŒจํ–ˆ์„ ๋•Œ Error๊ฐ€ ๋‚ฌ์Œ์„ ์•Œ๋ฆฌ๊ณ , ํ•ด๋‹น Error์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์•Œ๋ ค์ค€๋‹ค. ๋‹จ, Source๊ฐ€ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ณด๋‚ธ๋‹ค. Source ์ชฝ์—์„œ ๋‹ค์‹œ ์ž˜๋ชป๋œ Packet์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.
ICMP ๋ฉ”์„ธ์ง€๋ฅผ Source์—๊ฒŒ ๋ณด๋‚ด์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ, Router์—์„œ Packet์„ ์ž ์‹œ ์ €์žฅํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” Queue๊ฐ€ ๊ฐ€๋“์ฐจ ์žˆ๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ํ•ด๋‹น ๊ฒฝ์šฐ์— Router ์ •์ฑ…์— ๋”ฐ๋ผ์„œ ํ•ด๋‹น Packet ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๊ฒƒ์€ Source์˜ ์ž˜๋ชป์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ICMP ๋ฉ”์„ธ์ง€๋Š” ์ „์†ก๋˜์ง€ ์•Š๋Š”๋‹ค.
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์„ธ์ง€๋“ค์ด ICMP Error Reporting Messages์— ํ•ด๋‹นํ•œ๋‹ค.
1.
Destination Unreachable (Type 3)
Destination์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์‚ฌ์œ ์— ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•œ Code๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
โ€ข
Code 1 (Host Unreachable)ย : ์ตœ์ข… ๋‹จ๊ณ„์˜ Router๊ฐ€ Destination์˜ Host๋กœ Packet ์ „์†ก์— ์‹คํŒจํ•œ ๊ฒฝ์šฐ
โ€ข
Code 2 (Protocol Unreachable)ย : Destination์˜ Host์—์„œ ํŠน์ • Protocol์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
โ€ข
Code 3 (Port Unreachable)ย : Destination์˜ Host์— ํ•ด๋‹น UDP์˜ Port ์—ด๋ ค์žˆ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(TCP์˜ ๊ฒฝ์šฐ์— Port๊ฐ€ ์—ด๋ ค์žˆ์ง€ ์•Š์œผ๋ฉด TCP RST Packet์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.)
โ€ข
Code 4 (Fragmentation needed and don't fragment was set)ย :ย IP Packet์˜ Fragmentation์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜์ง€๋งŒ IP Header์˜ Don't fragment ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋˜์–ด Framentation์„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Router์—ย ์˜ํ•ด ๋ฐ˜ํ™˜๋œ๋‹ค.
2.
Redirection (Type 5)
Routing ๊ฒฝ๋กœ๊ฐ€ ์ž˜๋ชป๋˜์–ด ์ƒˆ๋กœ์šด ๊ฒฝ๋กœ๋ฅผ ์ด์ „ ๊ฒฝ์œ ์ง€ or Host์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋ฉ”์„ธ์ง€์ด๋‹ค.
3.
Source Quench (Deprecated)
4.
Time Exceeded (Type 11)
ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•˜์—ฌ IP Packet์ด ํ๊ธฐ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” ๋ฉ”์„ธ์ง€์ด๋‹ค. ํƒ€์ž„์•„์›ƒ ์‚ฌ์œ ๋Š” Code๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Code 0 (Time To Live exceeded in Transit)ย : IP Packet์ด ์ตœ์ข… Destination์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— TTL๊ฐ’์ด 0์ด ๋˜์–ดย ํ•ด๋‹น Packet์ด ํ๊ธฐ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” ๋ฉ”์„ธ์ง€์ด๋‹ค.
โ€ข
Code 1 (Fragment reassembly time exceeded)ย : IP Packet์„ Reassemble ๊ณผ์ •์—์„œ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•˜์—ฌ ํ•ด๋‹น IP Datagram์ด ๋ชจ๋‘ ํ๊ธฐ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” ๋ฉ”์„ธ์ง€. ์ผ๋ฐ˜์ ์œผ๋กœ IP Datagram์˜ ์ผ๋ถ€ Frament๊ฐ€ ์ „์†ก ๊ณผ์ •์—์„œ ์†์‹ค๋  ๊ฒฝ์šฐ Reassemble ๊ณผ์ •์—์„œ ์‹คํŒจํ•˜์—ฌ ๋ฐœ์ƒํ•œ๋‹ค.
5.
Parameter Problem (Type 12)
[2] ์ง„๋‹จ / ์ •๋ณด์ „๋‹ฌ (ICMP Query Messages์— ํ•ด๋‹น)
๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž์— ์˜ํ•ด Router ํ˜น์€ Host๋กœ๋ถ€ํ„ฐ ํŠน์ • ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
1.
Ping
ํŠน์ • IP ์ฃผ์†Œ์™€ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฉ”์„ธ์ง€์ด๋‹ค. ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด์„œ ์‘๋‹ต ์—ฌ๋ถ€, Round-Trip Time, TTL, Packet ์†์‹ค์œจ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
ICMP ๋ฉ”์„ธ์ง€ Type 8๋กœ Requestํ•˜๋ฉฐ, Type 0์œผ๋กœ Replyํ•œ๋‹ค.
1) Round-Trip Time์ด๋ž€? ๋„คํŠธ์›Œํฌ ์‹œ์ž‘ ์ง€์ ์—์„œ ๋Œ€์ƒ ์ง€์ ์œผ๋กœ ์ด๋™ํ•˜๊ณ  ์‹œ์ž‘ ์ง€์ ์œผ๋กœ ๋‹ค์‹œ ์ด๋™ํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„(ms) 2) TTL(Time To Live)์ด๋ž€? Packet์ด Router์—์„œ ํ๊ธฐ๋˜๊ธฐ์ „์— ๋„คํŠธ์›Œํฌ ๋‚ด์— ์กด์žฌํ•˜๋„๋ก ์„ค์ •๋œ ์‹œ๊ฐ„์„ ๋œปํ•˜๋Š”๋ฐ, Packet์ด Router๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ๋งˆ๋‹ค TTL์€ 1์”ฉ ๊ฐ์†Œํ•œ๋‹ค.
์•„๋ž˜์˜ ์‚ฌ์ง„์€ www.apple.com์œผ๋กœ ping์„ ๋ณด๋‚ธ ๊ฒฐ๊ณผ์ด๋‹ค.
Packet์—๋Š” ์‹œ๊ฐ„์„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ๋– ๋‚œ ์งํ›„ ์‹œ๊ฐ„๊ณผ ๋ฉ”์„ธ์ง€๊ฐ€ ๋Œ์•„์™”์„ ๋•Œ์˜ ์‹œ๊ฐ„์˜ ์ฐจ๋ฅผ ์ด์šฉํ•˜์—ฌ ์™•๋ณต ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค.
2.
Tracert / Traceroute
ํŠน์ • IP ์ฃผ์†Œ๊นŒ์ง€ ๊ฐ€๋Š”๋ฐ ๊ฑฐ์นœ Routing ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. Tracert๋Š” TTL์„ 1๋กœ ์„ค์ •ํ•˜์—ฌ Packet์„ ์ „์†กํ•œ ํ›„ ๋‹ค์Œ Router์—์„œ TTL์ด 0์ด ๋˜๋ฉด์„œ ICMP Error๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋‹ค์Œ์—” TTL์„ 2๋กœ ์„ค์ •ํ•˜์—ฌ Packet์„ ๋ณด๋‚ธ๋‹ค. (... ์ดํ›„ ๋ฐ˜๋ณต) ๊ทธ๋ฆฌ๊ณ  ๋ชฉํ‘œ Router๊นŒ์ง€ ๋‹ค์‹œ TTL์„ 1์”ฉ ๋Š˜๋ ค๊ฐ€๋ฉด์„œ Packet์„ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ฐ€๋Š” ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋ชจ๋“  Router๋“ค์€ TTL์— ๋Œ€ํ•ด 0์„ ๊ฒฝํ—˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ICMP Error๋ฅผ ํ†ตํ•ด ๋ณธ์ธ์˜ Routing IP ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ํ†ตํ•ด ๋„์ฐฉํ• ๋•Œ๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ์•Œ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. (๋”ฐ๋ผ์„œ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค.)
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์„ธ์ง€๋“ค์ด ICMP Query Messages์— ํ•ด๋‹นํ•œ๋‹ค.
โ€ข
Echo (Type 8)
โ€ข
Router Solicitation and Router Advertisement
โ€ข
Timestamp
โ€ข
Address Mask

Datagram ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ICMP Error๊ฐ€ ๋ณด๋‚ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

โ€ข
ICMP Error ๋ฉ”์„ธ์ง€์˜ Error์ผ ๋•Œ
โ€ข
Checksum Error์ผ ๋•Œ โ†’ Checksum Error๋Š” Source๊ฐ€ ๊ณ ์น  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋‹ค.
โ€ข
Multicast / Broadcast ์ „์†ก์˜ Error์ผ ๊ฒฝ์šฐ โ†’ ๋„ˆ๋ฌด ๋งŽ์€ Error ๊ฐ€ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Source IP ์ฃผ์†Œ๋กœ 0.0.0.0 ์œผ๋กœ๋ถ€ํ„ฐ ์˜จ ๊ฒฝ์šฐ โ†’ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์•„์ง IP ์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅธ๋‹ค. (DHCP)
โ€ข
Killed IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ Source๊ฐ€ Fragment ๋ฅผ ๋‚˜๋ฅด๋Š” ์ค‘์ด์—ˆ์„ ๊ฒฝ์šฐ โ†’ 2๋ฒˆ์งธ Fragment๋ถ€ํ„ฐ๋Š” Header์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์—†๊ณ  ๋ฐ์ดํ„ฐ๋งŒ ์žˆ๋‹ค.

Error Reporting ๋ฐ Query์— ๋Œ€ํ•œ ๋ฉ”์„ธ์ง€์— ๋Œ€ํ•ด ๋” ๊ถ๊ธˆํ•˜๋ฉด ์ง์ ‘ ์ฐพ์•„๋ณด์„ธ์š”.

6. Transport Layer Protocol

1) ๊ฐœ์š”

์ด ๊ณ„์ธต์˜ Protocol์€ Unique Endpoint๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ Uniqueํ•œ Network Layer Address์— Port๋ฅผ ๋ถ™์—ฌ์„œ ํ‘œํ˜„ํ•œ๋‹ค. Network Layer Address๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Endpoint ์ธก์—์„œ๋Š” IP ์ฃผ์†Œ๊ฐ€ ์ž์‹ ์˜ ๊ฒƒ์ด ์•„๋‹ˆ๋ฉด ๋ชจ๋‘ ๊ฑธ๋Ÿฌ๋ฒ„๋ฆฌ๊ณ , Port๊ฐ€ ๋‹ฌ๋ผ๋„ ์šฐ์„ ์ ์œผ๋กœ IP ์ฃผ์†Œ๊ฐ€ ์ž์‹ ์˜ ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋ฉด ์ผ๋‹จ ๋ฐ›์•„๋‚ธ ํ›„์— Port์— ๋งž๊ฒŒ ์ฒ˜๋ฆฌํ•œ๋‹ค.
Transport Layer Protocol์€ Endpoint ์‹œ์Šคํ…œ์—์„œ๋งŒ ๊ตฌํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Router๊ฐ€ ์•„๋‹Œ Host, ์ฆ‰ ์ปดํ“จํ„ฐ๋‚˜ ์Šค๋งˆํŠธํฐ ๋“ฑ ์ข…๋‹จ ๋‹จ๋ง์—์„œ ๊ตฌํ˜„๋œ๋‹ค.
๋Œ€ํ‘œ์ ์ธ Transport Layer Protocol๋กœ๋Š” UDP, TCP๊ฐ€ ์žˆ๋‹ค.
UDP์˜ Identifier ํ‘œ๊ธฐ๋Š” Local Endpoint๋งŒ ๋ช…์‹œํ•˜๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์œผ๋กœ
<UDP, Local IPv4 Address, Local Port, *, *> (IPv4 ์ฃผ์†Œ 4 ๋ฐ”์ดํŠธ + Port 2 ๋ฐ”์ดํŠธ)
๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.
TCP์˜ Identifier ํ‘œ๊ธฐ๋Š” Local ๋ฐ Peer์˜ Endpoint๋ฅผ ์Œ์œผ๋กœ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋ฏ€๋กœ
<TCP, Local IPv4 Address, Local Port, Remote IPv4 Address, Remote Port>
๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.
UDP์™€ TCP์˜ Identifier ํ˜•์‹์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ TCP์˜ Identifier๋ฅผ ๋‹ด์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์กฐ๊ธˆ ๋” ๋ณต์žกํ•˜๋‹ค๋Š” ๊ฒƒ์ด๊ณ , TCP๋Š” Connection์„ ๊ตฌ๋ถ„ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
์•„๋ž˜ ๊ทธ๋ฆผ์€ ํ†ต์‹ ์„ ์œ„ํ•œ Connection ์—ฐ๊ฒฐ ๊ตฌ์กฐ์ด๋‹ค. ๊ฐ๊ฐ ์ด ๋•Œ ๋‚˜ํƒ€๋‚œ TCP Connection๋“ค์€ Uniqueํ•˜๋‹ค.
Application-to-Application ํ†ต์‹ ์„ ํ•  ๋•Œ๋Š” Application์— ํ•ด๋‹นํ•˜๋Š” Port๊ฐ€ ์ด์šฉ๋˜๋Š”๋ฐ, ์ด ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ Application๋“ค์ด ๋™์‹œ๋‹ค๋ฐœ์ ์ธ(Simultaneously) ํ†ต์‹ ์„ ํ•˜๊ฒŒ ๋˜๊ธฐ ๋–„๋ฌธ์— Transport Layer๋Š” Application๋“ค์—๊ฒŒ Muliplexing์„ ํ†ตํ•ด์„œ Port๋ฅผ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.
๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์œผ๋กœ๋Š” Reliability, Flow Control, Congestion Control, Connection Service๋“ฑ์„ ์ง€์›ํ•œ๋‹ค.
๊ฐ Layer ๋ณ„๋กœ ๋ฐ‘ Layer๋กœ ๋‚ด๋ ค๊ฐˆ ๋•Œ๋Š” ์ผ์ผ์ด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ณต์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋„˜๊ธฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํฌ์ธํ„ฐ์™€ ๊ฐ™์ด Buffer์— ๋‹ด๊ฒจ ์žˆ๋Š” ์ฃผ์†Œ๋งŒ ๋„˜๊ฒจ์ฃผ๋Š” ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
์œ„ ๊ทธ๋ฆผ์—์„œ ๊ณ„์ธต ๋ณ„ ๋‚˜ํƒ€๋‚œ IP Tranportation Application ๊ฐ„์˜ ๋” ์ž์„ธํ•œ ๋ฌ˜์‚ฌ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. (UDP์˜ ๊ฒฝ์šฐ์ด๋‹ค.)
์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Application๊ฐ„์— Port์— ํ•ด๋‹นํ•˜๋Š” Buffer์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด์„œ ์„œ๋กœ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•ด์„  ํŠน๋ณ„ํ•œ ๊ฐ์ฒด๊ฐ€ ๋” ํ•„์š”ํ•œ๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ Socket์ด๋‹ค. Socket์ด๋ผ ํ•จ์€ ํ•˜๋‚˜์˜ Application Process์˜ Interface์ด๋‹ค. Socket์€ (Local์ด๋“  Remote๋“ ) Application Process๋กœ๋ถ€ํ„ฐ ๋ฉ”์„ธ์ง€๋ฅผ ์†ก์‹  ์ˆ˜์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.
UDP Server Socket์˜ ๊ฒฝ์šฐ Application๊ณผ Socket ๊ทธ๋ฆฌ๊ณ  Buffer๋Š” ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌํ•œ๋‹ค. (์ž์„ธํ•œ ์„ค๋ช…์€ ์ƒ๋žต โ†’ jseo์—๊ฒŒ ์งˆ๋ฌธ ํ•ด์ฃผ์„ธ์š”.)
๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ TCP์™€ UDP๊ฐ€ Endpoint ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ๋ฆ„์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
(๋‘ Protocol ๋ชจ๋‘ ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋˜ ๊ฐ Protocol๋ณ„ Identifier๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.)

TCP

UDP

Port

Port๋ผ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ? Transport Layer์—์„œ๋Š” ์ด Port๊ฐ€ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•œ๋ฐ ์ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.
Port๋Š” OS๊ฐ€ Endpoint๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ ์ด์šฉํ•˜๋Š” ๋งค์ฒด์ด๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์ž…์žฅ์—์„œ๋Š” ์ž์‹ ์˜ Process๋ฅผ ํŠน์ •ํ•˜๋Š” Logicalํ•œ Identifier๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ Port๋Š” ๋Š˜ ์‚ฌ์šฉ์ž ํ˜น์€ ํŠน์ • ํ†ต์‹ ์— ๋Œ€ํ•œ Protocol ํƒ€์ž…์˜ IP ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ์—ฎ์–ด์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. (Port๋Š” 2 ๋ฐ”์ดํŠธ๋กœ ํ‘œํ˜„๋œ๋‹ค.) IANA์—์„œ๋Š” ์„œ๋น„์Šค ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ ˆ์ฐจ์™€ Tranport Layer์— ํ•ด๋‹นํ•˜๋Š” Protocol์˜ Port๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์„ RFC6335๋กœ ๋“ฑ๋กํ•˜์˜€๋‹ค. ์ด ๋•Œ Port๋Š” 3๊ฐ€์ง€ ์œ ํ˜•์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
1.
System Ports (Well-Known Ports) โ†’ 0(0x0000) ~ 1023(0x03FF)
2.
User Ports (Registered Ports) โ†’ 1024(0x0400) ~ 49151(0xBFFF)
3.
Dynamic or Private Ports (Ephemeral Ports) โ†’ 49152(0xC000) ~ 65535(0xFFFF)
๊ฐ ์œ ํ˜•์„ ๋‚˜๋ˆˆ ๋ฒ”์œ„๋Š” IANA๊ฐ€ ๊ณต์‹์ ์œผ๋กœ ์œ ์ง€ ์ค‘์ด๋‹ค.

2) TCP (Transmission Control Protocol)

TCP๊ฐ€ ๊ฐœ๋ฐœ๋œ ๋ฐฐ๊ฒฝ์€ ๊ตฐ์‚ฌ์ ์ธ ๋ชฉ์ ์œผ๋กœ ์–ด๋Š ํ™˜๊ฒฝ์—์„œ๋„ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘๋˜๋Š” ๋„คํŠธ์›Œํฌ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋œ ๊ฒƒ์ด Pacekt ๊ตํ™˜(Packet Switching) ๋ฐฉ์‹์œผ๋กœ ๋ชฉ์ ์ง€์— ๋”ฐ๋ฅธ ๊ฒฝ๋กœ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์กด์žฌํ•œ๋‹ค๋ฉด ํ†ต์‹ ์ด ๋Š์–ด์ง€์ง€ ์•Š๊ณ  ๊ณ„์†๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. ๋‹ค๋งŒ ์ด ๋ฐฉ์‹์€ ์–ด๋–ป๊ฒŒ๋“  ํ†ต์‹ ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์˜ ์•ˆ์ •์„ฑ์€ ๋–จ์–ด์งˆ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ์ด๋กœ ์ธํ•ด ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜๊ฑฐ๋‚˜ ๋„ˆ๋ฌด ๋Šฆ๊ฒŒ ์ „๋‹ฌ๋˜๋Š” ๋“ฑ ์‹ ๋ขฐ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  Protocol์„ ์—ฐ๊ตฌํ•˜๊ฒŒ ๋๊ณ , ์ด์— ๋”ฐ๋ผ ๋‚˜์˜จ ๊ฒƒ์ด TCP์ด๋‹ค.

TCP Header

TCP์˜ ํŠน์ง•

โ€ข
Reliability, ์‹ ๋ขฐ์„ฑ
TCP๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค. UDP์™€๋Š” ๋‹ค๋ฅด๊ฒŒ TCP๋Š” ACK๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, TCP๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ACK๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Server์™€ Client๊ฐ„์˜ ํ†ต์‹ ์—์„œ ๋†“์นœ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•œ๋‹ค.
โ€ข
Flow Control, ํ๋ฆ„ ์ œ์–ด
TCP ๋ฐ์ดํ„ฐ์˜ Segment๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ์ปดํ“จํ„ฐ๋Š” CPU์™€ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์˜ ์ฐจ์ด ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ์†๋„๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ, ์†ก์‹  ์ธก์˜ ์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋น ๋ฅด๋ฉด ์ˆ˜์‹  ์ธก์ด ๋ฐ›์„๋•Œ ์ €์žฅ ๊ฐ€๋Šฅํ•œ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผ ํ–ˆ๋Š”๋ฐ๋„ ๊ณ„์† ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ด ํ›„ ๋„์ฐฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์†์‹ค๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์ „์†ก๋Ÿ‰์„ ์ˆ˜์‹  ์ธก์— ๋”ฐ๋ผ ์กฐ์ ˆํ•ด์•ผ ํ•œ๋‹ค. TCP๋Š” ์ด๋ ‡๊ฒŒ ์†ก์‹ ์ž๊ฐ€ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ ์–‘์„ ์ œ์–ดํ•˜๋Š” Flow Control ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•œ๋‹ค. ๋‚ด๋ถ€ ๋ฐฉ์‹์œผ๋กœ๋Š” Stop and Wait๋ฐฉ์‹, Sliding Window๋ฐฉ์‹์ด ์žˆ๋‹ค.
โ€ข
Congestion Control, ํ˜ผ์žก ์ œ์–ด
์ดˆ๊ธฐ TCP์—๋Š” Congestion Control๋ผ๋Š” ์š”์†Œ๊ฐ€ ์—†์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๊ฐ€ ์ ์  ๋Š˜์–ด๋‚˜๋ฉด์„œ ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์†ก์‹  ์ธก์€ 100์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ์„๋•Œ, ์ฒ˜์Œ์—” 5์”ฉ ๋ณด๋‚ด๋ฉด์„œ ์ˆ˜์‹  ์ธก์ด ์ž˜ ๋ฐ›๋Š”๋‹ค๋ฉด ์ ์  ๋ณด๋‚ด๋Š” ์–‘์„ ๋Š˜๋ ค๊ฐ€๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ˆ˜์‹  ์ธก์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๋Œ€๋กœ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์ด ํ™•์ธ๋˜๋ฉด ๊ทธ ์ฆ‰์‹œ ์–‘์„ ๋‹ค์‹œ ์ค„์ธ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณด๋‚ด๋Š” ์–‘์„ ๋Š˜๋ฆฌ๊ณ  ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์€ AIMD(Addictive Increase /Multicative Decrease)๋ฅผ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค. ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐพ์•„๋ณด์ž.
โ€ข
Connection Service, ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
Application Process๋Š” TCP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ ค๋ฉด ๋จผ์ € ์ˆ˜์‹  ์ธก๊ณผ ์—ฐ๊ฒฐ ์„ค์ •์„ ์™„๋ฃŒํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ TCP ์—ฐ๊ฒฐ์€ 3-Way Handshake ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ด๋ฆฐ๋‹ค.

3) UDP

TCP๋Š” ์•ž์„œ ๋งํ–ˆ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ˆ„๋ฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ฐ›๊ธฐ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ •์˜๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฉ”์ผ, ํŒŒ์ผ ์ „์†ก๊ณผ ๊ฐ™์€ 100% ๋ฐ์ดํ„ฐ ๋ณด์žฅ์ด ํ•„์š”ํ•œ ๋ถ„์•ผ์—์„œ ํ•„์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ๋„ทํ”Œ๋ฆญ์Šค๋ฅผ ๋ณด๋Š”๋ฐ ํ”ฝ์…€ ํ•œ์นธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชป๋ฐ›์•„์„œ ๋ฒ„ํผ๋ง์„ ํ•˜๋ฉฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ ๋ฉˆ์ถ”๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด๋–จ๊นŒ. ์ด์ฒ˜๋Ÿผ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค์—์„  TCP๊ฐ€ ์ƒ๋‹นํžˆ ๋ถˆํŽธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ†ต์‹ ์˜ ์ตœ์†Œ ๊ธฐ๋Šฅ๋งŒ์„ ์ˆ˜ํ–‰ํ•˜๋Š” UDP๋ฅผ ์ด์šฉํ•œ๋‹ค.
UDP๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ TCP์˜ ๋ชจ๋“  ์‹ ๋ขฐ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ธฐ๋Šฅ์ด ์—†๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ์ˆ˜์‹  ์ธก๊ณผ ์ ‘์†ํ–ˆ๊ณ  48Kbps๋กœ ์ „์†ก ์†๋„๋ฅผ ์„ค์ •ํ–ˆ์œผ๋ฉด ๋ฌด์กฐ๊ฑด 48Kbps๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ฐฉ์ ์œผ๋กœ ์ „์†กํ•˜๊ธฐ๋งŒ ํ•œ๋‹ค. ๋ฐ›๋Š” ์ชฝ์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ›์•˜๋Š”์ง€๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค! ๊ทธ๋ž˜์„œ ์–ด๋Š์ •๋„์˜ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‚˜ ํ†ต์‹  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

UDP Header

UDP์˜ Header๋ฅผ ์‚ดํŽด๋ณด๋ฉด TCP์™€๋Š” ๋‹ค๋ฅด๊ฒŒ Source ๋ฐ Destination์˜ IP ์ฃผ์†Œ, Checksum ๋“ฑ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋งŒ ํฌํ•จ๋˜๊ณ  ACK๊ฐ€ ์—†๋‹ค. ๊ทธ๋ž˜์„œ TCP๋ณด๋‹ค ์šฉ๋Ÿ‰์ด ๊ฐ€๋ณ๊ณ  ์†ก์‹  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

UDP์˜ ํŠน์ง•

โ€ข
๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค
โ€ข
์‹ ๋ขฐ์„ฑ ์—†์Œ
โ€ข
๋น ๋ฅธ ์ „์†ก ์†๋„

Quiz!

1) Netflix๋Š” TCP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€ UDP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€? 2) e-mail์€ TCP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€ UDP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?
์ •๋‹ต!

7. Application Layer Protocol

1) DHCP (Dynamic Host Configuration Protocol)

DHCP๋Š” Host์—๊ฒŒ TCP/IP ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์„ค์ • ์ •๋ณด๋“ค์„ ๋„˜๊ฒจ์ฃผ๋Š” Framework๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. DHCP๋Š” ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž (Network Administrator) ๊ด€๋ฆฌ์˜ ์ค‘์•™ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ , ์กฐ์ง ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด์„œ IPv4 ์ฃผ์†Œ ํ• ๋‹น์„ ์ž๋™ํ™” ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.
DHCP๊ฐ€ ์กฐ์ง ๋„คํŠธ์›Œํฌ์— ํ•ด๋‹น๋˜๋Š” Host๋“ค์—๊ฒŒ ์ฃผ์†Œ ํ• ๋‹น์˜ ์ž๋™ํ™”๋ฅผ ๋ณด์žฅํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ ์ผ์ผ์ด Host์˜ ์ฃผ์†Œ๋ฅผ ์ˆ˜๋™์ ์œผ๋กœ ํ• ๋‹นํ•ด์ฃผ๋Š” ๊ตฌ์กฐ๋Š” ์•„๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ ์ผ์ผ์ด ์ˆ˜๋™์ ์œผ๋กœ ํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
DHCP๋Š” RFC1531์—์„œ ์ฒ˜์Œ์œผ๋กœ ์ •์˜๋˜์—ˆ๊ณ , RFC1541 โ†’ RFC2131 ์ˆœ์œผ๋กœ ๋ฐœ์ „ํ•ด์™”๋‹ค. (DHCP๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๊ฑด 1987๋…„๋„์ด๋‹ค.) ์ด ๋•Œ DHCP๋Š” BOOTP (Bootstrap Protocol)์˜ ์—ฐ์žฅ์„ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ, BOOTP๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์€ Server์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ Host์˜ ์ •๋ณด๋ฅผ ์‚ฌ์ „ ์ˆ˜๋™ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ Protocol์ด๋‹ค.
BOOTP๋ž€? BOOTP๋Š” UDP/IP Protocol๋กœ ๋””์Šคํฌ ์—†์ด Client ๊ธฐ๊ธฐ์˜ IP ์ฃผ์†Œ, Server Host์˜ ์ฃผ์†Œ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ , ์ฃผ์†Œ ๊ฒฐ์ • ์ดํ›„์— Boot File์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜์—ฌ ๋ถ€ํŒ…์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‹น ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ฐํ˜€์ฃผ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๋ฉด, BOOTP๋Š” ๋‘๊ฐ€์ง€ Phase๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์ฒซ Phase์—์„œ๋Š” ์ฃผ์†Œ ๊ฒฐ์ • ๋ฐ Boot File ์„ ํƒ์ด ์ด๋ค„์ง€๊ณ , ๋‘ ๋ฒˆ์งธ Phase์—์„œ๋Š” ์ฒซ Phase์—์„œ ์„ ํƒํ•œ Boot File์— ๋Œ€ํ•œ ์ „์†ก์ด ์ด๋ค„์ง„๋‹ค. (์ด ๋•Œ Boot File์˜ ์ „์†ก์€ TFTP (RFC783)์„ ํ†ตํ•ด์„œ ์ด๋ค„์ง„๋‹ค.) DHCP์™€์˜ ์ฐจ์ด๋ผ ํ•จ์€ DHCP๊ฐ€ Dynamic Host Configuration Protocol์ด์—ˆ๋‹ค๋ฉด, BOOTP๋Š” Static Host Configuration Protocol์ด๋‹ค. BOOTP๋ฅผ Static Host Configuration Protocol์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ด์œ ๋Š” Physical Address์™€ ๋ฏธ๋ฆฌ Binding๋˜์–ด ์žˆ๋Š” IP ์ฃผ์†Œ๊ฐ€ ์žˆ์–ด์„œ Binding Table์—์„œ ์ด๋ฅผ ๊ทธ์ € ์ฝ์–ด์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
DHCP๋Š” TCP/IP ๋ชจ๋ธ์—์„œ Application Layer ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” Protocol์ด๋‹ค. DHCP๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ์ง€์›ํ•œ๋‹ค. (Host์˜ ์ƒ์„ธํ•œ ์„ค์ • ์ •๋ณด๋“ค์„ Server์—์„œ Host๋กœ ์ „๋‹ฌํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ ํ• ๋‹น์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์ด ๋•Œ 3๊ฐ€์ง€ ๊ธฐ๋Šฅ ๋ชจ๋‘ ์ฃผ์†Œ ์ž๋™ ์„ค์ •๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค.)
Automatic Allocation
Client์—๊ฒŒ Permanent IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
Dynamic Allocation
์ œํ•œ๋œ ๊ธฐ๊ฐ„๋™์•ˆ ์‚ด์•„ ์žˆ๋Š” Non-Permanent IP ์ฃผ์†Œ๋ฅผ Client์—๊ฒŒ ํ• ๋‹นํ•œ๋‹ค. (ํ˜น์€ Client๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ ํฌ๊ธฐํ•˜๊ธฐ ์ „๊นŒ์ง€ ์œ ํšจํ•œ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ตœ๊ทผ์— ์ž์ฃผ ์“ฐ๋Š” ๊ฒƒ์€ ์ œํ•œ๋œ ๊ธฐ๊ฐ„๋™์•ˆ ์‚ด์•„ ์žˆ๋Š” IP ์ฃผ์†Œ์ด๋‹ค.)
Manual Allocation
Client์˜ IP ์ฃผ์†Œ๋ฅผ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๋กœ๋ถ€ํ„ฐ ํ• ๋‹น ๋ฐ›๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด ๋•Œ DHCP๋Š” ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ IP ์ฃผ์†Œ๋ฅผ ๊ทธ์ € ๋‚˜๋ฅด๋Š” ์šฉ๋„๋กœ๋งŒ ์‚ฌ์šฉ๋œ๋‹ค.

DHCP์˜ ์„ค๊ณ„ ๋ชฉํ‘œ

1.
Mechanism rather than a policy
2.
Client should not require no manual reconfiguration
3.
Networks should require no manual configuration for individual clients
4.
DHCP should not require a server on each subnet
5.
DHCP must interoperate with the BOOTP relay agent behavior as described by RFC951 and by RFC1542
6.
A DHCP client must be prepared to received multiple responses to a request for configuration parameters

DHCP์—์„œ ์ง€์ผœ์ ธ์•ผ ํ•˜๋Š” ์‚ฌํ•ญ

1.
Uniqueํ•œ Network Address๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค.
2.
Client ์žฌ๋ถ€ํŒ… ์‹œ DHCP์— ๋Œ€ํ•œ Client ์„ค์ •์„ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.
3.
์ƒˆ๋กœ์šด Client์—๊ฒŒ๋Š” ์„ค์ • ๊ฐ’๋“ค์— ๋Œ€ํ•œ ์ž๋™ ํ• ๋‹น์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
4.
ํŠน์ • Client์—๊ฒŒ๋Š” ์„ค์ • ๊ฐ’์— ๋Œ€ํ•œ ๊ณ ์ • ๊ฐ’ ํ• ๋‹น์„ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค.

DHCP์˜ ํ•ต์‹ฌ์ ์ธ ์žฅ์ 

1.
IP ์ฃผ์†Œ ์„ค์ •์˜ ์ค‘์•™ํ™”๋œ ๊ด€๋ฆฌ
2.
Dynamicํ•œ Host ์„ค์ •
3.
๋Š์–ด์ง ์—†์ด ์•„์ฃผ ๋งค๋„๋Ÿฌ์šด IP Host ์„ค์ •
4.
Flexibility, Scalability

DHCP์˜ ๋‹จ์ 

1.
DHCP Server๊ฐ€ ์ด์šฉ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ผ๋ฉด, Client ์ธก์—์„œ๋Š” ๊ธฐ์—…๋“ค์ด ์ œ๊ณตํ•ด์ฃผ๋Š” ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด์„œ ์ ‘๊ทผ ์ž์ฒด๋ฅผ ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.
2.
์ƒˆ๋กœ์šด IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹น ๋ฐ›์•˜๋‹ค๋ฉด, ๋‚ด ๊ธฐ๊ธฐ์˜ ์ด๋ฆ„์€ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
3.
DHCP๋Š” Unreliable ํ•˜๊ณ  Insecureํ•œ UDP๋ฅผ ์ด์šฉํ•œ๋‹ค.
4.
2๊ฐ€์ง€์˜ ์ฃผ์š” ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. (DHCP๋Š” Unauthenticated Protocol์ด๋‹ค.)
โ€ข
๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ์ž๋Š” Lease (์ž„์ฐจ๊ถŒ)์„ ์–ป๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ž๊ฒฉ ์ฆ๋ช…๋„ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ, DHCPDISCOVER ๋ฉ”์„ธ์ง€์— ๋Œ€ํ•ด์„œ ๊ฒ€์ฆ์ด ์ด๋ค„์ง€์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Š” DHCP Starvation ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
์–ด๋–ค Host๋“  DHCP Server์ธ์ฒ™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๊ณง DNS Spooffing ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

BOOTP vs DHCP

DHCP Message ํ˜•์‹

โ€ข
op (message op code)
1์€ BOOTREQUEST, 2๋Š” BOOTREPLY์ด๋‹ค.
โ€ข
htype (hardware address type)
โ€ข
hlen (hardware address length)
โ€ข
hops
Client๋Š” 0์œผ๋กœ ์ฑ„์›Œ์ ธ์žˆ์œผ๋ฉฐ, Relay Agent์— ์˜ํ•ด์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณค ํ•œ๋‹ค.
โ€ข
xid (transaction id)
Client์— ์˜ํ•ด์„œ ์„ ํƒ๋œ Randomํ•œ ์ˆ˜์ด๋‹ค.
โ€ข
secs
Client์— ์˜ํ•ด์„œ ์ฑ„์›Œ์ง„๋‹ค. Client๊ฐ€ ์ฃผ์†Œ๋ฅผ ํš๋“ํ•˜๊ฑฐ๋‚˜ ๊ฐฑ์‹ ์„ ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ํ›„๋กœ ํ๋ฅธ ์‹œ๊ฐ„์ด๋‹ค.
โ€ข
flags
โ€ข
ciaddr (client ip address)
Client์˜ State๊ฐ€ BOUND, RENEW, REBINDING์ธ ๊ฒฝ์šฐ์—๋งŒ ์ž…๋ ฅ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ARP Request์— ๋Œ€ํ•ด์„œ ์‘๋‹ต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
โ€ข
yiaddr (your (client) ip address)
โ€ข
siaddr (bootstrap์—์„œ ์‚ฌ์šฉํ•  ๋‹ค์Œ Server์˜ ip address)
Server์— ์˜ํ•œ DHCPOFFER, DHCPACK์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. DHCP๋Š” BOOTP์™€ ์™„๋ฒฝํ•œ ํ˜ธํ™˜์„ฑ์„ ๋ณด์ธ๋‹ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ, DHCP๋Š” Client๊ฐ€ BOOTP์˜ ๋‘ ๋ฒˆ์งธ Phase (File ์ „์†ก)๋ฅผ ์ˆ˜ํ–‰ํ•  Server์˜ ์ฃผ์†Œ๋กœ siaddr ํ•„๋“œ์˜ ํ•ด์„์„ ๋ช…ํ™•ํžˆ ํ•˜๊ฒŒ ๋œ๋‹ค.
โ€ข
giaddr (relay agent ip address)
โ€ข
chaddr (client hardware address)
โ€ข
sname (optional server host name)
Null-Terminated String์ด ์ด์šฉ๋œ๋‹ค.
โ€ข
options (optional parameters field)
DHCP๋Š” Application Layer๋‹จ์—์„œ ๋™์ž‘ํ•˜๋Š” Protocol์ด๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ทธ๋ ‡๋‹ค๋ฉด ์‹ค์ œ๋กœ ๋‹ค๋ฅธ Machine๊ณผ ํ†ต์‹ ํ•˜๋ฉด์„œ DHCP์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค๋ฅธ Layer์—์„œ ์‚ฌ์šฉํ•˜๋Š” Protocol์€ ์–ด๋–ค ๊ฒƒ์ผ๊นŒ? DHCP๋Š” Transport Layer์˜ UDP๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์šฉํ•œ๋‹ค.
DHCP Client โ†’ DHCP Server์˜ ๊ฒฝ์šฐ UDP์— ๋Œ€ํ•œ Port๋กœ 67๋ฒˆ์„ ์ด์šฉํ•˜๊ณ , DHCP Server โ†’ DHCP Client์˜ ๊ฒฝ์šฐ UDP์— ๋Œ€ํ•œ Port๋กœ 68๋ฒˆ์„ ์ด์šฉํ•œ๋‹ค.

DHCP ๋™์ž‘๊ณผ์ •

DHCP Server์™€ DHCP๋ฅผ ์ด์šฉํ•˜๊ณ ์ž ํ•˜๋Š” DHCP Client ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•  ๋•Œ ๋‘˜์˜ ์ƒํ˜ธ์ž‘์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. (Client-Server์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ๋Š” 2๊ฐœ์˜ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๊ฑฐ๋‚˜, ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ)
์œ„ ๊ทธ๋ฆ ์—์„œ DHCP Server๋Š” IP Address Pool์„ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” IP ์ฃผ์†Œ๋ฅผ ์š”๊ตฌํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‚˜๋ˆ ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์‹ค์ œ๋กœ KT, LG U+์—์„œ๋Š” ๊ด€๋ฆฌ ์ค‘์•™ํ™” ์ •์ฑ…์„ ํŽผ์น˜๊ณ  ์žˆ๊ณ , ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ด์ฃผ๋Š” ๋งค์šฐ ํฐ DHCP Server๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” iptime๊ณผ ๊ฐ™์€ ์ธํ„ฐ๋„ท ๊ณต์œ ๊ธฐ๋„ Private IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ด์ฃผ๋Š” DHCP Server๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ธดํ•˜๋‹ค. ๋˜ํ•œ ์ด๋Ÿฐ ์ธํ„ฐ๋„ท ๊ณต์œ ๊ธฐ๋Š” DHCP Client๋กœ์จ๋„ ์ž‘๋™ํ•˜๋Š”๋ฐ, ์ด ๋•Œ๋Š” Private IP ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์„œ PC์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.
DHCP / BOOTP๋ฅผ ์ด์šฉํ•  ๋•Œ Relay Agent์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ์ผ๋ฐ˜์ ์œผ๋กœ Broadcast๋˜๋Š” Packet๋“ค์€ Router ํ˜น์€ Gateway๋“ค์„ ๊ฐ€๋กœ์ง€๋ฅผ ์ˆ˜ ์—†์ง€๋งŒ, ๊ธฐ์—… ์ฐจ์›์—์„œ ์šด์˜๋˜๋Š” DHCP Server๋Š” Router ๋„ˆ๋จธ์— ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์œ„ ๊ทธ๋ฆผ์—์„œ ์ œ์‹œ๋œ IP ์ฃผ์†Œ ํ• ๋‹น์„ ์œ„ํ•œ 4๊ฐ€์ง€ ๋‹จ๊ณ„๊ฐ€ Broadcast ๋ฉ”์„ธ์ง€๋ฅผ ํ†ตํ•ด์„œ๋„ ์ด๋ค„์งˆ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ ์–ด๋–ป๊ฒŒ Router ๋„ˆ๋จธ์˜ DHCP์— ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ? ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด DHCP Relay Agent๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•˜๊ณ , Relay Agent๋Š” Router์— ์„ค์ •๋œ๋‹ค. ์ด๋ ‡๊ฒŒ Router์— ์„ค์ •์ด ๋˜๋ฉด DHCPREQUEST๊ฐ€ Router์— ๋“ค์–ด์™”์„ ๋•Œ Router๋Š” DHCPREQUEST Packet์„ Unicast๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ํ•ด๋‹น Packet์„ DHCP Server๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. DHCP Server์—์„œ ๋ณด๋‚ด๋Š” Packet๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Router์—๊ฒŒ Unicast๋กœ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉฐ, Router๋Š” ์ด Unicast๋กœ ๋ฐ›์€ Packet์„ Broadcast๋กœ ๋ณ€ํ™˜ (Broadcast๋กœ์˜ ์ „๋‹ฌ์„ ์œ„ํ•ด Client ์ฃผ์†Œ๋ฅผ Subnet ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜๋„ ํ•ด์คŒ)ํ•˜์—ฌ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค.
๋‹ค๋ฅธ Router์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜์–ด์„œ Relay Agent๋ฅผ ์ด์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค (Broadcast โ†’ Unicast โ†’ Broadcast)๋Š” ๊ฒƒ์„ ์œ ๋…ํ•˜์—ฌ ์œ„ ๊ทธ๋ฆผ์— ๋”ฐ๋ฅธ DHCP ๊ณผ์ •์„ ๋‹จ๊ณ„ ๋ณ„๋กœ ์‚ดํŽด๋ณด์ž.
[1] Client๋Š” DHCPDISCOER ๋ฉ”์„ธ์ง€๋ฅผ Broadcast๋กœ ๋ณด๋‚ธ๋‹ค.
[2] Server๋Š” Client์˜ ๋ฉ”์„ธ์ง€๋กœ๋ถ€ํ„ฐ ๋ฐ˜์‘ํ•˜์—ฌ DHCPOFFER๋ฅผ ๋ณด๋‚ธ๋‹ค. ์ด ๋•Œ DHCP Server๊ฐ€ ์ œ์•ˆํ•œ IP ์ฃผ์†Œ๋Š” yiaddr ํ•„๋“œ์— ์ฑ„์›Œ์ ธ์„œ ๋ณด๋‚ด์ง„๋‹ค. ์ด ๋•Œ ์ œ์•ˆํ•œ ์ฃผ์†Œ ๊ฐ’์€ ๋ณ„๋„์˜ ํ…Œ์ด๋ธ”์„ ๋‘๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Offerํ•œ ์ฃผ์†Œ๋ฅผ Reserve ํ•˜์ง€ ์•Š๊ธฐ ๋–„๋ฌธ์— DHCPDISCOVER๋ฅผ ๋ฐ›์•„์„œ DHCPOFFER๋ฅผ ํ–ˆ์„ ๋•Œ, ์—ฌ๋Ÿฌ Machine์—๊ฒŒ ๋™์ผํ•œ ์ฃผ์†Œ๋ฅผ Offer ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ Offer ๋ฐ›์€ ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๋จผ์ € Requset๋ฅผ ๋ณด๋‚ธ Client๊ฐ€ ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ฒŒ ๋œ๋‹ค. (Reserve๊ฐ€ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— Server๋Š” Client๋กœ๋ถ€ํ„ฐ Request๋ฅผ ๋ฐ›์•„ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ๋•Œ ์‚ฌ์šฉ ์ค‘์ธ ์ฃผ์†Œ์ธ์ง€ ๋ฐ˜๋“œ์‹œ ํ™•์ธ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.)
[3] Client๋Š” Server๊ฐ€ ์ œ์•ˆํ•œ IP ์ฃผ์†Œ๋“ค์„ ๊ฒ€ํ† ํ•œ๋‹ค. Client๋Š” ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ •ํ–ˆ๋‹ค๋ฉด, ์ด๋ฅผ DHCPREQUEST ๋ฉ”์„ธ์ง€์— ๋‹ด์•„ ๋‹ค์‹œ Broadcast๋กœ ๋ณด๋‚ธ๋‹ค. [1]๋ฒˆ ๊ณผ์ •์—์„œ์˜ Broadcast๋Š” DHCP Server๊ฐ€ ์–ด๋””์žˆ๋Š”์ง€ ๋ชฐ๋ผ์„œ ๋ณด๋‚ธ Broadcast์˜€๋‹ค๋ฉด, ์—ฌ๊ธฐ์„œ์˜ Boradcast๋Š” DHCP Server๊ฐ€ ์–ด๋””์žˆ๋Š”์ง€ ์•„๋Š”๋ฐ๋„ Broadcast๋กœ ๋ณด๋‚ด๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ? ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋Š” DHCP Server์— ๋Œ€ํ•ด์„œ๋งŒ ACK, ๋‚˜๋จธ์ง€๋Š” NAK์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ผ๊ณ  ์‚ฌ์šฉํ•˜๋ ค๋Š” DHCP Server์˜ IP ์ฃผ์†Œ๋ฅผ ๋ฉ”์„ธ์ง€์— ๋‹ด์•„ Broadcastํ•œ๋‹ค.
[4] Server๋Š” Lease Time๊นŒ์ง€ ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฃผ์†Œ์— ๋Œ€ํ•œ Client์˜ Binding์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. (Binding์„ ํ•ด์ค˜์•ผ ํ• ๋‹น ๋œ๋‹ค.) Binding์ด ๋๋‚ฌ๋‹ค๋ฉด DHCPACK์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ๋งŒ์ผ ํ• ๋‹น์— ์‹คํŒจํ•˜๋ฉด Client์—๊ฒŒ DHCPNAK์„ ๋ณด๋‚ธ๋‹ค. (Client ์ธก์—์„œ Server์—์„œ ๋ณด๋‚ธ DHCPACK์„ ๋ฐ›์•˜๋‹ค๋ฉด, ํ•ด๋‹น Packet ๋‚ด์— ์žˆ๋Š” Lease Time๋„ ํ™•์ธํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ๋‹ค์–‘ํ•œ Parameter์— ๋Œ€ํ•œ ์ตœ์ข… ํ™•์ธ์„ ํ•œ ํ›„ ์ด์šฉํ•œ๋‹ค.)

Clarifications and Extensions for BOOTP (RFC1542)

์œ„์˜ 1๋ฒˆ์—์„œ Client๊ฐ€ DHCPDISCOVER ๋ฉ”์„ธ์ง€๋ฅผ Broadcast ํ•  ๋•Œ๋Š” Local Physical Subnet ๋‚ด์—์„œ๋งŒ (Router๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ) ๋™์ž‘ํ•œ๋‹ค๊ณ  ํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ DHCP / BOOTP Relay Agent๊ฐ€ ์žˆ์–ด์„œ ์ด๊ฒƒ์ด Router์— ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด, ๋™์ผํ•œ Physical Subnet์— ์†ํ•ด์žˆ์ง€ ์•Š๋”๋ผ๋„ Broadcast ๋ฉ”์„ธ์ง€๋ฅผ Router ๋ฐ–์œผ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด ๋•Œ DHCP / BOOTP Relay Agent๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.
Relay Agent๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ DHCP ๋ฉ”์„ธ์ง€ ํ˜•์‹์—์„œ giaddr ํ•„๋“œ์™€ ๊ด€๋ จ ์žˆ๋‹ค. giaddr์— ์ ํžŒ Relay Agent์˜ IP ์ฃผ์†Œ ๋•์— Clientโ†’Server / Serverโ†’Client์— ๋Œ€ํ•œ ์›ํ™œํ•œ ๋ฉ”์„ธ์ง€ ์†ก์ˆ˜์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งŒ์ผ Relay Agent๊ฐ€ Request ํ˜น์€ Reply๋ฅผ ์ค‘๊ณ„ํ•ด์ฃผ๊ฒ ๋‹ค๊ณ  ๊ฒฐ์ • ํ–ˆ๋‹ค๋ฉด, giaddr ํ•„๋“œ๊ฐ€ 0์œผ๋กœ ์ฑ„์›Œ์ ธ ๋น„์–ด ์žˆ์„ ๋•Œ Relay Agent๋Š” ์ด ํ•„๋“œ๋ฅผ ์ž์‹ ์˜ Interface์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋กœ ์ฑ„์›Œ ๋„ฃ๋Š”๋‹ค. ์ด ๋•Œ, ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ Relay Agent๋Š” giaddr ํ•„๋“œ์— Broadcast ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๋˜ํ•œ ๋งŒ์ผ giaddr ํ•„๋“œ๊ฐ€ 0์ด ์•„๋‹Œ ๊ฐ’์œผ๋กœ ์ฑ„์›Œ์ ธ์žˆ๋‹ค๋ฉด, ์ด ํ•„๋“œ๋Š” ์ ˆ๋Œ€ ์ˆ˜์ •๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
Host์™€ Router๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ (illegalํ•œ) Source IP ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ Datagram์„ ๋ฐ›์•˜์„ ๋•Œ ์ด๋ฅผ ๋ฒ„๋ฆฌ๋„๋ก ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ Martial Address Filtering์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋•Œ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์ฃผ์†Œ ์ค‘์— ํ•˜๋‚˜๋Š” 0.0.0.0์ด๋‹ค. ํ•˜์ง€๋งŒ DHCP / BOOTP Relay Agent๋ฅผ ์ง€์›ํ•˜๋Š” Host ํ˜น์€ Router์—์„œ๋Š” ์ž์‹ ์˜ IP ์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅด๋Š” (์•„์ง ์„ค์ •์ด ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—) Source IP ์ฃผ์†Œ๋กœ 0.0.0.0์„ ์‚ฌ์šฉํ•˜๋Š” Request๊ฐ€ ๋‹ด๊ธด ๋ฉ”์„ธ์ง€๋ฅผ ์ค‘๊ณ„ํ•ด์ค˜์•ผ ํ•˜๋ฏ€๋กœ ์ด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
Relay Agent๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋‹จ์ˆœํžˆ [1]์˜ ๊ณผ์ • ๋ฟ ์•„๋‹ˆ๋ผ DHCP Server์™€ DHCP Client ์‚ฌ์ด ํ†ต์‹ ์—์„œ ๋ชจ๋‘ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค. (์ค‘๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ง์ด๋‹ค.)
๋˜ํ•œ Protocol์„ ์ด์šฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ IP ์ฃผ์†Œ ๊ตฌ์„ฑ์ด ๋˜์ง€ ์•Š์•„์„œ Unicast๋กœ Datagram์„ ์ˆ˜์‹ ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๋ผ๋ฉด, DHCPDISCOVER์™€ DHCPREQUEST์—์„œ๋Š” flag ํ•„๋“œ์˜ Broadcast ๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•ด๋†“์•„์•ผ ํ•œ๋‹ค.

2) DNS

DNS๋ž€ Domain Name System์˜ ์•ฝ์–ด์ด๋‹ค. ์ธํ„ฐ๋„ท ์ƒ์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ๊ฒƒ์„ ์ฐธ์กฐํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ธํ„ฐ๋„ท ์ƒ์—์„œ ์ •ํ•ด์ง„ ์ด๋ฆ„์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ํŠน์ • ์ด๋ฆ„์„ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Š” ๊ณง Domain ์ด๋ฆ„์„ IP ์ฃผ์†Œ๋กœ Mapping ์‹œํ‚ค๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, DNS๋Š” Names๊ณผ Numbers ์‚ฌ์ด์— Mapping ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์ค€๋‹ค. (์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž๋“ค์€ Names โ†’ Numbers์— ๋Œ€ํ•œ ๋ณ€ํ™˜์„ ๋” ๋งŽ์ด ์ด์šฉํ•˜๊ณ , ์ปดํ“จํ„ฐ๋Š” Numbers โ†’ Names๋ฅผ ๋” ๋งŽ์ด ์ด์šฉํ•œ๋‹ค.)
DNS๋Š” ์ „์—ญ์ ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด ์œ„์น˜ํ•ด ์žˆ๋‹ค. ์ด ๋•Œ, DNS์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ง€์—ญ๋ณ„๋กœ ์ €์žฅ์ด ๋˜์ง€๋งŒ, DNS์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„์˜ฌ ๋•Œ๋Š” ์ „์—ญ์ ์œผ๋กœ ์ฐพ๊ฒŒ ๋œ๋‹ค. (DNS์— ํ•ด๋‹นํ•˜๋Š” ํ•˜๋‚˜์˜ Machine์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ง์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์ง€์—ญ์— ์žˆ๋Š” DNS๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ง€์—ญ์— ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ์„ ๋Œ์–ด ์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด Caching์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.) ๋˜ํ•œ DNS์— ๋Œ€ํ•œ Lookup์€ ์–ด๋Š ๊ธฐ๊ธฐ์—์„œ๋“  ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
DNS๊ฐ€ ์„ค๊ณ„ ๋˜์—ˆ์„ ๋•Œ๋Š” ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ค๊ณ„ ๋˜์—ˆ์œผ๋ฉฐ, DNS ๊ด€๋ฆฌ๋Š” ์ค‘์•™ ์ง‘์ค‘๋œ ๊ฐ์ฒด๊ฐ€ ๋ชจ๋“  DNS ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹Œ ๊ฐ ๊ฐ์ฒด๋งˆ๋‹ค ๊ด€๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด๋Ÿฐ ๊ด€๋ฆฌ์˜ ๋ถ„์‚ฐ์„ Delegation์ด๋ผ๊ณ  ํ•œ๋‹ค.
DNS๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” 3๊ฐ€์ง€ ์š”์†Œ๋Š” Domain Name Space (DNS Name Space), Name Server (DNS Name Server), Resolver (DNS Resolver)์ด๋‹ค.

DNS Name Space

์ผ๋ฐ˜์ ์œผ๋กœ URL์„ ์‚ฌ์šฉํ•  ๋•Œ www.kosaf.go.kr ๊ณผ ๊ฐ™์€ ์ฃผ์†Œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. kosaf ์•„๋ž˜์— ์žˆ๋Š” go์™€ kr๋“ค์ด Name Space๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•  ๋“ฏํ•˜๋‹ค.
์ธํ„ฐ๋„ท์€ 200๊ฐœ๊ฐ€ ๋„˜๋Š” ์ตœ์ƒ์œ„ Domain๋“ค๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚˜๋‰˜์–ด์ง„ Domain๋“ค์€ ๋‹ค์‹œ Sub-Domain์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  Domain๋“ค์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Tree ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์œ„์—์„œ ๋‚˜ํƒ€๋‚œ ๊ฒƒ์ฒ˜๋Ÿผ ์ตœ์ƒ์œ„ Domain๋“ค์€ Genericํ•˜๊ฑฐ๋‚˜ Country๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
Leaf Domain์€ ํ•˜๋‚˜์˜ Host๋งŒ ๊ฐ–๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ , ๋งค์šฐ ๋งŽ์€ Host๋“ค์„ ๋‘๊ณ  ์žˆ๋Š” ํ•˜๋‚˜์˜ ํšŒ์‚ฌ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๋•Œ Leaf Domain์ด๋ผ ํ•จ์€ ๋” ์ด์ƒ์˜ Sub-Domain์ด ์—†๋Š” Domain์„ ์˜๋ฏธํ•œ๋‹ค. (Sub-Domain์ด ์—†๋‹ค ๋ฟ์ด์ง€ Host์— ํ•ด๋‹นํ•˜๋Š” Machine์€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.)

DNS Name Server

์–ด๋–ค Web Server๊ฐ€ ์žˆ๊ณ , Web Client๊ฐ€ ์žˆ์„ ๋•Œ ๋‘ Machine์€ ์ˆซ์ž๋กœ ์ด๋ค„์ง„ IP ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ†ต์‹ ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๊ฒŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ์œ„ํ•ด์„ , ๋ฌธ์ž๋กœ ํ‘œํ˜„๋œ Domain Name์ด ์ˆซ์ž๋กœ ์ด๋ค„์ง„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ณผ์ •์„ ์œ„ํ•ด์„œ ์œ„์—์„œ ์–ธ๊ธ‰๋œ Tree ํ˜•ํƒœ๋กœ ๋œ DNS Name Space ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ์ด ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” DNS Name Server๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์ด๋‹ค. Name Space ์ •๋ณด๋ฅผ ํ†ตํ•ด์„œ DNS Name Server๋Š” Domain Name๊ณผ IP ์ฃผ์†Œ ๊ฐ„ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๊ณ , ์ด๋ ‡๊ฒŒ ๋ณ€ํ™˜๋œ IP ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•ด๋‹น ์ž‘์—…์„ ์š”์ฒญํ–ˆ๋˜ Resolver (Client๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.)์—๊ฒŒ ๊ฐ€์ ธ๋‹ค ์ค€๋‹ค.
DNS Name Server์˜ ๊ฒฝ์šฐ ๊ฐ ์ง€์—ญ ๋ณ„๋กœ ์กด์žฌํ•˜๋Š”๋ฐ, ๊ฐ ์ง€์—ญ ๋ณ„๋กœ๋„ 2๊ฐœ์˜ Name Server๋ฅผ ๋‘์–ด ์ฃผ Server (Primary Server)๊ฐ€ ํ„ฐ์ง€๋ฉด ๋ถ€ Server (Secondary Server)๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‘์—ˆ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ๋Š” Primary Server๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ธ๋ฐ, Secondary Server๋ฅผ ์‚ฌ์šฉํ•ด์•„ ํ•˜๋Š” ๊ฒฝ์šฐ Primary Server์˜ ์ •๋ณด๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ์ง€ ์•Š์€๊ฐ€? ๋”ฐ๋ผ์„œ Secondary Server์˜ ๊ฒฝ์šฐ ์ฃผ๊ธฐ์ ์œผ๋กœ Primary Sever๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋“ค์„ ๋ฐ›์•„์™€์„œ Update๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

DNS Resolver

DNS Resolver๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์€ End User System (Endpoint์— ์œ„์น˜ํ•œ ์‚ฌ์šฉ์ž์˜ ์‹œ์Šคํ…œ)๊ณผ DNS Name Server ์‚ฌ์ด์— ์œ„์น˜ํ•œ Proxy (Intermediary Agent)๋กœ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
Domain Name์€ ๊ณ„์ธต(Layer)๋ณ„๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ ๊ฐ ๊ณ„์ธต์„ Domain Level์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ฐ Level์—์„œ์˜ Host๋Š” ์ž์‹ ์„ ์ง€์นญํ•˜๋Š” Label Name์„ ๊ฐ–๊ณ  ์žˆ๋Š”๋ฐ, ์ด ๋•Œ์˜ Domain Name์€ ์ž์‹ ์„ ์ง€์นญํ•˜๋Š” Label Name์œผ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ์ตœ์ƒ์œ„ Host์˜ Label Name๊นŒ์ง€๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด ๋•Œ ๊ฐ Label Name์€ . (Dot)์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ rose.first.co.kr๋ผ๊ณ  ์ฃผ์–ด์กŒ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๊ฐ Label์˜ ์˜๋ฏธ๋Š” ์•„๋ž˜์™€ ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค.
rose
ํšŒ์‚ฌ๋ช…
first
์ด๋ฆ„์ด rose์ธ Host ์ปดํ“จํ„ฐ (Web Server)
co
ํšŒ์‚ฌ Domain์ž„์„ ์˜๋ฏธํ•จ (Company์˜ ์•ฝ์ž)
kr
์ตœ์ƒ์œ„ Level ์ธ ๊ตญ๊ฐ€ Domain (๋Œ€ํ•œ๋ฏผ๊ตญ)
๊ทธ๋ ‡๋‹ค๋ฉด DNS๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.
Client๋Š” DNS Resolver๋ผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ Server์—๊ฒŒ Domain Name์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ๋ฌผ์–ด๋ณธ๋‹ค. (์ด๋ฅผ Query๋ผ๊ณ  ํ•œ๋‹ค.) Query๋ฅผ ๋ฐ›์€ Server๋Š” ์ด์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ๋Š” ์‹œ๋„๋ฅผ ํ•œ๋‹ค. ์ด ๋•Œ Server๋Š” Recursiveํ•˜๊ฒŒ, Root๋ถ€ํ„ฐ Top to Bottom์œผ๋กœ ๋‹ต์„ ์ฐพ์œผ๋ ค๊ณ  ํ•œ๋‹ค. ํ˜น์—ฌ๋‚˜ ์ž์‹ ์˜ Machine ๋‚ด์—์„œ ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๋‹ค๋ฅธ Server์—๊ฒŒ ๋‹ต์„ ๋ฌผ์–ด๋ณด๊ฒŒ ๋œ๋‹ค. (์ฆ‰, Server๋Š” ๋‹ค๋ฅธ Server์— ์˜ํ•ด ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.)
Name Server๋Š” Name Space์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ณ , ์ด ์ •๋ณด์˜ ํ˜•ํƒœ๋Š” Tree๋ผ๊ณ  ํ–ˆ์—ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ ์žฌ๊ท€์ ์œผ๋กœ ์ฐพ๊ฒŒ ๋œ๋‹ค.
DNS Resolver๋ž€? DNS Resolver๋Š” OS์˜ Resolver๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Š” Client๊ฐ€ ์›ํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๋ณด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Linux์—์„œ๋Š” ์ด DNS Resolver์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ /etc/resolv/conf๊ฐ€ ๋œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ www.yahoo.com ์„ ์ ‘์†ํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋•Œ, Web Browser๋Š” OS์—๊ฒŒ www.yahoo.com ์˜ IP ์ฃผ์†Œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ๋ฌป๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ OS๋Š” ์–ด๋Š Name Server์— ์ด๊ฑธ ๋ฌผ์–ด๋ด์•ผํ•˜๋Š”์ง€ Resolver Configuration์„ ์‚ดํŽด๋ณด๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Query๋ฅผ ๋‚ ๋ฆด Name Server๋ฅผ ์ •ํ•˜๋ฉด Query๋ฅผ ๋‚ ๋ฆฌ๊ณ  ๋‹ต์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด Name Server๊ฐ€ ๋ฐ˜๋ณต์ ์ธ ์ˆ˜ํ–‰์„ ํ†ตํ•ด ๋‹ต์„ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

DNS ๋™์ž‘ ๊ณผ์ •

[1] End User 1 ์‹œ์Šคํ…œ์ด DNS Resolver์—์„œ Domain Name์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก Recursiveํ•œ DNS Query๋ฅผ ๋งŒ๋“ ๋‹ค.
[2] DNS Resolver๋Š” DNS ๋ฐ์ดํ„ฐ๋“ค์ด Caching๋˜์–ด ์žˆ๋Š” DNS Record Cache์—์„œ Query์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ฐพ์•„๋ณธ๋‹ค. ๋งŒ์ผ Query์— ๋Œ€ํ•œ ํ•ด๋‹ต์ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๋‹ต์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (์ด ์ƒํƒœ๋ฅผ FQDN์ด ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. FQDN์€ Full-Qualified Domain Name์˜ ์•ฝ์–ด์ด๋‹ค.) ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ๋Š” Cache Miss๋ผ๊ณ  ํ•œ๋‹ค. (Cache ํ…Œ์ด๋ธ”์ด ๋น„์–ด ์žˆ์–ด์„œ ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ์—ญ์‹œ Cache Miss์ด๋‹ค.)
[3] Cache Miss๊ฐ€ ๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— DNS Resolver๋Š” ์—ฌ๋Ÿฌ DNS Name Server์— ๋Œ€ํ•ด์„œ Iterative Query๋ฅผ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.
[4] ์—ฌ๋Ÿฌ DNS Name Server์—๊ฒŒ Query๋ฅผ ๋ณด๋‚ด๊ณ  ๋‚œ ํ›„, ํŠน์ • Server๋Š” Domain Name์— ํ•ด๋‹นํ•˜๋Š” DNS Record๋ฅผ ์‘๋‹ตํ•˜๊ฒŒ ๋œ๋‹ค.
[5] DNS Name Server๋กœ๋ถ€ํ„ฐ DNS Record๋ฅผ ๋ฐ›๊ฒŒ๋˜๋ฉด, ์ด ์ •๋ณด๋ฅผ DNS Resolver์— Caching์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ๋•Œ Caching๋œ Entry๋“ค์— ๋Œ€ํ•ด์„œ๋Š” TTL(Time To Live)์ด๋ผ๊ณ  ํ•˜๋Š” ๋งŒ๋ฃŒ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ๊ฐ’๋„ ๊ฐ™์ด ๊ธฐ๋ก๋œ๋‹ค. ๋งŒ์ผ TTL์ด ๋งŒ๋ฃŒ๋˜๋ฉด, Cache์— ๋Œ€ํ•œ Entry๋Š” DNS Record Cache์—์„œ ์‚ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค. (์ผ๋ฐ˜์ ์œผ๋กœ TTL์€ 3600์ดˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” Count Down Timer๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.)
[6] DNS Resolver๋Š” Caching์„ ๋งˆ์น˜๊ณ  Query์— ๋Œ€ํ•œ ๋‹ต์„ End User 1์—๊ฒŒ ๋„˜๊น€์œผ๋กœ์จ User1์€ Domain Name์— ๋Œ€ํ•œ IP ์ฃผ์†Œ๋ฅผ ์•Œ๊ฒŒ ๋œ๋‹ค.
[7] 6๊นŒ์ง€ ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„์— ์ƒˆ๋กœ์šด End User 2 ์‹œ์Šคํ…œ์€ ์ด์ „์— End User 1 ์‹œ์Šคํ…œ์ด ๋ฐฉ๋ฌธํ–ˆ๋˜ Domain Name์— ๋ฐฉ๋ฌธํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๊ณ  ํ•˜์ž. End User 2 ์‹œ์Šคํ…œ ์—ญ์‹œ DNS Resolver๋กœ๋ถ€ํ„ฐ ํ•ด๋‹น Domain Name์˜ FQDN์„ ์–ป๊ธฐ ์œ„ํ•œ Recursive Query๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.
[8] DNS Resolver๊ฐ€ Cache ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๋ณด๋ฉด์„œ Query์— ๋Œ€ํ•œ FQDN์„ ์ฐพ์•˜๊ธฐ ๋•Œ๋ฌธ์— (๋‹จ, TTL์ด 0์œผ๋กœ Tick Down๋˜์ง€ ์•Š์€ ์ƒํƒœ์ผ ๋•Œ) ์ด ๊ฒฝ์šฐ์—๋Š” DNS Resolver๋Š” DNS Name Server์™€์˜ ์ถ”๊ฐ€์ ์ธ ํ†ต์‹  ์—†์ด๋„ Query์— ๋Œ€ํ•œ ๋‹ต์„ ๋ฐ˜ํ™˜ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. (์ด ๊ณผ์ •์€ ๊ต‰์žฅํžˆ ๋งŽ์€ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.)
[9] DNS Resolver๋Š” ์ฐพ์•˜๋˜ ๋‹ต์„ ์‘๋‹ตํ•˜์—ฌ End User 2 ์‹œ์Šคํ…œ์€ Domain Name์— ๋Œ€ํ•œ IP ์ฃผ์†Œ๋ฅผ ์–ป์œผ๋ฉด์„œ Transaction์ด ์ข…๋ฃŒ๋œ๋‹ค.

Recursive Query vs Iterative Query

DNS๋ฅผ ์ด์šฉํ•˜์—ฌ Name Server์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์–ป์œผ๋ ค๊ณ  ํ•  ๋•Œ, ๋‘ ๋ฐฉ๋ฒ•์€ ๋ชจ๋‘ ์“ฐ์ธ๋‹ค. ๋‹ค๋งŒ ์–ด๋””์—์„œ ์‚ฌ์šฉ๋˜๋Š”์ง€ ๊ทธ ์ฃผ์ฒด๊ฐ€ ๋‹ค๋ฅด๋‹ค. ์œ„ ๊ทธ๋ฆผ์˜ ๋™์ž‘๊ณผ์ •์„ ์ƒ์„ธํžˆ ๋‹ค๋ค˜์œผ๋‹ˆ ์•Œ๊ฒ ์ง€๋งŒ Recursive๋Š” ์ตœ์ƒ์œ„ Domain์˜ Name Space์— ๋Œ€ํ•ด์„œ ๊ฐ Node๋ฅผ ํƒ€๊ณ  ๊ฐ€๋Š” ๊ณผ์ •์—์„œ Query๊ฐ€ ์ผ์–ด๋‚˜๊ฒŒ ๋˜๊ณ  (์ฆ‰, ๋‹ต์„ ์ฐพ๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋จ), Iterative๋Š” Query์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ•˜์—ฌ Resolver๊ฐ€ ๊ฐ Name Server์—๊ฒŒ ๋ฐ˜๋ณต์ ์œผ๋กœ Query๋ฅผ ๋ฌป๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.
๋งŒ์ผ DNS Name Server๊ฐ€ ๋‹ต์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด, ๋ฐ”๋กœ ๋‹ค์Œ Name Server์— ๋ฌป๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–ด๋Š Name Server๋กœ ๋ฌผ์–ด๋ณด๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ถ”์ฒœ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ณด๋‚ด์ฃผ๊ฒŒ ๋œ๋‹ค. ๋ฐ˜๋Œ€๋กœ ๋งŒ์ผ Name Server๊ฐ€ Query์— ๋Œ€ํ•œ ๋‹ต์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๋ฉด, ํ•ด๋‹น ๋‹ต์„ ์‘๋‹ตํ•˜๊ฒŒ ๋œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์˜ Iterative Query ๋ถ€๋ถ„์—์„œ (๋‹ค๋ฅธ Name Server๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ์ถ”์ฒœ์„ ํ†ตํ•ด) ๋‹ต์„ ์ฐพ์•„๋‚ด๋Š” ๊ณผ์ •์€ ์ „์ ์œผ๋กœ OS์˜ Resolver์— ๋‹ฌ๋ ค์žˆ๋‹ค.

Domain vs Zone

Domain์€ ํ•œ Node์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์„ ๋งํ•˜๊ณ  (์ฆ‰, ํ•ด๋‹น Node์˜ ํ•˜์œ„ ์˜์—ญ์„ ํฌํ•จํ•œ ์˜์—ญ ํ˜น์€ ํ•œ ๊ฐœ์ฒด์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋Š” ๋ถ€๋ถ„ ์˜์—ญ์„ ๋งํ•จ), Zone์€ ํ•˜๋‚˜์˜ Name Server๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์„ ๋งํ•œ๋‹ค.

Delegation

DNS์˜ ์žฅ์  ์ค‘์— ํ•˜๋‚˜์ด๋‹ค. Domain Name ๊ด€๋ฆฌ์˜ ๋ถ„์‚ฐ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. (Scale ์ธก๋ฉด์—์„œ๋„ ์ข‹์Œ)
ํฐ ์กฐ์ง์˜ ๋ถ€์„œ๋ผ๋“ ๊ฐ€, ๊ตญ๊ฐ€ ๋‚ด์˜ ์กฐ์ง์ด๋ผ๋“ ๊ฐ€, ๊ตญ๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ์ฒด์™€ ๊ฐ™์€ ๊ฒฝ์šฐ Sub-Domain์œผ๋กœ ๋‘์–ด Domain Name์— ๋Œ€ํ•ด ์ œ์–ด๋ฅผ ๋ถ„์‚ฐํ•œ๋‹ค.
DNS ๋ฉ”์„ธ์ง€ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (RFC1035์—์„œ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.)
DNS Protocol์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์œ„์™€ ๊ฐ™์€ ํ˜•์‹์˜ ๋ฉ”์„ธ์ง€๋Š” Packet์— ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด๋ถ™๋Š”๋‹ค.
DNS Protocol์˜ ๊ฒฝ์šฐ ๊ทธ๋ฆผ์— ๋‚˜ํƒ€๋‚œ ๊ฒƒ์ฒ˜๋Ÿผ UDP๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ TCP๋ฅผ ์ด์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  DNS์˜ ๊ฒฝ์šฐ 53๋ฒˆ Port๋ฅผ ์ด์šฉํ•œ๋‹ค.
๋งŒ์ผ UDP๋ฅผ ์ด์šฉํ•  ๊ฒฝ์šฐ Packet ํฌ๊ธฐ์˜ ์ œํ•œ์ด ์ผ๋ฐ˜์ ์œผ๋กœ 512 ๋ฐ”์ดํŠธ์ด๋ฏ€๋กœ Response๋กœ ๋ฐ›๋Š” ๋ฉ”์„ธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ 512 ๋ฐ”์ดํŠธ๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ ์ฃผ๋กœ ์ด์šฉํ•œ๋‹ค. ๋งŒ์ผ Response๋กœ ๋ฐ›๋Š” ๋ฉ”์„ธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ์œผ๋กœ ๋‘” ๋ฐ”์ดํŠธ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์— TCP Connection์„ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ์ผ๋‹จ ๋Œ€์ฒด์ ์œผ๋กœ UDP๊ฐ€ ํšจ์œจ์ ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ณ , 99%๋Š” UDP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

8. Reference

๊ณ ๋ ค๋Œ€ํ•™๊ต COSE342 ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ by ๋ฏผ์„ฑ๊ธฐ ๊ต์ˆ˜๋‹˜
๋„คํŠธ์›Œํฌ ] ICMP ๋ž€?
ICMP๋Š” TCP/IP์—์„œ IP ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. IP์—๋Š” ์˜ค๋กœ์ง€ ํŒจํ‚ท์„ ๋ชฉ์ ์ง€์— ๋„๋‹ฌ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋‚ด์šฉ๋“ค๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ •์ƒ์ ์œผ๋กœ ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” IP์—์„œ ํ†ต์‹ ์ด ์„ฑ๊ณตํ•˜๊ณ  ์ข…๋ฃŒ๋˜๋ฏ€๋กœ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ๋งŒ์ผ ์ „๋‹ฌํ•ด์•ผ ํ•  ํ˜ธ์ŠคํŠธ๊ฐ€ ๊บผ์ ธ ์žˆ๊ฑฐ๋‚˜, ์„ ์ด ๋‹จ์ ˆ๋œ ๊ฒฝ์šฐ์™€ ๊ฐ™์€ ๋น„์ •์ƒ์ ์ธ ๊ฒฝ์šฐ์— ์ด ํŒจํ‚ท ์ „๋‹ฌ์„ ์˜๋ขฐํ•œ ์ถœ๋ฐœ์ง€ ํ˜ธ์ŠคํŠธ์— ์ด๋Ÿฌํ•œ ์‚ฌ์‹ค์„ ์•Œ๋ ค์•ผํ•˜์ง€๋งŒ, IP์—๋Š” ๊ทธ๋Ÿฌํ•œ ์—๋Ÿฌ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์ด ๋ช…์‹œ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค.
UDP์—์„œ ์‚ฌ์šฉํ•˜๋Š” Port์™€ TCP์—์„œ ์‚ฌ์šฉํ•˜๋Š” Port๋Š” ๋…๋ฆฝ์ ์ด๋‹ค. ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ์—๋Š” ๊ฐ™์€ ๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์‚ฌ์‹ค TCP์˜ ๊ฒฝ์šฐ๋Š” ๋ณ„๋„์˜ Hash Table์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋”ฐ๋ผ์„œ UDP์™€์˜ Port์™€ ๊ฐ™์€ ๊ฒฝ์šฐ, ์ถฉ๋Œ์€ ๋‚˜์ง€ ์•Š์ง€๋งŒ ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ์— ๊ต‰์žฅํžˆ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๋‹ค.