DHCP的工作原理、怎麼檢測IP地址衝突
-
理解DHCP的雛形BOOTP(Bootstrap Protocol)
-
DHCP的為什麼要替代BOOTP;它們的區別在哪裡?
- 理解DHCP的工作原理與每個過程的資料幀取證
-
Offer訊息到底是以單播的方式進行傳送,還是以廣播的方式進行傳送
-
關於DHCP伺服器分配IP地址時的衝突檢測
動態主機配置協議(Dynamic Host Configuration Protocol, DHCP)被設計用於動態的為網路中的主機分配IP地址及其它相關的TCP/IP屬性,它屬於客戶/服務模式的應用程式,
理解DHCP的雛形BOOTP(Bootstrap Protocol):
DHCP的前生是BOOTP(Bootstrap Protocol),要理解DHCP,不得不說明一下這個BOOTP(Bootstrap Protocol),它比DHCP出現得更早,與DHCP提供類似的服務,用於網路早期的無盤工作站,這個無盤工作站在現今的網路應用中基本上已經退出應用市場了,如果還能看到它影子,那就是超市和商場所用的收銀機。BOOTP的功能就是為這些無盤終端自動的分配IP地址、子網掩碼、預設閘道器、DNS地址。
DHCP的為什麼要替代BOOTP;它們的區別在哪裡?
由於DHCP的出現,BOOTP逐漸被DHCP所替代,因為DHCP有更完善、更安全的工作機制、能夠提供更靈活的IP地址分配方式、能夠為客戶機自動配置更多的TCP/IP引數,如果更具體的講就是:BOOTP在分配IP地址時,IP地址和請求主機的MAC必須被預置到BOOTP伺服器上,如果BOOTP客戶端發來的IP地址請求訊息中,請求主機的源MAC地址在BOOTP伺服器上有記錄,並對應了一個IP,那麼,BOOTP伺服器將對應的IP發放給BOOTP的客戶端,如果沒有對應記錄的存在,請求會話將失敗,這是BOOTP缺泛靈活性的一種典型代表;另外DHCP支援發放IP地址的“租約”機制,但是BOOTP不支援,關於“租約”機制,後面會有詳細的描述;BOOTP只能最多分配4個網路引數,分別是IP地址、子網掩碼、預設閘道器、DNS地址,DHCP可以提供更多的TCP/IP屬性的自動配置。
理解DHCP的工作原理與每個過程的資料幀取證:
現在來理解DHCP的工作原理並取證每個工作過程的資料幀,如下圖 9.12所示為DHCP的工作過程,這四個過程,基本上是現今網路領域公認的四大過程,但事實上,DHCP的工作原理在這四個公認的過程中還有一些小插曲,關於這一點,取證瞭如下圖9.13所示的DHCP完整工作過程的資料幀,所以現在擬訂一個清晰的學習思路:
理解DHCP四個工作步驟,並分析每個工作步驟的資料幀。
理解為什麼在這四個工作步驟中會攜帶兩個ARP請求訊息,並分析這兩個ARP請求訊息。
第一步:DHCP客戶端向本地子網傳送一個DHCP的Discover訊息,該訊息是以廣播的形式被髮送到網路上,源MAC地址是傳送源主機的MAC地址,源IP地址是0.0.0.0,因為此時的客戶機還沒有被DHCP動態的配置IP地址,目標MAC地址是廣播MAC(FFFF.FFFF.FFFF),目標IP地址是廣播IP(255.255.255.255),為什麼該訊息會是廣播,因為客戶端現在根本就不知道網路上誰是DHCP伺服器,關於DHCP客戶端傳送的DHCP Discover訊息的資料幀如下圖9.14所示。
圖9.14 DHCP的在Discover資料幀
在執行DHCP第二步Offer訊息前的小插曲:當收到客戶端發來的Discover訊息的DHCP伺服器會立即查尋自己可對外提供IP地址的地址池,提供一個可以分配給DHCP客端的機會IP,比如192.168.2.5;注意:此時並不是立即將這個地址分配出去,這只是一個可供分配的機會IP,DHCP伺服器會以自己的MAC作為源MAC,自己的IP作為源目標,向網路中傳送一個目標IP地址為192.168.2.5(事實上,就是那個機會IP)的ARP請求,目的在於:確認這個它(DHCP伺服器)認為可以分配給某個客戶端的IP地址,是否正在被別的主機使用,如果網路上有主機正在使用這個IP地址,可能是管理員人工輸入的,該主機就會對這個ARP請求應答,這說明,192.168.2.5這個地址正在被使用,反之,沒有應答,就表示DHCP可以將這個地址分配給某個DHCP的客戶端,關於DHCP用於檢測機會IP是否被其它主機使用的資料幀如下圖9.15所示。
第二步:DHCP伺服器必須完在上述的小插曲後,方可確定機會IP地址可以提供給DHCP的客戶端,這也是為什麼在DHCP工作的四個步驟中會出現一個ARP訊息的原因。此時DHCP向網路中傳送一個Offer訊息,為客戶端提供IP地址。
注意:行業工程師一直在爭論著一個問題:Offer訊息到底是以單播的方式進行傳送,還是以廣播的方式進行傳送,然後,在進行協議分析時,有時會出現廣播訊息的Offer資料幀;有時會出現單播訊息的資料幀,這是怎麼回事?
首先說明:DHCP伺服器傳送的Offer訊息,即可以是單播形式,也可以是廣播形式,這要分情況而定,如果將Offer訊息單純的定義為廣播或是單播發送都是不嚴密的定義,事實上DHCP的Offer訊息是廣播還是單播,這取決於DHCP客戶的具體情況,它可以從如下圖圖 9.16所示DHCP報文中的兩個關鍵欄位來做出定義,客戶端IP地址(CIAddr)和標誌(Flags)中的Broadcast flag來決定:
n如果Broadcast flag被轉置位為1,則表示客戶機不允許DHCP伺服器的Offer訊息以單播的方式迴應,所以必須使用廣播迴應,在如下圖 9.16所示的資料幀中Broadcastflag被轉置位為0,所以DHCP伺服器可以選擇以單播的方式傳送Offer訊息。
n如果客戶端IP地址(CIAddr)有一個明確的IP地址,這個已經存在的IP地址,可能是上次引導計算機時DHCP伺服器提供的IP地址。那麼,此時DHCP伺服器的Offer訊息將以單播的方式迴應。
n如果Broadcast flag和客戶端IP地址(CIAddr)都是0;此時,DHCP伺服器既可以使用廣播進行Offer訊息傳送,也可以使用上一步小插曲中的ARP記錄進行單播發送,因為在小插曲中的機會地址檢測說明網路上沒有主機使用這個地址,所以,此時DHCP服務可以假定192.168.2.5這個IP地址可供請求主機使用,所以,可以使用單播的形式回送Offer訊息給DHCP客戶機,但事實上,請求主機此時還沒有真正的獲得這個IP。
第三步:當DHCP的客戶機收到伺服器發來的Offer訊息後,它會以廣播的形式發出一個DHCP的Request訊息,正式向DHCP伺服器申請IP地址,注意該訊息並不是只發給提供機會IP的DHCP伺服器,而是以廣播的形式傳送給網路中的所有DHCP伺服器,因為一個網路上有可能存在多臺DHCP伺服器,現在DHCP客戶端正是使用這個DHCP的Request廣播向整個網路可能存在的所有DHCP伺服器講:“我現在準備申請192.168.2.1這臺DHCP伺服器所提供的192.168.2.5這個IP地址如下圖 9.17所示,其它DHCP伺服器,你們的好意心領了!”相當於是委婉的拒絕其它的DHCP伺服器提供相應的IP地址,也就是說:如果網路上還有其它的DHCP伺服器,它們收到這個Request廣播後,拆開廣播幀,發現該資料幀裡面的DHCP伺服器Identifier欄位為192.168.2.1,就視作客戶端對自己的拒絕。
第四步:當DHCP伺服器收到客戶端發來的Request訊息後,提供IP地址的DHCP伺服器會給DHCP客戶端傳送一個DHCP的ACK訊息,目的在於告訴DHCP客戶端分配的IP地址的“租期”生效;並且告之什麼時間可以提交“續租請求”;以及什麼時候被分配的IP地址將從客戶機上解除繫結;如下圖9.18所示,所謂IP地址的“租期”指示IP地址在客戶機上存在的有效時間,思科的路由器一般“租期”為24小時(1天),“續租請求”指示當“租期”已經使用了一天的一半時間時即12小時的時候,DHCP客戶端可以傳送續訂這個IP地址的請求,如果DHCP伺服器有更多的地址供分配給其它主機,那麼,DHCP伺服器將答應客戶端的“續租請求”,然後將“租期”時間重新復位到24小時,如果,此時DHCP伺服器上的地址池很緊張,已經沒有多餘的IP地址可供分配給其它主機,那麼,DHCP伺服器將拒絕“租期”,但是,它暫時不會回收IP地址,直到解除繫結時間到期,它仍然沒有多餘的IP供分配,那麼DHCP伺服器將回收已經分配出去的IP地址。關於DHCP伺服器傳送ACK訊息的型別,可以是單播,也可以是廣播,這與第二步中的DHCP Offer訊息一樣,關鍵取決於DHCP的客戶端的幾個關鍵欄位,在這裡就不再重複描述。
當DHCP客戶端完成IP地址申請後的一個小插曲:
當完成上述DHCP的四個工作過程後,得到IP地址的主機為了最終確保在網路中,沒有其它主機正在使用分配給它的IP地址,DHCP客戶端會向網路中傳送一條IP地址衝突檢測的ARP訊息,如下圖 9.19所示,源和目標IP地址都是自己的IP,源MAC地址為DHCP客戶端的MAC地址,目標MAC全為0;這個ARP請求,將永遠不希望得到迴應,因為“自己請求解析自己,如果網路上沒有一個相同的自己(冒牌貨,實際上就是地址衝突)”那麼,這個ARP請求永遠不可能得到迴應,如果主機迴應了這個ARP請求,就表示網路上有兩臺主機正在使用相同的IP地址,此時,DHCP客戶端會給DHCP伺服器傳送一個DHCP的Decline的訊息,意思就是“DHCP伺服器,我被你忽悠了!現在我不要你的IP地址”。
相關推薦
DHCP的工作原理、怎麼檢測IP地址衝突
原帖地址:http://7658423.blog.51cto.com/7648423/1270601 理解DHCP的雛形BOOTP(Bootstrap Protocol) DHCP的為什麼要替代BOOTP;它們的區別在哪裡? 理解DHCP的工作原理與每個過
【IP】Linux中檢測IP地址衝突
在Windows系統中,如果本地網路IP地址出現衝突,會出現圖示提示。 在Linux系統中,並沒有提供相關的功能,如果本地網路採用靜態IP地址配置,出現比較奇怪的網路連線問題,如ssh連線復位,可以考慮檢測一下是否是出現了IP地址衝突問題。 arping命令提供了檢測地址衝突的功能。 arping命令
linux,windows下檢測指定的IP地址是否可用或者檢測IP地址衝突的3種方式(批處理程式,python程式,linux shell 批量ping)
本文中的指令碼適用範圍:1)檢測某些IP地址是否被佔用;2)檢測網路中某些裝置是否存活;3)在分配新的ip地址之前,批量檢測環境中是否存在衝突的機器以上檢測基於ICMP Ping報文,要求所有的裝置允許Ping,裝置開通禁止ICMP策略,防火牆禁止ICMP報文等情況不在本文的
ip地址衝突導致無法上網、ping不通閘道器和自己
過完年第一天上班,電腦上不去網了f**k,ping網管,ping不通,就各種改預設閘道器,改dns地址,都不好使。 後來ping本機地址,發現也ping不通,奇了怪了。解除安裝網絡卡重灌,重新設定手動ip地址,發現還是不好使。 是不是自由門非法退出了(之前自由門非正常狀態退
檢測IP地址的正則表達式
檢測 itl 滿足 p地址 tle logs 意思 字符 表達式 正則表達式: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) ((2[0-4]\d|25[0-5]|[01]?\d\
Servlet生命周期、工作原理、配置
move 重要 its 全局 對象 指定 code 化工 req Servlet生命周期 分為三個階段: 1,初始化階段 調用init()方法 2,響應客戶請求階段 調用service()方法 3,終止階段 調用destroy()方法 Servlet工作原
+++++++DNS基本工作原理、DNS正反向解析及主從同步
博客 運維 linux dns基礎工作原理bind Berkerley Information Name DomainDNS Domain Name ServerTCP/UDP 53UDP 53 無連接協議,域名解析TCP 53 面向連接協議,區域傳送歷史IANA統一名字,自己hosts中維護(%
shell腳本檢測IP地址
shell腳本shell腳本:包含一些命令或聲明,並符合一定格式的文本文件格式要求:首行shebang機制#!/bin/bash#!/usr/bin/python#!/usr/bin/perl?shell腳本的用途有:?自動化常用命令?執行系統管理和故障排除?創建簡單的應用程序?處理文本或文件第一步:使用文本
DHCP(動態主機獲取IP地址)
動態主機獲取ip地址動態 IP地址下放過程:1、主機發送DHCP discover包發現DHCP服務器2、DHCP服務器發送DHCP offer包發送IP地址通過逆向ARP將IP地址解析成MAC地址,進行廣播,收到該MAC地址的回應證明IP地址已被占用,沒有收到證明該IP可以使用3、主機通過DHCP requ
DNS和ARP的工作原理、以及一些網絡故障排除
str span 轉換 text mas adding top 聯網 排查過程 作者:Georgekai歸檔:學習筆記2018/1/18 網絡運維基礎(四)1.1 DNS協議1.1.1 DNS是什麽?DNS:Domain Name System ,域名系統1.1.2 DN
DNS簡介、DNS工作原理、DNS正反向解析的搭建、DNS主從備份、DNS子域創建
查找 art 技術分享 c51 找到 tex 文件權限 就會 查詢方式 一、DNS簡介DNS 域名系統(Domain Name System)萬維網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記讓人頭疼的一大串數字。根服務器:13組
DHCP工作原理
DHSP一、DHCP客戶機初始化: 尋找DHCP Server。 當DHCP客戶機第一次登錄網絡的時候(也就是客戶機上沒有任何IP地址數據時),它會通過UDP 67端口向網絡上發出一個DHCPDISCOVER數據包(包中包含客戶機的MAC地址和計算機名等信息)。因為客戶機還不知道自己屬於哪一個網絡,所以封
Web的基本工作原理、HTTP協議和URL說明
發送 agen mes servlet img 設置 encoding 各類 doc Web工作原理 客戶端和Web服務器通過HTTP協議進行通信。Web服務器有是也叫HTTP服務器或Web容器。HTTP協議采用的是請求/響應模式。即客戶端發起HTTP請求,web服務器接
Nginx部署虛擬主機(不同域名、不同端口、不同IP地址)
mar 互聯 login 網站 支持 一個 http useradd log 介紹 Nginx是一款輕量級的HTTP服務器軟件,由俄羅斯的Igor Sysoev開發。它能夠支持高達50000個並發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且系統資源消耗非常低,
Linux DHCP 重新獲取指定的IP地址
exp ast 使用 -i serve eas ren 信息 如何 由於之前配置的虛擬機上使用了DCHP動態分配IP的配置,由於偷懶沒有設定成靜態IP,但忽然有一天我又新增了一個虛擬機,導致新的虛擬機占用了原來虛擬機的ip地址,但是之前的系統中hostname配置的ip已經
實用:IP地址衝突的三大解決方式
為什麼會突然出現IP衝突呢? 在區域網中,電腦、手機等裝置的IP地址都是由路由器自動分配的,當出現兩臺或者兩臺以上的裝置配置了相同的 IP 地址,並且子網掩碼也一樣的情況時,就會發生 IP 地址衝突的情況。當然,不排除你手動設定了一個已經在區域網內使用的IP地址的情況。 那麼該如何解決IP衝突的問題呢?
設定DHCP服務的配置以及DHCP工作原理
設定dhcp服務的配置 **1.DHCP服務 ** DHCP(Dynamic Host Configuration Protocol,動態主機設定協議),是一個區域網的網路協議,使用UDP協議工作。它是TCP/IP協議簇中的一種, 主要作用是集中的管理、分配IP地址,使cli
IP地址衝突怎麼辦? 如何解決區域網IP地址衝突?
IP地址衝突怎麼辦? 如何解決區域網IP地址衝突? 在同一個局域網裡如果有兩個使用者同時使用了相同的IP地址,或者一個使用者已經通過DHCP得到了一個IP地址,而此時又有其他使用者以手工分配方式設定了與此相同的IP地址,這將造成IP地址衝突,並會令其中一個使用者無法正常使用網路
Gearman(分散式任務分發框架)作用、工作原理、安裝、PHP拓展
前言: 工作中我們有時候會遇到比如需要同時釋出資料到多個個伺服器上,或者同時處理多個任務。可以使用PHP的curl_multi的方式併發處理請求,但是由於網路和資料以及各個伺服器等等的一些情況導致這種併發處理的響應時間很慢,因為在併發請求的過程中還包括記錄日誌,處
Hbase架構及工作原理、資料及物理模型、Hbase優化
一、HBase 簡介 1.HBase 概述 HBase 是一個構建在HDFS之上的,分散式的、面向列的開源資料庫 HBase 是 Google BigTable的開源實現,它主要用於儲存海量資料 個人理解: