[๋„คํŠธ์›Œํฌ] IP : DHCP

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

DHCP

DHCP(Dynamic Host Configuration Protocol) ์€ ํ˜ธ์ŠคํŠธ๊ฐ€ ์ž์‹ ์˜ ip ์ฃผ์†Œ๋ฅผ ๋™์ ์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํ˜ธ์ŠคํŠธ๋Š” ๊ฐ€์žฅ ์ฒ˜์Œ์—๋Š” ๊ณ ์œ ํ•œ ip์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๊ฐ€ DHCP ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ip์ฃผ์†Œ๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ์‚ฌ์šฉํ•˜๊ณ , ์‚ฌ์šฉ์„ ๋งˆ์นœ ์ดํ›„์—๋Š” ๋‹ค์‹œ DHCP ์„œ๋ฒ„์— ๋ฐ˜๋‚ฉํ•˜๊ฒŒ ๋œ๋‹ค. DHCP๋Š” ์ด ๋„ค ๋ฒˆ์— ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ํ˜ธ์ŠคํŠธ์™€ DHCP์„œ๋ฐ”๊ฐ€ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ๋™์ž‘ํ•œ๋‹ค.

  1. ํ˜ธ์ŠคํŠธ๊ฐ€ ์ž์‹ ์˜ ํŠธ๋žœ์žญ์…˜ ์•„์ด๋””๋ฅผ ์„ค์ •ํ•˜๊ณ  255.255.255.255, 67 ์— ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. ์ด ์ฃผ์†Œ๋Š” ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋กœ ํ˜„์žฌ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ํ˜ธ์ŠคํŠธ๋“ค์—๊ฒŒ 67๋ฒˆ ํฌํŠธ(UDP์˜ well-known port number)๋กœ DHCP discover ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค.
  2. DHCP ์„œ๋ฒ„๋Š” 67๋ฒˆ ํฌํŠธ๋ฅผ ์—ด์–ด๋†“๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  DHCP ์„œ๋ฒ„ ์—ญ์‹œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋กœ ์‘๋‹ต์„ ๋ณด๋‚ด๋ฉด์„œ, ์š”์ฒญ ๋ฐ›์•˜๋˜ ํ˜ธ์ŠคํŠธ์˜ ํŠธ๋žœ์žญ์…˜ id, lifetime, yiaddrr ์„ ๋‹ด์•„ ๋ณด๋‚ธ๋‹ค. ์—ฌ๊ธฐ์„œ yiaddrr์€ ํ˜ธ์ŠคํŠธ์—๊ฒŒ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ip์ฃผ์†Œ์ด๊ณ , lifetime์€ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด๋Š” ์‘๋‹ต ๋ฉ”์„ธ์ง€๋ฅผ DHCP offer ๋ผ๊ณ  ํ•œ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์‘๋‹ต์„ ๋ฐ›์€ ๋’ค์— ๋ฐ”๋กœ ์ „๋‹ฌ๋ฐ›์€ ip๋ฅผ ์ž์‹ ์—๊ฒŒ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹  DHCP์— ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ์ •์‹์œผ๋กœ yiaddrr์— ์žˆ๋Š” ์ฃผ์†Œ์˜ ์‚ฌ์šฉ์„ ์š”์ฒญํ•œ๋‹ค. ์ด ์š”์ฒญ ๋ฉ”์„ธ์ง€๋ฅผ DHCP Request ๋ผ๊ณ  ํ•œ๋‹ค.
  4. ๊ทธ ์‚ฌ์ด์— ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ DHCP์— ์š”์ฒญํ•ด ํ•ด๋‹น ip ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ–ˆ๋‹ค๋ฉด, DHCP ์„œ๋ฒ„๋Š” NACK ์„ ๋ณด๋‚ด๊ณ , ์•„์ง ํ•ด๋‹น ์ฃผ์†Œ๊ฐ€ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด, ACK ์„ ๋ณด๋‚ธ๋‹ค.
  5. ํด๋ผ์ด์–ธํŠธ๋Š” ACK์„ ๋ฐ›์œผ๋ฉด ์ด์ œ ์ž์‹ ์˜ ip์ฃผ์†Œ๋ฅผ yiaddrr ์— ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , NACK์„ ๋ฐ›์œผ๋ฉด 1๋ฒˆ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•œ๋‹ค.

Dynamic Case

DHCP๋„ ์—ญ์‹œ ํŒจํ‚ท์„ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์™ธ์ƒํ™ฉ๋“ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. DHCP request ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ:

    • DHCP request ๋ฅผ ๋‹ค์‹œ ๋ณด๋‚ธ๋‹ค.
  2. DHCP ์„œ๋ฒ„๊ฐ€ NACK์„ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ

    • DHCP discover ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ๋‹ค.
  3. ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ์„ ์ข…๋ฃŒํ•˜๊ฒŒ ๋˜๋ฉด

    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ DHCP release ๋ฅผ ๋ณด๋‚ด์„œ ์‚ฌ์šฉํ•œ ip์ฃผ์†Œ๋ฅผ ๋ฐ˜๋‚ฉํ•œ๋‹ค.

์ •๋ฆฌ

  1. ์ˆœ์„œ: DHCP discover -> DHCP offer -> DHCP request -> DHCP ack -> DHCP release
  2. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ํ†ต์‹ ๋ฐฉ์‹: DHCP ack์„ ๋ฐ›์„ ๋•Œ๊นŒ์ง€ broadcast(255.255.255.255) ๋กœ ํ†ต์‹ ํ•œ๋‹ค.

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