2013年4月26日 星期五

DHCP Have Acknowledgement in UDP?


DHCP Service 並不會使用到 TCPPort
根據預設只會使用UDP 6768 Port
67 UDP    Bootstrap Protocol (BOOTP) Server; also used by Dynamic Host Configuration Protocol (DHCP)        Official
68 UDP    Bootstrap Protocol (BOOTP) Client; also used by Dynamic Host Configuration Protocol (DHCP)        Official

[運作方式]
一開始Client沒有ip資料

DHCPDISCOVER
Client發出DHCPDISCOVER廣播封包(UDP port 67),尋找DHCP Server

DHCPOFFER
Client開始監聽UDP port 68(任何)DHCP Server收到DHCPDISCOVER封包後,會發出DHCPOFFER廣播封包(UDP port 68),內含提供的ip資料。使用廣播封包是因為此時Client端還沒有配置ip

DHCPREQUEST
Client收到可能來自多個ServerDHCPOFFER封包後,從其中挑選一筆來回應(通常就直接使用最早收到的一筆)。這時仍是使用廣播方式,向所有Server發出DHCPREQUEST(UDP port 67),內含挑選使用的DHCP Server IP,確定使用提供的資料,並提出其它選項需求(netmask/gateway..etc)。而其它未選用的DHCP Server也可籍此廣播封包瞭解工作已完成。

DHCPACK
Client繼續監聽UDP port 68選定的DHCP Server收到DHCPREQUEST封包後瞭解Client已確認使用,即發出DHCPACK封包(仍為廣播封包,UDP port 68),內含所有Client要求的選項資料。Client接收到此封包後即可依其內容配置IP資訊,完成DHCP請求。

從以上的運作流程來看,client僅會監聽UDP 68 PortServer所發出的DHCPACK封包也一樣屬於廣播封包,切記。

沒有留言: