๐Ÿ’ก๋ฉ€๋ฆฌ ์žˆ๋Š” ์ปดํ“จํ„ฐ๋ผ๋ฆฌ๋Š” ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

2 minute read

๐Ÿ’ก ๋ฉ€๋ฆฌ ์žˆ๋Š” ์ปดํ“จํ„ฐ๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ๋ฒ•

๋ฉ€๋ฆฌ ์žˆ๋Š” ๊ณณ๊นŒ์ง€ ์–ด๋–ป๊ฒŒ ์ฐพ์•„๊ฐˆ ๊ฒƒ์ธ์ง€?

INDEX

  1. IPv4 ํ”„๋กœํ† ์ฝœ: IPv4๊ฐ€ ํ•˜๋Š” ์ผ / IPv4 ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌ์กฐ
  2. ICMP ํ”„๋กœํ† ์ฝœ: ICMP๊ฐ€ ํ•˜๋Š” ์ผ / ICMP ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌ์กฐ
  3. Routing Table: ๋‚ด๊ฐ€ ๋ณด๋‚ธ ํŒจํ‚ท์€ ์–ด๋””๋กœ ๊ฐ€๋Š”๊ฐ€?
  4. ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์™€ ํ†ต์‹ ๊ณผ์ •: ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ๊นŒ์ง€ ๋‚ด ํŒจํ‚ท์˜ ์ด๋™ ๊ณผ์ •
  5. IPv4 ์กฐ๊ฐํ™”: ์กฐ๊ฐํ™”๋ž€? / ์กฐ๊ฐํ™” ํ•˜๋Š” ๊ณผ์ •

1. IPv4 ํ”„๋กœํ† ์ฝœ(๋ฉ€๋ฆฌ ์žˆ๋Š” ๊ณณ์—์„œ ์ „๋‹ฌ๋งŒ ํ•˜๋Š” ์—ญํ• ์ž„)

  • ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
  • ์ง„์งœ ์›ƒ๊ธด๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌ๋  ๊ฒƒ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.(๋ฐ์ดํ„ฐ๊ฐ€ ๊นจ์งˆ์ˆ˜๋„ ๋ˆ„๋ฝ๋  ์ˆ˜๋„ ์žˆ์Œ)
  • ์ค‘๋ณต๋œ ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ํŒจํ‚ท์˜ ์ˆœ์„œ๋ฅผ ์ž˜๋ชป ์ „๋‹ฌํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์Œ
    • ์ด๊ฑฐ ์•…์˜์ ์œผ๋กœ๋Š” DoS ๊ณต๊ฒฉ์ด ๋จ
  • ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•˜๊ณ  ์ˆœ์ฐจ์ ์ธ ์ „๋‹ฌ์€ ๊ทธ๋ณด๋‹ค ์ƒ์œ„ ํ”„๋กœํ† ์ฝœ์ธ TCP์—์„œ ๋ณด์žฅํ•œ๋‹ค.

IPv4_protocol

5์ธต์ด ์žˆ๊ณ  ๋งˆ์ง€๋ง‰์—๋Š” ๋ถ™์„์ง€ ๋ง์ง€ Option์ด๋‹ค. ๊ทธ๋ž˜์„œ 20byte๋กœ ๊ตฌ์„ฑ๋จ ์ด๊ฒŒ ์˜ต์…˜์ด ์ถ”๊ฐ€๋กœ ๊ณ„์† ๋ถ™์œผ๋ฉด ์ตœ๋Œ€ 60byte๊นŒ์ง€ ๋ถ™๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.

  • Source Address: ์ถœ๋ฐœ์ง€ IP ์ฃผ์†Œ

  • Destination Address: ๋ชฉ์ ์ง€ IP ์ฃผ์†Œ

  • version์€ 4๊ฐ€ ์˜ด / IHL(Header Length) ์ตœ์†Œ 20byte ์ตœ๋Œ€ 60byte์ž„ ๊ทผ๋ฐ ์—ฌ๊ธฐ ๋ณด๋ฉด 4๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ์–ด์„œ 15๊นŒ์ง€ ์ˆซ์ž๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•œ๋ฐ 60๊นŒ์ง€๋Š” ํ‘œํ˜„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ˆ๊นŒ 4๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ ์“ฐ๊ฒŒ ๋จ

  • type of service๋Š” 00์œผ๋กœ ๋น„์›Œ๋‘ (์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ)

  • Total length: header+payroad๊นŒ์ง€ -> ์ „์ฒด๊ธธ์ด์ž„

  • identification(id ๊ฐ’)

  • IP flag(x, D, M[์‹ค์ œ๋กœ ์“ฐ๋Š” ๊ฑด M๋ง๊ณ  ์—†์Œ / ํ•œ ๋ฒˆ ๋ณด๋‚ด๋ฉด 0, ์—ฌ๋Ÿฌ ๋ฒˆ ์ชผ๊ฐœ์„œ ๋ณด๋‚ด๋ฉด 1์ž„])

  • fregment offset ์กฐ๊ฐ๋œ ๋ฐ์ดํ„ฐ์— index๋ฅผ ๋ถ€์—ฌํ•ด์„œ ๋ฐ์ดํ„ฐ ์ˆœ์„œ์— ๋งž์ง€ ์•Š๊ฒŒ ๋ณด๋‚ด๋”๋ผ๋„ ์ด๋ฅผ ํ†ตํ•ด ์กฐ๊ฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ๋งž์ถœ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ
  • ์ด์ธต์—์„œ๋Š” ์‹ค์ œ๋กœ identification + IP flag + fregment offest ์ด๋ ‡๊ฒŒ ๋”ํ•ด์ ธ์„œ ๋ณด๋‚ด์ง€๊ฒŒ ๋จ

  • TIME TO LIVE: ํŒจํ‚ค์ง€๊ฐ€ ์‚ด์•„์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„ (์ž˜๋ชป๋œ ์ „์†ก์ด ๊ณ„์†๋  ๊ฒฝ์šฐ ํŒจํ‚ท์ด ๋„คํŠธ์›Œํฌ ์ƒ์— ๊ณ„์† ์กด์žฌํ•˜๋ฉด ์•ˆ๋จ. ๊ทธ๋ž˜์„œ ๊ทธ ํ•œ๊ณ„๋ฅผ ์ •ํ•ด๋†“์€ ๊ฒƒ ๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ํ•œ๊ณ„์น˜๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉด ํ•ด๋‹น ํŒจํ‚ท์„ ๋ฒ„๋ฆฌ๊ฒŒ๋จ ์ฐธ๊ณ ๋กœ ์šด์˜์ฒด์ œ๋งˆ๋‹ค TTL์„ ์ •ํ•˜๋Š” ๊ฐ’์ด ๋‹ค๋ฆ„ ์žฅ๋น„๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉด ์ œํ•œ์ด 1์”ฉ ๊ฐ์†Œํ•จ)
  • TTL๋กœ ์ƒ๋Œ€๋ฐฉ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Œ.
  • Protocol: ์ƒ์œ„ ํƒ€์ž…์„ ์•Œ๋ ค์คŒ (ICMP(3๊ณ„์ธต), TCP, UDP(4๊ณ„์ธต))
  • headerCheckSum: header๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฐ’

2. ICMP ํ”„๋กœํ† ์ฝœ

ICMP(Internet Control Message Protocol, ์ธํ„ฐ๋„ท ์ œ์–ด ๋ฉ”์„ธ์ง€ ํ”„๋กœํ† ์ฝœ)

๋„คํŠธ์›Œํฌ ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๋ฅผ ์ „์†ก ๋ฐ›๋Š” ๋ฐ ์ฃผ๋กœ ์“ฐ์ธ๋‹ค.

ํ”„๋กœํ† ์ฝœ ๊ตฌ์กฐ์˜ Type๊ณผ Code๋ฅผ ํ†ตํ•ด ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€๋ฅผ ์ „์†ก๋ฐ›๋Š”๋‹ค.

ICMP_protocol

Type: ์นดํ…Œ๊ณ ๋ฆฌ

0, 8 3, 11 5
Echo | 0: ์‘๋‹ต, 8: ์š”์ฒญ ์ž˜๋ชป๋์„ ๋•Œ | 3: Destination Unreachable(๋ชป๊ฐ, ๊ฒฝ๋กœ๊ฐ€ ๋ฌธ์ œ) 11: Time Exceded(์‘๋‹ต์„ ๋ชป๋ฐ›์Œ, ์ƒ๋Œ€๋ฐฉ์ด ๋ฌธ์ œ) ๋ณด์•ˆ

Code: Type์˜ ์†Œ๋ถ„๋ฅ˜

3. Routing Table

  • ์–ด๋””๋กœ ๋ณด๋‚ด์•ผํ• ์ง€ ์„ค์ •๋˜์–ด ์žˆ๋Š” ํ…Œ์ด๋ธ” (์—ฌ๊ธฐ์— ์ ํžŒ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ๋งŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ. ์—†์œผ๋ฉด ๋ชป ๋ณด๋ƒ„, ์ง€๋„๊ฐ€ ์žˆ์–ด์•ผ์ง€๋งŒ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ ์—†์œผ๋ฉด ๋ชป๊ฐ)routing_table
  1. A์—๊ฐ€ ์ž์‹ ์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•ด๋ด„
  2. ์ด๋•Œ B์˜ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ์ด A๊ฐ€ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ์ง€๋งŒ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Œ
  3. ์žˆ์œผ๋ฉด, A๊ฐ€ Eth + IPv4 + ICMP(08 00 4d 56) ์š”์ฒญ(type=8)์„ ํ•จ
  4. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ๊ฒŒ ์šฐ๋ฆฌ๊ฐ€ Bํ•œํ…Œ ๊ฐ€๋‹ˆ๊นŒ B์˜ MAC์ฃผ์†Œ๋ฅผ ์ ์–ด์„œ ๋ณด๋‚ด์ค˜์•ผํ•˜๋Š”์ง€ ์•„๋Š”๋ฐ, ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ Eth์—์„œ ๊ฐ€๊นŒ์šด MAC์ฃผ์†Œ๋ฅผ ์ ์–ด์„œ ๋ณด๋‚ด์ฃผ๊ฒŒ๋จ(์ •๋ง ์ค‘์š”!).
  5. ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ˜๋ณตํ•ด์„œ ์ดํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์„ ์งœ์ฃผ๋Š” ํ˜•ํƒœ๋กœ A์™€ B๊ฐ€ ํ†ต์‹ ํ•˜๊ฒŒ ๋จ

IPv4 ์กฐ๊ฐํ™”: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ‚ท์œผ๋กœ ์กฐ๊ฐํ™”๋œ ํŒจํ‚ท

ํฐ IP ํŒจํ‚ท๋“ค์ด ์ ์€ MTU(Maximum Tranmission Unit)๋ฅผ ๊ฐ–๋Š” ๋งํฌ๋ฅผ ํ†ตํ•˜์—ฌ ์ „์†ก๋˜๋ ค๋ฉด, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ํŒจํ‚ท์œผ๋กœ ์ชผ๊ฐœ์–ด/์กฐ๊ฐํ™” ๋˜์–ด ์ „์†ก๋˜์–ด์•ผ ํ•œ๋‹ค.

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

์ผ๋‹จ ์กฐ๊ฐํ™”๋˜๋ฉด ์ตœ์ข… ๋ชฉ์ ์ง€์— ๋„๋‹ฌํ•  ๋•Œ๊ฐ€์ง€ ์žฌ์กฐํ•ฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

IPv4์—์„œ๋Š” ๋ฐœ์‹ ์ง€ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ค‘๊ฐ„ ๋ผ์šฐํ„ฐ์—์„œ๋„ IP ์กฐ๊ฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

IPv6๋Š” IP ๋‹จํŽธํ™”๊ฐ€ ๋ฐœ์‹ ์ง€์—์„œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•˜์ง€๋งŒ ์žฌ์กฐ๋ฆฝ์€ ํ•ญ์ƒ ์ตœ์ข… ์ˆ˜์‹ ์ง€์—์„œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

IPv4_fregmentation

ํ˜„์žฌ ๋ณด๋‚ด๋ ค๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ 11,980bytes ์ธ๋ฐ ์ด๋ฅผ ํ•˜๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ. ์ตœ์†Œ ์ „์†ก๋‹จ์œ„์ธ 3,280btyes๋กœ ๋‚˜๋ˆ ์„œ ๋ณด๋‚ด๊ฒŒ ๋จ. ์ด๋•Œ 3280bytes์—์„œ 1,280 + 1,280 + 720 ์”ฉ ๋‚˜๋ˆ ์„œ ๋ณด๋ƒ„ IPv4 20byte + Ethernet 14byte. ๋”ฐ๋ผ์„œ MTU์—์„œ ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋บ€ ๋‚˜๋จธ์ง€๋กœ ๊ณ„์‚ฐํ•ดใ…Œ์•ผํ•จ.