3月 22, 2011

DHCP 協定

DHCP (Dynamic Host Configuration Protocol)
功能:動態的分配 IP 位址、指定 TCP/IP 的其它參數

[ DHCP 角色 ]

1. DHCP Client:發 DHCP request 取得 IP
2. DHCP Server:收到請求,提供可用 IP
3. Scope:可以用的 IP (想成 IP pool)

[ DHCP 運作原理 ] ... 以下流程全是以廣播完成 (因尚未取得 IP)

1. client 廣播送出 DHCP discovery
2. server 廣播回答 DHCP offer
3. client 收到 offer 後會決定是否採用該 IP (通常 client 會收到很多 offer)
4. client 決定使用之後會廣播 DHCP request 通知 server (順便也通知其他人落選)
5. server 在收到 request 之後,會用 DHCP ACK 來最終確定,如果該 IP 提前
被其他主機搶用,則 server 會回應 NACK

[ DHCP 租約更新 ]

使用 DHCP request 以 unicast 的方式通知 server
當租約超過 1/2 時會進行 Renewal
當租約超過 7/8 時會進行 Rebinding

[ DHCP relay agent ]

如果 DHCP server 與 client 是在不同網段,就要使用到 relay agent
DHCP client <--broadcast--> relay agent <--unicast--> DHCP server

或者 router 願意做 DHCP forwarding,不會把封包擋下來:
client -> Router(DHCP Fw) -> server

[ DHCP snooping ]

為了加強 DHCP 機制,在 switch 上加入功能,當 DHCP server 核發 IP 時
switch 會去確保這個 IP 是由當初提 request 的 client 所使用,
即 IP/MAC 的對應要正確。

1. 記憶主機的 MAC 位址
2. 只允許特色的 DHCP server 被存取
3. 主機只能使用核發的 IP 而不可任意使用其他 IP

**

[ BOOTP ]

Bootstrap Protocol

架構在 UDP/IP 之上的協定,允許一台無磁碟主機,透過網路送出請求,
藉由自己的 MAC 位置查詢對應 IP,並得到開機印象檔(boot file) 進行開機。

RARP 只能在 LAN 裡面運作,而 BOOTP 可以經由 Router 轉送。
BOOTP 使用的 port Server:UDP67 , Client:UDP68

沒有留言:

張貼留言