首页> 中国专利> 使用DHCP协议实现PPPOE用户动态获取IP地址的装置及方法

使用DHCP协议实现PPPOE用户动态获取IP地址的装置及方法

摘要

本发明通过在宽带接入网络设备中已有标准PPPOE业务的基础上,创造性的使用伪DHCP CLIENT实体作为所有PPPOE用户网络配置属性的分配代理,协同使用DHCPRELAY中继代理实体来代理相应PPPOE用户侧的用户接口,从而为所有的PPPOE用户从外部DHCP SERVER获取用户所需网络配置属性。驻留在宽带接入网络设备中伪DHCPCLIENT客户端通过网络接口或模块接口使用标准的DHCP协议与DHCP RELAY中继实体交互,DHCP RELAY中继实体再使用标准DHCP协议从外部的DHCP SERVER上为宽带接入的PPPOE用户动态获取IP地址。本发明不需要分别对每个宽带接入服务器的IP地址池进行独立的配置、管理,减少管理负担;可对PPPOE业务用户信息进行跟踪,有利于对PPPOE用户业务已用动态IP地址、可用动态IP地址等实施统计、监控和管理。

著录项

  • 公开/公告号CN1549546A

    专利类型发明专利

  • 公开/公告日2004-11-24

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN03113446.7

  • 申请日2003-05-09

  • 分类号H04L29/06;H04L12/28;H04L12/24;

  • 代理机构

  • 代理人

  • 地址 518057 深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部

  • 入库时间 2023-12-17 15:39:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL031134467 申请日:20030509 授权公告日:20110622

    专利权的终止

  • 2018-05-18

    专利权的转移 IPC(主分类):H04L29/06 登记生效日:20180427 变更前: 变更后: 申请日:20030509

    专利申请权、专利权的转移

  • 2011-06-22

    授权

    授权

  • 2005-01-26

    实质审查的生效

    实质审查的生效

  • 2004-11-24

    公开

    公开

说明书

技术领域

本发明涉及在以太网环境中,使用PPPOE对用户进行业务访问控制的网关设备或宽带接入服务器等宽带接入网络设备,具体是一种涉及通过这些网络设备配置的外部DHCP SERVER,实现PPPOE用户动态获取IP地址的装置及方法。尤其涉及在ISP为用户提供宽带接入INTERNET所使用的宽带接入服务器中,使用PPPOE作为认证业务时,通过外部DHCP SERVER实现用户动态获取IP地址的装置及方法。

背景技术

随着宽带网络技术的发展,宽带接入服务器(AS)、宽带接入路由器等宽带接入网络设备大量涌现。在这些网络设备中,大多带有PPPOE、WEBPORTAL等方式的用户接入。其中,在以PPPOE方式的宽带用户接入中,需要对接入用户进行IP地址的分配和管理。在目前的实现方法中,这些宽带网络接入设备都通过在其上配置用户地址池的方式,分配和管理PPPOE用户的IP地址。

随着ISP的接入用户量的增加,宽带接入网络将不断扩大,宽带接入网络设备也将迅速增长,由此将带来对宽带接入网络设备的管理工作负荷的增加。这种情况下,通过在宽带网络接入设备上配置用户地址池来分配和管理PPPOE用户的IP地址,将会带来如下的弊端:

1.在每个宽带接入网络设备上为PPPOE用户配置IP地址池的IP地址管理方式,将因宽带接入网络设备的增加而导致网络管理负担的增大。

2.这种在每个宽带接入网络设备上为PPPOE用户配置IP地址池的IP地址管理方式,将因为网络接入设备的分散性带来IP地址使用、监控和管理上的不便。

3.当宽带网络设备同时支持利用外部的DHCP SERVER对DHCP用户分配动态IP地址的业务时,也将因为DHCP用户使用外部DHCP SERVER分配地址,PPPOE用户利用本地IP地址池分配IP地址的情况,带来管理上的复杂性。

发明内容

为了减少对宽带接入网络设备IP地址池管理的工作负担,提供对PPPOE业务用户动态IP地址的集中监控和管理,统一使用外部DHCPSERVER提供的IP地址进行DHCP相关业务与PPPOE业务。

本发明提供一种使用DHCP协议实现PPPOE用户动态获取IP地址的装置及方法。以减轻ISP运营商等在宽带接入服务器(AS)、宽带接入路由器等网络接入设备中使用本地IP POOL为PPPOE用户分配IP地址等网络参数所带来的如下缺陷:(1)需要分别对每个支持PPPOE业务的宽带网络接入设备的IP地址池进行独立的配置、管理,增加了管理负担;(2)不利于对PPPOE业务用户信息进行跟踪,不利于对PPPOE用户业务已用动态IP地址、可用动态IP地址等信息实施统计、监控和管理;(3)不利于当使用外部DHCP SERVER为DHCP CLIENT分配用户IP地址、网络掩码、缺省网关、域名服务器等网络配置参数时,PPPOE业务只能使用自身配置的IP POOL,不利于统一同时需要为用户提供网络配置参数的DHCP相关业务与PPPOE业务。

本发明通过在宽带网络接入服务器(AS)、宽带接入路由器等宽带接入网络设备中驻留伪DHCP CLIENT和DHCP RELAY,从而实现使用DHCP协议从外部的DHCP SERVER上为宽带接入的PPPOE用户动态获取IP地址。

本发明的核心在于:通过在宽带网络接入服务器(AS)、宽带接入路由器等宽带接入网络设备中已有标准PPPOE业务的基础上,创造性的使用伪DHCP CLIENT实体作为所有PPPOE用户的IP地址等网络配置属性的分配代理,协同使用DHCP RELAY中继代理实体来代理相应PPPOE用户侧的用户接口,从而为所有的PPPOE用户从外部DHCP SERVER获取用户所需的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性。驻留在宽带接入网络设备中伪DHCP CLIENT客户端通过网络接口或模块接口使用标准的DHCP协议与DHCP RELAY中继实体交互,DHCP RELAY中继实体再使用标准DHCP协议从外部的DHCP SERVER上为宽带接入的PPPOE用户动态获取IP地址。

本发明是这样实现的:

一种使用DHCP协议实现PPPOE用户动态获取IP地址的装置,包括PPPOE业务模块实体、伪DHCP CLIENT模块实体、DHCP RELAY模块实体。模块组成及模块交互接口如图1所示。

PPPOE业务模块实体的功能实现如下所述:

PPPOE业务模块实体对外通过网络接口实现同PPPOE客户端的标准协议交互,完成对PPPOE用户的认证、接入等功能。从此接口上看,PPPOE业务模块实体实现标准的PPPOE认证接入业务。

PPPOE业务模块实体在本发明中的特殊功能如下所述:

(1)PPPOE业务模块实体在收到PPPOE客户端的获取网络配置属性的事件请求后,对内通过伪DHCP CLIENT模块提供的获取网络配置属性回调接口实现同伪DHCP CLIENT的交互,将从PPPOE客户端获取的PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息,传入伪DHCP CLIENT模块,并请求伪DHCP CLIENT模块获取需要的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性。

(2)由于PPPOE业务模块在实现同伪DHCP CLIENT的交互获取IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的过程中,需要经过伪DHCP CLIENT同其他模块的异步网络事件的交互。还由于涉及支持大流量、多用户的用户接入,因此,PPPOE业务模块在同伪DHCPCLIENT模块的交互过程需要采用异步事件处理方式。

(3)由于PPPOE业务模块在同伪DHCP CLIENT模块的交互过程中采用的是异步处理方式。因此,PPPOE模块在请求伪DHCP CLIENT模块分配网络配置参数的过程中,需要提供请求等待超时检测功能。当网络配置参数的请求等待超时定时器超时后,PPPOE业务模块应通知伪DHCPCLIENT模块以进行相应的处理。

(4)由于PPPOE业务模块在同伪DHCP CLIENT模块的交互过程中采用的是异步处理方式。因此,PPPOE业务模块应提供相应的网络配置参数分配成功和分配失败的异步回调通知接口。便于伪DHCP CLIENT在请求分配IP地址、网络掩码、缺省网关、域名服务器等网络配置属性成功或失败后,通知PPPOE业务模块进行相应的处理。对成功获取网络配置属性的情况下,伪DHCP CLIENT模块需要将得到的网络配置属性传入PPPOE业务模块。

(5)PPPOE业务模块实体在收到PPPOE客户端的下线请求后,对内需要通过伪DHCP CLIENT模块提供的释放网络配置属性回调接口通知伪DHCP CLIENT模块,同时将从PPPOE客户端获取的PPPOE用户的相关属性及从伪DHCP CLIENT获取的网络配置属性,传入伪DHCP CLIENT模块,以便于伪DHCP CLIENT模块进行相应的网络配置属性释放处理。

伪DHCP CLIENT模块实体的实现功能如下所述:

伪DHCP CLIENT模块实体的基本功能是根据为所有的PPPOE用户业务模块获取IP地址、网络掩码、缺省网关、域名服务器等网络配置属性。其借用了驻留有DHCP CLIENT的设备向DHCP SERVER请求获取自己进行网络通信所需的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的功能,扩展了DHCP CLIENT的使用概念,其目的是根据PPPOE业务模块实体所收集的PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息,构造出相应于特定PPPOE用户的DHCP协议网络数据包,并同驻留于本设备中的DHCP RELAY交互,DHCP RELAY再通过网络接口与外部的DHCP SERVER交互,从而最终从外部的DCHP SERVER上获取所需的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性,并返回PPPOE业务模块。

在PPPOE用户业务模块通过伪DHCP CLIENT模块提供的网络配置属性请求回调接口驱动伪DHCP CLIENT模块发起DHCPDISCOVER协议网络数据包,否则,直到伪DHCP CLIENT通过DHCP RELAY获得请求的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性后,通过PPPOE用户业务模块提供的请求网络配置参数的成功通知回调接口通知PPPOE业务模块,并传入得到的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性。

伪DHCP CLIENT模块实体在本发明中的特殊功能如下所述:

(1)伪DHCP CLIENT模块实体通过向PPPOE业务模块实体提供网络配置属性请求回调接口,便于PPPOE业务模块向伪DHCP CLIENT模块实体发起请求分配所需的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的事件,并传递PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息。

(2)伪DHCP CLIENT模块实体收到PPPOE业务模块发起的请求分配所需的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的事件后,根据传入的PPPOE用户的相关属性,如:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息,创建此PPPOE用户的DHCP交互会话数据区,并构造出相应的能标识此特定PPPOE用户的DHCPDISCOVER协议网络数据包,并通过驱动DHCP RELAY向外部DHCP SERVER发起请求租用IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的交互会话。

(3)在伪DHCP CLIENT模块向DHCP RELAY模块发起请求网络配置属性的会话后,由伪DHCP CLIENT根据PPPOE用户的相关属性和从DHCP协议会话过程中获取的相关配置属性,驱动伪DHCP CLINET与DHCP REALY的配置参数请求会话过程。当会话过程超时或伪DHCP CLIENT模块收到DHCPDECLINE的DHCP协议事件后,伪DHCP CLIENT通过PPPOE用户业务模块提供的请求执行失败的通知回调接口发送请求失败的异步事件,触发PPPOE业务进行相应的请求失败处理;

(4)否则,直到伪DHCP CLIENT模块收到已获取相应网络配置参数的DHCPACK协议事件后,伪DHCP CLIENT通过PPPOE用户业务模块提供的请求执行成功的通知回调接口发送请求成功的异步通知事件,触发PPPOE业务进行相应的请求成功处理,通知传递所获取的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性。

(5)为了保证PPPOE用户的正常网络通信,伪DHCP CLIENT模块必须在PPPOE业务会话过程中,保证所获得的IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的有效性。因此,伪DHCP CLINET必须使用DHCP状态机定时器按照DHCP协议交互中返回的续租时间等参数,在续租时间到时向DHCP RELAY发起续租请求。并在续租失败的情况下,通过PPPOE用户业务模块提供的请求执行失败的通知回调接口发送请求失败的异步事件,触发PPPOE业务进行相应的请求失败处理。

(6)为了使得DHCP RELAY模块能识别伪DHCP CLIENT用户和标准DHCP CLIENT用户,以便对伪DHCP CLIENT发送的协议数据包进行相应的处理(如在DHCP RELAY模块收到外部DHCP SERVER的响应请求后,应同伪DHCP CLIENT模块交互,还是同外部DHCP CLIENT交互)。需要在伪DHCPCLIENT发送的DHCP协议包中打上伪DHCP CLIENT用户的标识。

(7)伪DHCP CLIENT在其发送的DHCP协议包中所打的伪DHCP CLIENT的用户标识,可以通过使用如下的部分或全部DHCP协议选项域中打入标记来标识伪DHCP CLIENT用户,这些DHCP选项域包括:chaddr、Client-identifier、Vendor class identifier、hostname等。标识伪DHCP CLIENT用户的标记由设计者根据需要决定,只要能将伪DHCP CLIENT用户识别出来即可。

DHCP RELAY模块实体的实现功能如下所述:

DHCP RELAY中继代理实体主要实现标准的DHCP协议请求/响应事件网络数据包的转发功能。为了协同伪DHCP CLIENT模块实现对所有的PPPOE用户从外部DHCP SERVER获取用户所需的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的功能。需要DHCP RELAY中继代理实体代理相应于PPPOE用户侧的网络接口,从而为PPPOE用户获取所需的匹配此用户接口所在网段的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性。

DHCP RELAY中继代理实体在本发明中的特殊功能如下所述:

(1)为了配合伪DHCP CLIENT实现为PPPOE用户动态获取IP地址,DHCP RELAY需要能从接收到的DHCP协议数据包中识别出伪DHCP CLIENT用户。这可以根据伪DHCP CLIENT在DHCP协议选项中打入标记来标识伪DHCP CLIENT用户,可携带标记的DHCP选项域包括:chaddr、Client-identifier、Vendor class identifier、hostname等。

(2)DHCP RELAY在实现基本DHCP RELAY的功能的同时,需要根据用户的类型是否伪DHCP CLIENT用户决定是否需要与伪DHCP CLIENT模块实体的交互。

(3)对伪DHCP CLIENT用户类型,DHCP RELAY模块实体与伪DHCPCLIENT模块实体间可以通过网络接口或模块间的调用接口两种方式实现交互。

(4)网络接口实现方式下,伪DHCP CLIENT在DHCP CLIENT的标准端口号68上侦听,而DHCP RELAY在DHCP SERVER的标准端口号67上侦听;当伪DHCP CLIENT向DHCP RELAY发送DHCP协议数据包时,将使用本地回环地址127.0.0.1或DHCP RELAY所代理的网络接口的IP地址作为目标IP地址,标准端口号67作为目标端口,通过TCP/IP协议向DHCPRELAY发送网络数据包。同样地,当DHCP RELAY向伪DHCP CLIENT发送DHCP协议数据包时,将使用本地回环地址127.0.0.1或伪DHCP CLIENT的网络接口的IP地址作为目标IP地址,标准端口号68作为目标端口,通过TCP/IP协议向伪DHCP CLIENT发送网络数据包。

(5)模块间的调用接口方式下,伪DHCP CLIENT通过DHCP RELAY模块实体提供的模块调用接口向DHCP RELAY发送DHCP协议数据包;同样,DHCP RELAY通过伪DHCP CLIENT模块实体提供的模块调用接口向伪DHCP CLIENT发送网络数据包。

PPPOE业务模块与伪DHCP CLIENT模块的交互接口实现功能如下所述:

PPPOE业务模块实体同伪DHCP CLIENT业务模块在本发明中,所使用的交互接口包括:

(1)PPPOE业务模块实体提供给伪DHCP CLIENT模块的获取网络配置属性的成功通知回调接口。此接口在伪DHCP CLIENT模块成功获取相应PPPOE用户的网络配置属性后,通知并传入PPPOE业务模块实体。

(2)PPPOE业务模块实体提供给伪DHCP CLIENT模块的获取网络配置属性的失败通知回调接口。此接口在伪DHCP CLIENT模块获取相应PPPOE用户的网络配置属性失败后,通知PPPOE业务模块实体。

(3)伪DHCP CLIENT模块实体提供给PPPOE业务模块的请求获取网络配置属性的回调接口。PPPOE业务模块在回调此接口请求获取网络配置属性时,需要将从PPPOE客户端获取的PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息,传入伪DHCP CLIENT模块。

(4)伪DHCP CLIENT模块实体提供给PPPOE业务模块的请求释放网络配置属性的回调接口。PPPOE业务模块在回调此接口请求释放网络配置属性时,需要将从PPPOE客户端获取的PPPOE用户的相关属性和从DCHPRELAY模块获取的网络配置属性,传入伪DHCP CLIENT模块。

伪DHCP CLIENT模块与DHCP RELAY模块的交互接口实现功能如下所述:

DHCP CLIENT模块与DHCP RELAY模块在本发明中,可以使用两种不同的交互方式,分别为:网络交互、模块间的调用接口。

对网络交互方式,伪DHCP CLIENT和DHCP RELAY间没有直接的调用接口,其相互之间通过底层的TCP/IP协议栈实现。使用网络接口的好处是:模块间的耦合度小、模块的独立性、可移植性好。但由于相互间的交互需要通过底层的TCP/IP协议栈,会增加系统设备的处理时间。因此,如果侧重于DHCP RELAY模块的封装性、功能的通用性,不计较代码的执行效率,则可以使用网络通信方式的交互接口。此时,伪DHCP CLIENT与DHCP RELAY相互之间使用回环地址127.0.0.1或本机地址作为交互时网络数据包的目标地址,通过网络接口进行交互。伪DHCP CLIENT和DHCPRELAY网络接口交互方式的模块接口如图6所示。

对模块间的调用接口方式,伪DHCP CLIENT和DHCP RELAY间通过直接调用接口进行交互,相互间的DHCP协议数据包不再通过底层的TCP/IP协议栈处理。使用模块间调用接口方式的好处是:模块间的耦合度高、模块的独立性、可移植性不好。但由于相互间的交互不需要通过底层的TCP/IP协议栈,减少了系统设备的处理时间。因此,如果侧重于模块间的代码执行效率,不计较由此带来的模块间的强耦合性等缺点,则可以在伪DHCP CLIENT模块与DHCP RELAY模块间通过直接的同步调用实现交互。伪DHCP CLIENT和DHCP RELAY调用接口交互方式的模块接口如图7所示。

(1)DHCP RELAY模块向伪DHCP CLIENT模块提供的DHCP请求接口。此接口主要用于伪DHCP CLIENT模块向DHCP RELAY模块传递获取租用/续租网络配置属性等的DHCP协议交互请求。

(2)伪DHCP CLIENT模块向DHCP RELAY模块提供的DHCP应答接口。此接口主要用于DHCP RELAY模块向伪DHCP CLIENT模块传递获取租用/续租网络配置属性等的DHCP协议交互响应。

一种使用DHCP协议实现PPPOE用户动态获取IP地址的方法,包括如下步骤:

第一步骤:PPPOE业务模块调用伪DHCP CLIENT模块提供的获取网络配置属性的请求接口,驱动伪DHCP CLIENT的发起请求网络配置属性的会话。

由于伪DHCP CLIENT模块的专用性,伪DHCP CLIENT模块提供的获取网络配置属性的请求接口是模块间的同步调用接口。

本步骤又可以包括下列步骤:

(1)PPPOE业务模块将同PPPOE客户端交互,获取的PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息。

(2)PPPOE业务模块通过调用伪DHCP CLIENT模块提供的获取网络配置属性的请求接口,并将相关的PPPOE用户属性传入伪DHCP CLIENT模块,驱动伪DHCP CLIENT模块发起获取需要的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的会话。

第二步骤:伪DHCP CLIENT模块通过与DHCP RELAY模块的交互,获取PPPOE业务所需的网络配置属性。

由于DHCP RELAY模块需要在实现基本功能的同时,需要为伪DHCPCLIENT模块提供支持和接口。因此,如果侧重于DHCP RELAY模块的封装性、功能的通用性,不计较代码的执行效率,则可以使用网络通信方式的交互接口。此时,伪DHCP CLIENT与DHCP RELAY相互之间使用回环地址127.0.0.1或本机地址作为交互时网络数据包的目标地址,通过网络接口进行交互;如果侧重于模块间的代码执行效率,不计较由此带来的模块的强耦合性,则可以在伪DHCP CLIENT模块与DHCP RELAY模块间通过直接的同步调用实现交互。

本步骤又可以包括下列步骤:

(1)伪DHCP CLIENT模块通过PPPOE业务模块经获取网络配置属性请求接口传入的PPPOE用户的相关属性,构造相应的DHCP协议交互数据包,并向DHCP RELAY发起租用网络配置属性的会话。

(2)伪DHCP CLIENT模块在构造DHCP协议数据包时,需要在所构造的DHCP协议数据包中打入伪DHCP CLIENT用户标记。使得DHCP RELAY能够识别出伪DHCP CLIENT用户,并对伪DHCP CLIENT用户进行必要的处理。

(3)当DHCP RELAY接收到伪DHCP CLIENT模块请求事件后,根据用户标识,如MAC地址,建立用户数据区并记录伪DHCP CLIENT用户标志。

(4)然后DHCP RELAY向外部DHCP SERVER发起相应的DHCP请求事件。当DHCP RELAY接收到DHCP SERVER的响应后,根据从DHCP数据包中获取的用户数据区索引,如用户MAC地址,查找用户数据区,并得到用户类型。对伪DHCP CLIENT用户的协议事件通过伪DHCP CLIENT提供的接口发送到伪DHCP CLIENT模块。

(5)当伪DHCP CLIENT在经过完整DHCP协议交互过程,成功租到所需的网络配置属性后,将通过PPPOE用户业务模块提供的成功获取网络配置属性的通知回调接口通知PPPOE业务模块,并传入相应的网络配置属性。

(6)在伪DHCP CLIENT成功租到所需的网络配置属性后,需要根据DHCP SERVER返回的租期等参数,定时发出续租请求,这些续租请求只在伪DHCP CLIENT和DHCP RELAY间交互。

(7)当伪DHCP CLEINT在租用/续租网络配置参数过程中,不能成功获取所需的网络配置参数,将通过PPPOE业务模块提供的失败获取网络配置属性的通知回调接口通知PPPOE业务模块。

第三步骤:伪DHCP CLIENT模块通过调用PPPOE业务模块实体提供的成功/失败获取网络配置属性的通知回调接口,驱动PPPOE业务模块与PPPOE客户端的会话。

本步骤又可以包括下列步骤:

(1)当PPPOE业务模块从获取网络配置属性的通知回调接口得到相应的成功通知消息后,将驱动PPPOE业务模块与PPPOE客户端的会话过程,最终完成对用户的接入。

(2)当PPPOE业务模块从获取网络配置属性的通知回调接口得到相应的失败通知消息后,将驱动PPPOE业务模块终止与PPPOE客户端的本次会话。

第四步骤:PPPOE业务模块调用伪DHCP CLIENT模块提供的释放网络配置属性的请求接口,驱动伪DHCP CLIENT的发起释放网络配置属性的会话。

本步骤又可以包括下列步骤:

(1)PPPOE业务模块需要终止PPPOE会话时,需要调用伪DHCPCLIENT模块提供的释放网络配置属性的请求接口。

(2)驱动伪DHCP CLIENT模块通过DHCP RELAY模块向外部DHCPSERVER发起相应的释放配置属性的事件请求,然后释放自己的数据区。

(3)PPPOE业务模块在调用伪DHCP CLIENT模块提供的释放网络配置属性的请求接口时,需要将PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息,及伪DHCP CLIENT模块获取的用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性,传入伪DHCP CLIENT模块。

本发明通过在宽带网络接入服务器(AS)、宽带接入路由器等宽带接入网络设备中驻留伪DHCP CLIENT和DHCP RELAY的方法,从而使用DHCP协议从外部的DHCP SERVER上为宽带接入的PPPOE用户动态获取IP地址。

使用外部的DHCP SERVER实现对所有宽带接入网络设备上的PPPOE业务用户的动态IP地址分配的好处是:(1)不需要分别对每个宽带接入服务器的IP地址池进行独立的配置、管理,减少管理负担;(2)可以利用专用DHCP SERVER系统软件的某些增强功能,对PPPOE业务用户信息进行跟踪,有利于对PPPOE用户业务已用动态IP地址、可用动态IP地址等实施统计、监控和管理。

附图说明

图1是PPPOE业务通过DHCP从外部获取IP的模块结构及交互图;

图2是PPPOE用户获取网络配置属性的正常时序图;

图3是伪DHCP CLIENT模块获取网络配置属性失败的时序图;

图4是伪DHCP CLIENT模块续租网络配置属性失败的时序图;

图5是ISP的接入网络图;

图6是伪DHCP CLIENT和DHCP RELAY网络接口交互方式的模块接口图;

图7是伪DHCP CLIENT和DHCP RELAY调用接口交互方式的模块接口图。

具体实施方式

本发明所述的处理时序图分别如图2、图3、图4所示。

图2为PPPOE用户获取网络配置属性的正常处理时序图。PPPOE客户在同PPPOE业务模块的交互过程中,通过伪DHCP CLIENT模块成功获得所需的网络配置属性,当PPPOE用户下线时,通过伪DHCP CLIENT模块释放获得的网络配置属性。

图3为PPPOE用户获取网络配置属性失败时的异常处理时序图。PPPOE客户在同PPPOE业务模块的交互过程中,不能通过伪DHCP CLIENT模块获得所需的网络配置属性,伪DHCP CLIENT模块通过PPPOE模块提供的获取网络配置属性失败的通知回调接口,驱动PPPOE业务模块终止与PPPOE客户端的会话。

图4为伪DHCP CLIENT模块在处理网络配置属性续租失败时的异常处理时序图。伪DHCP CLIENT模块在处理网络配置属性的续租失败时,通过PPPOE模块提供的获取网络配置属性失败的通知回调接口,驱动PPPOE业务模块终止与PPPOE客户端的会话。

以下描述了在某ISP的某个宽带接入服务器中实施本发明的过程。根据需要,此宽带接入服务器目前需要支持对宽带用户的两种接入认证方式:一种为基于WEB PORTAL的认证方式;另一种为PPPOE用户认证方式。同时,ISP为了简化管理,在网络中放置了对需要分配IP地址服务的DHCPSERVER。要求对使用WEB PORTAL作为接入认证方式的用户使用外部DHCPSERVER进行IP地址等网络配置属性的自动获取。因此,此宽带接入服务器已经开发了实现从外部DHCP SERVER获取IP等网络配置属性的DHCPRELAY模块。

此外,由于对PPPOE业务而言也需要对用户分配IP地址等网络配置属性,但由于在本发明之前没有直接的方法实现从外部DHCP SERVER获得所需的IP地址。因此,这些网络配置属性都是通过本设备的相关配置接口获取。由于PPPOE用户的IP等网络配置属性只能从本设备上取得,因此增加了对每个设备上相关PPPOE用户的网络配置属性管理、维护工作。ISP的接入网络图如5所示。

本发明的实施,不仅将减小对每个设备上相关PPPOE用户的网络配置属性管理、维护工作;同时,也使得PPPOE用户与WEBPORTAL用户的IP地址等网络配置属性的管理统一起来,提供诸多好处。

在为了在宽带接入服务器中使用DHCP协议为PPPOE用户动态获取IP地址。在宽带接入服务器中使用DHCP协议为PPPOE用户动态获取IP地址的处理步骤如下:

(1)PPPOE业务模块将同PPPOE客户端交互,获取的PPPOE用户的相关属性,包括:用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息。

(2)PPPOE业务模块通过调用伪DHCP CLIENT模块提供的获取网络配置属性的请求接口,并将相关的PPPOE用户属性传入伪DHCP CLIENT模块。

(3)伪DHCP CLIENT模块收到PPPOE模块的获取网络配置属性的请求后,以用户MAC地址为索引创建用户数据区,并记录相关的用户信息。

(4)伪DHCP CLIENT根据收到的用户PPPOE会话标识(session id)、用户MAC地址标识、PPPOE用户名等属性信息,构造DHCPDISCOVER请求数据包,并打入伪DHCP CLIENT用户标识。

(5)伪DHCP CLIENT模块构造DHCPDISCOVER请求数据包时,需要在请求数据包的CHADDR域中,填入PPPOE用户的MAC地址;同时,伪DHCPCLIENT可以选择在全部或部分如下的DHCP协议选项域:Client-identifier、Vendor class identifier、hostname等中打入伪DHCP CLIENT用户标识。如何打入伪DHCP CLIENT用户标识由设计者选择,只要能使得DHCP RELAY模块能唯一识别出伪DHCP CLIENT用户即可。为简单起见,本处理中仅通过在hostname域中添加“PSEUDO-CLIENT”字符串前缀来标识伪DHCP CLIENT用户。

(6)伪DHCP CLIENT模块通过DHCP RELAY模块提供的交互接口将DHCPDISCOVER请求数据包发送到DHCP RELAY。

(7)DHCP RELAY模块收到伪DHCP CLIENT模块的获取用户IP地址、网络掩码、缺省网关、域名服务器等网络配置属性的请求后,进行相应的处理并重构DHCPDISCOVER数据包。

(8)DHCP RELAY模块重构DHCPDISCOVER数据包。DHCP RELAY模块重构DHCPDISCOVER数据包时需要填入代理的PPPOE用户侧接口的IP,使得DHCP SERVER能正确返回与此接口IP地址相同网段的用户IP及其他网络配置属性。

(9)然后,DHCP RELAY模块将后的DHCPDISCOVER数据包通过网络接口发送到外部的DHCP SERVER,从而开始发起向外部DHCP SERVER请求网络配置属性的会话过程。

(10)当DHCP RELAY模块收到外部DHCP SERVER的DHCPOFFER响应数据包后,根据数据包中的索引如用户MAC地址等,查找用户数据区,对PPPOE用户进行相应的处理后,通过伪DHCP CLIENT模块提供的交互接口将DHCPOFFER响应数据包传递到伪DHCP CLIENT模块。

(11)伪DHCP CLIENT模块在收到DHCP RELAY模块传入的DHCPOFFER数据包后,提取获取相应的网络配置属性,并进行相应的必要处理,如:检查用户的有效性、选择可提供的外部DHCP SERVER等。

(12)对合法、有效的DHCPOFFER响应消息,伪DHCP CLIENT根据PPPOE用户属性及返回的网络配置属性,构造DHCPREQUEST请求数据包,并发送到DHCP RELAY。

(13)DHCP RELAY模块收到DHCPREQUEST数据包后,根据数据包中的索引如用户MAC地址等,查找用户数据区,对PPPOE用户进行相应的处理后,重构DHCPREQUEST数据包,填入代理的PPPOE用户侧接口的IP。然后,通过网络接口发送到外部的DHCP SERVER。

(14)若DHCP RELAY模块收到了DHCP SERVER返回的DHCPNAK数据包后,根据数据包中的索引如用户MAC地址等,查找用户数据区,对PPPOE用户进行相应的处理,通过伪DHCP CLIENT模块提供的交互接口将DHCPACK响应数据包传递到伪DHCP CLIENT模块。然后释放用户数据区,结束本次DHCP会话。

(15)伪DHCP CLIENT模块在收到DHCP RELAY模块传入的DHCPNAK数据包后,进行相应的必要处理,如:检查用户的有效性等,然后通过PPPOE模块提供的失败获取网络配置属性的通知回调接口,传递给PPPOE业务模块,驱动PPPOE模块终止与PPPOE客户端的会话,然后释放用户数据区。

(16)若DHCP RELAY模块收到了DHCP SERVER返回的DHCPACK数据包后,根据数据包中的索引如用户MAC地址等,查找用户数据区,对PPPOE用户进行相应的处理后,通过伪DHCP CLIENT模块提供的交互接口将DHCPACK响应数据包传递到伪DHCP CLIENT模块。

(17)伪DHCP CLIENT模块在收到DHCP RELAY模块传入的DHCPACK数据包后,提取获取相应的网络配置属性,并进行相应的必要处理,如:检查用户的有效性等,然后通过PPPOE模块提供的成功获取网络配置属性的通知回调接口,传递给PPPOE业务模块,驱动PPPOE模块与PPPOE客户端的会话。

(18)此后,伪DHCP CLIENT模块针对已获取相应网络配置属性的PPPOE用户,根据外部DHCP SERVER在DHCPACK消息中返回的租期相关属性,驱动相应的于此PPPOE用户的状态机,定时进行对这些网络配置属性的续租处理。当伪DHCP CLIENT模块在对特定PPPOE用户的网络配置属性续租失败后,将通过PPPOE模块提供的续租失败通知回调接口,传递给PPPOE业务模块,驱动PPPOE模块终止与PPPOE客户端的会话,然后释放用户数据区,结束会话。

(19)当PPPOE模块在收到PPPOE用户的正常结束PPPOE会话的消息后,需要调用伪DHCP CLIENT模块提供的释放网络配置属性的请求接口通知伪DHCP CLIENT模块。

(20)伪DHCP CLIENT模块在收到PPPOE模块的释放网络配置属性的请求后,驱动伪DHCP CLIENT模块构造相应的DHCPRELEASE数据包,并发送到DHCP RELAY模块,然后释放自己的用户数据区,结束会话。

DHCP RELAY模块在收到DHCPRELEASE消息后,根据数据包中的索引如用户MAC地址等,查找用户数据区,对PPPOE用户进行相应的处理后,重构DHCPRELEASE数据包,填入代理的PPPOE用户侧接口的IP。然后通过网络接口发送到外部的DHCP SERVER并释放自己的用户数据区,结束会话。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号