PPPoE报文传输方法和PPPoE服务器技术

技术编号:15794808 阅读:175 留言:0更新日期:2017-07-10 09:59
本发明专利技术公开了一种PPPoE报文传输方法和PPPoE服务器,其中,该方法包括:PPPoE服务器向Linux内核注册PPPoE协议报文拦截器和向Netfilter框架注册IPV4协议报文拦截器,并将用户的IP地址与MAC地址添加到已认证用户信息中;PPPoE服务器接收报文;PPPoE服务器调用PPPoE协议报文拦截器或IPV4协议报文拦截器,根据已认证用户信息对报文进行处理和传输。本发明专利技术在用户拨号上下线时,无需创建和删除网络接口,提高了上下线速率。

【技术实现步骤摘要】
PPPoE报文传输方法和PPPoE服务器
本专利技术涉及网络传输
,特别涉及一种PPPoE报文传输方法和PPPoE服务器。
技术介绍
随着网络技术的发展,当前宽带接入已经成为一种主要的用户接入方式,宽带拨号与认证的主要方式是以太网承载点对点协议(PointtoPointProtocoloverEthernet,简称为PPPoE)。PPPoE宽带接入服务器的性能指标一般包括拨号认证的上线与下线速率。现有Linux平台上实现PPPoE宽带接入服务器的方案,会对每个拨号上线的用户创建一个虚拟的网络接口(例如ppp0),下线的时候再删除掉。创建虚拟网络接口的目的是实现PPPoE报文的终结及数据报文的转发。然而虚拟网络接口的创建与删除涉及到很多底层且耗时的工作,比如内存的申请与释放、系统调用、中央处理器(CentralProcessingUnit,简称为CPU)特权级的切换。上述虚拟网络接口的创建与删除会导致拨号上线与下线较慢。
技术实现思路
为了解决现有宽带接入技术需创建和删除虚拟网络接口,导致拨号上线与下线较慢的问题,本专利技术实施例提供了一种PPPoE报文传输方法和PPPoE服务器。所述技术方案如下:根据本专利技术实施例的一个方面,提供了一种PPPoE报文传输方法,包括:PPPoE服务器向Linux内核注册PPPoE协议报文拦截器和向Netfilter框架注册IPV4协议报文拦截器,并将所述用户的IP地址与MAC地址添加到已认证用户信息中;所述PPPoE服务器接收报文;所述PPPoE服务器调用所述PPPoE协议报文拦截器或所述IPV4协议报文拦截器,根据所述已认证用户信息对所述报文进行处理和传输。进一步地,所述PPPoE服务器调用所述PPPoE协议报文拦截器或所述IPV4协议报文拦截器,根据所述已认证用户信息对所述报文进行处理和传输,包括:所述PPPoE服务器判断所述报文是用户上行报文还是用户下行报文;如果是用户上行报文,所述PPPoE服务器调用所述PPPoE协议报文拦截器,所述PPPoE协议报文拦截器判断所述报文是否为PPPoE数据报文,如果是PPPoE数据报文,则根据所述已认证用户信息剥离所述PPPoE数据报文的头部信息,并将处理后的报文转发给因特网端;如果是用户下行报文,所述PPPoE服务器调用所述IPV4协议报文拦截器,所述IPV4协议报文拦截器根据所述已认证用户信息在所述用户下行报文中添加头部信息,并将处理后的报文转发给所述用户。进一步地,所述PPPoE服务器调用所述PPPoE协议报文拦截器,所述PPPoE协议报文拦截器判断所述报文是否为PPPoE数据报文,如果是PPPoE数据报文,则根据所述已认证用户信息剥离所述PPPoE数据报文的头部信息,并将处理后的报文转发给因特网端,包括:所述PPPoE协议报文拦截器根据以太网报文协议域的值确定当前处于会话阶段;所述PPPoE协议报文拦截器根据PPP报文头部协议字段确定所述报文是PPPoE数据报文;所述PPPoE协议报文拦截器从以太网报文头部获取MAC地址,从IPV4报文头部获取IP地址;所述PPPoE协议报文拦截器将所述MAC地址及IP地址与所述已认证用户信息中的信息进行对比;如果匹配,则确认所述用户属于已认证用户,剥离所述PPPoE数据报文的头部,并将处理后的PPPoE数据报文向所述因特网端进行转发;如果不匹配,则确认所述用户不属于已认证用户,丢弃所述PPPoE数据报文。进一步地,所述IPV4协议报文拦截器根据所述已认证用户信息在所述用户下行报文中添加头部信息,并将处理后的报文转发给所述用户,包括:所述IPV4协议报文拦截器从IPV4报文头部获取所述用户的IP地址;所述IPV4协议报文拦截器将所述IP地址与所述已认证用户信息中的信息进行比对;如果匹配,则确认所述用户属于已认证用户,在所述用户下行报文中添加头部信息,并将处理后的报文向所述用户进行转发;如果不匹配,则确认所述用户不属于已认证用户,丢弃所述用户下行报文。进一步地,用户在每次上线时,所述PPPoE服务器向所述Linux内核注册所述PPPoE协议报文拦截器和向所述Netfilter框架注册所述IPV4协议报文拦截器;所述用户在每次下线后,所述PPPoE服务器从所述Linux内核移除所述PPPoE协议报文拦截器,同时从所述Netfilter框架移除所述IPV4协议报文拦截器,并从所述已认证用户信息中删除所述用户对应的信息。进一步地,所述用户初始化或者重启后,并在第一次有用户上线时,所述PPPoE服务器向所述Linux内核注册所述PPPoE协议报文拦截器和向所述Netfilter框架注册所述IPV4协议报文拦截器;所述用户下线后,从所述已认证用户信息中删除所述用户对应的信息。进一步地,所述PPPoE服务器向所述NetFilter框架的POSTROUTING链注册所述IPV4协议报文拦截器。另一方面,本专利技术还提供一种以太网承载点对点协议PPPoE服务器,包括:注册单元,用于向Linux内核注册PPPoE协议报文拦截器和向Netfilter框架注册IPV4协议报文拦截器,并将所述用户的IP地址与MAC地址添加到已认证用户信息中;接收单元,用于接收报文;处理单元,用于调用所述PPPoE协议报文拦截器或所述IPV4协议报文拦截器,根据所述已认证用户信息对所述报文进行处理和传输。进一步地,判断模块,用于判断所述报文是用户上行报文还是用户下行报文;第一调用模块,用于在所述报文是用户上行报文的情况下,调用所述PPPoE协议报文拦截器,所述PPPoE协议报文拦截器判断所述报文是否为PPPoE数据报文,如果是PPPoE数据报文,则根据所述已认证用户信息剥离所述PPPoE数据报文的头部信息,并将处理后的报文转发给因特网端;第二调用模块,用于在所述报文是用户下行报文的情况下,调用所述IPV4协议报文拦截器,所述IPV4协议报文拦截器根据所述已认证用户信息在所述用户下行报文中添加头部信息,并将处理后的报文转发给所述用户。进一步地,所述PPPoE协议报文拦截器包括:第一确定模块,用于根据以太网报文协议域的值确定当前处于会话阶段;第二确定模块,用于根据PPP报文头部协议字段确定所述报文是PPPoE数据报文;第一获取模块,用于从以太网报文头部获取MAC地址,从IPV4报文头部获取IP地址;第一对比模块,用于将所述MAC地址及IP地址与所述已认证用户信息中的信息进行对比;第一转发模块,用于在匹配的情况下,确认所述用户属于已认证用户,剥离所述PPPoE数据报文的头部,并将处理后的PPPoE数据报文向所述因特网端进行转发;第一丢弃模块,用于在不匹配的情况下,确认所述用户不属于已认证用户,丢弃所述PPPoE数据报文。进一步地,所述IPV4协议报文拦截器包括:第二获取模块,用于从IPV4报文头部获取所述用户的IP地址;第二对比模块,用于将所述IP地址与所述已认证用户信息中的信息进行比对;第二转发模块,用于在匹配的情况下,则确认所述用户属于已认证用户,在所述用户下行报文中添加头部信息,并将处理后的报文向所述用户进行转发;第二丢弃模块,用于在不匹配的情况下,确认所述用户不属于已认证用户,丢弃所述用户下行报文。进一步地,还包括移除单元,用本文档来自技高网...
PPPoE报文传输方法和PPPoE服务器

【技术保护点】
一种以太网承载点对点协议PPPoE报文传输方法,其特征在于,包括:PPPoE服务器向Linux内核注册PPPoE协议报文拦截器和向Netfilter框架注册IPV4协议报文拦截器,并将所述用户的IP地址与MAC地址添加到已认证用户信息中;所述PPPoE服务器接收报文;所述PPPoE服务器调用所述PPPoE协议报文拦截器或所述IPV4协议报文拦截器,根据所述已认证用户信息对所述报文进行处理和传输。

【技术特征摘要】
1.一种以太网承载点对点协议PPPoE报文传输方法,其特征在于,包括:PPPoE服务器向Linux内核注册PPPoE协议报文拦截器和向Netfilter框架注册IPV4协议报文拦截器,并将所述用户的IP地址与MAC地址添加到已认证用户信息中;所述PPPoE服务器接收报文;所述PPPoE服务器调用所述PPPoE协议报文拦截器或所述IPV4协议报文拦截器,根据所述已认证用户信息对所述报文进行处理和传输。2.如权利要求1所述的方法,其特征在于,所述PPPoE服务器调用所述PPPoE协议报文拦截器或所述IPV4协议报文拦截器,根据所述已认证用户信息对所述报文进行处理和传输,包括:所述PPPoE服务器判断所述报文是用户上行报文还是用户下行报文;如果是用户上行报文,所述PPPoE服务器调用所述PPPoE协议报文拦截器,所述PPPoE协议报文拦截器判断所述报文是否为PPPoE数据报文,如果是PPPoE数据报文,则根据所述已认证用户信息剥离所述PPPoE数据报文的头部信息,并将处理后的报文转发给因特网端;如果是用户下行报文,所述PPPoE服务器调用所述IPV4协议报文拦截器,所述IPV4协议报文拦截器根据所述已认证用户信息在所述用户下行报文中添加头部信息,并将处理后的报文转发给所述用户。3.如权利要求2所述的方法,其特征在于,所述PPPoE服务器调用所述PPPoE协议报文拦截器,所述PPPoE协议报文拦截器判断所述报文是否为PPPoE数据报文,如果是PPPoE数据报文,则根据所述已认证用户信息剥离所述PPPoE数据报文的头部信息,并将处理后的报文转发给因特网端,包括:所述PPPoE协议报文拦截器根据以太网报文协议域的值确定当前处于会话阶段;所述PPPoE协议报文拦截器根据PPP报文头部协议字段确定所述报文是PPPoE数据报文;所述PPPoE协议报文拦截器从以太网报文头部获取MAC地址,从IPV4报文头部获取IP地址;所述PPPoE协议报文拦截器将所述MAC地址及IP地址与所述已认证用户信息中的信息进行对比;如果匹配,则确认所述用户属于已认证用户,剥离所述PPPoE数据报文的头部,并将处理后的PPPoE数据报文向所述因特网端进行转发;如果不匹配,则确认所述用户不属于已认证用户,丢弃所述PPPoE数据报文。4.如权利要求2所述的方法,其特征在于,所述IPV4协议报文拦截器根据所述已认证用户信息在所述用户下行报文中添加头部信息,并将处理后的报文转发给所述用户,包括:所述IPV4协议报文拦截器从IPV4报文头部获取所述用户的IP地址;所述IPV4协议报文拦截器将所述IP地址与所述已认证用户信息中的信息进行比对;如果匹配,则确认所述用户属于已认证用户,在所述用户下行报文中添加头部信息,并将处理后的报文向所述用户进行转发;如果不匹配,则确认所述用户不属于已认证用户,丢弃所述用户下行报文。5.如权利要求1至4任一项所述的方法,其特征在于:用户在每次上线时,所述PPPoE服务器向所述Linux内核注册所述PPPoE协议报文拦截器和向所述Netfilter框架注册所述IPV4协议报文拦截器;所述用户在每次下线后,所述PPPoE服务器从所述Linux内核移除所述PPPoE协议报文拦截器,同时从所述Netfilter框架移除所述IPV4协议报文拦截器,并从所述已认证用户信息中删除所...

【专利技术属性】
技术研发人员:许加烜程杜勇吴胜万
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1