一种DHCP路径追踪方法及一种DHCP中继设备转让专利

申请号 : CN201010034413.3

文献号 : CN101771614B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐友灿

申请人 : 瑞斯康达科技发展股份有限公司

摘要 :

本发明公开了一种DHCP路径追踪的方法,包括如下步骤:A、DHCP客户端生成并向网络中发送DHCP请求报文;B、DHCP中继设备收到DHCP请求报文,将本中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中,再转发所述DHCP请求报文;C、DHCP服务器收到DHCP请求报文,从所述DHCP请求报文中获取路径相关信息。本发明还公开了用于实现上述方法的DHCP中继设备。本发明方案可以用于获取DHCP服务器以及DHCP客户端的完整路径信息。

权利要求 :

1.一种动态主机配置协议DHCP路径追踪的方法,其特征在于,包括如下步骤:A、DHCP客户端生成并向网络中发送DHCP请求报文;

B、DHCP中继设备收到DHCP请求报文,将本DHCP中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中,再转发所述DHCP请求报文;

C、DHCP服务器收到DHCP请求报文,从所述DHCP请求报文中获取路径相关信息;

D、DHCP服务器生成并发送包含所述DHCP请求报文中全部路径相关信息的DHCP响应报文;

E、DHCP中继设备收到DHCP响应报文后,判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息,若是,则在本地记录所述DHCP响应报文的全部路径相关信息作为路径信息表,并转发所述DHCP响应报文至DHCP客户端。

2.根据权利要求1所述的方法,其特征在于,所述路径相关信息包括如下信息之一或其任意组合:DHCP中继设备的IP地址;

DHCP中继设备的MAC地址;

DHCP中继设备的虚拟局域网VLAN标识及端口。

3.根据权利要求1所述的方法,其特征在于,步骤E所述转发所述DHCP响应报文至DHCP客户端之前,进一步包括:删除所述DHCP响应报文中的路径相关信息。

4.根据权利要求1所述的方法,其特征在于,步骤B所述将本DHCP中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中包括如下步骤:B1、判断所述DHCP请求报文中是否包含选项OPTION82,若是,执行步骤B2,否则在DHCP请求报文中建立选项OPTION82,并执行步骤B3;

B2、判断所述选项OPTION82中是否记录本DHCP中继设备的路径相关信息,若是则丢弃所述DHCP请求报文,并退出本流程;否则执行步骤B3;

B3、将本DHCP中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中。

5.根据权利要求1所述的方法,其特征在于,步骤E所述判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息之前,进一步包括:DHCP中继设备判断是否信任接收到DHCP响应报文的端口且所述DHCP响应报文中有选项OPTION82,若是则执行所述判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息的步骤,否则丢弃所述DHCP响应报文,并退出本流程。

6.根据权利要求1至5任一项所述的方法,其特征在于,步骤B所述转发所述DHCP请求报文的同时,进一步包括:DHCP中继设备向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器。

7.根据权利要求6所述的方法,其特征在于,所述DHCP中继设备向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器之后进一步包括:DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则向网管发送TRAP消息。

8.根据权利要求7所述的方法,其特征在于,所述DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则向网管发送TRAP消息为:DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,将超时应答计时器延时时长T1;

DCHP中继设备遍历超时链表,将其中所有时间减去时长T1;

处理所有时间为0的等待应答节点,向网管发送TRAP消息,从超时链表中删除时间为

0的等待应答节点,并删除时间为0的路径信息表。

9.一种动态主机配置协议DHCP中继设备,包括至少一个用于收发DHCP报文的端口,以及用于实现DHCP报文转发的转发模块,其特征在于,所述DHCP中继设备还包括:第一判断模块,用于判断所述端口收到的DHCP报文是DHCP请求报文还是DHCP应答报文,若是DHCP请求报文,则通知路径信息模块;若是DHCP响应报文,则通知第二判断模块;

路径信息模块,用于在收到第一判断模块的通知后,将本DHCP中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中;

第二判断模块用于在收到第一判断模块的通知后,判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息,若是则将所述DHCP响应报文发送至路径记录模块;

路径记录模块用于记录所述DHCP响应报文的全部路径相关信息作为路径信息表;

所述转发模块用于转发所述路径信息模块处理后的DHCP请求报文,或转发所述DHCP响应报文。

10.根据权利要求9所述的DHCP中继设备,其特征在于,所述路径相关信息包括如下信息之一或其任意组合:DHCP中继设备的IP地址;

DHCP中继设备的MAC地址;

DHCP中继设备的虚拟局域网VLAN标识及端口。

11.根据权利要求9所述的DHCP中继设备,其特征在于,所述DHCP中继设备进一步包括删除模块,用于在所述路径记录模块用于记录所述DHCP响应报文的全部路径相关信息作为路径信息表后,删除所述DHCP响应报文中的全部路径相关信息。

12.根据权利要求9所述的DHCP中继设备,其特征在于,所述路径信息模块包括:选项建立单元,用于判断所述DHCP请求报文中是否包含选项OPTION82,若是,将所述DHCP请求报文发送至路径信息判断单元;否则,在DHCP请求报文中建立选项OPTION82,再将所述DHCP请求报文发送至路径信息判断单元;

路径信息判断单元,用于判断所收到的DHCP请求报文的选项OPTION82中是否记录本DHCP中继设备的路径相关信息,若是则丢弃所述DHCP请求报文;否则将该DHCP请求报文发送至记录单元;

记录单元用于在收到DHCP请求报文后,将本DHCP中继设备的路径相关信息按照堆栈的形式添加到所收到的DHCP请求报文中。

13.根据权利要求9至12任一项所述的DHCP中继设备,其特征在于,所述DHCP中继设备进一步包括:超时处理模块,用于维护超时链表;在转发模块转发DHCP请求报文时,超时处理模块向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器;以及在所述超时应答计时器超时前,DHCP中继设备收到DHCP客户端对应的DHCP应答报文,则超时处理模块删除以该DHCP客户端MAC地址为索引的超时应答计时器;DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则超时处理模块向网管发送TRAP消息。

说明书 :

一种DHCP路径追踪方法及一种DHCP中继设备

技术领域

[0001] 本发明涉及计算机网络技术领域,特别涉及一种动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)路径追踪方法及一种DHCP中继设备。

背景技术

[0002] 动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)是在TCP/IP网络上使客户机获得配置信息的协议,它的前身是引导协议(Bootstrap Protocol,BOOTP)。DHCP基于客户端/服务器模式,所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理DHCP客户端的DHCP请求;而DHCP客户端则会使用从DHCP服务器分配下来的IP环境数据。
[0003] DHCP的分配形式首先,必须至少有一台DHCP工作在网络上面,它会监听网络的DHCP请求,并与DHCP客户端磋商TCP/IP的设定环境。它提供三种IP定位方式:
[0004] 手动分配(Manual Allocation):网络管理员为某些少数特定的DHCP客户端绑定固定IP地址,且地址不会过期;
[0005] 自动分配(Automatic Allocation):其情形是:一旦DHCP客户端第一次成功的从DHCP服务器端租用到IP地址之后,就永远使用这个IP地址;
[0006] 动态分配(Dynamic Allocation):当DHCP客户端第一次从DHCP服务器端租用到IP地址之后,并非永久的使用该地址,只要租约到期,DHCP客户端就得释放(release)这个IP地址,以给其它DHCP客户端使用。当然,该DHCP客户端可以比其它DHCP客户端更优先的更新(renew)租约,或是租用其它的IP地址。
[0007] 在以下场合会利用DHCP服务器来实现IP地址的动态分配:
[0008] 1、网络规模较大,手工配置需要很大的工作量,并难以对整个网络进行集中管理;
[0009] 2、网络中主机数目大于该网络支持的IP地址数量,无法给每个主机分配一个固定的IP地址,且对同时接入网络的用户数目也有限制(比如,Internet接入服务提供商即属于这种情况),大量用户必须通过DHCP服务动态获得自己的IP地址;
[0010] 3、网络中只有少数主机需要固定的IP地址,大多数主机没有固定IP地址的需求。
[0011] DHCP客户端使用IP广播来寻找同一网段上的DHCP服务器。当DHCP服务器和DHCP客户端处在不同网段,即被路由器分割开来时,路由器是不会转发这样广播包的。因此可能需要在每个网段上设置一个DHCP服务器,虽然DHCP只消耗很小的一部分资源,但多个DHCP服务器毕竟要带来管理上的不方便。DHCP中继的使用使得一个DHCP服务器同时为多个网段服务成为可能。
[0012] 图1所示为包含有DHCP中继的DHCP系统的拓扑结构示意图。四台DHCP客户端(DHCP客户端A~D)与DHCP中继106位于同一个子网,而DHCP服务器108位于另一个子网。DHCP中继106的功能就是实现本子网的DHCP客户端与其他子网的DHCP服务器之间交互的报文的相互转发。例如,位于同一子网中的DHCP客户端A 101以广播方式申请IP地址时,DHCP监听装置105监听到该广播报文,则将该广播报文转发给DHCP中继106,DHCP中继106就会自动将IP地址申请信息中转传输到位于另外一个子网中的DHCP服务器108,DHCP服务器108然后将IP地址应答信息再通过DHCP中继106转发给DHCP客户端A 101,从而协助工作站完成跨子网申请IP地址服务。
[0013] DHCP客户端与DHCP服务器实现交互的链路上可能有0至n个DHCP中继(n为自然数),DHCP服务器位于DHCP客户端的第一跳(链路上有0个DHCP中继)或最后一跳(链路上有n个DHCP中继)。现有的DHCP系统中,DHCP中继没有记录完整的链路路径信息,会导致如下问题:
[0014] 1:DHCP客户端在申请IP地址的过程中可能收到伪DHCP服务器的响应,导致DHCP客户端无法使用该IP地址上网,图2示出了DHCP系统中存在伪DHCP服务器一种示例。DHCP中继204可能将本子网的DHCP客户端的IP地址申请信息转发至其他子网中的伪DHCP服务器206,而伪DHCP服务器206分配一个无效的IP地址给该DHCP客户端。由于网管无法知道伪DHCP服务器的详细路径信息,导致无法查处该伪服务器。
[0015] 2:DHCP服务器必须在知道DHCP客户端的完整路径信息的情况下,才能进行用户分类及网络安全方面的监测。因此在现有技术中无法实现用户分类及网络安全方面的监测。
[0016] 3:若DHCP客户端在申请IP地址过程中出现故障,由于没有路径信息,网管无法判断故障的位置。

发明内容

[0017] 有鉴于此,本发明的目的在于,提出一种DHCP路径追踪的方法以及一种DHCP中继设备,可以用于获取DHCP服务器以及DHCP客户端的完整路径信息。
[0018] 本发明实施例提出的DHCP路径追踪的方法,包括如下步骤:
[0019] A、DHCP客户端生成并向网络中发送DHCP请求报文;
[0020] B、DHCP中继设备收到DHCP请求报文,将本中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中,再转发所述DHCP请求报文;
[0021] C、DHCP服务器收到DHCP请求报文,从所述DHCP请求报文中获取路径相关信息。
[0022] 较佳地,所述步骤C之后,进一步包括:
[0023] D、DHCP服务器生成并发送包含所述DHCP请求报文中全部路径相关信息的DHCP响应报文;
[0024] E、DHCP中继设备收到DHCP响应报文后,判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息,若是,则在本地记录所述DHCP响应报文的全部路径相关信息作为路径信息表,并转发所述DHCP响应报文至DHCP客户端。
[0025] 较佳地,所述路径相关信息包括如下信息之一或其任意组合:
[0026] DHCP中继设备的IP地址;
[0027] DHCP中继设备的MAC地址;
[0028] DHCP中继设备的虚拟局域网VLAN标识及端口。
[0029] 步骤E所述转发所述DHCP响应报文至DHCP客户端之前,进一步包括:删除所述DHCP响应报文中的路径相关信息。
[0030] 步骤B所述将本DHCP中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中包括如下步骤:
[0031] B1、判断所述DHCP请求报文中是否包含选项OPTION82,若是,执行步骤B2,否则在DHCP请求报文中建立选项OPTION82,并执行步骤B3;
[0032] B2、判断所述选项OPTION82中是否记录本DHCP中继设备的路径相关信息,若是则丢弃所述DHCP请求报文,并退出本流程;否则执行步骤B3;
[0033] B3、将本DHCP中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中。
[0034] 步骤E所述判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息之前,进一步包括:
[0035] DHCP中继设备判断是否信任接收到DHCP响应报文的端口且所述DHCP响应报文中有选项OPTION82,若是则执行所述判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息的步骤,否则丢弃所述DHCP响应报文,并退出本流程。
[0036] 步骤B所述转发所述DHCP请求报文的同时,进一步包括:DHCP中继设备向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器.
[0037] 所述DHCP中继设备向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器之后进一步包括:
[0038] DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则向网管发送TRAP消息。
[0039] 所述DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则向网管发送TRAP消息为:
[0040] DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,将超时应答计时器延时时长T1;
[0041] DCHP中继设备遍历超时链表,将其中所有时间减去时长T1;
[0042] 处理所有时间为0的等待应答节点,向网管发送TRAP消息,从超时链表中删除时间为0的等待应答节点,并删除时间为0的路径信息表。
[0043] 本发明实施例还提出一种DHCP中继设备,包括用于收发DHCP报文的端口以及用于实现DHCP报文转发的转发模块,所述DHCP中继设备还包括:
[0044] 第一判断模块,用于判断所述端口收到的DHCP报文是DHCP请求报文还是DHCP应答报文,若是DHCP请求报文,则通知路径信息模块;若是DHCP响应报文,则通知第二判断模块;
[0045] 路径信息模块,用于在收到第一判断模块的通知后,将本中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中;
[0046] 第二判断模块用于在收到第一判断模块的通知后,判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息,若是则将所述DHCP响应报文发送至路径记录模块;
[0047] 路径记录模块用于记录所述DHCP响应报文的全部路径相关信息作为路径信息表;
[0048] 所述转发模块用于转发所述路径信息模块处理后的DHCP请求报文,或转发所述DHCP响应报文。
[0049] 所述路径相关信息包括如下信息之一或其任意组合:
[0050] DHCP中继设备的IP地址;
[0051] DHCP中继设备的MAC地址;
[0052] DHCP中继设备的虚拟局域网VLAN标识及端口。
[0053] 所述DHCP中继设备进一步包括删除模块,用于在所述路径记录模块用于记录所述DHCP响应报文的全部路径相关信息作为路径信息表后,删除所述DHCP响应报文中的全部路径相关信息。
[0054] 所述路径信息模块包括:
[0055] 选项建立单元,用于判断所述DHCP请求报文中是否包含选项OPTION82,若是,将所述DHCP请求报文发送至路径信息判断单元;否则,在DHCP请求报文中建立选项OPTION82,再将所述DHCP请求报文发送至路径信息判断单元;
[0056] 路径信息判断单元,用于判断所收到的DHCP请求报文的选项OPTION82中是否记录本DHCP中继设备的路径相关信息,若是则丢弃所述DHCP请求报文;否则将该DHCP请求报文发送至记录单元;
[0057] 记录单元用于在收到DHCP请求报文后,将本DHCP中继设备的路径相关信息按照堆栈的形式添加到所收到的DHCP请求报文中。
[0058] 所述DHCP中继设备进一步包括:超时处理模块,用于维护超时链表;在转发模块转发DHCP请求报文时,超时处理模块向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器;以及
[0059] 在所述超时应答计时器超时前,DHCP中继设备收到DHCP客户端对应的DHCP应答报文,则超时处理模块删除以该DHCP客户端MAC地址为索引的超时应答计时器;DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则超时处理模块向网管发送TRAP消息。
[0060] 从以上技术方案可以看出,DHCP中继设备在转发DHCP请求消息的同时,将自身的路径相关信息添加到DHCP请求消息中,这样DHCP请求消息中就记录了转发路径上的一系列的DHCP中继设备的路径信息,DHCP服务器收到该DHCP请求消息即可从中得知DHCP客户端到DHCP服务器的转发路径上每一跳的路径信息;DHCP应答消息在转发到第一跳DHCP中继设备,该DHCP中继设备也可以得到该转发路径上的路径信息。

附图说明

[0061] 图1为包含有DHCP中继的DHCP系统的拓扑结构示意图;
[0062] 图2为包含有伪DHCP服务器的DHCP系统的拓扑结构示意图;
[0063] 图3为本发明实施例的DHCP中继设备的处理流程图;
[0064] 图4为本发明实施例方案中超时任务的处理流程图;
[0065] 图5为本发明实施例提出的DHCP中继设备的模块框图。

具体实施方式

[0066] 本发明技术方案是对DHCP服务器与DHCP客户端之间的交互信息进行扩展,利用扩展后的信息进行DHCP中继路径追踪,形成路径栈;利用所述路径栈获取DHCP服务器和/或DHCP客户端的完整路径信息。在获得所述完整路径信息的基础上可以进一步实现伪服务器查处问题,客户端详细位置信息及DHCP故障检测功能。
[0067] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。
[0068] 本发明实施例中对DHCP Option 82进行扩展。在标准文档RFC3046中定义了DHCP Relay Agent Information Option,也就是DHCP Option 82,如表1所示为DHCP Option82的结构。DHCP Option 82是用于标识客户端的选项。该选项包含两子选项:电路标识(circuit-id)和远端标识(remote-id)。通过这两个子选项,服务器就可以获得客户端的位置信息,就能对客户端进行了有效的监控和管理。
[0069]eu
2项 lav-
选子 容内 2buS

ht
长2 gnel
项选 -2bu
子 度 S
2

选子 20x0

1 eula
项选 容 v-lb
子 内 uS
长1项 htgnel-1
选子 度 buS

1

选 1
子 0x0
长 ht
项选 度 gnel

项 25
选 x0
[0070] 表1
[0071] 如表1所示,子选项1为电路标识,缺省使用“VLAN模块端口号”;用户可以对其自行配置;子选项2为远程标识,缺省使用中继设备MAC地址;用户也可以对其进行配置。
[0072] 本发明实施例提出的中继选项的压栈处理:使用“/”为中继设备子选项之间的分隔符,在中继设备转发报文时,将本中继设备分隔符“/”及“本设备子选项1”压入DHCP报文OPTION82的子选项1中,将本中继设备分隔符“/”及“本设备子选项2”压入DHCP报文OPTION82的子选项2中,修改对应的子选项长度值及OPTION82选项的长度值。在该报文经过一系列转发,最终从DHCP客户端到达DHCP服务器时,OPTION82的子选项1里记录了转发路径上的一系列中继设备的子选项1,并且相邻的子选项1用分隔符隔开,OPTION82的子选项2里记录了转发路径上的一系列中继设备的子选项2,并且相邻的子选项2用分隔符隔开。DHCP服务器生成包含所述子选项1和子选项2的全部内容的应答报文,并按照原路径返回给DHCP客户端。第一跳DHCP中继设备中维护用于记录DHCP客户端完整路径信息的绑定表,绑定表中记录的内容为DHCP客户端的相关信息与端口信息,如IP,MAC,VLAN标识与端口等信息相互绑定组成的对应表。可以看出,所述绑定表实际就是选项OPTION82中子选项1和子选项2的全部内容。
[0073] 图3示出了本发明实施例的DHCP中继设备的处理流程,包括如下步骤:
[0074] 步骤301:DHCP中继设备的任一端口接收DHCP报文。
[0075] 步骤302:DHCP中继设备判断该DHCP报文是否为应答报文,若是,转至步骤309;否则,该DHCP报文为请求报文,执行步骤303。
[0076] 步骤303:DHCP中继设备判断该请求报文中是否已有选项OPTION82,若是,则执行步骤304,否则转至步骤306。
[0077] 步骤304:判断选项OPITON82中是否记录了本DHCP中继设备的标识,若是,说明该DHCP报文已经被本DHCP中继设备转发过,现在再次收到该DHCP报文证明存在环路,执行步骤305,否则转至步骤307。
[0078] 步骤305:DHCP中继设备丢弃该DHCP报文,并结束本流程。
[0079] 步骤306:DHCP中继设备在该DHCP报文中建立选项OPTION82,然后执行步骤307。
[0080] 步骤307:DHCP中继设备在选项OPTION82中添加本中继设备的中继选项信息,具体包括:将本中继设备的虚拟局域网(VLAN)模块端口号添加到OPTION82的子选项1中,并与已有内容用分隔符隔开;将本中继设备的MAC地址添加到OPTION82的子选项2中,并与已有内容用分隔符隔开。然后执行步骤308。
[0081] 步骤308:DHCP中继设备启动超时应答计时器,该计时器的时长为3分钟。然后执行步骤314。启动应答超时器的方法为向超时链表中添加一个表项,该表以客户端的MAC为索引,初始时间为可以设置为3分钟或其他合理的时长。
[0082] 步骤309:DHCP中继设备判断是否信任该接收到DHCP响应报文的端口且DHCP响应报文中是否有选项OPTION82,若两者皆是,则执行步骤310,其他情况执行步骤313。
[0083] 步骤310:DHCP中继设备查找客户端路径信息表,并删除超时定时器,接着执行步骤311。
[0084] 步骤311:判断本DHCP中继设备的标识是否位于选项OPTION82的子选项中的第一个,若是,表明本DHCP中继设备是整个中继链路中的第一个中继设备,执行步骤312,否则转至步骤314。
[0085] 步骤312:DHCP中继设备将选项OPTION82中的子选项1和子选项2的全部内容记录下来,作为绑定表的一部分,并删除该DHCP报文中的选项OPTION82的子选项1和子选项2中的内容。然后执行步骤314。
[0086] 步骤313:该DHCP报文并非由本DHCP中继设备转发,这说明转发过程中出现了错误;或者该DHCP报文由非信任的端口收到,无论是哪一种情况,丢弃该DHCP报文,并结束本流程。
[0087] 步骤314:DHCP中继设备进行其他处理并转发该DHCP报文,并结束本流程。
[0088] 上述流程的步骤308中设定了超时应答计时器,但未记载该超时应答计时器超时情况下应当如何处理。超时应答计时器超时情况下的处理流程如图4所示,包括如下步骤:
[0089] 步骤401:DHCP中继设备在收到不包含本设备标识的DHCP请求报文后启动超时应答计时器,发现超时应答计时器已经超时且还未收到对应的DHCP应答报文,则执行步骤402。
[0090] 步骤402:DHCP中继设备将超时任务延时20秒;
[0091] 步骤403:DHCP中继设备遍历超时链表以及租约,将所有超时时间以及租约时间分别减去20秒。其中租约是已经正常申请到IP地址客户端的租期。
[0092] 步骤404:处理所有时间为0的等待应答节点,向网管发送TRAP,并从超时链表中删除时间为0的等待应答节点,并删除所有时间为0的绑定表和路径信息表。TRAP是被管理设备主动向网管发送的不经请求的信息,用于报告一些紧急的重要事件。所述等待应答节点包括
[0093] 当有客户上网出现问题时,网管人员可以方便地登录到与客户直连的交换机查看绑定表,根据绑定表中的详细路径信息,即可查找到伪服务器位置信息,根据位置去查处伪服务器;如果客户在申请IP地址过程中出现异常,在申请路径上的中继设备都会向网管发送TRAP,网管根据这些信息,可以很方便地定位申请过程在哪个位置出现异常。
[0094] 图5示出了本发明实施例提出的一种DHCP中继设备的模块框图,包括至少一个用于收发DHCP报文的端口501,以及用于实现DHCP报文转发的转发模块502,所述DHCP中继设备还包括:
[0095] 第一判断模块503,用于判断所述端口501收到的DHCP报文是DHCP请求报文还是DHCP应答报文,若是DHCP请求报文,则通知路径信息模块504;若是DHCP响应报文,则通知第二判断模块505;
[0096] 路径信息模块504,用于在收到第一判断模块503的通知后,将本中继设备的路径相关信息按照堆栈的形式添加到DHCP请求报文中;
[0097] 第二判断模块505用于在收到第一判断模块的通知后,判断所述DHCP响应报文中的第一个路径相关信息是否为本DHCP中继设备的路径相关信息,若是则将所述DHCP响应报文发送至路径记录模块506;
[0098] 路径记录模块506用于记录所述DHCP响应报文的全部路径相关信息作为路径信息表;
[0099] 所述转发模块502用于转发所述路径信息模块504处理后的DHCP请求报文,或转发所述DHCP响应报文。
[0100] 在该实施例的基础上,本发明的其他实施例还可以对DHCP中继设备进行进一步改进,具体如下:
[0101] 本发明的一个实施例中,所述路径相关信息包括如下信息之一或其任意组合:
[0102] DHCP中继设备的IP地址;
[0103] DHCP中继设备的MAC地址;
[0104] DHCP中继设备的虚拟局域网VLAN标识及端口。
[0105] 本发明的另一实施例中,所述DHCP中继设备进一步包括删除模块,用于在所述路径记录模块用于记录所述DHCP响应报文的全部路径相关信息作为路径信息表后,删除所述DHCP响应报文中的全部路径相关信息。
[0106] 本发明又一实施例中,所述路径信息模块504包括:
[0107] 选项建立单元,用于判断所述DHCP请求报文中是否包含选项OPTION82,若是,将所述DHCP请求报文发送至路径信息判断单元;否则,在DHCP请求报文中建立选项OPTION82,再将所述DHCP请求报文发送至路径信息判断单元;
[0108] 路径信息判断单元,用于判断所收到的DHCP请求报文的选项OPTION82中是否记录本DHCP中继设备的路径相关信息,若是则丢弃所述DHCP请求报文;否则将该DHCP请求报文发送至记录单元;
[0109] 记录单元用于在收到DHCP请求报文后,将本DHCP中继设备的路径相关信息按照堆栈的形式添加到所收到的DHCP请求报文中。
[0110] 本发明的又一实施例中,所述DHCP中继设备进一步包括:超时处理模块,用于维护超时链表;在转发模块转发DHCP请求报文时,超时处理模块向超时链表中添加一个以所述DHCP请求报文中包含的DHCP客户端MAC地址为索引的预定时长的超时应答计时器;以及
[0111] 在所述超时应答计时器超时前,DHCP中继设备收到DHCP客户端对应的DHCP应答报文,则超时处理模块删除以该DHCP客户端MAC地址为索引的超时应答计时器;DHCP中继设备在所述超时应答计时器超时后还未收到DHCP应答报文,则超时处理模块向网管发送TRAP消息。
[0112] 以上各个实施例之间还可以进行进一步组合,对于组合实施例不再一一赘述。
[0113] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。