by mandy
  10. April 2015 14:48
  
  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    (我要換門牌號碼!)
  會透過四個封包來溝通需要的資訊,以達成目的:
  
 
     - 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(更新)租約    (門牌租約到期啦~但我還要續約)
  會透過兩個封包來溝通需要的資訊,以達成目的:
  
 
     - DHCPREQUEST:         
Client speaks to DHCP Server1:「我要續約!」         
     - DHCPACK:         
DHCP server1會先檢查這組IP是否有效或沒被其他電腦使用中,         
DHCP Server1:「OK!我幫你續約了。」   
 
  
    9dee3614-698c-462f-a9eb-28007b0a8020|3|4.3
    Tags: