多路PPPoE融合网关系统的制作方法

文档序号:7715623阅读:172来源:国知局
专利名称:多路PPPoE融合网关系统的制作方法
技术领域
本发明涉及一种网络通信技术,尤其涉及一种多路PPPoE融合网关系统。
技术背景
PPPoE (Point-to-Point Protocol Over Ethernet)的目的是通过把经济的局域 网技术(以太网)和点对点协议(PPP)的可扩展性及管理控制功能结合在一起(PPP协议 要求进行通信的双方之间是点对点的关系,不适用于广播型的以太网和另一些多点访问型 的网络),不仅为使用桥接以太网接入的用户提供一种宽带接入手段,同时还能提供方便的 接入控制和计费。通过PPPoE协议,网络服务提供商和电信运营商便可利用可靠和熟悉的 技术来加速部署高速互联网业务。它使服务提供商在通过以太网、HFC网络、全光网络、无 线网络等方式,提供支持多用户的宽带接入服务时更加简单易行。
PPPoE在发现阶段,是靠广播找到PPPoE服务器的,所以,在一个二层网域中,不能 同时接入多台PPPoE服务器,多路PPPoE网络同时接入一个二层网域,会造成用户无法通 信。二级运营商通常会采用物理分割的方式接入多路PPPoE网络,及物理上把网络分成几 部分,一条PPPoE网络分一部分用户。这样做的好处是暂时解决多条PPPoE链路接入问题, 其缺陷在于使网络运营成本增加,而且使网络结构复杂化,用户上网速度下降,而且用户 已经被拆分的七零八落,难于实现网络设备的整合利用,造成资源浪费。
目前,国际国内还没有专门针对多路PPPoE网络混合接入的方法和设备。发明内容
本发明提出了一种多路PPPoE融合网关系统,将多条任意网络环境的PPPoE网 络通过多路PPPoE融合网关系统接入一个二层网络中,形成多条PPPoE出口链路,由多路 PPPoE融合网关系统接收、识别该二层网络中的终端用户的PPPoE报文,对第一次登录的终 端用户帐号,通过轮询机制自动查找与终端用户帐号匹配的PPPoE出口链路,将查找到的 PPPoE出口链路号与终端用户的帐号绑定并记录;若相同帐号再次登录,将此帐号的通行 链路分配到绑定的PPPoE出口链路。
所述的轮询机制为
(一)多路PPPoE融合网关系统接收到终端用户的PPPoE报文后,
1)捕获终端用户发送报文中PPPoE发现阶段的PPPoE活动发现初始包,即PADI 包,提取PADI报文中终端用户MAC地址;
2)判断当前PADI报文中MAC地址所对应的终端用户表中是否已经绑定了 PPPoE 出口链路若已经绑定,则将PADI报文分配到绑定的PPPoE出口链路发送;若未绑定,则进 入步骤3);
3)判断当前PADI报文在终端用户表中是否注册
如果没有注册,初始化该终端用户表项,设置终端用户表中的PADI报文转发网络 接口为PPPoE出口链路一,并添加到终端用户表中,进入步骤4);
如果已经注册,设置终端用户表中的PADI报文转发网络接口为下一条PPPoE出口 链路,轮询下一条PPPoE出口链路,进入步骤4);
4)根据终端用户表中设置,修改该PADI报文转发网络接口,实时检测PPPoE服务 器返回的验证信息;其中,验证信息包括PAP、CHAP认证协议中终端用户认证确认包;
验证成功,则将当前PPPoE出口链路与当前帐号绑定并记录;
验证不成功,则返回步骤3);
若所有的PPPoE出口链路都无法验证成功,则进入步骤(二);
(二)账号配置列表匹配
1]、捕获终端用户发送报文中PPPoE发现阶段的PPPoE活动发现初始包,即PADI 包,提取PADI报文中终端用户MAC地址;
2]、判断当前PADI报文中MAC地址所对应的终端用户表中是否已经绑定了 PPPoE 出口链路若已经绑定,则将PADI报文分配到绑定的PPPoE出口链路发送;若未绑定,则进 入步骤3];
3]、判断当前PADI报文在终端用户表中是否注册
如果没有注册,初始化该终端用户表项,设置终端用户表中的PADI报文转发网络 接口为PPPoE出口链路一,并添加到终端用户表中,进入步骤4];
如果已经注册,设置终端用户表中的PADI报文转发网络接口为下一条PPPoE出口 链路,轮询下一条PPPoE出口链路,进入步骤4];
4]、根据终端用户表中设置,修改该PADI报文转发网络接口 ;捕获该终端用户发 送报文中PPPoE会话阶段PAP或CHAP认证协议包中的用户账号信息,提取终端用户账号, 使之与账号配置列表中账号比较
如果终端用户报文中账号能与账号配置列表中账号匹配,则将当前PPPoE出口链 路与当前帐号绑定并记录;
如果不能匹配,则返回步骤3];
若所有的PPPoE出口链路都无法匹配成功,则返回步骤(一)。
本发明还提出了一种用于多路PPPoE融合网关系统的装置,它包括报文识别模 块、报文控制模块、系统总控模块、命令解析模块和调试信息模块;其连接结构如下
报文识别模块,接收、识别终端用户和PPPoE服务器的报文,捕获报文中的PPPoE 活动发现初始包和PPP身份认证包;将处理后的数据发送到报文控制模块;
报文控制模块,修改PPPoE包头,控制PPPoE报文在多条PPPoE链路的通行链路;
系统总控模块,与报文识别模块通信连接,向报文识别模块写入控制信息;
命令解析模块,解析管理员对PPPoE数据的控制命令,并将控制命令传输至系统 总控模块;
调试信息模块,打印数据信息到控制台;
通过命令解析模块和调试信息模块,解析管理员的控制指令、账号配置列表,通过 系统总控模块向报文识别模块传达管理员控制指令、账号配置列表。
终端用户PPPoE报文到达报文识别模块后,捕获终端用户发送报文中PPPoE发现 阶段的PPPoE活动发现初始(PADI)包,提取报文中终端用户MAC地址,根据系统总控模块 中的指令,匹配账号配置列表和轮询多条PPPoE出口链路,并将处理结果发送给报文控制模块,报文控制模块根据报文识别模块修改PPPoE报文发送接口,并将数据包转发到PPPoE 服务器。
本发明还提出了一种用于多路PPPoE融合网关系统的装置,它包括报文控制模 块、系统总控模块和命令解析模块;


图1、终端用户报文发送示意;
图2、PPPoE报文格式;
图3、系统流程框图;具体实施方式
降低网络运营成本,对网络资源整合利用,提高上网速度,目前可以设想的最好方 法就是使任意终端用户能从二层网络中的任意位置连接到用户需要的PPPoE出口链路,但 是为什么现在不存在多路PPPoE网络混合接入的方法和设备呢,主要有以下原因
如果采用现有技术的接入方式,在一个二层网域中同时接入多台PPPoE服务器, 因为PPPoE在发现阶段是靠广播找到PPPoE服务器的,将会出现的情况是,会有多个PPPoE 服务器都收到终端用户的验证请求,这些PPPoE服务器都会向终端用户发送回应信息,由 于网络质量和服务器响应速度等因素,某一 PPPoE服务器A的回应信息会最先到达终端用 户,无论PPPoE服务器A与终端用户是否验证成功,网络中转设备都会将终端用户的PPPoE 出口链路分配到与PPPoE服务器A对应的PPPoE出口链路,网络中转设备是无法识别PPPoE 服务器A与终端用户是否验证成功的,如果PPPoE服务器A与终端用户验证失败(回应信息 最先到达终端用户的服务器就是正确的服务器的概率是相当低的),就会造成用户无法与 正确的服务器连接,而始终将终端用户的请求指向错误的服务器;为了解决这一技术难题, 使现有网络资源能合理整合利用,发明人经过潜心研究,提出了本发明方案,具体如下,
参见图1,将多条任意网络环境的PPPoE网络通过多路PPPoE融合网关系统接入一 个二层网络中,形成多条PPPoE出口链路,由多路PPPoE融合网关系统接收、识别该二层网 络中的终端用户的PPPoE报文,对第一次登录的终端用户帐号,通过轮询机制查找与终端 用户帐号匹配的PPPoE出口链路,将查找到的PPPoE出口链路号与终端用户的帐号绑定并 记录;若相同帐号再次登录,将此帐号的通行链路分配到绑定的PPPoE出口链路。
其中,轮询机制(也可叫论询算法)在这里发挥了重要作用,其意义在于如果接 收到PADI报文的服务器不是正确的服务器,根据服务器的回应信息,本发明的网关可以将 其识别出来,并将PADI报文转发到另一个服务器,不断的寻找正确的服务器,这就解决了 终端用户的请求始终被指向错误的服务器的问题,其具体处理步骤如下
多路PPPoE融合网关系统接收到终端用户的PPPoE报文后,
1)对终端用户的PPPoE报文进行PPPoE活动发现初始化,得到PADI报文,检测 PADI报文中的身份认证协议,记录终端用户的MAC地址和帐号;PPPoE报文格式如图2所 示;
2)判断是否已经为当前PADI报文所对应的终端用户帐号绑定了 PPPoE出口链路 若已经绑定,则将PADI报文分配到绑定的PPPoE出口链路发送;若未绑定,则进入步骤3);
3)修改PADI报文头,将PADI报文在多条PPPoE出口链路中逐一轮询,实时检测 PPPoE服务器返回的验证信息
验证成功,则将当前PPPoE出口链路与当前帐号绑定并记录;
验证不成功,则修改PADI报文头,继续轮询下一条PPPoE出口链路;
4)若所有的PPPoE出口链路都无法验证成功,则重新对多条PPPoE出口链路逐一 轮询,直至某一 PPPoE服务器验证成功或终端用户停止发送PPPoE报文或。
从前面的步骤可以看出,多路PPPoE融合网关系统不但实现了寻找正确服务器的 功能,还对终端用户的链路信息、登录帐号进行了记录,这就为服务器的运营信息的统计提 供了条件,使二级运营商可以对用户进行计费管理,也就得到了网络经营的主动权,而且无 需为每个PPPoE网络分别购置一个价格昂贵的用于物理分割网络的PPPoE接入设备,多个 PPPoE网络可以通过一个多路PPPoE融合网关系统接入二层网络,极大的降低运营成本。
在本发明中发挥重要作用的另一个东西是终端用户的PPPoE报文和PPPoE服务器 的PPP报文的协议认证、检测以及这两者之间的验证,协议认证、检测和验证实际上是现有 技术中网络通信的常规处理,它在本发明中的意义体现在协议认证、检测和验证的信息是 用来识别、绑定终端用户登录帐号和PPPoE出口链路的依据,这保证了每个终端用户登录 帐号只对应一条PPPoE出口链路(单个PPPoE出口链路可以对应多个终端用户登录帐号),
实施例
以PPPoE报文、PPP报文作为终端用户标识信息,
PPPoE 有发现阶段(Discovery stage)和 PPP 会话阶段(PPP Session stage)。
发现阶段有5个步骤
1、PPPoE活动发现初始(PADI)包
终端用户发送PADI (PPPoE Active Discovery Initiation)包,此时目标地址被 设置为广播地址。CODE域设置为0x09,同时,SESSION_ID必须被设置为0x0000。
PADI包必须包含正确的、类型为服务名称(Service-Name)的标签,用于指出终 端用户在请求的服务。也可以包含任意数量的其他标签类型。整个PADI包(包括PPPoE 包头),必须不超过1484字节(8位),以便有足够的空间用于中继代理增加中继会话 ID(Relay-Session-Id)标签。
2、PPPoE活动发现提议(PADO)包
3、PPPoE活动发现请求(PADR)包
4、PPPoE活动发现会话确认(PADS)包
5、PPPoE活动发现终止(PADT)包
PAP的验证过程
PAP为两次握手协议,它通过用户名及口令来对用户进行验证。PAP验证过程如 下当两端链路可相互传输数据时,被验证方发送本端的用户名及口令到验证方,验证方根 据本端的用户表或radius服务器,查看是否有此用户,口令是否正确,如正确则会给对端 发送ACK报文,通告对端已被允许进入下一阶段协商,否则发送NAK报文,通告对端验证失 败,此时并不会直接将链路关闭,只有当验证不过次数达到一定值时,才会关闭链路,来防 止因误传、网络干扰等造成不必要的LCP重新协商过程。PAP的特点是在网络上以明文的方 式传递用户名及口令,如在传输过程中被截获便有可能对网络安全造成极大的威胁。因此,它适用于对网络安全要求相对较低的环境;
CHAP的验证过程
CHAP为三次握手协议,它的特点是只在网络上传输用户名,而并不传输用户口 令,因此,它的安全性要比PAP高。CHAP的验证过程为首先由验证方向被验证方发送一些 随机产生的报文,并同时将本端的主机名附带上一起发送给被验证方,被验证方接到对端 对本端的验证请求(Challenge)时,便根据此报文中验证方的主机名和本端的用户表查找 用户口令字,如找到用户表中与验证方主机名相同的用户,便利用报文ID,此用户的密钥用 Md5算法生成应答,Response随后将应答和自己的主机名送回,验证方接到此应答后,用报 文ID、本方保留的口令字(密钥)和随机报文用Md5算法得出结果,与被验证方应答比较, 根据比较结果返回相应的结果。
具体处理当第一次接收到终端用户PADI报文时,从PADI报文中提取终端用户 MAC地址,并在内存中为该终端用户生成一项纪录向,并修改PADI报文头,轮询PPPoE出口 链路,轮询算法如下
如图1所示,以太用户拨号时,首先发起一个PADI报文,图2为报文格式
当TERM接口(接用户端得网络接口)接收到终端报文时,提取报文中以太类型的 值,如果该值为0x8863,提取报文中CODE域的值,如果该值为0x09,判断终端是否已经分配 了一条固定的PPPoE链路作为当前终端的通行链路,如果没有则根据轮询算法,临时为该 终端指定第一条PPPoE链路作为当前报文的通行链路,接下来,该终端所有数据报文都从 指定的PPPoE链路通行,WAN接口(PPPoE出口链路网络接口)接收来自PPPoE服务器的报 文,当接收到发往终端用户的登录成功报文,绑定该出口为终端用户。当接收到发往终端用 户的登录失败报文,则轮询下一条PPPoE链路。PPP有两种身份认证协议(PAP、CHAP协议), 获取发往终端用户登录报文时,要分别处理。
当TERM接口再次接收到终端报文时,提取报文中以太类型的值,如果该值为 0x8863,提取报文中CODE域的值,如果该值为0x09,使用绑定的PPPoE链路作为当前终端的 通行链路,
以PPP会话中账号作为终端用户标识信息
当TERM接口(接用户端的网络接口)接收到终端用户报文时,提取报文中以太类 型的值,如果该值为0x8863,提取报文中CODE域的值,如果该值为0x09,判断终端是否已经 分配了一条固定的PPPoE链路作为当前终端的通行链路,如果没有则根据轮询算法,临时 为该终端指定第一条PPPoE链路作为当前报文的通行链路,接下来,该终端所有数据报文 都从指定的PPPoE链路通行,TERM接口接收来自终端的PPP报文,当接收到发往终端用户 的登录报文时,提取终端用户登录账号,与用户列表中的账号进行匹配,当匹配成功时,绑 定用户列表中配置的PPPoE出口链路作为终端用户数据报文的出口链路。PPP有两种身份 认证协议,获取发往终端用户登录报文时,要分别处理。
当TERM接口再次接收到终端报文时,提取报文中以太类型的值,如果该值为 0x8863,提取报文中CODE域的值,如果该值为0x09,使用绑定的PPPoE链路作为当前终端的 通行链路。
权利要求
1.一种多路PPPoE融合网关系统,其特征在于将多条任意网络环境的PPPoE网络通 过多路PPPoE融合网关系统接入一个二层网络中,形成多条PPPoE出口链路,由多路PPPoE 融合网关系统接收、识别该二层网络中的终端用户的PPPoE报文,对第一次登录的终端用 户帐号,通过轮询机制自动查找与终端用户帐号匹配的PPPoE出口链路,将查找到的PPPoE 出口链路号与终端用户的帐号绑定并记录;若相同帐号再次登录,将此帐号的通行链路分 配到绑定的PPPoE出口链路。
2.根据权利要求1所述的多路PPPoE融合网关系统,其特征在于所述的轮询机制为 (一)多路PPPoE融合网关系统接收到终端用户的PPPoE报文后,1)捕获终端用户发送报文中PPPoE发现阶段的PPPoE活动发现初始包,即PADI包,提 取PADI报文中终端用户MAC地址;2)判断当前PADI报文中MAC地址所对应的终端用户表中是否已经绑定了PPPoE出口 链路若已经绑定,则将PADI报文分配到绑定的PPPoE出口链路发送;若未绑定,则进入步 骤3);3)判断当前PADI报文在终端用户表中是否注册如果没有注册,初始化该终端用户表项,设置终端用户表中的PADI报文转发网络接口 为PPPoE出口链路一,并添加到终端用户表中,进入步骤4);如果已经注册,设置终端用户表中的PADI报文转发网络接口为下一条PPPoE出口链 路,轮询下一条PPPoE出口链路,进入步骤4);4)根据终端用户表中设置,修改该PADI报文转发网络接口,实时检测PPPoE服务器返 回的验证信息;其中,验证信息包括PAP、CHAP认证协议中终端用户认证确认包;验证成功,则将当前PPPoE出口链路与当前帐号绑定并记录;验证不成功,则返回步骤3);若所有的PPPoE出口链路都无法验证成功,则进入步骤(二);(二)账号配置列表匹配1]、捕获终端用户发送报文中PPPoE发现阶段的PPPoE活动发现初始包,即PADI包,提 取PADI报文中终端用户MAC地址;2]、判断当前PADI报文中MAC地址所对应的终端用户表中是否已经绑定了PPPoE出口 链路若已经绑定,则将PADI报文分配到绑定的PPPoE出口链路发送;若未绑定,则进入步 骤3];3]、判断当前PADI报文在终端用户表中是否注册如果没有注册,初始化该终端用户表项,设置终端用户表中的PADI报文转发网络接口 为PPPoE出口链路一,并添加到终端用户表中,进入步骤4];如果已经注册,设置终端用户表中的PADI报文转发网络接口为下一条PPPoE出口链 路,轮询下一条PPPoE出口链路,进入步骤4];4]、根据终端用户表中设置,修改该PADI报文转发网络接口;捕获该终端用户发送报 文中PPPoE会话阶段PAP或CHAP认证协议包中的用户账号信息,提取终端用户账号,使之 与账号配置列表中账号比较如果终端用户报文中账号能与账号配置列表中账号匹配,则将当前PPPoE出口链路与 当前帐号绑定并记录;如果不能匹配,则返回步骤3];若所有的PPPoE出口链路都无法匹配成功,则返回步骤(一)。
3. 一种用于多路PPPoE融合网关系统的装置,其特征在于它包括报文识别模块、报 文控制模块、系统总控模块、命令解析模块和调试信息模块;其连接结构如下报文识别模块,接收、识别终端用户和PPPoE服务器的报文,捕获报文中的PPPoE活动 发现初始包和PPP身份认证包;将处理后的数据发送到报文控制模块;报文控制模块,修改PPPoE包头,控制PPPoE报文在多条PPPoE链路的通行链路; 系统总控模块,与报文识别模块通信连接,向报文识别模块写入控制信息; 命令解析模块,解析管理员对PPPoE数据的控制命令,并将控制命令传输至系统总控 模块;调试信息模块,打印数据信息到控制台。
全文摘要
本发明公开了一种多路PPPoE融合网关系统,将多条任意网络环境的PPPoE网络通过多路PPPoE融合网关系统接入一个二层网络中,形成多条PPPoE出口链路,由多路PPPoE融合网关系统接收、识别该二层网络中的终端用户的PPPoE报文,对第一次登录的终端用户帐号,通过轮询机制自动查找与终端用户帐号匹配的PPPoE出口链路,将查找到的PPPoE出口链路号与终端用户的帐号绑定并记录;若相同帐号再次登录,将此帐号的通行链路分配到绑定的PPPoE出口链路。
文档编号H04L12/66GK102035867SQ20091019101
公开日2011年4月27日 申请日期2009年9月29日 优先权日2009年9月29日
发明者王领, 赵小荭 申请人:重庆旭贤科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1