多奇 IT 部落格

記錄著多奇數位在工作中對資訊技術的心得筆記

DHCP-Dynamic Host Configuration Protocol

顧名思義,我們可以說它是:「讓我管理的Host(主機)能夠自動被分配動態IP的協定」

  • 動態IP=浮動IP(dynamic ip)
  • 靜態IP=固定IP(static ip)
  • 除了IP,可以分配的參數還包括了 netmask、gateway 與 DNS 的位址等等

 

可以想像一下沒有DHCP的時候(原始人時期XD),當公司有新進人員的時候,

網管人員這時候拿出一張紙:上面記錄了公司上百名員工的姓名及固定IP、電腦名稱的對照表,

並寫上一筆紀錄,這樣以後才不會導致IP conflict(兩台電腦同時租用同一組IP address),

接著再去手動設定這位新進同仁的固定IP。

當然,人非聖賢,事情一多的時候難保不會記錄錯誤!

所以DHCP的出現,就是把這些「容易變動的IP派發工作」交給它。

 

任何server與client端都是「相對概念」,

提供服務的就叫做server;接受服務的就叫做client。

沒有一定的標準與規範,就像你不能說「一般所稱的server就是DHCP server」

但它的確是server的一種。

而Windows server只是一種作業系統、一種平台,上面提供了服務,才能稱它為「某某server」(e.g. DNS server, DHCP server, web server, mail server),否則他也只是接受服務的一個client而已。

 

DHCP的運作原理

當Client端啟動時,會搜尋DHCP server,然而它有兩種不同的需求:

1.   client端向server端要一組新的IP address    (我要換門牌號碼!)

會透過四個封包來溝通需要的資訊,以達成目的:

image

  • DHCPDISCOVER

    Client:「這是社區廣播,有哪一台DHCP可以讓我拿到門牌號碼(IP address)呢?」

  • DHCPOFFER

    DHCP Server1:「這是社區廣播,我這邊有一組空的(並作記號這已經要給人使用了),給你!」
    DHCP Server2:「這是社區廣播,我這邊有一組空的(並作記號這已經要給人使用了),給你!」
    Client會選擇第一個收到的DHCPOFFER訊息。

  • DHCPREQUEST

    Client replies to DHCP Server1:「這是社區廣播,我要用server1的IP了,其他server請把使用的記號清掉,這樣其他人才可以再使用。」
    Client此時也會檢查IP是不是真的沒有使用中,若有人在用,就會再從頭發一次DHCPDISCOVER。

  • DHCPACK

    DHCP Server1:「這是社區廣播,確認IP沒有問題,您真的可以拿來使用了哦~」

接著Client就可以開始利用這個IP address和其他電腦溝通。

 

2.   client端向server要求renew(更新)租約    (門牌租約到期啦~但我還要續約)

會透過兩個封包來溝通需要的資訊,以達成目的:

image

  • DHCPREQUEST
    Client speaks to DHCP Server1:「我要續約!」
  • DHCPACK
    DHCP server1會先檢查這組IP是否有效或沒被其他電腦使用中,
    DHCP Server1:「OK!我幫你續約了。」

留言與評論


本篇文章的留言功能已關閉!