Introduction

負責接待新進入 LAN 的機器,他會自動分發 IP 給新機器並且告訴他一些需要知道的資訊


Process

DHCP Discover

Introduction

當新機器進入 LAN 時會發 DHCP discover 來求取 IP 及必要知識

Example

Src: 0.0.0.0, 68
Dest: 255.255.255.255, 67
DHCPDISCOVER
Yiaddr: 0.0.0.0
Transaction ID: 654
Request:
Subnet Mask, Router, Domain Name Server
  • Src0.0.0.0 因為目前此機器還沒拿到可用 IP
  • Dest255.255.255.255 代表我們發 ARP
  • Yiaddr: DHCP server 要發給新機器的地址,但現在還沒有
  • Transaction ID:用來配對 DHCP packet 的隨機碼,因為 DHCP packet 很多都是 ARP,會傳到所有 LAN 中的機器上

DHCP Offer

Introduction

DHCP server 發給新機器說我這裡有組 IP 你要不要?

因為一個內網可能有多個 DHCP server,因此一個 DHCP discover 可能會得到多個 DHCP offer

Example

Src: 192.168.55.254, 67
Dest: 255.255.255.255, 68
DHCPOFFER
Yiaddr: 192.168.48.15
DHCP server ID: 192.168.55.254
Transaction ID: 654
Lifetime: 4 hrs
Netmask: 255.255.248.0
Router: 192.168.55.254
DNS: 140.112.30.21, 140.112.254.4
  • Yiaddr 代表 server 要給新機器的 IP
  • Lifetime 表明此 IP 你可以用多久

DHCP Request

Introduction

新機器告訴 DHCP server 說:「這個 IP 我拿走囉!」

Example

Src: 0.0.0.0, 68
Dest: 255.255.255.255, 67
DHCPREQUEST
Yiaddr: 192.168.48.15
Transaction ID: 655
DHCP server ID: 192.168.55.254
Lifetime: 4 hrs

DHCP Ack

Introduction

DHCP server 說:「沒問題,拿走吧!」

Example

Src: 192.168.55.254, 67
Dest: 255.255.255.255, 68
DHCPACK
Yiaddr: 192.168.48.15
DHCP server ID: 192.168.55.254
Transaction ID: 655
Lifetime: 4 hrs
Netmask: 255.255.248.0
Router: 192.168.55.254
DNS: 140.112.30.21, 140.112.254.4

Other Knowledge

DHCP Lease

DHCP server 維護 DHCP Lease,他告訴我們現在哪台機器用走哪個 IP,並且這台機器可以使用這個 IP 多久,什麼時候到期

Renewal

正常來說 Client 過了 Lifetime 的一半就會去跟 DHCP server 說我想續約