[๋„คํŠธ์›Œํฌ] IP : Internet Protocol - IPv4

์ฐธ๊ณ ๋„์„œ: ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น : ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ. 7ํŒ. James F. Kurose , Keith W.Ross ์ง€์Œ

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

๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ํ˜ธ์ŠคํŠธ์™€ ํ˜ธ์ŠคํŠธ๊ฐ„์˜ ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๋Š” ๋…ผ๋ฆฌ์  ์—ญํ• ์„ ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  1. Forwarding(Data Plane) : ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” Data plane ์˜์—ญ์—์„œ๋Š” ํŒจํ‚ท์„ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ์˜์—ญ์€ ๋‹ค๋ฅธ ๋ผ์šฐํ„ฐ๋“ค๊ณผ๋Š” ์ „ํ˜€ ๊ด€๊ณ„์—†์ด ํ˜„์žฌ ํŒจํ‚ท์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ผ์šฐํ„ฐ๋งŒ ๊ณ ๋ คํ•˜๋ฉด ๋œ๋‹ค.
  2. Routing(Control Plane) : ์ œ์–ด๋ฅผ ๋‹ด๋‹นํ•˜๋Š” Control plane ์˜์—ญ์—์„œ๋Š” ํŒจํ‚ท์„ ์–ด๋–ค ๊ฒฝ๋กœ๋กœ ์ „๋‹ฌํ•˜์ง€ ๊ทธ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์˜์—ญ์€ ๋‹ค๋ฅธ ๋ผ์šฐํ„ฐ๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•„์š”๋กœ ํ•˜๊ณ  ํŠน์ •ํ•œ ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด์„œ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•œ๋‹ค. ์ด ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด์„œ ๋ผ์šฐํ„ฐ๋Š” forwarding table ์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ํ…Œ์ด๋ธ”์€ ์ „๋‹ฌ๋ฐ›์€ ํŒจํ‚ท ํ—ค๋”์˜ ํ•„๋“œ๊ฐ’์„ ์กฐ์‚ฌํ•ด์„œ ์–ป์€ ๊ฐ’์„ ํฌ์›Œ๋”ฉ ํ…Œ์ด๋ธ”์˜ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉํ•ด ํ•ด๋‹น ํŒจํ‚ท์ด ์ „๋‹ฌ๋˜์–ด์•ผ ํ•  ๋‹ค์Œ ๊ฒฝ๋กœ๋ฅผ ๋ผ์šฐํ„ฐ์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.

Forwaring Table ์˜ ์ƒ์„ฑ

forwarding table ์€ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.

  1. Per-router Control Plane: ์ด ๋ฐฉ๋ฒ•์€ ๋„คํŠธ์›Œํฌ ๋‚ด์— ์žˆ๋Š” ๊ฐ๊ฐ์˜ ๋ผ์šฐํ„ฐ๋“ค์ด ์„œ๋กœ ๋ผ์šฐํŒ… ๋ฉ”์„ธ์ง€๋ฅผ ๊ตํ™˜ํ•˜๋ฉฐ ํฌ์›Œ๋”ฉ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฐ€์žฅ ์ „ํ†ต์ ์ธ ๋ฐฉ์‹์ด๋‹ค. ๊ฐ ๋ผ์šฐํ„ฐ๋“ค์ด ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค๋ฅธ ๋ผ์šฐํ„ฐ๋“ค๊ณผ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์•„์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ์›Œ๋”ฉ๊ณผ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์ œ๊ณตํ•ด์•ผํ•œ๋‹ค.
  2. Logically Centralized Control Plane: ์ด ๋ฐฉ๋ฒ•์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ผ์šฐํ„ฐ๋“ค๊ณผ ๋ถ„๋ฆฌ๋œ ์›๊ฒฉ ์ปจํŠธ๋กค๋Ÿฌ ์ปดํ“จํ„ฐ๊ฐ€ ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•ด์„œ ํฌ์›Œ๋”ฉ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ , ๊ฐ ๋ผ์šฐํ„ฐ๋“ค์€ ๋งŒ๋“ค์–ด์ง„ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํฌ์›Œ๋”ฉ ๊ธฐ๋Šฅ๋งŒ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋„คํŠธ์›Œํฌ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ

๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

  1. Addressing: ํŒจํ‚ท์˜ ๋ชฉ์ ์ง€๋ฅผ ์„ค์ •.
  2. Routing: ํŒจํ‚ท์˜ ์ „์†ก๊ฒฝ๋กœ๋ฅผ ์„ค์ •.
  3. Fragmentation: ํŒจํ‚ท์„ ๋” ์ž‘์€ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚˜๋‰˜์–ด์ง„ ์ฑ„๋กœ ์ „๋‹ฌ๋œ ํŒจํ‚ท์„ ๋‹ค์‹œ ํ•ฉ์นœ๋‹ค.
  4. Packetization: ์œ— ๊ณ„์ธต์—์„œ ์ „๋‹ฌ๋œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์œผ๋กœ ์บก์Аํ™”ํ•œ๋‹ค.

1, 2, 4 ๋ฒˆ์€ ๋ชจ๋‘ ์•ž์„  ๊ณต๋ถ€๋“ค์—์„œ ์ •๋ฆฌํ–ˆ์œผ๋‹ˆ, Fragmentation ์„ ๋จผ์ € ์ •๋ฆฌํ•ด๋ณด์ž.

Fragmentation

Layer 2 ์ธ ๋งํฌ ๊ณ„์ธต์—์„œ๋Š” ๊ฐ ๋„คํŠธ์›Œํฌ์˜ ๋งํฌ๋“ค์ด ํ•œ๋ฒˆ์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ ์–‘์„ ๊ทœ์ •ํ•˜๊ณ , ์ด๋ฅผ MTU(Maximum Transmission Unit) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฌธ์ œ๋Š” ๊ฐ ๋ผ์šฐํ„ฐ๋“ค์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ MTU๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ์ฒ˜์Œ์—๋Š” ์ „๋‹ฌํ• ๋•Œ๋Š” ํŒจํ‚ท์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ๊ดœ์ฐฎ์•˜๋”๋ผ๋„, ์ค‘๊ฐ„ ๋งํฌ์—์„œ ํ•ด๋‹น ํŒจํ‚ท์„ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๋‹ค.

Fragmentation์€ ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ  ๋งํฌ๊ณ„์ธต์œผ๋กœ ๋ณด๋‚ด ๋ณ„๋„์˜ ํŒจํ‚ท์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด๋•Œ ํŒจํ‚ท์˜ ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋ชจ๋“  ๋ผ์šฐํ„ฐ๋ฅผ ํ™•์ธํ•ด์„œ ๊ฐ€์žฅ MTU๊ฐ€ ์ž‘์€ ๊ฐ’์„ Path MTU ๋ผ๊ณ  ํ•˜๊ณ , ์ด ๋ฐฉ๋ฒ•์€ ์ฃผ๋กœ IPv6 ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. IPv4 ์—์„œ๋Š” ํŒจํ‚ท์˜ fragmentation ๊ณผ reassembly ๋ฅผ ์œ„ํ•ด์„œ ๋ช‡๊ฐ€์ง€ ํ—ค๋”ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋‹ค์Œํ—ค๋”๋“ค์ด ๊ทธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค:

  1. Identification: ์‹๋ณ„์ž ์—ญํ• ์„ํ•˜๋Š” ์ด ํ—ค๋”ํ•„๋“œ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์„œ ๊ฐ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋ฅผ ๊ฐ–๊ฒŒ๋” ํ•œ๋‹ค. ์ด ์‹๋ณ„์ž๋Š” fragmentation์ด ๋œ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋‚˜๋ˆ„์–ด์ง„ ๋ฐ์ดํ„ฐ๊ทธ๋žจ๋“ค์ด ๊ฐ™์€ ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ํŒจํ‚ท์กฐ๊ฐ๋“ค์ด ํ•œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์—์„œ ์™”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.
  2. Flags: ์ด ํ—ค๋”ํ•„๋“œ์— DF bit ๊ฐ€ ์„ค์ •๋˜๋ฉด ์ด ํ—ค๋”๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์€ fragmeation์ด ๋˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋งŒ์•ฝ DF bit๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๋ผ์šฐํ„ฐ์— ๋„์ฐฉํ•˜๊ณ  ์ด ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ fragmentation ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด, ๋ผ์šฐํ„ฐ๋Š” ์ด ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ๋ฒ„๋ฆฌ๊ณ  ICMP๋กœ ์—๋Ÿฌ๋ฅผ ์•Œ๋ฆฌ๋Š” ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. MF bit ๋Š” fragment ๋œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ๋“ค ์ค‘ ๋งˆ์ง€๋ง‰์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํŒจํ‚ท์ด ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งˆ์ง€๋ง‰์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํŒจํ‚ท์— MF ๋น„ํŠธ๋ฅผ ์ฃผ์–ด์„œ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ๋‚˜๋ˆ„์–ด์ง„ ํŒจํ‚ท์ด ๋ชจ๋‘ ๋„์ฐฉํ–ˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  3. Fragment Offset: ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜๋ˆ„์–ด์ง„ ์กฐ๊ฐ์˜ ์œ„์น˜๋ฅผ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. offset์— 8์„ ๊ณฑํ•˜๋ฉด ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

Reassembly

  • ์—ฌ๋Ÿฌ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ๋„์ฐฉํ•œ fragment ๋“ค์„ ๋‹ค์‹œ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์œผ๋กœ ๋งŒ๋“ค๋ ค๋ฉด, ์–ด๋А๋‹จ๊ณ„์—์„œ ํ•ฉ์น˜๋Š” ์ž‘์—…์„ ํ•ด์•ผํ• ์ง€ ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
  • IP์—์„œ๋Š” ์ตœ์ข… ๋ชฉ์ ์ง€์— ๋„์ฐฉํ•œ ์ดํ›„์— ๋‹ค์‹œ ํ•ฉ์น˜๋„๋ก ํ•œ๋‹ค.
  • ์ด๋–„ ๋ฐœ์ƒํ•˜๋Š” ๋‹จ์ ์€ ํ•˜๋‚˜์˜ fragment๋งŒ ์œ ์‹ค๋˜๋”๋ผ๋„ ๋ชจ๋“  ์กฐ๊ฐ๋“ค์„ ๋‹ค ๋ฒ„๋ ค์•ผ ํ•˜๊ณ , ๋ฌดํ•œ์ • fragment ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” reassembly timer ๊ฐ€ ์ข…๋ฃŒ ๋˜์—ˆ์„ ๋•Œ๋„ ๋ชจ๋“  ์กฐ๊ฐ๋“ค์„ ๋‹ค ๋ฒ„๋ ค์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

Internet Protocol : IPv4

  • IPv4๋Š” Best-effort service ๋ฅผ ์ง€์›ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์„ ์„ ๋‹คํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ์ „๋‹ฌ, ์˜ค๋ฅ˜, ์ „๋‹ฌ ์ˆœ์„œ ๋“ฑ์„ ํ•ญ์ƒ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
  • Routing ์€ ๋ณ„๋„์˜ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด์„œ ์ˆ˜ํ–‰ํ•˜๊ณ  Forwarding ๊ธฐ๋Šฅ๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • IPv4 ์˜ ํ—ค๋”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋œ๋‹ค.
  • VER(4 bits) : ํ˜„์žฌ IP ํ”„๋กœํ† ์ฝœ์˜ ๋ฒ„์ „. IPv4 ๋Š” 4 ๋ฅผ ๊ธฐ์ž…ํžŒ๋‹ค.
  • HLEN(4 bits) : ํ—ค๋”์˜ ๊ธธ์ด๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ต์…˜์„ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉด 20 ๋ฐ”์ดํŠธ ๊ฐ€ ํ—ค๋”๊ธธ์ด๊ฐ€ ๋œ๋‹ค.
  • Service(8 bits) : ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ECN ๊ฐ™์€ ๋น„ํŠธ๋ฅผ ๋„ฃ์–ด์„œ Congestion Control์„ ํ•˜๋Š”๋ฐ์— ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
  • Total Length(16 bits) : ๋ฐ”์ดํŠธ๋กœ ๊ณ„์‚ฐํ•œ ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด ๊ธธ์ด๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค.
  • Identification(16 bits) : fragmentation ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ๊ทธ๋žจ์˜ ์‹๋ณ„์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๋“ค์–ด์˜ค๋ฉด 1์”ฉ ์ฆ๊ฐ€์‹œํ‚จ ๊ฐ’์„ ํ• ๋‹นํ•ด์„œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ๋“ค์ด ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋„๋ก ํ•œ๋‹ค.
  • Flags(3 bits) : ์กฐ๊ฐ๋‚œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ํ‘œํ˜„ํ•˜๊ณ  ์กฐ๊ฐ๋“ค์˜ ๋งˆ์ง€๋ง‰ ํŒจํ‚ท์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.
  • Fragmentation offset(13 bits) : ๋ฐ์ดํ„ฐ๋“ค์˜ ์‹ค์ œ ์œ„์น˜๋ฅผ ๊ธฐ๋กํ•ด์„œ ๋‹ค์‹œ ํ•ฉ์น  ๋•Œ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  • Time To Live(8 bits) : ๋ผ์šฐํ„ฐ ํ•˜๋‚˜๋ฅผ ๊ฑฐ์น ๋•Œ๋งˆ๋‹ค 1์”ฉ ๊ฐ์†Œํ•˜๊ณ , 0์ด ๋˜๋ฉด ํ•ด๋‹น ํŒจํ‚ท์€ ๋ฒ„๋ ค์ง„๋‹ค.
  • Protocol(8 bits) : ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์ด ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ๋ฐ›์•„ ์‚ฌ์šฉํ•  ํ”„๋กœํ† ์ฝœ์„ ๋ช…์‹œํ•œ๋‹ค. ์ฆ‰, ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•  ํ”„๋กœํ† ์ฝœ์ด UDP๊ฐ€ ๋ ์ง€, TCP๊ฐ€ ๋ ์ง€ ๊ธฐ๋กํ•˜๊ฒŒ ๋œ๋‹ค.
  • Header Checksum(16 bits) : ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฒดํฌ์„ฌ์„ ๋งŒ๋“ค์–ด ์˜ค๋ฅ˜ํ™•์ธ์— ๋„์›€์„ ์ค€๋‹ค.
  • Source IP address(32 bits) : ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ์ „์†กํ•œ ํ˜ธ์ŠคํŠธ์˜ ip ์ฃผ์†Œ๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค.
  • Destination IP address(32 bits) : ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ์ˆ˜์‹ ํ•  ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ์˜ ip์ฃผ์†Œ๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค.

IPv4 Addressing

  • ip ์ฃผ์†Œ๋Š” ๊ฐ ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐ๋œ Network Interface Card ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ๋ถ€์—ฌ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ฃผ์†Œ๋Š” ์ „์„ธ๊ณ„์— ํ•˜๋‚˜ ๋ฟ์ธ ๊ณ ์œ ํ•œ ์ฃผ์†Œ๊ฐ€ ๋œ๋‹ค.
  • ๊ฐ ํ˜ธ์ŠคํŠธ๋‚˜ ๋ผ์šฐํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์  ๋งํฌ์™€ ์—ฐ๊ฒฐ๋˜๋Š” ์ง€์ ์„ Interface ๋ผ๊ณ  ํ•œ๋‹ค.
  • IPv4์˜ ์ฃผ์†Œ์ฒด๊ณ„๋Š” ๊ณ„์ธต์  ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , 32 ๋น„ํŠธ ์ฃผ์†Œ๋ฅผ network id ์™€ host id ๋กœ ๋‚˜๋ˆ„์–ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•œ ๋„คํŠธ์›Œํฌ ๊ทธ๋ฃน์— ์†ํ•œ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ๋Š” ๊ฐ™์€ network number ๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋œ๋‹ค.
  • InterNIC ๋Š” AS(Autonomous System) ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ์ฃผ์ฒด์— network id๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ๊ฐ AS๋Š” ๋„คํŠธ์›Œํฌ ๋‚ด์˜ ํ˜ธ์ŠคํŠธ๋“ค์—๊ฒŒ host id ๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.
  • IPv4๋Š” Dotted Deicmal ์ฒด๊ณ„๋กœ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ, ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ ์ฃผ์†Œ๋ฅผ 8๋น„ํŠธ์”ฉ ์ž˜๋ผ์„œ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค์— ์‚ฌ์ด์‚ฌ์ด์— ์ ์„ ์ฐ์–ด ํ‘œํ˜„ํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 11000000 00000101 00110000 00000011 ๋กœ ํ‘œํ˜„๋œ ์ฃผ์†Œ๋Š” 192.5.48.3 ์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

Classful IP Addressing

IPv4 ์˜ ์ดˆ์ฐฝ๊ธฐ์—๋Š” ์ฃผ์†Œ๋ฅผ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋กœ ๋‚˜๋ˆ„์–ด์„œ net id์™€ host id ์˜ ๋น„์œจ์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ–ˆ๋‹ค. ์ด ๋น„์œจ์€ host id์˜ ๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ฐฏ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ํ˜ธ์ŠคํŠธ๋“ค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

  • ๊ฐ ํด๋ž˜์Šค๋“ค์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฃผ์†Œ์˜ ์•ž ๋ช‡ ๋น„ํŠธ๋“ค์„ ํด๋ž˜์Šค ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ฐ ์‹๋ณ„์ž์™€ ๋ฒ”์œ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
ํด๋ž˜์Šค ์‹๋ณ„์ž NetID ์‚ฌ์šฉ ๋น„ํŠธ HostID ์‚ฌ์šฉ ๋น„ํŠธ ์‹œ์ž‘์ฃผ์†Œ ๋์ฃผ์†Œ
A 0XXXXXXXX 7 24 0.0.0.0 127.255.255.255
B 10XXXXXXX 14 16 128.0.0.0 191.255.255.255
C 110XXXXXX 21 8 192.0.0.0 223.255.255.255
D 1110XXXXX - - 224.0.0.0 239.255.255.255
E 1111XXXXX - - 240.0.0.0 255.255.255.255
  • Class A ๋ถ€ํ„ฐ C ๊นŒ์ง€๋Š” Unicast address ์ด๊ณ  D๋Š” Multicast address ์ธ๋ฐ, ๊ฐ ์ฃผ์†Œ์— ๋งตํ•‘๋˜๋Š” ํ˜ธ์ŠคํŠธ๋“ค์ด 1๋Œ€1 ๊ด€๊ณ„์ธ์ง€ 1๋Œ€๋‹ค ๊ด€๊ณ„์ธ์ง€์— ๋”ฐ๋ผ ๋‚˜๋‰œ๋‹ค.

Subnetting

  • Subnet ์ด๋ผ๋Š” ๊ธฐ์ˆ ์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์„œ๋ธŒ๋„ท์— ์žˆ๋Š” ip ์ฃผ์†Œ๋“ค์€ ์„œ๋กœ ๊ณตํ†ต๋œ ip ์ฃผ์†Œ์˜ ์ผ๋ถ€๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ CIDR(Classless InterDomain Routing)์ด๋ผ๊ณ  ํ•œ๋‹ค. CIDR ์€ ๊ณตํ†ต๋œ ip ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ์Šฌ๋ž˜์‰ฌ์™€ ๋น„ํŠธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 233.1.1.2, 233.1.1.4, 233.1.1.5 ๋กœ ๊ตฌ์„ฑ๋œ ์„œ๋ธŒ๋„ท์ด ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด, 233.1.1/24 ์™€ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ด๊ณ  /24 ๋ถ€๋ถ„์„ Subnet Mask ๋ผ๊ณ  ํ•œ๋‹ค.
  • CIDR์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ผ์šฐํ„ฐ์—์„œ ์ผ๋‹จ CIDR์˜ ๊ณตํ†ต๋œ ์ฃผ์†Œ๋ฅผ ๋ฐ›๋Š” ์š”์ฒญ์„ ๋ชจ๋‘ ๋ฐ›๊ณ  ์„œ๋ธŒ๋„ท ์•ˆ์˜ ํ˜ธ์ŠคํŠธ์—๊ฒŒ ๋‚˜๋ˆ„์–ด์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฃผ์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ชจ๋“  ์„œ๋ธŒ๋„ท ํ˜ธ์ŠคํŠธ์˜ ip์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ip์ฃผ์†Œ๋ฅผ ํ•œ ๋ผ์šฐํ„ฐ์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ route aggregation ์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ๊ทธ๋ ‡๋‹ค๋ฉด ๋งŒ์•ฝ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ๋Š” ์–ด๋–จ๊นŒ? 11001000 00010111 00010000 00000000 ์ด๋ผ๋Š” ์ฃผ์†Œ๊ฐ€ ์žˆ๊ณ , 11001000 00010111 00010010 00000000 ๋‘ ๊ฐœ์˜ ์ฃผ์†Œ๊ฐ€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋งคํ•‘๋˜์–ด ์žˆ์„ ๋•Œ ๋‘ ์ฃผ์†Œ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ์ƒˆ๋กœ ๋“ค์–ด์˜จ๋‹ค๋ฉด, ์–ด๋–ค ์ธํ„ฐํŽ˜์ด์Šค ๊ฒฝ๋กœ๋กœ ๊ฐ€์•ผํ• ๊นŒ? ์™œ๋ƒํ•˜๋ฉด ๋‘ ๋ฒˆ์งธ ์ฃผ์†Œ๋Š” 0001 ๊นŒ์ง€๋Š” ์ฒซ ์ฃผ์†Œ์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋งค์น˜๋˜๊ณ , 0001001 ๊นŒ์ง€๋Š” ๋‘๋ฒˆ์งธ ์ฃผ์†Œ์˜ ์ธใ…Œํ„ฐํŽ˜์ด์Šค์™€ ๋งค์นญ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์นซํ•˜๋ฉด ํ•ญ์ƒ ์ฒซ๋ฒˆ์งธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ด๋™ํ•˜๊ฒŒ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ CIDR ์ •์ฑ…์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•ญ์ƒ ์ฃผ์†Œ๋ฅผ ๊ฐ€์žฅ ๊ธธ๊ฒŒ ๋งค์นญ๋˜๋Š” ์ง€์ ๊นŒ์ง€ ๊ฒ€์‚ฌํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

Written by@์ „์—ฌํ›ˆ (Click Me!)
๊ณ ๋ฏผ์ด ๋‹ด๊ธด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์ž, ๊ณ ๋ฏผํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๋ถ€ํ•˜์ž.