一種客戶端IP位址分配方法及裝置與流程
2023-06-01 16:14:42 2

本發明涉及通信技術領域,特別涉及一種客戶端IP位址分配方法及裝置。
背景技術:
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)用來為網絡設備動態地分配IP位址等網絡配置參數。客戶端向DHCP伺服器提出請求分配IP位址等配置信息的申請,DHCP伺服器返回為客戶端分配的IP位址等配置信息,以實現IP位址等配置信息的配置。
當DHCP伺服器與客戶端處於同一網段時,DHCP伺服器可以直接為發送IP位址分配請求的客戶端分配IP位址。當DHCP伺服器與客戶端處於不同網段時,則需要使用Relay(中繼)設備。Relay設備可以將客戶端的請求消息發送到不在同一個網段的DHCP伺服器,並將DHCP伺服器的響應的消息傳回給所述客戶端,以完成IP位址分配。
由於客戶端使用的連續性,在DHCP中客戶端申請到IP位址之後,DHCP伺服器會保存客戶端和IP位址之間的對應關係,當客戶端再次申請IP位址時,DHCP伺服器會將之前保存的IP位址再分配該客戶端。
然而隨著網絡和信息技術的發展,在一些場景中,客戶端希望每次上線都能獲得新的IP位址,那麼如何滿足上述場景中的客戶端在重新上線時能夠獲得新的IP位址的需求成為亟待解決的問題。
技術實現要素:
本發明實施例公開了一種客戶端IP位址分配方法及裝置,以實現客戶端在重新上線時能夠獲得新的IP位址。具體方案如下:
一方面,本發明實施例提供了一種客戶端IP位址分配方法,應用於動態主機配置協議DHCP網絡中的中繼Relay設備,所述方法包括:
接收客戶端發送的IP位址分配請求,其中,所述IP位址分配請求中攜帶所述客戶端的標識信息;
根據所述標識信息,查找本地存儲的對應關係表,其中,所述對應關係表中存儲有所述客戶端的標識信息和DHCP伺服器為所述客戶端分配的第一IP位址的對應關係;
當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使所述DHCP伺服器將所述第一IP位址記錄為衝突地址;
發送所述IP位址分配請求至所述DHCP伺服器,以使所述DHCP伺服器為所述客戶端分配與所述第一IP位址不同的第二IP位址。
可選的,所述根據所述標識信息,查找本地存儲的對應關係表,包括:
判斷所述客戶端對應的接口是否開啟了隨機分配地址功能;
如果是,根據所述標識信息,查找本地存儲的對應關係表;
否則,發送所述IP位址分配請求至DHCP伺服器。
可選的,所述方法還包括:
當關閉所述客戶端對應的接口的隨機分配地址功能時,刪除所述客戶端對應的目標表項。
可選的,所述方法還包括:
接收客戶端發送的釋放請求;
向DHCP伺服器轉發所述釋放請求。
可選的,在所述發送所述IP位址分配請求至所述DHCP伺服器會後,所述方法還包括:
接收所述DHCP伺服器針對所述IP位址分配請求發送的地址分配響應;
根據所述地址分配響應中攜帶的第二IP位址更新所述對應關係表中的目標表項;
發送所述第二IP位址至所述客戶端。
另一方面,本發明實施例提供了一種客戶端IP位址分配裝置,應用於動態主機配置協議DHCP網絡中的中繼Relay設備,所述裝置包括:接收模塊、查找模塊和發送模塊;
所述接收模塊,用於接收客戶端發送的IP位址分配請求,其中,所述IP位址分配請求中攜帶所述客戶端的標識信息;
所述查找模塊,用於根據所述標識信息,查找本地存儲的對應關係表,其中,所述對應關係表中存儲有所述客戶端的標識信息和DHCP伺服器為所述客戶端分配的第一IP位址的對應關係;
所述發送模塊,用於當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使所述DHCP伺服器將所述第一IP位址記錄為衝突地址;
所述發送模塊,還用於發送所述IP位址分配請求至所述DHCP伺服器,以使所述DHCP伺服器為所述客戶端分配與所述第一IP位址不同的第二IP位址。
可選的,所述查找模塊,具體用於判斷所述客戶端對應的接口是否開啟了隨機分配地址功能;
如果是,根據所述標識信息,查找本地存儲的對應關係表;
否則,觸發所述發送模塊發送所述IP位址分配請求至DHCP伺服器。
可選的,所述裝置還包括刪除模塊;
所述刪除模塊,用於當關閉所述客戶端對應的接口的隨機分配地址功能時,刪除所述客戶端對應的目標表項。
可選的,所述接收模塊,還用於接收所述客戶端發送的釋放請求;
所述發送模塊,還用於向DHCP伺服器轉發所述釋放請求。
可選的,所述裝置還包括更新模塊;
所述接收模塊,還用於在所述發送所述IP位址分配請求至所述DHCP伺服器會後,接收所述DHCP伺服器針對所述IP位址分配請求發送的地址分配響應;
所述更新模塊,用於根據所述地址分配響應中攜帶的第二IP位址更新所述對應關係表中的目標表項;
所述發送模塊,還用於發送所述第二IP位址至所述客戶端。
在本方案中,中繼Relay設備接收客戶端發送的攜帶客戶端的標識信息的IP位址分配請求;根據該標識信息,查找本地存儲的對應關係表,其中,對應關係表中存儲有客戶端的標識信息和DHCP伺服器為客戶端分配的第一IP位址的對應關係;當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使DHCP伺服器將該第一IP位址記錄為衝突地址;發送該IP位址分配請求至DHCP伺服器,以使DHCP伺服器為該客戶端分配與第一IP位址不同的第二IP位址。可見,客戶端在重新上線發送IP位址分配請求時,Relay設備可以針對該客戶端歷史分配的第一IP位址,發送地址衝突消息,以使DHCP伺服器能夠為該客戶端分配與歷史分配的第一IP位址不同的第二IP位址,以實現客戶端在重新上線時獲得新的地址。當然,實施本發明的任一產品或方法必不一定需要同時達到以上所述的所有優點。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種客戶端IP位址分配方法的流程示意圖;
圖2為一種Relay設備更新所存儲的客戶端對應的IP位址的流程示意圖;
圖3為本發明實施例提供的一種客戶端IP位址分配裝置的結構示意圖;
圖4為一種Relay設備更新所存儲的客戶端對應的IP位址的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明實施例提供了一種客戶端IP位址分配方法及裝置,以實現客戶端在重新上線時能夠獲得新的IP位址。
下面首先針對本發明實施例所提供的一種客戶端IP位址分配方法進行介紹。
本發明實施例所提供的客戶端IP位址分配方法,可以應用於動態主機配置協議DHCP網絡中的中繼Relay設備,如圖1所示,可以包括如下步驟:
S101:接收客戶端發送的IP位址分配請求,其中,該IP位址分配請求中攜帶該客戶端的標識信息;
其中,該IP位址分配請求可以是discover報文,該標識信息可以包括客戶端的MAC(Media Access Contro,媒體訪問控制)地址和ID(IDentity,身份標識號碼)信息。
S102:根據該標識信息,查找本地存儲的對應關係表,其中,該對應關係表中存儲有該客戶端的標識信息和DHCP伺服器為該客戶端分配的第一IP位址的對應關係;
可以理解的是,當Relay設備接收到客戶端發送的IP位址分配請求時,即可記錄該客戶端的標識信息。該Relay設備已預先存儲包含有該客戶端的標識信息和DHCP伺服器為該客戶端分配的第一IP位址的對應關係,客戶端與第一IP位址的對應關係可以是在上一次IP位址分配時記錄的。當Relay設備接收到客戶端的IP位址分配請求後,根據IP位址分配請求所攜帶的客戶端的標識信息,從已存儲的對應關係表中,匹配該客戶端,當Relay設備中存儲有該客戶端的標識信息與DHCP伺服器為該客戶端分配的第一IP位址的對應關係時,即為匹配成功。當匹配成功後,進行後續的客戶端IP位址分配流程。
S103:當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使DHCP伺服器將該第一IP位址記錄為衝突地址;
當匹配到包含第一IP位址的目標表項後,為了避免所述客戶端本次請求的IP位址與第一IP位址相同,Relay設備轉發IP位址分配請求之前,先模擬客戶端發送地址衝突消息至DHCP伺服器。DHCP伺服器接收該地址衝突消息後,將該第一IP位址記錄為衝突地址,如:將該第一IP位址放入衝突表中,在預定時間內不會將該第一IP位址分配給任一客戶端。其中,該地址衝突消息可以為decline報文。
S104:發送該IP位址分配請求至DHCP伺服器,以使DHCP伺服器為該客戶端分配與該第一IP位址不同的第二IP位址。
Relay設備按照現有技術,發送該IP位址分配請求至DHCP伺服器。DHCP伺服器會為該客戶端分配與該第一IP位址不同的第二IP位址。
應用本發明實施例,中繼Relay設備接收客戶端發送的攜帶客戶端的標識信息的IP位址分配請求;根據該標識信息,查找本地存儲的對應關係表,其中,對應關係表中存儲有客戶端的標識信息和DHCP伺服器為客戶端分配的第一IP位址的對應關係;當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使DHCP伺服器將該第一IP位址記錄為衝突地址;發送該IP位址分配請求至DHCP伺服器,以使DHCP伺服器為該客戶端分配與第一IP位址不同的第二IP位址。可見,客戶端在重新上線發送IP位址分配請求時,Relay設備可以針對該客戶端歷史分配的第一IP位址,發送地址衝突消息,以使DHCP伺服器能夠為該客戶端分配與歷史分配的第一IP位址不同的第二IP位址,以實現客戶端在重新上線時獲得新的地址。
並且,本發明實施例僅針對Relay設備進行改進,為其中的某些預定接口配置隨機分配地址功能,以使通過該預定接口的客戶端能夠獲得隨機分配的IP位址。對於DHCP伺服器來說未做任何修改,使用現有協議機制即可,兼容性好且實時性強。
在一種具體實現方式中,Relay設備中會配置有多個接口,以接入客戶端。本發明實施例中,在Relay設備的某些預定接口上配置隨機分配地址功能,並且所配置的隨機分配地址功能通過開關控制,僅通過隨機分配地址功能被開啟的接口的客戶端,才會被分配到與歷史分配的IP位址不同的IP位址。所述根據所述標識信息,查找本地存儲的對應關係表(S102),包括:
判斷該客戶端對應的接口是否開啟了隨機分配地址功能;
如果是,根據該標識信息,查找本地存儲的對應關係表;
否則,發送該IP位址分配請求至DHCP伺服器。
可以理解的是,當判斷出客戶端對應的接口的隨機分配地址功能開啟後,可以確定該客戶端為要求隨機分配地址的客戶端。然後執行後續的客戶端IP位址分配流程。當判斷出客戶端對應的接口的隨機分配地址功能未開啟後,可以確定該客戶端不為要求隨機分配地址的客戶端,可以直接將IP位址分配請求發送至DHCP伺服器,進行IP位址分配。
在一種具體實現方式中,對於客戶端來說,其在某些特定的場景中會有要求隨機分配地址的需求,如:正在玩網遊等。然而,在該某些特定的場景之外的其他場景會不要求隨機分配地址。進一步的,本發明實施例所提供的客戶端IP位址分配方法還可以包括:
當關閉該客戶端對應的接口的隨機分配地址功能時,刪除該客戶端對應的目標表項。
其中,該目標表項中記錄有該客戶端與DHCP伺服器為該客戶端分配的第一IP位址的對應關係。
在一種具體實現方式中,本發明實施例所提供的客戶端IP位址分配方法還可以包括:
接收客戶端發送的釋放請求;
向DHCP伺服器轉發所述釋放請求。
當客戶端需要釋放當前所使用的IP位址時,Relay設備接收到客戶端發送的釋放請求後,依據現有技術對地址釋放進行轉發,發送至DHCP伺服器。另外,當客戶端針對當前所使用的IP位址進行續約時,Relay設備接收到客戶端發送的地址續約後,依據現有技術對地址續約進行轉發,發送至DHCP伺服器。其中,在具體應用中,該地址續約可以為Request報文,該地址釋放可以為Release報文。
在一種具體實現方式中,基於圖1所示流程,如圖2所示,在所述發送所述IP位址分配請求至所述DHCP伺服器會(S104)後,本發明實施例所提供的客戶端IP位址分配方法還可以包括:
S201:接收DHCP伺服器針對該IP位址分配請求發送的地址分配響應;
S202:根據該地址分配響應中攜帶的第二IP位址更新該對應關係表中的目標表項;
S203:發送該第二IP位址至該客戶端。
需要說明的是,為了節省Relay設備的存儲空間,該對應關係表中,可以僅存儲DHCP伺服器為客戶端分配的最新的IP位址,每次接收到DHCP伺服器為客戶端分配的IP位址後,均會將所存儲的IP位址更新為本次所分配到的IP位址。即將目標表項中所包含的IP位址修改為本次所分配到的IP位址(第二IP位址)。
可以理解的是,當該客戶端對應的Relay設備的接口開啟了隨機分配地址功能,Relay設備首次接收到客戶端發送的IP位址分配請求,即記錄該客戶端的標識信息,此時,該Relay設備直接轉發該客戶端首次發送的IP位址分配請求,至DHCP伺服器,以使DHCP伺服器針對該IP位址請求發送地址分配響應,Relay設備接收到DHCP伺服器針對該IP位址分配請求發送的地址分配響應後,對應記錄該地址分配響應中所攜帶的為客戶端分配的第一IP位址,並將該地址分配響應所攜帶的為客戶端分配的第一IP位址發送至客戶端。當Relay設備再次接收到該客戶端所發送的IP位址分配請求,開始執行本發明實施例所提供的客戶端IP位址分配方法,以使DHCP伺服器為該客戶端隨機分配與第一IP位址不同的第二IP位址。
相應於上述方法實施例,本發明實施例提供了一種客戶端IP位址分配裝置,應用於動態主機配置協議DHCP網絡中的中繼Relay設備,如圖3所示,所述裝置包括:接收模塊301、查找模塊302和發送模塊303;
所述接收模塊301,用於接收客戶端發送的IP位址分配請求,其中,所述IP位址分配請求中攜帶所述客戶端的標識信息;
所述查找模塊302,用於根據所述標識信息,查找本地存儲的對應關係表,其中,所述對應關係表中存儲有所述客戶端的標識信息和DHCP伺服器為所述客戶端分配的第一IP位址的對應關係;
所述發送模塊303,用於當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使所述DHCP伺服器將所述第一IP位址記錄為衝突地址;
所述發送模塊303,還用於發送所述IP位址分配請求至所述DHCP伺服器,以使所述DHCP伺服器為所述客戶端分配與所述第一IP位址不同的第二IP位址。
應用本發明實施例,中繼Relay設備接收客戶端發送的攜帶客戶端的標識信息的IP位址分配請求;根據該標識信息,查找本地存儲的對應關係表,其中,對應關係表中存儲有客戶端的標識信息和DHCP伺服器為客戶端分配的第一IP位址的對應關係;當匹配到包含第一IP位址的目標表項時,發送攜帶有第一IP位址的地址衝突消息至DHCP伺服器,以使DHCP伺服器將該第一IP位址記錄為衝突地址;發送該IP位址分配請求至DHCP伺服器,以使DHCP伺服器為該客戶端分配與第一IP位址不同的第二IP位址。可見,客戶端在重新上線發送IP位址分配請求時,Relay設備可以針對該客戶端歷史分配的第一IP位址,發送地址衝突消息,以使DHCP伺服器能夠為該客戶端分配與歷史分配的第一IP位址不同的第二IP位址,以實現客戶端在重新上線時獲得新的地址。
在一種具體實現方式中,所述查找模塊302,具體用於判斷所述客戶端對應的接口是否開啟了隨機分配地址功能;
如果是,根據所述標識信息,查找本地存儲的對應關係表;
否則,觸發所述發送模塊303發送所述IP位址分配請求至DHCP伺服器。
在一種具體實現方式中,本發明實施例所提供的一種客戶端IP位址分配裝置還包括刪除模塊;
所述刪除模塊,用於當關閉所述客戶端對應的接口的隨機分配地址功能時,刪除所述客戶端對應的目標表項。
在一種具體實現方式中,所述接收模塊301,還用於接收客戶端發送的釋放請求;
所述發送模塊303,還用於向DHCP伺服器轉發所述釋放請求。
在一種具體實現方式中,以圖3所示結構為基礎,如圖4所示,本發明實施例所提供的一種客戶端IP位址分配裝置還包括更新模塊401;
所述接收模塊301,還用於在所述發送所述IP位址分配請求至所述DHCP伺服器會後,接收所述DHCP伺服器針對所述IP位址分配請求發送的地址分配響應;
所述更新模塊401,用於根據所述地址分配響應中攜帶的第二IP位址更新所述對應關係表中的目標表項;
所述發送模塊303,還用於發送所述第二IP位址至所述客戶端。
對於系統/裝置實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本領域普通技術人員可以理解實現上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機可讀取存儲介質中,這裡所稱得的存儲介質,如:ROM/RAM、磁碟、光碟等。
以上所述僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。