CN108093091B - 一种获取主机附加信息的方法和代理设备 - Google Patents
一种获取主机附加信息的方法和代理设备 Download PDFInfo
- Publication number
- CN108093091B CN108093091B CN201611029102.1A CN201611029102A CN108093091B CN 108093091 B CN108093091 B CN 108093091B CN 201611029102 A CN201611029102 A CN 201611029102A CN 108093091 B CN108093091 B CN 108093091B
- Authority
- CN
- China
- Prior art keywords
- address
- host
- dhcp
- message
- proxy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种获取主机附加信息的方法和代理设备,用于方便地获取主机附加信息。所述方法由代理设备执行,所述代理设备分别与DHCP客户端和DHCP服务器通信连接,该方法包括:获取所述DHCP客户端发送的第一发现报文,所述第一发现报文携带有所述DHCP客户端所在主机的MAC地址;如果所述代理设备未保存有与所述MAC地址对应的主机名,所述代理设备为所述主机分配临时IP地址;代理设备使用所述临时IP地址向所述主机请求所述主机的附加信息。避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,因此本发明实施例的方法简单易行。
Description
技术领域
本发明涉及通信领域,尤其涉及一种获取主机附加信息的方法和代理设备。
背景技术
DHCP(英文全称:Dynamic Host Configuration Protocol;中文名称:动态主机配置协议)是一种局域网的网络协议,其作用是在基于TCP/IP的网络中向访问Internet的主机提供配置信息。DHCP采用客户端/服务器模式工作,在局域网中的一台主机中安装DHCP服务器软件,在其他主机中安装DHCP客户端软件。由DHCP客户端向DHCP服务器发送配置申请,用于请求服务器为客户端分配配置信息,配置信息包括IP地址、子网掩码、缺省网关等参数。DHCP服务器根据策略向DHCP客户端返回相应配置信息。
通过DHCP客户端与DHCP服务器间的报文交互,一方面DHCP客户端完成IP(英文全称:Internet Protocol;中文名称:网际协议)地址获取,另一方面DHCP服务器记录为DHCP客户端分配的IP地址和DHCP客户端所在的主机MAC(英文名称:Media Access Control;中文名称:媒体访问控制)地址的映射关系。
但是,现有技术具有以下缺点:
为了便于对主机进行管理,网络管理人员往往需要得到主机名等附加信息,然而在DHCP客户端和DHCP服务器进行DHCP报文交互的过程中,局域网中的任何设备例如中继设备或交换机无法获取更多的附加信息。
发明内容
本发明实施例提供了一种获取主机附加信息的方法和代理设备,用于方便地获取主机附加信息。
第一方面,本发明实施例提供了一种获取主机附加信息的方法,该方法由代理设备执行,该代理设备分别与DHCP客户端和DHCP服务器通信连接,该方法包括:
在DHCP客户端和DHCP服务器之间部署的代理设备获取DHCP客户端发送的第一发现报文,该第一发现报文携带有DHCP客户端所在主机的MAC地址。然后,通过DHCP客户端发送的第一发现报文上的主机的MAC地址进行筛选,确定出是否已获取了该主机的附加信息。如果代理设备未保存有与MAC地址对应的主机名,代理设备为主机分配临时IP地址,从而代理设备可以根据该临时IP地址确定出该主机的网络位置。然后,代理设备使用临时IP地址向主机请求主机的附加信息。而代理设备包括但不限于代理服务器、DHCP中继代理等,附加信息包括但不限于主机名、归属部门信息、软硬件配置信息等主机上携带的信息。
这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
结合第一方面,在第一种可能的实现方式中,代理设备使用临时IP地址向主机请求主机的附加信息之后,本实现方式的方法还包括:代理设备建立并保存主机的附加信息和MAC地址二者的对应关系,从而,代理设备获取DHCP客户端发送的第二发现报文后可使用该对应关系。其中,第二发现报文携带有MAC地址,第二发现报文是DHCP客户端在临时IP地址被释放后发送的。如果根据主机的附加信息和MAC地址二者的对应关系确定代理设备保存有与第二发现报文携带的MAC地址对应的附加信息,代理设备向DHCP服务器透传第二发现报文,以使DHCP服务器为主机分配真实IP地址。跟着,代理设备获取DHCP服务器和DHCP客户端交互的至少一个DHCP报文,该至少一个DHCP报文中携带真实IP地址和MAC地址。然后,代理设备再使用保存的主机的附加信息和MAC地址二者的对应关系,代理设备根据至少一个DHCP报文中包含的MAC地址以及保存的对应关系,建立附加信息、MAC地址和真实IP地址三者的对应关系。
这样的方式,避免了为建立主机名、主机MAC地址和真实IP地址的对应关系而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址和MAC地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施,从而本发明建立主机名、MAC地址和IP地址的对应关系的方法简单易行。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,该至少一个DHCP报文,包括DHCP服务器发送的确认报文,或者DHCP服务器发送的提供报文。在该确认报文和提供报文上携带有DHCP服务器分配的真实IP地址,从而代理设备可利用该真实IP地址。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,代理设备使用临时IP地址向主机请求主机的附加信息,包括:代理设备向主机发送用于请求附加信息的回应请求报文,该回应请求报文携带临时IP地址;从而,代理设备获取主机发送的回应应答报文,回应应答报文的源IP地址为临时IP地址,回应应答报文携带主机的附加信息。代理设备和该主机通过ICMP报文交互,代理设备获得了主机的附加信息。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第四种可能的实现方式中,代理设备为主机分配临时IP地址,包括:代理设备向DHCP客户端发送提供报文,提供报文携带临时IP地址;跟着,代理设备获取DHCP客户端发送的请求报文,其中请求报文携带该临时IP地址,该请求报文还携带MAC地址;如果代理设备未保存有与MAC地址对应的附加信息,表明代理设备需要获取该主机的附加信息,不能放行该请求报文。然后,代理设备判断请求报文的Server Identifier字段的内容是否为代理设备的IP地址,若请求报文的Server Identifier字段的内容为代理设备的IP地址,则代理设备向DHCP客户端发送确认报文,确认报文用于指示代理设备已完成为DHCP客户端分配临时IP地址的过程。这样代理设备即可完成为主机分配临时IP地址。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第五种可能的实现方式中,代理设备使用临时IP地址向主机请求主机的附加信息之后,本实现方式的方法还包括:代理设备当获取到DHCP客户端广播的请求报文时,向DHCP客户端发送否认报文。然后,代理设备当获取到DHCP客户端发送的释放报文时,释放临时IP地址。从而DHCP客户端解除该临时IP地址。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第六种可能的实现方式中,使用临时IP地址向主机请求主机的附加信息之后,还包括:代理设备当获取到客户端单播的请求报文时,不回应DHCP客户端;代理设备当获取到客户端广播发送的请求报文时,向DHCP客户端发送否认报文。然后,代理设备当获取到DHCP客户端发送的释放报文时,释放临时IP地址。从而DHCP客户端解除该临时IP地址。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第七种可能的实现方式中,该附加信息为该主机的主机名。
结合第一方面、第一方面的第一种或第二种可能的实现方式,在第八种可能的实现方式中,代理设备为主机分配的临时IP地址的租约时间小于预设时间阀值。
第二方面,本发明实施例中提供一种代理设备,该代理设备具有上述方法中代理设备的功能。该功能可以通过硬件实现,也可能通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,该代理设备包括:
第一获取单元,用于获取DHCP客户端发送的第一发现报文,第一发现报文携带有DHCP客户端所在主机的MAC地址;
分配单元,用于如果代理设备未保存有与MAC地址对应的主机名,为主机分配临时IP地址;
请求单元,用于使用临时IP地址向主机请求主机的附加信息。
另一种可能的实现方式中,该代理设备包括:
收发器,处理器;
该处理器执行如下动作:获取DHCP客户端发送的第一发现报文,第一发现报文携带有DHCP客户端所在主机的MAC地址;
该处理器执行如下动作:如果代理设备未保存有与MAC地址对应的主机名,为主机分配临时IP地址;
该处理器执行如下动作:使用临时IP地址向主机请求主机的附加信息。
第三方面,本发明实施例提供一种计算机存储介质,该计算机存储介质存储有程序代码,该程序代码用于指示执行上述第一方面或第一方面的任意一种可能的实现方式所述的方法。
第四方面,本发明实施例提供了一种获取主机附加信息的方法,方法由代理设备执行,该代理设备分别与DHCP客户端和DHCP服务器通信连接,该方法包括:代理设备获取DHCP客户端发送的请求报文,其中,该请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址。以及,代理设备获取DHCP服务器发送的确认报文,该确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址。当第一TransactionID和第二TransactionID相同时,则代理设备确定该确认报文上的IP地址是分配给与该代理设备连接的主机的。该代理设备可根据该IP地址确定出对应的主机的网络位置,从而代理设备使用该IP地址向主机请求主机的附加信息。
这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
结合第四方面,在第一种可能的实现方式中,代理设备使用IP地址向主机请求主机的附加信息之前,本实现方式的方法还包括:代理设备建立并保存MAC地址和IP地址二者的对应关系。代理设备使用IP地址向主机请求主机的附加信息之后,本实现方式的方法还包括:代理设备根据保存的对应关系和IP地址,建立IP地址、附加信息和MAC地址三者的对应关系。
这样的方式,避免了为建立主机名、MAC地址和IP地址的对应关系而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址和MAC地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例建立主机名、MAC地址和IP地址的对应关系的方法简单易行。
结合第四方面的第一种实现方式,在第四方面的第二种可能的实现方式中,代理设备使用IP地址向主机请求主机的附加信息,包括:代理设备向主机发送用于请求附加信息的回应请求报文,回应请求报文携带IP地址。然后,代理设备获取主机发送的回应应答报文,回应应答报文携带主机的附加信息。代理设备和该主机通过ICMP报文交互,代理设备获得了主机的附加信息。
第五方面,本发明实施例中提供一种代理设备,该代理设备具有上述方法中代理设备的功能。该功能可以通过硬件实现,也可能通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,该代理设备包括:
第一获取单元,用于获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;
第二获取单元,用于获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;
请求单元,用于当第一TransactionID和第二TransactionID相同时,使用IP地址向主机请求主机的附加信息。
另一种可能的实现方式中,该代理设备包括:
收发器,处理器;
该收发器执行如下动作:获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;
该收发器执行如下动作:获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;
该处理器执行如下动作:当第一TransactionID和第二TransactionID相同时,使用IP地址向主机请求主机的附加信息。
第六方面,本发明实施例提供一种计算机存储介质,该计算机存储介质存储有程序代码,该程序代码用于指示执行上述第四方面或第四方面的任意一种可能的实现方式所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
分别与DHCP客户端和DHCP服务器通信连接的代理设备,在DHCP客户端申请IP地址时,通过获取DHCP客户端的DHCP报文,或者DHCP客户端和DHCP服务器交互的DHCP报文,以为该DHCP客户端分配临时IP地址或者提取DHCP报文中DHCP服务器为DHCP客户端分配的真实IP地址的方式,确定出该DHCP客户端的IP地址,从而根据该IP地址可确定出该DHCP客户端所在主机的网络位置,以根据该主机的IP地址获取该主机的附加信息。从而,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
附图说明
图1为本发明一实施例提供的一种获取主机附加信息的方法所涉及的网络架构图;
图2为本发明另一实施例提供的一种获取主机附加信息的方法的方法流程图;
图3为本发明另一实施例提供的一种获取主机附加信息的方法的方法流程图;
图4为本发明另一实施例提供的一种获取主机附加信息的方法的方法流程图;
图5为本发明另一实施例提供的一种获取主机附加信息的方法的方法流程图;
图6为本发明另一实施例提供的一种代理设备的结构示意图;
图7为本发明另一实施例提供的一种代理设备的硬件结构示意图;
图8为本发明另一实施例提供的一种代理设备的结构示意图。
具体实施方式
本发明实施例提供了一种获取主机附加信息的方法和代理设备,用于方便地获取主机附加信息。
如图1所示,其示出了本发明实施例提供的一种获取主机附加信息的方法所涉及的网络架构图。如图1所示,该网络架构包括主机101、代理设备102以及DHCP服务器103。在主机101上设有DHCP客户端,主机101可通过其上设置的DHCP客户端请求IP地址,而DHCP服务器103具有IP地址分配功能。在DHCP客户端和DHCP服务器103间进行DHCP报文的交互,即可实现DHCP服务器103向DHCP客户端分配IP地址。
代理设备102分别与DHCP客户端和DHCP服务器103连接,在DHCP客户端和DHCP服务器103进行DHCP报文交互时,这些DHCP报文都经过代理设备102,代理设备102既可将这些DHCP报文透传给下一设备,又可对DHCP报文进行截获并进行处理。
其中,本发明实施例的代理设备配置有基于DHCP的IP地址分配功能,该代理设备可向该主机分配IP地址。该代理设备还可向该主机请求该主机的附加信息,该附加信息例如可为主机名等信息。
可以理解,代理设备在本发明实施例中包括多种实现方式,例如可为代理服务器,或者为DHCP中继代理(Relay Agent)等,本发明实施例对此不做具体限定。
在本发明有的实施例中,代理设备分别与DHCP客户端和DHCP服务器具有通信连接,代理设备获取该DHCP客户端发送的第一发现报文,该第一发现报文携带有DHCP客户端所在主机的MAC地址,如果代理设备未保存有与该MAC地址对应的主机名,代理设备为该主机分配临时IP地址,然后,使用临时IP地址向主机请求主机的附加信息。
在本发明有的实施例中,代理设备分别与DHCP客户端和DHCP服务器具有通信连接,代理设备获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;代理设备还获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;当第一TransactionID和第二TransactionID匹配时,代理设备确定出该IP地址为与该代理设备连接的主机的IP地址,从而代理设备使用该IP地址向该主机请求到该主机的附加信息。
这样,只需在DHCP客户端和DHCP服务器之间部署该代理设备,代理设备在DHCP客户端申请IP地址时,通过DHCP客户端发送的发现报文上的主机的MAC地址进行筛选,确定出是否已获取了该主机的附加信息,若没获取,则代理设备为该DHCP客户端分配一临时IP地址,从而可通过该临时IP地址确定出该DHCP客户端所在主机的网络位置,代理设备使用该临时IP地址便可向主机请求该主机的附加信息。这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施,从而本实施例的方法简单易行。
为了便于对本发明实施例的信息处理方法有更好的理解,下文以两组具体的实施例进行详细的说明。
图2为本发明实施例提供的一种获取主机附加信息的方法的方法流程图。
参考图1的网络架构图和以上内容,参阅图2,本发明实施例的方法包括:
步骤201:代理设备获取DHCP客户端发送的第一发现报文。
发现(DHCP discovery)报文是DHCP地址分配过程初始阶段的一种报文。本实施例中的“第一发现报文”和“第二发现报文”并不是表示顺序关系,而是为了区别不同的发现报文,以下文件中提到的第一、第二等也是为了区别不同的报文。
其中,第一发现报文携带有DHCP客户端所在主机的MAC地址。
在DHCP客户端要申请IP地址时,该DHCP客户端向网络广播发现报文。因在本发明实施例中,该代理服务器与该DHCP客户端和DHCP服务器分别通信连接,从而该代理服务器先与DHCP服务器获取到该第一发现报文。该第一发现报文携带有该DHCP客户端所在主机的MAC地址。
步骤202:如果代理设备未保存有与该MAC地址对应的附加信息,代理设备为该主机分配临时IP地址。
代理设备对该第一发现报文进行解析,获取该第一发现报文的chaddr字段值中的MAC地址。该MAC地址是该DHCP客户端所在主机的MAC地址。
然后,代理设备检测是否存有与该MAC地址对应的附加信息,以决定对该第一发现报文的相应操作,若代理设备未保存有与该MAC地址对应的附加信息,代理设备为该主机分配临时IP地址,以根据该临时IP地址确定该主机的网络上的位置,从而根据该临时IP地址向该主机请求该主机的附加信息。若该代理设备保存有与该MAC地址对应的附加信息,则代理设备无需向该DHCP客户端分配临时IP地址。代理设备为临时IP地址设定租约时间,当租约时间到期后,将释放该临时IP地址。当临时IP地址被释放后,DHCP客户端将重新发起申请IP地址的过程。
其中,附加信息可为主机的主机名等信息。
步骤203:代理服务器使用临时IP地址向主机请求主机的附加信息。
代理设备为该主机分配临时IP地址,以根据该临时IP地址确定该主机的网络上的位置,从而根据该临时IP地址向该主机请求该主机的附加信息。
其中代理设备向该主机请求附加信息的方式具有多种,例如,代理设备和该主机通过ICMP(英文全称:Internet Control Message Protocol;中文名称:Internet控制报文协议)报文交互,获得附加信息。具体地,代理设备向该主机发送用于请求附加信息的回应请求(ICMP Echo request)报文,主机会根据该回应请求报文反馈回携带主机的附加信息的回应应答(ICMP Echo reply)报文。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接代理设备上,代理设备获取该DHCP客户端发送的第一发现报文,该第一发现报文携带有DHCP客户端所在主机的MAC地址。如果代理设备未保存有与该MAC地址对应的主机名,代理设备为该主机分配临时IP地址。然后,使用临时IP地址向主机请求主机的附加信息。这样,只需在DHCP客户端和DHCP服务器之间部署该代理设备,代理设备在DHCP客户端申请IP地址时,通过DHCP客户端发送的发现报文上的主机的MAC地址进行筛选,确定出是否已获取了该主机的附加信息。若没获取,则代理设备为该DHCP客户端分配一临时IP地址,从而可通过该临时IP地址确定出该DHCP客户端所在主机的网络位置,代理设备使用该临时IP地址便可向主机请求该主机的附加信息。这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
可选地,为了便于代理服务器对网络中大量的主机相关的信息进行管理,或者为了便于后续能够快速查询到主机的附加信息,在有的实施例中,代理服务器还可建立附加信息、MAC地址和真实IP地址三者的对应关系。此时,在该实施例中,在步骤203之后,还包括下述步骤。
步骤204:代理设备建立并保存主机的附加信息和MAC地址二者的对应关系。
代理设备利用临时IP地址获取到主机的附加信息后,建立并保存主机的附加信息和第一发现报文中所携带的主机的MAC地址二者的对应关系。通过该对应关系,该主机的附加信息和该主机的MAC地址可互相标识。并可作为代理设备后续操作执行条件。
步骤205:代理设备获取DHCP客户端发送的第二发现报文。
其中,第二发现报文携带有MAC地址。
在代理设备为该DHCP客户端分配临时IP地址并根据该IP地址获取该DHCP客户端所在主机的附加信息后,该主机的临时IP地址租约时间到期后,该临时IP地址被释放。该主机将通过DHCP客户端重新申请IP地址,此时,该DHCP客户端向网络广播第二发现报文。
步骤206:如果根据主机的附加信息和MAC地址二者的对应关系,确定代理设备保存有与第二发现报文携带的MAC地址对应的附加信息,代理设备向DHCP服务器透传第二发现报文,以使DHCP服务器为主机分配真实IP地址。
因在步骤204,代理设备建立并保存主机的附加信息和MAC地址二者的对应关系,在代理设备获取到第二发现报文后,代理设备解析出该第二发现报文携带的主机的MAC地址,根据该MAC地址,从预存的附加信息和MAC地址二者的对应关系查找出对应的附加信息。此时,代理设备能查询对应的附加信息,从而代理设备向DHCP服务器透传该第二发现报文,以使DHCP服务器为主机分配真实IP地址。
步骤207:代理设备获取DHCP服务器和DHCP客户端交互的至少一个DHCP报文。
其中,该至少一个DHCP报文中携带真实IP地址和MAC地址。
DHCP服务器在接收到第二发现报文后,为发送该第二发现报文的DHCP客户端分配真实IP地址,真实IP地址即为DHCP服务器为DHCP客户端分配的IP地址。
该真实IP地址的分配过程通过DHCP服务器和DHCP客户端交互的提供(DHCPoffer)报文、请求(DHCP request)报文以及确认(DHCP ACK)报文实现。
在本发明有的实施例中,代理设备可以获取确认报文,并从该确认报文中解析出DCHP客户端分配到的真实IP地址以及主机的MAC地址。
在本发明有的实施例中,代理设备可以获取请求报文和确认报文,从请求报文解析出第一TransactionID和DHCP客户端所在主机的MAC地址,从确认报文解析出第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址,通过第一TransactionID和第二TransactionID的匹配确定出相互对应的真实IP地址和主机MAC地址。
在本发明有的实施例中,代理设备可从提供报文中获取真实IP地址,而主机的MAC地址可从其它报文获取。
步骤208:代理设备根据该至少一个DHCP报文中包含的该MAC地址以及保存的对应关系,建立附加信息、MAC地址和真实IP地址三者的对应关系。
在步骤204中,代理设备建立并保存主机的附加信息和MAC地址二者的对应关系,代理设备在步骤207中获取到主机的MAC地址和真实IP地址后,代理设备即可根据该MAC地址,在该二者的对应关系中进行查询,获取对应的主机附加信息,从而建立附加信息、MAC地址和真实IP地址三者的对应关系,建立该三者的对应关系后,代理设备可保存该对应关系。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接的代理设备上,代理设备获取DHCP客户端发送的第一发现报文,第一发现报文携带有DHCP客户端所在主机的MAC地址。通过该MAC地址对主机进行筛选,确定出没获取到附加信息的主机。如果代理设备未保存有与MAC地址对应的主机名,代理设备为主机分配临时IP地址,从而代理设备可以使用临时IP地址向主机请求主机的附加信息。为了建立附加信息、MAC地址和真实IP地址三者的对应关系,代理先建立并保存主机的附加信息和MAC地址二者的对应关系,以做准备。然后代理设备获取该DHCP客户端发送的第二发现报文,第二发现报文携带有MAC地址;如果根据主机的附加信息和MAC地址二者的对应关系确定代理设备保存有与MAC地址对应的附加信息,代理设备向DHCP服务器透传第二发现报文,以使DHCP服务器为主机分配真实IP地址。从而,代理设备获取DHCP服务器和DHCP客户端交互的至少一个DHCP报文,至少一个DHCP报文中携带真实IP地址和MAC地址;代理设备根据至少一个DHCP报文中包含的MAC地址以及保存的对应关系,建立附加信息、MAC地址和真实IP地址三者的对应关系。
这样的方式,避免了为建立主机名、主机MAC地址和真实IP地址的对应关系而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址和MAC地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施,从而本发明实施例提供的获取主机附加信息的方法简单易行。
图3为本发明实施例提供的一种获取主机附加信息的方法的方法流程图。在本发明的实施例中,以代理设备为代理服务器、主机的附加信息为主机名进行详细的说明。结合图1所示的网络架构图和上述图2所示实施例的内容,参见图3,本发明实施例提供的方法流程包括:
步骤301:代理服务器获取DHCP客户端发送的第一发现报文。其中,第一发现报文携带有DHCP客户端所在主机的MAC地址。
需要IP地址的主机通过DHCP客户端向网络中广播第一发现报文,以请求租用IP地址。因该第一发现报文所属的主机还没分配IP地址,因此该第一发现报文中的源IP地址为0.0.0.0。
在本地网络上的所有主机都能够收到这个广播的第一发现报文,但只有DHCP服务器或具有分配IP地址功能的设备才对此广播报文进行回答。
如图1所示,因代理服务器分别与DHCP客户端和DHCP服务器通信连接,即代理服务器串接在DHCP客户端和DHCP服务器之间,所以代理服务器先于DHCP服务器获取到该第一发现报文。
步骤302:如果代理服务器未保存有与该MAC地址对应的主机名,代理服务器向DHCP客户端发送第一提供报文。
其中,第一提供报文携带临时IP地址。
代理服务器获取到第一发现报文后,读取该第一发现报文的chaddr字段值中的MAC地址。该MAC地址是该DHCP客户端所在主机的MAC地址。
代理服务器在代理服务器本地查找该MAC地址对应的主机名,判断其上是否存有与该MAC地址对应的主机名。如果代理服务器存有与该MAC地址对应的主机名,则透传该第一发现报文,以使DHCP服务器为该DHCP客户端分配IP地址。如果代理服务器未存有与该MAC地址对应的主机名,则由代理服务器向客户端回复提供报文。该代理服务器配置有DHCP服务器的分配IP地址的功能,所以该代理服务器能反馈提供报文等DHCP报文,以向该客户端分配临时IP地址。
代理服务器判断出其上未保存有与该第一发现报文上的MAC地址对应的主机名后,该代理服务器向该DHCP客户端分配临时IP地址。
在本发明有的实施例中,该代理服务器为该临时IP地址设置的租约时间小于预设时间值。通过该预设时间值的设定可使得该临时IP地址的租约时间设置的较小,例如,该预设时间值比DHCP服务器分配的真实IP地址对应的租约时间小得多。从而,代理服务器设置很小的一个租约时间给该临时IP地址。这样,该DHCP客户端所属的主机只在一段较短的时间内使用该临时IP地址,该DHCP客户端即可在较短时间内因租约时间到期而重新申请IP地址,减少了DHCP客户端因使用非DHCP服务器分配的IP地址带来的功能限制。
可以理解,在有的实施例中,对代理服务器设置的临时IP地址的租约时间可以不作限定,只要能让代理服务器根据临时IP地址获取到DHCP客户端所在主机的主机名即可。
在本发明的实施例中,租约时间由代理服务器统一配置,代理服务器可以通过第一提供报文和/或第一确认报文向DHCP客户端通知该租约时间。
该代理服务器为了向该DHCP客户端分配临时IP地址,该代理服务器向该DHCP客户端发送第一提供报文,该第一提供报文包括分配给该DHCP客户端的临时IP地址等配置信息。
例如,代理服务器获取到DHCP客户端的第一发现报文后,解析出该第一发现报文的chaddr字段值的MAC地址为“02-60-8C-57-A1-02”。代理服务器查询出其上未存有与该MAC地址对应的主机名后,代理服务器从该代理服务器管理的空闲IP地址池中取出一个IP地址“209.0.0.5”作为临时IP地址,并将该临时IP地址分配给该客户端。代理服务器为该临时IP地址分配1分钟的租约时间。然后,代理服务器根据临时IP地址等信息构造第一提供报文,并发送该第一提供报文,该第一提供报文上的Yiaddr字段上携带有该临时IP地址。
步骤303:代理服务器获取DHCP客户端发送的第一请求报文。
其中,请求报文包括DHCP客户端所在主机的MAC地址。
DHCP客户端获取到该代理服务器发送的第一提供报文后,选择该第一提供报文中携带的Yiaddr字段的临时IP地址为DHCP客户端的地址,并构造第一请求报文发送给代理服务器。
DHCP客户端通过发送该第一请求报文,响应代理服务器发送的第一提供报文。该第一请求报文的源地址为全0,但在该第一请求报文的option50requested ip address字段会携带该临时IP,即第一请求报文携带有临时IP地址。
DHCP客户端可能与不只一台代理服务器连接,还可能既与代理服务器连接,也与其它的DHCP服务器连接。这时,DHCP客户端向网络广播第一发现报文,而接收到第一发现报文并且能够提供IP地址的服务器,都会给客户端回应一个提供报文,以提供一个IP地址给该客户端。所以客户端可能从不止一台服务器接收到提供报文,客户端会选择其中的一个提供报文。并向网络中广播一个请求报文,表明自己已经接受了一个服务器提供的IP地址。该请求报文中包含所接受的IP地址和已经接受的服务器的IP地址。
本发明实施例中,DHCP客户端广播第一请求报文,该第一请求报文携带该临时IP地址,表示该DHCP客户端已经接受了代理服务器分配的临时IP地址,并使得其他DHCP服务器知道:它们可以释放已提供的地址,并将这些地址返回到空闲地址池中。
其中,DHCP部分将数据包标识为Request,并使用DHCP:Requested Address字段确认所提供的地址。DHCP:Server Identifier字段显示提供租约的DHCP服务器的IP地址。
本发明实施例中,客户端选择了代理服务器发送的第一提供报文,并向代理服务器返回第一请求报文。
步骤304:代理服务器向DHCP客户端发送第一确认报文。
代理服务器接收到DHCP客户端发送的第一请求报文后,解析该请求报文中携带的chaddr字段值,得到该字段携带的MAC地址,
代理服务器在本地上查找该MAC地址对应的主机名。如果存在与该MAC地址对应的主机名,则代理服务器放行该请求报文。如果该代理服务器未保存有与该MAC地址对应的主机名,则代理服务器判断该第一请求报文的Server Identifier字段的内容是否为该代理服务器的IP地址。如果不是该代理服务器的IP地址,表明DHCP客户端没有选择该代理服务器分配的临时IP地址,从而代理服务器丢弃该报文。若该第一请求报文的ServerIdentifier字段的内容为该代理服务器的IP地址,则表明DHCP客户端选择了代理服务器分配的临时IP地址,代理服务器向DHCP客户端发送第一确认报文。一般来说,确认报文是DHCP服务器发送的用于确认IP地址租约的报文,在DHCP服务器发送确认报文后,将在该分配过程中已分配的IP地址从空闲地址池中删除,在地址分配表中增加在该分配过程中已分配的IP地址与作为分配对象的主机的MAC地址的对应关系。在本实施例中也可以理解为第一确认报文指示代理服务器已完成为DHCP客户端分配临时IP地址的过程。
代理服务器向该DHCP客户端广播发送第一确认报文,表明代理服务器已经接受客户端的选择,并将这一临时IP地址的合法租用以及其他的配置信息都放入该报文发给客户端。从而代理服务器已完成向该DHCP客户端分配临时IP地址。
DHCP客户端在收到该第一确认报文后,会使用该报文中的信息来进行相应配置操作。该DHCP客户端将临时IP地址和所在主机的MAC地址进行绑定。DHCP客户端处于已绑定状态后,IP地址分配过程完成,该DHCP客户端所在的主机可以使用该临时IP地址进行网络通信。
步骤305:代理服务器向该主机发送用于请求主机名的回应请求报文。
其中,回应请求报文携带该临时IP地址。
在代理服务器为客户端分配临时IP地址的操作完成后,代理服务器可确定DHCP客户端当前使用的IP地址为临时IP地址,代理服务器可根据该临时IP地址确定出该DHCP客户端所在主机的网络位置。从而,代理服务器为了获取该主机的主机名,代理服务器根据该临时IP地址,向绑定该临时IP地址的主机发送回应请求报文,该回应请求报文用于请求客户端的主机名。
例如,回应请求报文作为IP数据报的数据,加上数据报的首部,组成IP数据报发送出去。该携带回应请求报文的IP数据报的目的地址为DHCP客户端绑定的临时IP地址,即该DHCP客户端所在主机的地址,“209.0.0.5”,源地址为代理服务器的IP地址“128.30.33.33”。
步骤306:代理服务器获取该主机发送的回应应答报文。
其中,回应应答报文携带该主机的主机名。
本发明实施例,是以代理服务器获取主机的主机名进行说明的,该主机名属于主机的附加信息的一种,在本发明有的实施例中,该代理服务器还可以获取其它的附加信息,例如主机的归属部门信息、主机的软硬件配置信息等等。
DHCP客户端所在的主机获取到该回应请求报文后,根据该报文的指示获取其主机名,根据该主机名构造回应应答报文,该主机向该代理服务器发送回应应答报文,以使代理服务器获取到该主机的主机名。
例如,主机根据其主机名“PC01”构造回应应答报文,该回应应答报文作为IP数据报的数据,加上数据报的首部,组成IP数据报发送出去。该携带回应应答报文的IP数据报的目的地址为代理服务器的IP地址“128.30.33.33”,源地址为该主机绑定的临时IP地址“209.0.0.5”。
步骤304和步骤305,即为具体的使用临时IP地址向主机请求主机的主机名的其中一方式。
由上述内容可知,代理服务器为了获取到主机的主机名,先要确定出该主机的网络位置,在该主机通过DHCP客户端发送发现报文以申请IP地址时,代理服务器为该DHCP客户端预先分配一临时IP地址,当DHCP客户端绑定该临时IP地址后,代理服务器即可根据该临时IP地址确定出该DHCP客户端所在主机的网络位置,并根据该临时IP地址向该主机发送用于获取主机名的请求,以获取该主机的主机名。因该临时IP地址是代理服务器为DHCP客户端分配的,从而无需对DHCP客户端所在主机当前的IP地址进行探测。
步骤307:代理服务器建立主机的主机名和MAC地址二者的对应关系;
代理服务器获取到回应应答报文后,解析该报文,得到该报文携带的DHCP客户端所在主机的主机名,然后,建立该主机的主机名和该主机的MAC地址的对应关系。以及,对该主机名和该MAC地址的对应关系进行保存。
该对应关系的建立过程可以是,因该回应应答报文上携带临时IP地址和主机名,从而根据该回应应答报文得到属于同一主机的主机名和临时IP地址,然后,根据代理服务器上预先建立的MAC地址和临时IP地址的对应关系,以临时IP地址作为索引,代理服务器建立该主机的主机名和该主机的MAC地址的对应关系。或者,以次序为中介,代理服务器获取到一主机的MAC地址并对该MAC地址所属的主机分配临时IP地址后,代理服务器只发出一回应请求报文,在之后,代理服务器获取到第一个回应应答报文后,直接以该回应应答报文携带的主机名以及之前获取到的该MAC地址,建立主机名和MAC地址的对应关系。代理服务器也可以使用其它方法建立主机名称和MAC地址的对应关系,本发明实施例对此不作具体限定。
如表一所示,本发明实施例的代理服务器可建立并保存多组主机名和MAC地址的对应关系。
表一
MAC地址 | 主机名 |
02-60-8C-57-A1-02 | PC01 |
00-00-C0-15-AD-18 | PC02 |
08-00-2B-00-EE-0A | PC03 |
代理服务器在获取到主机名后,可以让该主机名所属的主机释放该临时IP地址,以使该主机通过DHCP客户端获取真正的DHCP服务器分配的真实IP地址,实现正常的网络通信功能。并且代理服务器也可获取DHCP服务器向DHCP客户端分配的真实IP地址。其中,DHCP客户端解除该临时IP地址的方法有多种,本发明实施例对此不作具体限定。例如:
方法一
如上所述,由于DHCP客户端绑定的临时IP地址的租约时间很短,等到租约时间到期后,DHCP客户端再次广播请求报文给代理服务器,要求更新租用期。当获取到DHCP客户端广播的请求报文时,代理服务器向该DHCP客户端发送否认报文。该DHCP客户端收到该否认报文后,DHCP客户端停止使用该临时IP地址,DHCP客户端发送释放报文给代理服务器。当获取到DHCP客户端发送的释放报文时,代理服务器释放临时IP地址。这样,DHCP客户端的状态即进入初始状态,重新开始请求IP地址。
如图3所示的实施例,即使用了方式一,即本发明实施例的方法还包括:
步骤308:DHCP客户端向代理服务器发送第二请求报文。
步骤309:代理服务器向该DHCP客户端发送否认报文。
步骤310:DHCP客户端向代理服务器发送释放报文。
方式二、
DHCP客户端获取到的临时IP地址的租约时间到达租约时间的50%时,DHCP客户端以单播方式发送请求报文,此时代理服务器不向客户端回应。即,当获取到该DHCP客户端单播的请求报文时,代理服务器不回应该DHCP客户端。
当DHCP客户端的临时IP地址的租约时间到达租约的87.5%时,DHCP客户端以广播方式发送请求报文。当获取到DHCP客户端广播的请求报文时,代理服务器向该DHCP客户端发送否认报文。DHCP客户端收到否认报文后发送释放报文给代理服务器。当获取到该DHCP客户端发送的释放报文时,代理服务器释放该临时IP地址。这样,DHCP客户端的状态即进入初始状态,重新开始请求IP地址。
这样,代理服务器即可通过发送否认报文,释放之前为DHCP客户端分配的临时IP地址。
方式三
DHCP客户端获取到的临时IP地址的租约时间到达租约时间的50%时,DHCP客户端发送单播请求报文,此时代理服务器不给客户端回应。当DHCP客户端的临时IP地址的租约时间到达租约时间的87.5%时,DHCP客户端发出广播请求报文,此时代理服务器也不给DHCP客户端回应。当DHCP客户端地址租约超期后DHCP客户端发出释放报文或者不发任何消息,直接重新开始申请地址。
即,在方法三中代理服务器不对DHCP客户端的租约时间更新一类的DHCP报文做任何回应。客户端在临时IP地址的租约时间超期后解除对临时IP地址的绑定。
DHCP客户端在回到初始状态后,重新开始新一轮的IP地址租用过程。下文即为代理服务器获取到主机名后,本发明实施例的各设备的相应执行流程。
步骤311:代理服务器获取DHCP客户端发送的第二发现报文。
其中,第二发现报文携带有该DHCP客户端所在主机的MAC地址。
DHCP客户端重新申请IP地址,DHCP客户端向DHCP服务器广播第二发现报文,因代理服务器设于DHCP服务器和DHCP客户端之间,从而代理服务器先于DHCP服务器获取到该第二发现报文。
步骤312:代理服务器向DHCP服务器透传第二发现报文。
代理服务器获取到第二发现报文后,解析该第二发现报文,获取该发现报文上的chaddr字段上的MAC地址,该MAC地址为该DHCP客户端所在主机的MAC地址。
代理服务器根据预先建立的主机名和MAC地址的对应关系,查找代理服务器上是否存有与该第二发现报文上的该MAC地址对应的主机名。如果根据该对应关系确定代理服务器上保存有与该MAC地址对应的主机名,则代理服务器向DHCP服务器透传该第二发现报文,以使DHCP服务器为该主机分配真实IP地址。若代理服务器未存有对应的主机名,则代理服务器为该客户端分配一临时IP地址,即从上述的步骤302开始执行本发明实施例的方法。
步骤313:DHCP服务器向DHCP客户端发送第二提供报文。
DHCP服务器获取到第二发现报文后,为DHCP客户端分配真实IP地址。DHCP服务器先在其数据库中查找该DHCP客户端的配置信息,若找到,则返回找到的信息;若找不到,则DHCP服务器从该DHCP服务器的空闲IP地址池中取一个IP地址分配给该DHCP客户端。从而,DHCP服务器根据分配给客户端的IP地址构造一个第二提供报文,该第二提供报文上携带有IP地址等配置信息。DHCP服务器向DHCP客户端发送该第二提供报文。该第二提供报文携带的DHCP服务器为DHCP客户端分配的IP地址,即为真实IP地址。
在本发明的实施例中,DHCP服务器设置的租约时间可由DHCP服务器配置,DHCP服务器可以通过第二DHCP提供报文和/或第二DHCP确认报文向客户端通知该租约时间。
步骤314:DHCP客户端向DHCP服务器发送第三请求报文。
DHCP客户端收到第二DHCP提供报文后,选择该报文中携带的Yiaddr字段值作为该DHCP客户端所在主机的地址,并且构造第三请求报文发送给DHCP服务器。
其中,在本发明实施例中,该第三请求报文先被代理服务器获取,然后被该代理服务器向DHCP服务器透传。
DHCP服务器收到DHCP客户端发送的第三请求报文后,向该DHCP客户端回应第二确认报文。
步骤315:代理服务器获取DHCP服务器发送的第二确认报文。
其中,该第二确认报文中携带有真实IP地址和该DHCP客户端所在主机的MAC地址。
DHCP服务器收到DHCP客户端发送的第三请求报文后,回应第二确认报文。因第二确认报文的Yiaddr字段值携带有客户端分配到的真实IP地址,而其chaddr字段值携带有该DHCP客户端所在主机的MAC地址,代理服务器解析该第二确认报文,即可获取到其上真实IP地址和该主机的MAC地址。因该IP地址和该MAC地址,来源于同一确认报文,则可确定该IP地址和该MAC地址属于同一主机。
步骤316:代理服务器根据第二确认报文上的MAC地址以及步骤307保存的对应关系,建立主机名、MAC地址和真实IP地址三者的对应关系。
代理服务器得到DHCP服务器分配给DHCP客户端的IP地址和DHCP客户端所在主机的MAC地址后,代理服务器在预先建立并保存的主机名和MAC地址的对应关系中,查询与第二确认报文的MAC地址对应的主机名,获取到对应的主机名后,代理服务器即可建立真实IP地址、该主机的主机名、该主机的MAC地址的三者对应关系。该三者的对应关系建立好后,代理服务器将该对应关系保存起来。
例如,代理服务器获取到DHCP服务器发送的第二确认报文后,解析出该报文上chaddr字段值的DHCP客户端所在主机的MAC地址为“02-60-8C-57-A1-02”,该报文的Yiaddr字段值的DHCP客户端分配到的IP地址为“209.0.0.11”。代理服务器即可通过chaddr字段值的该MAC地址查找本地记录的主机名,查找到主机名后,代理服务器即可建立该主机名、DHCP客户端分配到的IP地址和主机的MAC地址的对应关系。如,若代理服务器上存储有如表一所示的MAC地址和主机名的对应关系,则代理服务器根据该确认报文上的chaddr字段值的MAC地址“02-60-8C-57-A1-02”,从表一的对应关系中确定出主机名PC01。从而,代理服务器可建立对应关系MAC地址、IP地址和主机名三者的对应关系:02-60-8C-57-A1-02、209.0.0.11和PC01。
步骤317:代理服务器向DHCP客户端透传该第二确认报文。
代理服务器获取到第二确认报文后,代理服务器可向DHCP客户端透传该第二确认报文,以使得DHCP客户端完成该IP地址和该DHCP客户端所在主机的MAC地址的绑定,从而使得该主机开始使用DHCP服务器分配的该IP地址。
可以理解,本发明实施例对步骤317的执行顺序不作具体限定,只要在步骤315之后即可。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接的代理设备上,代理设备获取DHCP客户端发送的第一发现报文,第一发现报文携带有DHCP客户端所在主机的MAC地址。通过该MAC地址对主机进行筛选,确定出没获取到附加信息的主机。如果代理设备未保存有与MAC地址对应的主机名,代理设备为主机分配临时IP地址,从而代理设备可以使用临时IP地址向主机请求主机的附加信息。为了建立附加信息、MAC地址和真实IP地址三者的对应关系,代理先建立并保存主机的附加信息和MAC地址二者的对应关系,以做准备。然后代理设备获取该DHCP客户端发送的第二发现报文,第二发现报文携带有MAC地址;如果根据主机的附加信息和MAC地址二者的对应关系确定代理设备保存有与MAC地址对应的附加信息,代理设备向DHCP服务器透传第二发现报文,以使DHCP服务器为主机分配真实IP地址。从而,代理设备获取DHCP服务器和DHCP客户端交互的至少一个DHCP报文,至少一个DHCP报文中携带真实IP地址和MAC地址;代理设备根据至少一个DHCP报文中包含的MAC地址以及保存的对应关系,建立附加信息、MAC地址和真实IP地址三者的对应关系。
这样的方式,避免了为建立主机的附加信息、主机MAC地址和真实IP地址的对应关系而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址和MAC地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例提供的获取主机附加信息的方法简单易行。
图4为本发明实施例提供的一种获取主机附加信息的方法的方法流程图,该方法由代理设备执行,代理设备分别与DHCP客户端和DHCP服务器通信连接,该方法包括:
步骤401:代理设备获取DHCP客户端发送的请求报文。
其中,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址。
在DHCP客户端申请IP地址时,DHCP客户端会向网络广播发现报文,获取到该发现报文的DHCP服务器为该DHCP客户端分配IP地址,DHCP服务器向该DHCP客户端发送提供报文,该提供报文包括DHCP服务器分配的IP地址。
因代理设备设置在DHCP客户端的DHCP服务器之间,代理设备在获取到该发现报文和提供报文后会透传这两报文。在DHCP客户端获取到提供报文后,会向DHCP服务器发送请求报文,此时,代理设备获取待请求报文,代理设备即透传该请求报文,还对该请求报文进行解析,获取该请求报文的第一TransactionID。在有的实施例中,该代理设备解析该请求报文后,还获取DHCP客户端所在主机的MAC地址。
步骤402:代理设备获取DHCP服务器发送的确认报文。
其中,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址。
DHCP服务器在获取到请求报文后,向DHCP客户端发送确认报文,该确认报文携带有第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址。代理设备截获该确认报文后,解析该确认报文,得到该第二TransactionID和该IP地址。
步骤403:当第一TransactionID和第二TransactionID相同时,代理设备使用IP地址向主机请求主机的附加信息。
代理设备将第一TransactionID和第二TransactionID进行比较,若第一TransactionID和第二TransactionID相同,则确定该确认报文上的IP地址是分配给与该代理设备连接的主机的。该代理设备可根据该IP地址确定出对应的主机的网络位置,从而该代理设备可使用该IP地址,向配到该IP地址的主机请求附加信息。
可选地,在有的实施例中,代理服务器还可建立附加信息、MAC地址和真实IP地址三者的对应关系。此时,在该实施例中,在使用IP地址向主机请求主机的附加信息之前,该方法还包括:
建立并保存MAC地址和IP地址二者的对应关系,这样,在代理设备上,可根据该MAC地址和该IP地址互相标识,两者属于同一主机,从而在代理设备与多个主机连接时,避免将其上的MAC地址和IP地址混淆。
以及,在使用IP地址向主机请求主机的附加信息之后,本发明实施例的方法还包括:根据保存的对应关系和IP地址,建立IP地址、附加信息和MAC地址的对应关系。
这样,使用IP地址向主机请求主机的附加信息,可得到与IP地址对应的附加信息,根据该IP地址,在预先建立的MAC地址和IP地址二者的对应关系中进行查找,查找出与对应的MAC地址,从而代理设备可建立IP地址、附加信息和MAC地址的对应关系,建立完成该三者的对应关系后,代理设备可保存该三者的对应关系,或者向其它设备发送该三者的对应关系。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接的代理设备上,代理设备获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;代理设备还获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;当第一TransactionID和第二TransactionID匹配时,建立并保存MAC地址和IP地址二者的对应关系,这样,代理设备可使得其上的MAC地址和IP地址互相标识,确定出处于同一主机的MAC地址和IP地址。然后,代理设备使用IP地址向主机请求主机的附加信息根据保存的对应关系和IP地址,建立IP地址、附加信息和MAC地址的对应关系。
这样的方式,避免了为建立主机的附加信息、MAC地址和IP地址的对应关系而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址和MAC地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例提供的获取主机地附加信息的方法简单易行。
图5为本发明实施例提供的一种获取主机附加信息的方法的方法流程图。在图5所示的实施例中,以代理设备为代理服务器,主机的附加信息为主机名进行详细说明。结合图1所示的网络架构图和上述图4所示实施例的内容,参见图5,本发明实施例提供的方法流程包括:
步骤501:DHCP客户端向DHCP服务器发送发现报文。
DHCP客户端广播发现报文,以请求租用IP地址。因该客户端目前还没有自己的IP地址,因此它将该DHCP发现报文所属的IP数据报的源IP地址设为全0。
代理服务器设于客户端和服务器之间,故,客户端和服务器间交互的报文都经过该代理服务器。在本发明实施例中,代理服务器可直接向DHCP服务器透传该发现报文。本发明实施例的透传例如可以是指报文从代理服务器通过,代理服务器解析该报文的MAC和IP头信息,不需要代理服务器中途干预就直接转发出去。
步骤502:DHCP服务器向DHCP客户端发送提供报文。
步骤502的实现细节可参考步骤313。
步骤503:代理服务器获取DHCP客户端发送的请求报文。
其中,该请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址。
DHCP客户端可能收到不同DHCP服务器发送的多个提供报文,DHCP客户端选择其中一个DHCP服务器,并向所选择的DHCP服务器发送DHCP请求报文。在本实施例中,客户端向DHCP服务器发送该DHCP请求报文,代理服务器先于DHCP服务器获取到该DHCP请求报文。
代理服务器获取到客户端发送的DHCP请求报文后,对该DHCP请求报文进行解析,得到该报文上携带的DHCP客户端所在主机的MAC地址和第一TransactionID。并且代理服务器向DHCP服务器透传该DHCP请求报文。
步骤504:代理服务器向DHCP服务器透传该请求报文。
代理服务器获取到该请求报文后,向DHCP服务器透传该请求报文。
步骤505:代理服务器获取DHCP服务器发送的确认报文。
其中,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址。
被DHCP客户端选择的DHCP服务器获取到请求报文后,会给该DHCP客户端广播返回确认报文,表明已经接受该DHCP客户端的选择,并将IP地址以及其他的配置信息都放入该报文中发给DHCP客户端。因代理服务器设置在客户端和服务器之间,代理服务器先于客户端获取到DHCP服务器发送给DHCP客户端的确认报文。
代理服务器获取到该确认报文后,向该DHCP客户端透传该确认报文,并在代理服务器上对该确认报文进行解析,得到该确认报文上的DHCP客户端分配到的IP地址和第二TransactionID。其中,Transaction事务ID为,客户端每次发送DHCP请求报文时选择的随机数,用来匹配DHCP服务器的响应报文是对应于哪个请求报文的响应。DHCP客户端会丢弃“事务ID”不匹配的响应报文。
这样,代理服务器即获取到了DHCP客户端分配到的IP地址。
步骤506:当第一TransactionID和第二TransactionID相同时,代理服务器建立并保存MAC地址和IP地址二者的对应关系。
因步骤304获取到的MAC地址和TransactionID对应,而步骤306获取到的IP地址和TransactionID对应,从而代理服务器根据该TransactionID的索引,建立客户端的MAC地址和客户端的IP地址的对应关系。
步骤507:代理服务器向客户端透传该确认报文。
代理服务器获取到该确认报文后,代理服务器可向DHCP客户端透传该确认报文,以使得客户端完成该IP地址和客户端的MAC地址的绑定,从而该DHCP客户端所在的主机开始使用DHCP服务器分配的该IP地址。
步骤508:代理服务器向该主机发送用于请求主机名的回应请求报文。
其中,回应请求报文携带该主机分配到的IP地址。
DHCP客户端绑定该IP地址后,DHCP客户端所在的主机即可以使用该IP地址。代理服务器获取了该DHCP客户端分配到的IP地址后,可判断出该DHCP客户端当前使用该IP地址,然后根据该IP地址,向绑定该IP地址的主机发送回应请求报文。该回应请求报文用于请求客户端的主机名。
具体的,步骤508的实现细节可参考步骤305。
步骤509:代理服务器获取主机发送的回应应答报文。
其中,该回应应答报文携带该主机的主机名。
步骤509的实现细节可参考步骤306。
步骤508和步骤509,即为具体的代理服务器使用IP地址向机请求主机名的其中之一方式。
步骤510:代理服务器根据保存的对应关系和IP地址,建立IP地址、主机名和MAC地址的对应关系。
该主机发送的回应应答报文携带有该主机的IP地址,从而,代理服务器解析该回应应答报文后,得到该主机的IP地址和主机名。代理服务器根据预先建立的MAC地址和IP地址的对应关系中,获取到与该回应应答报文携带的IP地址对应的MAC地址,从而可建立主机的主机名、该主机的MAC地址和IP地址的对应关系,即根据该IP地址和预先存储的MAC地址和IP地址的对应关系,建立IP地址、主机名和MAC地址的对应关系。然后可对该建立的IP地址、主机名和MAC地址的对应关系进行存储。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接的代理设备上,代理设备获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址。代理设备还获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址。当第一TransactionID和第二TransactionID相同时,建立并保存MAC地址和IP地址二者的对应关系。这样,代理设备可使得其上的MAC地址和IP地址互相标识,确定出处于同一主机的MAC地址和IP地址。然后,代理设备使用IP地址向主机请求主机的附加信息根据保存的对应关系和IP地址,建立IP地址、附加信息和MAC地址的对应关系。
这样的方式,避免了为建立主机名、MAC地址和IP地址的对应关系而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址和MAC地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此,本发明实施例提供的获取主机的附加信息的方法简单易行。
图6为本发明实施例提供的一种代理设备的结构示意图,该代理设备用于执行图2和图3对应的实施例中任一实施的代理设备执行的功能。该代理设备分别与DHCP客户端和DHCP服务器通信连接,参见图6,该代理设备包括:
第一获取单元601,用于获取DHCP客户端发送的第一发现报文,第一发现报文携带有DHCP客户端所在主机的MAC地址;
分配单元602,用于如果代理设备未保存有与MAC地址对应的主机名,为主机分配临时IP地址;
请求单元603,用于使用临时IP地址向主机请求主机的附加信息。
可选地,
代理设备还包括:
第一建立单元604,用于建立并保存主机的附加信息和MAC地址二者的对应关系;
第二获取单元605,用于获取DHCP客户端发送的第二发现报文,第二发现报文携带有MAC地址,第二发现报文是DHCP客户端在临时IP地址被释放后发送的;
透传单元606,用于如果根据主机的附加信息和MAC地址二者的对应关系确定代理设备保存有与第二发现报文携带的MAC地址对应的附加信息,向DHCP服务器透传第二发现报文,以使DHCP服务器为主机分配真实IP地址;
第三获取单元607,用于获取DHCP服务器和DHCP客户端交互的至少一个DHCP报文,至少一个DHCP报文中携带真实IP地址和MAC地址;
第二建立单元608,用于根据至少一个DHCP报文中包含的MAC地址以及保存的对应关系,建立附加信息、MAC地址和真实IP地址三者的对应关系。
可选地,
至少一个DHCP报文,包括DHCP服务器发送的确认报文,或者DHCP服务器发送的提供报文。
可选地,
请求单元603,包括:
第一发送子单元609,用于向主机发送用于请求附加信息的回应请求报文,回应请求报文携带临时IP地址;
第一获取子单元610,用于获取主机发送的回应应答报文,回应应答报文的源IP地址为临时IP地址,回应应答报文携带主机的附加信息。
可选地,
分配单元602,包括:
第二发送子单元611,用于向DHCP客户端发送提供报文,提供报文携带临时IP地址;
第二获取子单元612,用于获取DHCP客户端发送的请求报文,该请求报文携带临时IP地址,该请求报文携带MAC地址;
判断子单元613,用于如果代理设备未保存有与MAC地址对应的附加信息,判断请求报文的Server Identifier字段的内容是否为代理设备的IP地址;
第三发送子单元614,用于若请求报文的Server Identifier字段的内容为代理设备的IP地址,则向DHCP客户端发送确认报文,确认报文用于指示代理设备已完成为DHCP客户端分配临时IP地址的过程。
可选地,
代理设备还包括:
第一发送单元615,用于当获取到DHCP客户端广播的请求报文时,向DHCP客户端发送否认报文;
第一释放单元616,用于当获取到DHCP客户端发送的释放报文时,释放临时IP地址。
可选地,
代理设备还包括:
第三获取单元617,用于当获取到客户端单播的请求报文时,不回应DHCP客户端;
第二发送单元618,用于当获取到客户端广播发送的请求报文时,向DHCP客户端发送否认报文;
第二释放单元619,用于当获取到DHCP客户端发送的释放报文时,释放临时IP地址。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接代理设备上,第一获取单元601获取该DHCP客户端发送的第一发现报文,该第一发现报文携带有DHCP客户端所在主机的MAC地址。如果代理设备未保存有与该MAC地址对应的主机名,分配单元602为该主机分配临时IP地址。然后,请求单元603使用临时IP地址向主机请求主机的附加信息。这样,只需在DHCP客户端和DHCP服务器之间部署该代理设备,代理设备在DHCP客户端申请IP地址时,通过DHCP客户端发送的发现报文上的主机的MAC地址进行筛选,确定出是否已获取了该主机的附加信息。若没获取,则代理设备为该DHCP客户端分配一临时IP地址,从而可通过该临时IP地址确定出该DHCP客户端所在主机的网络位置,代理设备使用该临时IP地址便可向主机请求该主机的附加信息。这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
图7为本发明实施例提供的一种代理设备的硬件结构示意图。具体请参阅图7,本发明实施例中的代理设备的另一个实施例,具体包括:该代理设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)701(例如,一个或一个以上处理器)和存储器702,一个或一个以上存储应用程序7031或数据7032的存储介质503(例如一个或一个以上海量存储设备)。其中,存储器702和存储介质703可以是短暂存储或持久存储。存储在存储介质703的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器701可以设置为与存储介质703通信,在代理设备700上执行存储介质703中的一系列指令操作。
代理设备700还可以包括一个或一个以上电源704,一个或一个以上有线或无线网络接口705,一个或一个以上输入输出接口706,和/或,一个或一个以上操作系统7033,例如Windows Server TM,Mac OS XTM,Unix TM,Linux TM,FreeBSD TM等等。
上述实施例中由代理设备所执行的步骤可以基于该图7所示的代理设备结构。
具体情况如下:
该中央处理器701,具有如下功能:
获取DHCP客户端发送的第一发现报文,第一发现报文携带有DHCP客户端所在主机的MAC地址;
如果代理设备未保存有与MAC地址对应的主机名,为主机分配临时IP地址;
使用临时IP地址向主机请求主机的附加信息。
可选的,该中央处理器701,具体还具有如下功能:
建立并保存主机的附加信息和MAC地址二者的对应关系;
获取DHCP客户端发送的第二发现报文,第二发现报文携带有MAC地址,第二发现报文是DHCP客户端在临时IP地址被释放后发送的;
如果根据主机的附加信息和MAC地址二者的对应关系确定代理设备保存有与第二发现报文携带的MAC地址对应的附加信息,向DHCP服务器透传第二发现报文,以使DHCP服务器为主机分配真实IP地址;
获取DHCP服务器和DHCP客户端交互的至少一个DHCP报文,至少一个DHCP报文中携带真实IP地址和MAC地址;
根据至少一个DHCP报文中包含的MAC地址以及保存的对应关系,建立附加信息、MAC地址和真实IP地址三者的对应关系。
可选的,该中央处理器701,具体还具有如下功能:
向主机发送用于请求附加信息的回应请求报文,回应请求报文携带临时IP地址;
获取主机发送的回应应答报文,回应应答报文的源IP地址为临时IP地址,回应应答报文携带主机的附加信息。
可选的,该中央处理器701,具体还具有如下功能:
向DHCP客户端发送提供报文,提供报文携带临时IP地址;
获取DHCP客户端发送的请求报文,该请求报文携带临时IP地址,请求报文携带MAC地址;
如果代理设备未保存有与MAC地址对应的附加信息,判断请求报文的ServerIdentifier字段的内容是否为代理设备的IP地址;
若请求报文的Server Identifier字段的内容为代理设备的IP地址,则向DHCP客户端发送确认报文,确认报文用于指示代理设备已完成为DHCP客户端分配临时IP地址的过程。
可选的,该中央处理器701,具体还具有如下功能:
当获取到DHCP客户端广播的请求报文时,向DHCP客户端发送否认报文;
当获取到DHCP客户端发送的释放报文时,释放临时IP地址。
可选的,该中央处理器701,具体还具有如下功能:
当获取到客户端单播的请求报文时,不回应DHCP客户端;
当获取到客户端广播发送的请求报文时,向DHCP客户端发送否认报文;
当获取到DHCP客户端发送的释放报文时,释放临时IP地址。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接代理设备上,中央处理器701获取该DHCP客户端发送的第一发现报文,该第一发现报文携带有DHCP客户端所在主机的MAC地址。如果代理设备未保存有与该MAC地址对应的主机名,中央处理器701为该主机分配临时IP地址。然后,中央处理器701使用临时IP地址向主机请求主机的附加信息。这样,只需在DHCP客户端和DHCP服务器之间部署该代理设备,代理设备在DHCP客户端申请IP地址时,通过DHCP客户端发送的发现报文上的主机的MAC地址进行筛选,确定出是否已获取了该主机的附加信息。若没获取,则代理设备为该DHCP客户端分配一临时IP地址,从而可通过该临时IP地址确定出该DHCP客户端所在主机的网络位置,代理设备使用该临时IP地址便可向主机请求该主机的附加信息。这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
图8为本发明实施例提供的一种代理设备的结构示意图,该代理设备用于执行图4和图5对应的实施例中任一实施的代理设备执行的功能。该代理设备分别与DHCP客户端和DHCP服务器通信连接,参见图8,该代理设备包括:
第一获取单元801,用于获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;
第二获取单元802,用于获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;
请求单元803,用于当第一TransactionID和第二TransactionID相同时,使用IP地址向主机请求主机的附加信息。
可选地,
代理设备还包括:第一建立单元804和第二建立单元805,
第一建立单元804,用于建立并保存MAC地址和IP地址二者的对应关系;
第二建立单元805,用于根据保存的对应关系和IP地址,建立IP地址、附加信息和MAC地址三者的对应关系。
可选地,
请求单元803,包括:
发送子单元806,用于向主机发送用于请求附加信息的回应请求报文,回应请求报文携带IP地址;
获取子单元807,用于获取主机发送的回应应答报文,回应应答报文携带主机的附加信息。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接的代理设备上,第一获取单元801获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;第二获取单元802获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;当第一TransactionID和第二TransactionID匹配时,请求单元803使用IP地址向主机请求主机的附加信息。这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
本发明实施例中的代理设备还具有另一个实施例,参考图7所示的代理设备的硬件结构,该代理设备也具有与图7所示的代理设备的硬件结构类似的硬件结构,即该代理设备具体包括:该代理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)(例如,一个或一个以上处理器)和存储器,一个或一个以上存储应用程序或数据的存储介质(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据库控制系统中的一系列指令操作。更进一步地,中央处理器可以设置为与存储介质通信,在代理设备上执行存储介质中的一系列指令操作。
代理设备还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口,一个或一个以上输入输出接口,和/或,一个或一个以上操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图4和图5实施例中由代理设备所执行的步骤可以基于上述的代理设备结构。图8所示的代理设备的功能可基于本发明实施例的代理设备的硬件结构进行执行。
具体情况如下:
该代理设备的中央处理器,具有如下功能:获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址;获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;当第一TransactionID和第二TransactionID相同时,使用IP地址向主机请求主机的附加信息。
可选地,该代理设备的中央处理器,具有如下功能:
建立并保存MAC地址和IP地址二者的对应关系;根据保存的对应关系和IP地址,建立IP地址、附加信息和MAC地址三者的对应关系。
可选地,该代理设备的中央处理器,具有如下功能:向主机发送用于请求附加信息的回应请求报文,回应请求报文携带IP地址;获取主机发送的回应应答报文,回应应答报文携带主机的附加信息。
综上所述,在分别与DHCP客户端和DHCP服务器通信连接的代理设备上,中央处理器获取DHCP客户端发送的请求报文,请求报文携带第一TransactionID和DHCP客户端所在主机的MAC地址。中央处理器还获取DHCP服务器发送的确认报文,确认报文包括第二TransactionID和DHCP服务器为DHCP客户端分配的IP地址;当第一TransactionID和第二TransactionID匹配时,中央处理器使用IP地址向主机请求主机的附加信息。这样的方式,避免了为获取到主机的附加信息而对DHCP服务器的改造,代理设备也无需用探测工具专门对客户端的IP地址进行探测,防止客户端的用户因担心自身的信息过多的暴露出来,而进行相应屏蔽措施。因此本发明实施例的方法简单易行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种获取主机附加信息的方法,其特征在于,所述方法由代理设备执行,所述代理设备分别与DHCP客户端和DHCP服务器通信连接,所述方法包括:
代理设备获取所述DHCP客户端发送的第一发现报文,所述第一发现报文携带有所述DHCP客户端所在主机的MAC地址;
如果所述代理设备未保存有与所述MAC地址对应的主机名,所述代理设备为所述主机分配临时IP地址;
所述代理设备使用所述临时IP地址向所述主机请求所述主机的附加信息;
所述代理设备获取所述主机发送的回应应答报文,所述回应应答报文携带所述主机的附加信息。
2.根据权利要求1所述的方法,其特征在于,
所述代理设备使用所述临时IP地址向所述主机请求所述主机的附加信息之后,所述方法还包括:
所述代理设备建立并保存所述主机的附加信息和所述MAC地址二者的对应关系;
所述代理设备获取所述DHCP客户端发送的第二发现报文,所述第二发现报文携带有所述MAC地址,所述第二发现报文是所述DHCP客户端在所述临时IP地址被释放后发送的;
如果根据所述主机的附加信息和所述MAC地址二者的对应关系确定所述代理设备保存有与所述第二发现报文携带的MAC地址对应的附加信息,所述代理设备向所述DHCP服务器透传所述第二发现报文,以使所述DHCP服务器为所述主机分配真实IP地址;
所述代理设备获取所述DHCP服务器和所述DHCP客户端交互的至少一个DHCP报文,所述至少一个DHCP报文中携带所述真实IP地址和所述MAC地址;
所述代理设备根据所述至少一个DHCP报文中包含的所述MAC地址以及保存的所述对应关系,建立所述附加信息、所述MAC地址和所述真实IP地址三者的对应关系。
3.根据权利要求2所述的方法,其特征在于,
所述至少一个DHCP报文,包括所述DHCP服务器发送的确认报文,或者所述DHCP服务器发送的提供报文。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述代理设备使用所述临时IP地址向所述主机请求所述主机的附加信息,包括:
所述代理设备向所述主机发送用于请求附加信息的回应请求报文,所述回应请求报文携带所述临时IP地址;
所述代理设备获取所述主机发送的回应应答报文,所述回应应答报文的源IP地址为所述临时IP地址,所述回应应答报文携带所述主机的附加信息。
5.根据权利要求1至3任一项所述的方法,其特征在于,
所述代理设备为所述主机分配临时IP地址,包括:
所述代理设备向所述DHCP客户端发送提供报文,所述提供报文携带所述临时IP地址;
所述代理设备获取所述DHCP客户端发送的请求报文,所述请求报文携带所述临时IP地址,所述请求报文携带所述MAC地址;
如果所述代理设备未保存有与所述MAC地址对应的附加信息,所述代理设备判断所述请求报文的Server Identifier字段的内容是否为所述代理设备的IP地址;
若所述请求报文的Server Identifier字段的内容为所述代理设备的IP地址,则所述代理设备向所述DHCP客户端发送确认报文,所述确认报文用于指示所述代理设备已完成为所述DHCP客户端分配所述临时IP地址的过程。
6.根据权利要求1至3任一项所述的方法,其特征在于,
所述代理设备使用所述临时IP地址向所述主机请求所述主机的附加信息之后,所述方法还包括:
所述代理设备当获取到所述DHCP客户端广播的请求报文时,向所述DHCP客户端发送否认报文;
所述代理设备当获取到所述DHCP客户端发送的释放报文时,释放所述临时IP地址。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述使用所述临时IP地址向所述主机请求所述主机的附加信息之后,还包括:
所述代理设备当获取到所述DHCP客户端单播的请求报文时,不回应所述DHCP客户端;
所述代理设备当获取到所述DHCP客户端广播发送的请求报文时,向所述DHCP客户端发送否认报文;
所述代理设备当获取到所述DHCP客户端发送的释放报文时,释放所述临时IP地址。
8.一种代理设备,其特征在于,所述代理设备分别与DHCP客户端和DHCP服务器通信连接,所述代理设备包括:
第一获取单元,用于获取所述DHCP客户端发送的第一发现报文,所述第一发现报文携带有所述DHCP客户端所在主机的MAC地址;
分配单元,用于如果所述代理设备未保存有与所述MAC地址对应的主机名,为所述主机分配临时IP地址;
请求单元,用于使用所述临时IP地址向所述主机请求所述主机的附加信息;还用于获取所述主机发送的回应应答报文,所述回应应答报文携带所述主机的附加信息。
9.根据权利要求8所述的代理设备,其特征在于,
所述代理设备还包括:
第一建立单元,用于建立并保存所述主机的附加信息和所述MAC地址二者的对应关系;
第二获取单元,用于获取所述DHCP客户端发送的第二发现报文,所述第二发现报文携带有所述MAC地址,所述第二发现报文是所述DHCP客户端在所述临时IP地址被释放后发送的;
透传单元,用于如果根据所述主机的附加信息和所述MAC地址二者的对应关系确定所述代理设备保存有与所述第二发现报文携带的MAC地址对应的附加信息,向所述DHCP服务器透传所述第二发现报文,以使所述DHCP服务器为所述主机分配真实IP地址;
第三获取单元,用于获取所述DHCP服务器和所述DHCP客户端交互的至少一个DHCP报文,所述至少一个DHCP报文中携带所述真实IP地址和所述MAC地址;
第二建立单元,用于根据所述至少一个DHCP报文中包含的所述MAC地址以及保存的所述对应关系,建立所述附加信息、所述MAC地址和所述真实IP地址三者的对应关系。
10.根据权利要求9所述的代理设备,其特征在于,
所述至少一个DHCP报文,包括所述DHCP服务器发送的确认报文,或者所述DHCP服务器发送的提供报文。
11.根据权利要求8至10任一项所述的代理设备,其特征在于,
所述请求单元,包括:
第一发送子单元,用于向所述主机发送用于请求附加信息的回应请求报文,所述回应请求报文携带所述临时IP地址;
第一获取子单元,用于获取所述主机发送的回应应答报文,所述回应应答报文的源IP地址为所述临时IP地址,所述回应应答报文携带所述主机的附加信息。
12.根据权利要求8至10任一项所述的代理设备,其特征在于,
所述分配单元,包括:
第二发送子单元,用于向所述DHCP客户端发送提供报文,所述提供报文携带所述临时IP地址;
第二获取子单元,用于获取所述DHCP客户端发送的请求报文,所述请求报文携带所述临时IP地址,所述请求报文携带所述MAC地址;
判断子单元,用于如果所述代理设备未保存有与所述MAC地址对应的附加信息,判断所述请求报文的Server Identifier字段的内容是否为所述代理设备的IP地址;
第三发送子单元,用于若所述请求报文的Server Identifier字段的内容为所述代理设备的IP地址,则向所述DHCP客户端发送确认报文,所述确认报文用于指示所述代理设备已完成为所述DHCP客户端分配所述临时IP地址的过程。
13.根据权利要求8至10任一项所述的代理设备,其特征在于,
所述代理设备还包括:
第一发送单元,用于当获取到所述DHCP客户端广播的请求报文时,向所述DHCP客户端发送否认报文;
第一释放单元,用于当获取到所述DHCP客户端发送的释放报文时,释放所述临时IP地址。
14.根据权利要求8至10任一项所述的代理设备,其特征在于,
所述代理设备还包括:
第四获取单元,用于当获取到所述DHCP客户端单播的请求报文时,不回应所述DHCP客户端;
第二发送单元,用于当获取到所述DHCP客户端广播发送的请求报文时,向所述DHCP客户端发送否认报文;
第二释放单元,用于当获取到所述DHCP客户端发送的释放报文时,释放所述临时IP地址。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611029102.1A CN108093091B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
CN202110181562.0A CN113037882B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611029102.1A CN108093091B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110181562.0A Division CN113037882B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108093091A CN108093091A (zh) | 2018-05-29 |
CN108093091B true CN108093091B (zh) | 2021-06-08 |
Family
ID=62169571
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611029102.1A Active CN108093091B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
CN202110181562.0A Active CN113037882B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110181562.0A Active CN113037882B (zh) | 2016-11-22 | 2016-11-22 | 一种获取主机附加信息的方法和代理设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108093091B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002067A (zh) * | 2022-04-19 | 2022-09-02 | 深圳市共进电子股份有限公司 | 客户端主机名处理方法、装置、系统、设备及介质 |
CN116319682B (zh) * | 2023-03-24 | 2024-07-16 | 陕西天霖瑞腾网络科技有限公司 | 企业局域网ip分配方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662808A (zh) * | 2009-08-27 | 2010-03-03 | 上海交通大学 | Ieee802.11无线局域网网络层快速切换方法 |
CN101909089A (zh) * | 2010-06-07 | 2010-12-08 | 友达光电股份有限公司 | 一种用于控制局域网络内的多台计算机的方法 |
CN102244689A (zh) * | 2010-05-13 | 2011-11-16 | 华为技术有限公司 | 远程ip地址获取方法及设备 |
CN102594839A (zh) * | 2012-03-16 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种识别伪dhcp服务器的方法和交换机 |
CN103516742A (zh) * | 2012-06-25 | 2014-01-15 | 台达电子工业股份有限公司 | 云端服务器及其管控方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471966B (zh) * | 2006-07-06 | 2011-07-20 | 华为技术有限公司 | 一种防止ip地址泄露的系统和设备 |
CN102111406B (zh) * | 2010-12-20 | 2014-02-05 | 杭州华三通信技术有限公司 | 一种认证方法、系统和dhcp代理服务器 |
CN102088377B (zh) * | 2011-01-04 | 2012-05-23 | 深圳市易聆科信息技术有限公司 | 一种用于资产管理的人机对应方法及装置 |
CN102238245B (zh) * | 2011-06-03 | 2014-07-23 | 杭州华三通信技术有限公司 | 一种地址的分配方法和设备 |
CN102594937A (zh) * | 2012-02-06 | 2012-07-18 | 神州数码网络(北京)有限公司 | 二层网络交换设备实现DHCPv6中继代理的方法和系统 |
CN104065758A (zh) * | 2013-03-18 | 2014-09-24 | 杭州华三通信技术有限公司 | 一种主动式设备自动部署方法、设备及系统 |
EP3035648A1 (en) * | 2014-12-19 | 2016-06-22 | Alcatel Lucent | Determining dynamic user attributes using dynamic host configuration protocol |
CN105991791A (zh) * | 2015-05-12 | 2016-10-05 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
-
2016
- 2016-11-22 CN CN201611029102.1A patent/CN108093091B/zh active Active
- 2016-11-22 CN CN202110181562.0A patent/CN113037882B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662808A (zh) * | 2009-08-27 | 2010-03-03 | 上海交通大学 | Ieee802.11无线局域网网络层快速切换方法 |
CN102244689A (zh) * | 2010-05-13 | 2011-11-16 | 华为技术有限公司 | 远程ip地址获取方法及设备 |
CN101909089A (zh) * | 2010-06-07 | 2010-12-08 | 友达光电股份有限公司 | 一种用于控制局域网络内的多台计算机的方法 |
CN102594839A (zh) * | 2012-03-16 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种识别伪dhcp服务器的方法和交换机 |
CN103516742A (zh) * | 2012-06-25 | 2014-01-15 | 台达电子工业股份有限公司 | 云端服务器及其管控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108093091A (zh) | 2018-05-29 |
CN113037882A (zh) | 2021-06-25 |
CN113037882B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6678732B1 (en) | Dynamic host configuration protocol server for allocating IP addresses to a plurality of clients | |
US8370487B2 (en) | Method and system for optimizing performance and availability of a dynamic host configuration protocol (DHCP) service | |
US20080028071A1 (en) | Communication load reducing method and computer system | |
CN101951417B (zh) | 多服务器地址分配方法、系统及中继设备 | |
US7568048B2 (en) | Method, apparatus, and system for assigning an IP address on a network | |
US20080091844A1 (en) | Handover method in dhcpv4, handover apparatus and medium having instructions for performing the method | |
US8495190B2 (en) | Providing access by a client application program over an internet protocol (IP) network to a server application program instance | |
CN102685270B (zh) | 动态地址分配方法和设备 | |
WO2000074333A2 (en) | Automatic discovery of nodes associated with a virtual subnet | |
EP2442521A1 (en) | Method for obtaining ip address of dynamic host configuration protocol version 6 server, dynamic host configuration protocol version 6 server and dynamic host configuration protocol version 6 communication system | |
CN101873320B (zh) | 一种基于DHCPv6中继的客户端信息确认方法及其装置 | |
CN111935335B (zh) | 一种dhcp地址分配方法及装置 | |
CN104969515A (zh) | 处理dns请求的方法和网关 | |
CN108093091B (zh) | 一种获取主机附加信息的方法和代理设备 | |
CN106878481B (zh) | 一种网络互连协议ip地址获取方法、装置和系统 | |
CN111614792B (zh) | 透传方法、系统、服务器、电子设备及存储介质 | |
JP2001308909A (ja) | 論理ネットワークアドレス割当方法及び端末装置 | |
CN111586196B (zh) | 一种虚拟机网络双栈的实现方法、装置及系统 | |
CN111064819B (zh) | 一种地址备份方法及装置 | |
JP3775378B2 (ja) | 動的ipアドレス割り当てに対応したファイアウォールシステム | |
JP4893041B2 (ja) | Ipアドレスの割り当て方法 | |
KR20090090939A (ko) | 동적 호스트 설정 시스템의 할당 정보 관리 방법 및 그장치 | |
JP2004193643A (ja) | Ipアドレス自動割付方法/プログラム、端末装置 | |
CN1481133A (zh) | 一种宽带接入服务器的方法 | |
CN116633903A (zh) | 设备的联网方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |