1.dhcp
協議簡介
dhcp
,全稱是
dynamic host configuration protocol﹐
中文名為動態主機配置協議,它的前身是
bootp
,它工作在
osi的應用層,是一種幫助計算機從指定的
dhcp
伺服器獲取它們的配置資訊的自舉協議。
dhcp
使用客戶端
/伺服器模式,請求配置資訊的計算機叫做
dhcp
客戶端,而提供資訊的叫做
dhcp
的伺服器。
dhcp
dhcp
最重要的功能就是動態分配。除了
ip位址,
dhcp
分組還為客戶端提供其他的配置資訊,比如子網掩碼。這使得客戶端無需使用者動手就能自動配置連線網路。
2.dhcp
的工作流程
發現階段,即
dhcp
客戶機尋找
dhcp
伺服器的階段。
dhcp
客戶機以廣播方式(因為
dhcp
伺服器的
ip位址對於客戶機來說是未知的)傳送
dhcp discover
發現資訊來尋找
dhcp
伺服器,即向位址
255.255.255.255
傳送特定的廣播資訊。網路上每一台安裝了
tcp/ip
協議的主機都會接收到這種廣播資訊,但只有
dhcp
伺服器才會做出響應。
提供階段,即
dhcp
伺服器提供
ip位址的階段。在網路中接收到
dhcp discover
發現資訊的
dhcp
伺服器都會做出響應,它從尚未出租的
ip位址中挑選乙個分配給
dhcp
客戶機,向
dhcp
客戶機傳送乙個包含出租的
ip位址和其他設定的
dhcp offer
提供資訊。
選擇階段,即
dhcp
客戶機選擇某台
dhcp
伺服器提供的
ip位址的階段。如果有多台
dhcp
伺服器向
dhcp
客戶機發來的
dhcp offer
提供資訊,則
dhcp
客戶機只接受第乙個收到的
dhcp offer
提供資訊,然後它就以廣播方式回答乙個
dhcp request
請求資訊,該資訊中包含向它所選定的
dhcp
伺服器請求
ip位址的內容。之所以要以廣播方式回答,是為了通知所有的
dhcp
伺服器,他將選擇某台
dhcp
伺服器所提供的
ip位址。
確認階段,即
dhcp
伺服器確認所提供的
ip位址的階段。當
dhcp
伺服器收到
dhcp
客戶機回答的
dhcp request
請求資訊之後,它便向
dhcp
客戶機傳送乙個包含它所提供的
ip位址和其他設定的
dhcp ack
確認資訊,告訴
dhcp
客戶機可以使用它所提供的
ip位址。然後
dhcp
客戶機便將其
tcp/ip
協議與網絡卡繫結,另外,除
dhcp
客戶機選中的伺服器外,其他的
dhcp
伺服器都將收回曾提供的
ip位址。
重新登入,以後
dhcp
客戶機每次重新登入網路時,就不需要再傳送
dhcp discover
發現資訊了,而是直接傳送包含前一次所分配的
ip位址的
dhcp request
請求資訊。當
dhcp
伺服器收到這一資訊後,它會嘗試讓
dhcp
客戶機繼續使用原來的
ip位址,並回答乙個
dhcp ack
確認資訊。如果此
ip位址已無法再分配給原來的
dhcp
客戶機使用時(比如此
ip位址已分配給其它
dhcp
客戶機使用),則
dhcp
伺服器給
dhcp
客戶機回答乙個
dhcp nack
否認資訊。當原來的
dhcp
客戶機收到此
dhcp nack
否認資訊後,它就必須重新傳送
dhcp discover
發現資訊來請求新的
ip位址。
更新租約,
dhcp
伺服器向
dhcp
客戶機出租的
ip位址一般都有乙個租借期限,期滿後
dhcp
伺服器便會收回出租的
ip位址。如果
dhcp
客戶機要延長其
ip租約,則必須更新其
ip租約。
dhcp
客戶機啟動時和
ip租約期限過一半時,
dhcp
客戶機都會自動向
dhcp
伺服器傳送更新其
ip租約的資訊。
3.dhcp
的報文格式
我們來介紹一下
dhcp
的報文格式,如圖1,
op(1)
htype(1)
hlen(1)
hops(1)
transaction id
(4)sec
onds(2)
flags(2)
ciaddr(4
) yiaddr(4
) siaddr(4
) giaddr(4
) chaddr(16
) sname(64
) file
(128)
options
(variable)
(圖1 dhcp
的 報文格式)
DHCP 動態主機配置協議 工作流程
一 dhcp的作用 我們先來看一下什麼是dhcp,dhcp dynamic host configuration protocol,動態主機配置協議 它可以為客戶機自動分配ip位址 子網掩碼以及預設閘道器 dns伺服器的ip位址等tcp ip引數,簡單來說,就是在dhcp伺服器上有乙個資料庫,存放著...
Struts的工作流程
當actionservlet接受到乙個客戶請求時,將執行如下流程。流程 2 如果actionform例項不存在,就建立乙個actionform物件,把客戶提交的表單資料儲存到actionform物件中。3 根據配置資訊決定是否需要表單驗證。如果需要驗證,就呼叫actionform的validate ...
struts的工作流程!
已經開始接觸到框架了,今天是學習struts的第一天,感覺有點小暈!和周圍同學了解到以後工作可能會用的很少,哎!既然學了就好好搞懂吧!struts是一種組建,是實現web中一些 和結構的軟體。現在學的是struts1.2版本,struts是基於mvc的,有乙個actionservlet,客戶端的所以...