回覆列表
  • 1 # 使用者5777751262525

    DHCP報文是封裝在UDP報文中的。

    UDP報文封裝在IP報文裡,IP報文封裝在乙太網報文裡。

    典型的DHCP過程是這樣的:

    1:客戶機向伺服器傳送DHCP_DISCOVER報文,申請IP。

    2:伺服器向客戶機返會DHCP_OFFER報文,指定一個將要分配的IP。

    3:客戶機向伺服器傳送DHCP_REQUEST報文,請求這個IP。

    4:伺服器PING幾次(一般是3次)這個IP,如果沒得到響應的話,就說明這個IP現在空閒,可以分配給客戶機,所以向客戶機發送DHCP_ACK報文,確認可以分配。如果得到相應,則傳送DHCP_NAK報文,拒絕分配。

    5:如果客戶端收到DHCP_ACK,責傳送一次免費ARP,判斷這個IP是否已經被用。沒有被用的話則繫結這個伺服器分配來的IP,否則向伺服器傳送DHCP_DECLINE報文,拒絕這次分配。並重新執行第一步。

    如果收到的是DHCP_NAK,則直接重新執行第一步。

    大概過程是這樣的,還有不明白的話再補充一下問題~

    -----------------------------------------------------------

    DHCP是應用層協議,UDP是傳輸層協議,IP是網路層協議,乙太網是鏈路層協議。

    資料在網路上傳輸的時候要自頂向下逐層封裝的,關於這部份知識你可以參考一下TCP/IP分層模型。

    客戶機申請IP之前確實沒有IP,DHCP_DISCOVER報文都是以廣播形式傳送的,IP頭裡的目的地址是255.255.255.255,源地址是0.0.0.0。

    鏈路層目的地址是FF-FF-FF-FF-FF-FF,源地址是自己的mac地址。

    這樣伺服器收到客戶端發來的DISCOVER報文之後,會根據源mac地址向客戶機發送單播的DHCP_OFFER報文。

  • 中秋節和大豐收的關聯?
  • 男友總是隨便翻看我的手機,是不是不信任我?