基于以太网的点对点协议的处理方法、设备和系统.pdf

上传人:e2 文档编号:663113 上传时间:2018-03-02 格式:PDF 页数:30 大小:2.92MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310141854.7

申请日:

2013.04.23

公开号:

CN104125191A

公开日:

2014.10.29

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/06申请日:20130423|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

华为技术有限公司

发明人:

牛乐宏; 黄敬

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

刘芳

PDF下载: PDF下载
内容摘要

基于以太网的点对点协议的处理方法、设备和系统。本发明提供一种PPPoE的处理方法、设备和系统。该方法包括转发设备接收PPPoE客户端发送的PPPoE控制报文;所述转发设备将所述PPPoE控制报文发送给控制设备;所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;所述转发设备将所述第一信息发送给所述PPPoE客户端。本发明实施例可以实现在控制和转发分离的场景下支持PPPoE,进而可以在SDN设备上实现PPPoE。

权利要求书

1.  一种基于以太网的点到点协议PPPoE的处理方法,其特征在于,包括:
转发设备接收PPPoE客户端发送的PPPoE控制报文;
所述转发设备将所述PPPoE控制报文发送给控制设备;
所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;
所述转发设备将所述第一信息发送给所述PPPoE客户端。

2.
  根据权利要求1所述的方法,其特征在于,
所述转发设备根据接收到的第一流表,将所述PPPoE控制报文发送给控制设备;
所述转发设备根据接收到的第二流表,将所述第一信息发送给所述PPPoE客户端。

3.
  根据权利要求1或2所述的方法,其特征在于,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述第一信息包括第一会话标识ID;
或,
所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述第一信息包括第一IP地址;
或,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。

4.
  根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述PPPoE控制报文发送给控制设备具体包括:
将所述PPPoE控制报文封装为开放流OF报文;
将所述OF报文发送给所述控制设备。

5.
  根据权利要求1至4中任一项所述的方法,其特征在于,在将所述第一信息发送给所述PPPoE客户端之后,所述方法还包括:
所述转发设备接收所述PPPoE客户端发送的所述第一PPPoE数据报文;
所述转发设备确定所述第一PPPoE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPoE数据报文中是否封装有IP报文;
所述转发设备在所述第一PPPoE数据报文的会话ID是所述第一会话ID,且所述第一PPPoE数据报文中封装有所述IP报文时,根据接收到的第三流表,将所述第一PPPoE数据报文解封装为第一公网数据报文;
所述转发设备根据所述第三流表向公网发送所述第一公网数据报文。

6.
  根据权利要求1至5中任一项所述的方法,其特征在于,在将所述第一信息发送给所述PPPoE客户端之后,所述方法还包括:
所述转发设备从公网接收第二公网数据报文;
所述转发设备确定所述第二公网数据报文的目的地址是否为所述第一IP地址;
所述转发设备在确定所述第二公网数据报文的目的地址为所述第一IP地址后,根据接收到的第四流表,将所述第二公网数据报文封装为第二PPPoE数据报文;
所述转发设备根据所述第四流表将所述第二PPPoE数据报文发送至所述PPPoE客户端。

7.
  根据权利要求5所述的方法,其特征在于,所述第一公网数据报文包括:
网际协议IP报文、基于以太网的网际协议IPoE报文或基于异步传输模式的网际协议IPoA报文。

8.
  一种基于以太网的点到点协议PPPoE的处理方法,其特征在于,包括:
控制设备接收转发设备发送的PPPoE控制报文;
所述控制设备根据所述PPPoE控制报文为PPPoE客户端分配第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息;
所述控制设备将所述第一信息发送给所述转发设备。

9.
  根据权利要求8所述的方法,其特征在于,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述第一信息包括第一会话标识ID;
或,
所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述第一信息包括第一IP地址;
或,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。

10.
  根据权利要求8或9所述的方法,其特征在于,所述接收转发设备发送的PPPoE控制报文,包括:
接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPoE控制报文进行封装后得到的。

11.
  一种转发设备,其特征在于,包括:
接收器,用于接收PPPoE客户端发送的PPPoE控制报文;
发送器,用于将所述接收器接收的所述PPPoE控制报文发送给控制设备;
所述接收器还用于:接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;
所述发送器还用于:将所述接收器接收的所述第一信息发送给所述PPPoE客户端。

12.
  根据权利要求11所述的设备,其特征在于,所述发送器具体用于:
根据接收到的第一流表将所述接收器接收的所述PPPoE控制报文发送给所述控制设备;
根据接收到的第二流表将所述第一信息发送给所述PPPoE客户端。

13.
  根据权利要求11或12所述的设备,其特征在于,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一IP地址;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID和第一IP地址。

14.
  根据权利要求11至13中任一项所述的设备,其特征在于,还包括:处理器。

15.
  根据权利要求14所述的设备,其特征在于,
所述处理器用于:在所述发送器发送所述PPPoE控制报文之前,将所述接收器接收的所述PPPoE控制报文封装为开放流OF报文;
所述发送器具体用于将所述OF报文发送给所述控制设备。

16.
  根据权利要求14或15所述的设备,其特征在于,
所述接收器还用于接收所述PPPoE客户端发送的所述第一PPPoE数据报文;
所述处理器用于:确定所述第一PPPoE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPoE数据报文中是否封装有IP报文;以及,在所述第一PPPoE数据报文的会话ID是所述第一会话ID,且所述第一PPPoE数据报文中封装有所述IP报文时,根据接收到的第三流表将所述第一PPPoE数据报文解封装为第一公网数据报文;
所述发送器还用于:根据所述第三流表向公网发送所述第一公网数据报文。

17.
  根据权利要求14至16中任一项所述的设备,其特征在于,
所述接收器还用于:从公网接收第二公网数据报文;
所述处理器用于:确定所述第二公网数据报文的目的地址是否为所述第一IP地址;以及,在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表将所述第二公网数据报文封装为第二PPPoE数据报文;
所述发送器还用于:根据所述第四流表将所述第二PPPoE数据报文发送至所述PPPoE客户端。

18.
  根据权利要求16所述的设备,其特征在于,所述处理器得到的所述第一公网数据报文包括:
网际协议IP报文、基于以太网的网际协议IPoE报文或基于异步传输模 式的网际协议IPoA报文。

19.
  一种控制设备,其特征在于,包括:
接收器,用于接收转发设备发送的PPPoE控制报文;
处理器,用于根据所述接收器接收的所述PPPoE控制报文为PPPoE客户端分配第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息;
发送器,用于将所述处理器得到的所述第一信息发送给所述转发设备。

20.
  根据权利要求19所述的设备,其特征在于,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一IP地址;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID和第一IP地址。

21.
  根据权利要求19或20所述的设备,其特征在于,所述接收器具体用于:
接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPoE控制报文进行封装后得到的。

22.
  一种基于以太网的点到点协议PPPoE的处理系统,其特征在于,包括:
如权利要求11至18任一项所述的转发设备;以及,
如权利要求19至21任一项所述的控制设备。

说明书

基于以太网的点对点协议的处理方法、设备和系统
技术领域
本发明涉及通信技术,尤其涉及一种基于以太网的点到点协议(Point to Point Protocol over Ethernet,PPPoE)的处理方法、设备和系统。
背景技术
软件定义的网络(Software Defined Network,SDN)可以提供开放的网络接口,为网络设备商、网络运营商或者第三方提供网络开发相关的应用。开放流协议(Openflow,OF)是SDN的关键技术,OF是基于控制和转发分离的架构,包括OF控制器和OF交换机,OF控制器可以负责各种协议的处理,运行应用程序,并可对外提供编程接口;OF控制器可以给OF交换机下发流表(flow table),OF交换机基于流表进行转发。
PPPoE是网络运营商广为使用的协议,目前的PPPoE是在单一设备内部实现。目前的OF尚未支持PPPoE的业务处理,使得PPPoE无法在基于SDN的网络设备中得到支持。
发明内容
有鉴于此,本发明实施例提供了一种PPPoE的处理方法、设备和系统,用以解决控制和转发分离的场景下不能支持PPPoE的问题。
第一方面,提供了一种PPPoE的处理方法,包括:
转发设备接收PPPoE客户端发送的PPPoE控制报文;
所述转发设备将所述PPPoE控制报文发送给控制设备;
所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;
所述转发设备将所述第一信息发送给所述PPPoE客户端。
结合第一方面,在第一方面的第一种可能的实现方式中,
所述转发设备根据接收到的第一流表,将所述PPPoE控制报文发送给控制设备;
所述转发设备根据接收到的第二流表,将所述第一信息发送给所述PPPoE客户端。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述第一信息包括第一会话标识ID;
或,
所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述第一信息包括第一IP地址;
或,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将所述PPPoE控制报文发送给控制设备具体包括:
将所述PPPoE控制报文封装为开放流OF报文;
将所述OF报文发送给所述控制设备。
结合第一方面或第一方面的第一种至第二种任一种可能的实现方式,在第一方面的第四种可能的实现方式中,在将所述第一信息发送给所述PPPoE客户端之后,所述方法还包括:
所述转发设备接收所述PPPoE客户端发送的所述第一PPPoE数据报文;
所述转发设备确定所述第一PPPoE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPoE数据报文中是否封装有IP报文;
所述转发设备在所述第一PPPoE数据报文的会话ID是所述第一会话ID,且所述第一PPPoE数据报文中封装有IP报文时,根据接收到的第三流表,将所述第一PPPoE数据报文解封装为第一公网数据报文;
所述转发设备根据所述第三流表向公网发送所述第一公网数据报文。
结合第一方面或第一方面的第一种至第四种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,
在将所述第一信息发送给所述PPPoE客户端之后,所述方法还包括:
所述转发设备从公网接收第二公网数据报文;
所述转发设备确定所述第二公网数据报文的目的地址是否为所述第一IP地址;
所述转发设备在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表,将所述第二公网数据报文封装为第二PPPoE数据报文;
所述转发设备根据接收到的第四流表,将所述第二PPPoE数据报文发送至所述PPPoE客户端。
结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一公网数据报文包括:
网际协议IP报文、基于以太网的网际协议IPoE报文或基于异步传输模式的网际协议IPoA报文。
第二方面,提供了一种PPPoE的处理方法,包括:
控制设备接收转发设备发送的PPPoE控制报文;
所述控制设备根据所述PPPoE控制报文为PPPoE客户端分配第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息;
所述控制设备将所述第一信息发送给所述转发设备。
结合第二方面,在第二方面的第一种可能的实现方式中,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述第一信息包括第一会话标识ID;
或,
所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述第一信息包括第一IP地址;
或,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述接收转发设备发送的PPPoE控制报文,包括:
接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPoE控制报文进行封装后得到的。
第三方面,提供了一种转发设备,包括:
接收器,用于接收PPPoE客户端发送的PPPoE控制报文;
发送器,用于将所述接收器接收的所述PPPoE控制报文发送给控制设备;
所述接收器还用于:接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;
所述发送器还用于:将所述接收器接收的所述第一信息发送给所述PPPoE客户端。
结合第三方面,在第三方面的第一种可能的实现方式中,所述发送器具体用于:
根据接收到的第一流表将所述接收器接收的所述PPPoE控制报文发送给所述控制设备;
根据接收到的第二流表将所述第一信息发送给所述PPPoE客户端。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一IP地址;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID和第一IP地址。
结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,还包括:处理器。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,
所收处理器用于在所述发送器发送所述PPPoE控制报文之前,将所述接收器接收的所述PPPoE控制报文封装为开放流OF报文;
所述发送器具体用于将所述OF报文发送给所述控制设备。
结合第三方面的第三种可能实现的方式或第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,
所述接收器还用于接收所述PPPoE客户端发送的所述第一PPPoE数据报文;
所述处理器用于:确定所述第一PPPoE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPoE数据报文中是否封装有IP报文;以及,在所述第一PPPoE数据报文的会话ID是所述第一会话ID,且所述第一PPPoE数据报文中封装有所示IP报文时,根据接收到的第三流表将所述第一PPPoE数据报文解封装为第一公网数据报文;
所述发送器还用于:根据所述第三流表向公网发送所述第一公网数据报文。
结合第三方面的第三种至第五种任一种可能的实现方式,在第三方面的第六种可能的实现方式中,
所述接收器还用于:从公网接收第二公网数据报文;
所述处理器用于:确定所述第二公网数据报文的目的地址是否为所述第一IP地址;以及,在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表将所述第二公网数据报文封装为第二PPPoE数据报文;
所述发送器还用于:根据所述第四流表将所述第二PPPoE数据报文发送至所述PPPoE客户端。
结合第三方面的第五种可能的实现方式,在第三方面的第七种可能的实现方式中,所述处理器得到的所述第一公网数据报文包括:
网际协议IP报文、基于以太网的网际协议IPoE报文或基于异步传输模式的网际协议IPoA报文。
第四方面,提供了一种控制设备,包括:
接收器,用于接收转发设备发送的PPPoE控制报文;
处理器,用于根据所述接收器接收的所述PPPoE控制报文为PPPoE客户端分配第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息;
发送器,用于将所述处理器得到的所述第一信息发送给所述转发设备。
结合第四方面,在第四方面的第一种可能的实现方式中,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一IP地址;
或,
所述接收器接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID和第一IP地址。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述接收器具体用于:
接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPoE控制报文进行封装后得到的。
第五方面,提供了一种PPPoE的处理系统,包括:
第三方面或第三方面中的任一可能的实现方式的转发设备,以及,第四方面或第四方面中的任一可能的实现方式的控制设备。
通过上述技术方案,通过转发设备将PPPoE客户端发送的PPPoE控制报文发送给控制设备,并将控制设备分配的、所述PPPoE客户端发送第一PPPoE数据报文所需第一信息分配给PPPoE客户端,使PPPoE客户端得到所述第一信息,以为PPPoE客户端实现PPPoE数据报文的传输提供帮助。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中PPPoE通信的示意图;
图2为本发明实施例中PPPoE报文的示意图;
图3为本发明实施例中OF的流表结构示意图;
图4为本发明实施例中流表的匹配域的结构示意图;
图5为本发明实施例中OF支持PPPoE实现的流程示意图;
图6为本发明PPPoE的处理方法一实施例的流程示意图;
图7为本发明PPPoE的处理方法另一实施例的流程示意图;
图8为本发明PPPoE的处理方法另一实施例的流程示意图;
图9为本发明实施例中处理数据报文的一实施例的流程示意图;
图10为本发明实施例中处理数据报文的另一实施例的流程示意图;
图11为本发明实施例中对数据报文进行解封装的流程示意图;
图12为本发明实施例中解封装前后的报文格式示意图;
图13为本发明实施例中对数据报文进行封装的流程示意图;
图14为本发明实施例中封装前后的报文格式示意图;
图15为本发明PPPoE的处理方法另一实施例的流程示意图;
图16为本发明转发设备一实施例的结构示意图;
图17为本发明转发设备另一实施例的结构示意图;
图18为本发明控制设备一实施例的结构示意图;
图19为本发明PPPoE的处理系统一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
PPPoE通信可以分为两个阶段:发现(discovery)阶段和会话(session)阶段。发现阶段用于PPPoE客户端和PPPoE服务器相互获取对端的媒体接入 控制(Media Access Control,MAC)地址,以及PPPoE服务器为PPPoE客户端分配会话标识(session ID);会话阶段包括后续的链路控制协议(Link Control Protocol,LCP)协商、网络控制协议(Network Control Protocol,NCP)协商、认证和授权以及用户数据报文收发等。
参见图1,发现阶段包括1~4所示的PPPoE协商过程中的PPPoE激活发现初始(PPPoE Active Discovery Initiation,PADI)报文、PPPoE激活发现提出(PPPoE Active Discovery Offer,PADO)报文、PPPoE激活发现请求(PPPoE Active Discovery Request,PADR)报文、PPPoE激活发现会话确认(PPPoE Active Discovery Session confirmation,PADS)报文的交互。
会话阶段包括PPP协商过程以及用户上线后的数据报文收发过程,其中,PPP协商过程包括5的LCP协商以及11的NCP协商,其中,LCP协商过程包括6~10的认证和授权。在用户上线后,用户可以向网络侧发送或从网络侧接收数据报文。在认证和授权时PPPoE服务器可以与认证授权计费(Authentication Authorization and Accounting,AAA)服务器交互。
如图2所示,PPPoE报文包括位于以太网头的目的地址(destination_address)、源地址(source_address)以及以太网类型(ether_type),作为净荷的PPPoE包(PPPoE packet),以及校验位(checksum)。PPPoE包包括版本(ver)、类型(type)、代码(code)、会话ID(session_ID)、长度(length)和PPP报文(PPP packet)。PPP报文包括协议(protocol)、IP报文(IP packet)和填充(padding)。图2中还示出了各字段的长度。
在发现阶段,以太网类型(Ether_type)字段数值为0x8863,在会话阶段,以太网类型(Ether_type)字段数值为0x8864。
PPPoE报文头里的代码(code)字段表明消息的类型,例如,PADI报文的code为0x09,PADO报文的code为0x07等;在会话阶段,code为0。
会话ID可以用于标识一个链接,可以认为会话ID与用户的IP地址是一一对应的。
PPP报文头里的协议(protocol)字段表明PPP报文的类型,例如,0xC021表明为LCP报文,0x8021为NCP报文,0x0021为IP报文。
以控制设备和转发设备分别为OF控制器和OF交换机为例,OF交换机可以根据OF控制器发送的流表进行报文的相应处理,如图3所示,为OF的 流表结构示意图,包括匹配域(match fields)、优先级(priority)、计数值(counters)、指令(instructions)、超时(timeouts)、缓存数据(cookie)。
流表的基本结构是匹配加操作,例如为了支持二层转发,流表可以要求如果一个报文的目的MAC地址匹配到指定MAC地址,则执行动作:从交换机的B口转发出去。此时,可以在流表的匹配域(match fields)中添加目的MAC地址为指定MAC地址,在指令(instructions)中添加第一指令,该第一指令用于指示“从交换机的B口转发出去”,当交换机接收都目的MAC地址为指定MAC地址的报文后就可以将该报文从交换机的B口转发出去。
如图4所示,match fields包括类型(type)、长度(length)和openflow扩展匹配字段(Openflow extension match,oxm_field),其中的oxm_field可以为多个,每个oxm_field可以标识一个报文里的指定字段,以便将匹配到的报文采用instructions指示的操作进行处理。
目前的OF可以匹配报文里的字段包括以太网头、IP头、多协议标签交换(Multi-Protocol Label Switching,MPLS)头,但是尚未包括PPPoE相关的字段。
为了能够支持PPPoE,openflow协议及相关的控制器和交换机需要支持如下功能:
(1)OF交换机需要能够识别PPPoE控制报文并转发给OF控制器,同时也要能将OF控制器返回的PPPoE控制报文转发给CPE。
(2)OF控制器需要能够处理PPPoE控制报文,包括Session ID分配,认证和授权(可以与其他服务器配合实现),用户IP地址的分配,链路的保活(keep-alive),并且能够下发流表给OF交换机进行用户数据报文的转发(包括PPPoE报文的封装和解封装等)。
(3)OF交换机需要能够根据流表进行PPPoE数据报文的转发,含PPPoE报文的封装和解封装。
(4)OF协议需要能够识别PPPoE协议相关字段,并定义相应的处理操作。
为了实现OF对PPPoE的支持,可以在现有的结构中增加新的oxm_field定义,例如,对oxm_field的定义如下:


其中,上述的OFPXMT_OFB_PPPOE_SESSION_ID=40,以及,OFPXMT_OFB_PPPOE_PPP_PROTO=41是新增加的定义,用于匹配报文的会话ID字段以及协议字段。
另外,为了支持PPPoE报文头的封装和解封装,还需要扩展OF流表的instructions部分,例如,对instructions的定义如下:

其中,上述的OFPAT_PUSH_PPPOE_HEADER=28,以及,OFPAT_POP_PPPOE_HEADER=29是新增的定义,分别用于指示封装和解封装操作。
通过上述扩展,参见图5,OF交换机可以将PPPoE客户端发送的PPPoE控制报文发送给OF控制器,并由OF控制器发送给PPPoE服务器,并且,OF控制器可以将PPPoE服务器分配的会话ID和IP地址通过OF交换机发送给PPPoE客户端。OF交换机可以将PPPoE客户端发送的PPPoE数据报文解封装为基于以太网的网际协议(Internet Protocol over Ethernet,IPoE)数据报 文后发送给网络侧,并将网络侧发送的IPoE数据报文封装为PPPoE数据报文后发送给PPPoE客户端。OF交换机可以根据OF控制器下发的流表完成上述的转发或者封装、解封装等操作。
图6为本发明PPPoE的处理方法一实施例的流程示意图,包括:
61:转发设备接收PPPoE客户端发送的PPPoE控制报文;
62:所述转发设备将所述PPPoE控制报文发送给控制设备;
63:所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;
64:所述转发设备将所述第一信息发送给所述PPPoE客户端。
可选地,
所述转发设备根据接收到的第一流表,将所述PPPoE控制报文发送给控制设备;
所述转发设备根据接收到的第二流表,将所述第一信息发送给所述PPPoE客户端。
所述第一流表和第二流表可以是所述控制设备发送的,也可以是由其他设备发送的。
可选的,所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述第一信息包括第一会话标识ID;
或,
所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述第一信息包括第一IP地址;
或,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。
可选的,所述将所述PPPoE控制报文发送给控制设备具体包括:将所述PPPoE控制报文封装为开放流(英文全称Open Flow,英文缩写OF)报文;将所述OF报文发送给所述控制设备。也就是说,控制设备接收到的PPPoE控制报文是封装在所述OF报文中的。
由于转发设备将所述第一信息发送给了PPPoE客户端,因此PPPoE客户端就可以基于所述第一信息发送所述第一PPPoE数据报文了。
可选的,在将所述第一信息发送给所述PPPoE客户端之后,所述方法还包括:
所述转发设备接收所述PPPoE客户端发送的所述第一PPPoE数据报文;
所述转发设备确定所述第一PPPoE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPoE数据报文中是否封装有IP报文;
所述转发设备在所述第一PPPoE数据报文的会话ID是所述第一会话ID,且所述第一PPPoE数据报文中封装有所述IP报文时,根据接收到的第三流表,根据所述第三流表将所述第一PPPoE数据报文解封装为第一公网数据报文;
所述转发设备向公网发送所述第一公网数据报文。
可选的,在将所述第一信息发送给所述PPPoE客户端之后,所述方法还包括:
所述转发设备从公网接收第二公网数据报文;
所述转发设备确定所述第二公网数据报文的目的地址是否为所述第一IP地址;
所述转发设备在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表,将所述第二公网数据报文封装为第二PPPoE数据报文;
所述转发设备根据所述第四流表,将所述第二PPPoE数据报文发送至所述PPPoE客户端。
可选的,该方法还包括:
所述转发设备接收所述控制设备发送的第三流表,所述第三流表包括第三匹配域和第三操作域,所述第三匹配域包括会话ID字段和协议字段,且所述会话ID字段的数值为所述第一会话ID的值,所述协议字段的数值为表明报文为IP报文的值,所述第三操作域的操作包括将与所述第三匹配域匹配的报文解封装为公网数据报文并发送给网络侧。以便实现上述的将第一PPPoE数据报文解封装为第一公网数据报文。
需要说明的是,本实施例中的第三流表可以有多种实现方式,本实施例中的第三流表仅是多种实现方式中的一种。此外,第三流表可以从所述控制 设备接收,可以从其他设备接收。
可选的,该方法还包括:
所述转发设备接收所述控制设备发送的第四流表,所述第四流表包括第四匹配域和第四操作域,所述第四匹配域包括目的IP地址字段,且所述目的IP地址字段的数值为所述第一IP地址的值,所述第四操作域的操作包括将与所述第四匹配域匹配的报文封装为PPPoE数据报文并发送给所述PPPoE客户端。以便实现上述的将所述第二公网数据报文封装为第二PPPoE数据报文。
需要说明的是,本实施例中的第四流表可以有多种实现方式,本实施例中的第四流表仅是多种实现方式中的一种。此外,第四流表可以从所述控制设备接收,可以从其他设备接收。
可选的,所述第一公网数据报文包括:
网际协议(Internet Protocol,IP)报文、基于以太网的网际协议(IP over Ethernet,IPoE)报文或基于异步传输模式(Asynchronous Transfer Mode,ATM)的网际协议(IP over ATM,IPoA)报文。
可选的,第二公网数据报文包括:IP报文、IPoE报文或者IPoA报文。
可选的,所述转发设备在完成PPPoE协商和PPP协商后,接收控制设备发送的所述第三流表;或者,
所述转发设备在接收到所述PPPoE客户端发送的第一个数据报文并转发给控制设备后,接收控制设备发送的所述第三流表,其中,所述第一个数据报文是所述转发设备根据第一原则转发给控制设备的,所述第一原则包括:所述第一个数据报文不能匹配到所述转发设备上的已经存在的流表的匹配域,或者,所述第一个数据报文能够匹配到所述转发设备上已经存在的流表的匹配域,且对应的操作域表明将匹配的报文发送到控制设备。
可选的,所述转发设备接收所述控制设备发送的第四流表,包括:
所述转发设备在完成PPPoE协商和PPP协商后,接收控制设备发送的所述第四流表;或者,
所述转发设备接收控制设备发送的所述第四流表,所述第四流表是所述控制设备在接收到网络侧发送的第一个要发送给PPPoE客户端的数据报文后发送的;或者,
所述转发设备在接收到PPPoE客户端发送的第一个数据报文并转发给控 制设备后,接收控制设备发送的所述第四流表,其中,所述第一个数据报文是所述转发设备根据第一原则转发给控制设备的,所述第一原则包括:所述第一个数据报文不能匹配到所述转发设备上的已经存在的流表的匹配域,或者,所述第一个数据报文能够匹配到所述转发设备上已经存在的流表的匹配域,且对应的操作域表明将匹配的报文发送到控制设备。
可选的,该方法还包括:
所述转发设备接收所述控制设备发送的删除指令,并删除已存的流表,所述删除指令是所述控制设备在检测到PPPoE服务器和PPPoE客户端之间的链路故障后发送的。
相应的,参见图7,为另一实施例的流程示意图,包括:
71:控制设备接收转发设备发送的PPPoE控制报文;
72:所述控制设备根据所述PPPoE控制报文为PPPoE客户端分配第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息;
73:所述控制设备将所述第一信息发送给所述转发设备。
可选的,所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述第一信息包括第一会话标识ID;
或,
所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述第一信息包括第一IP地址;
或,
所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。
可选的,所述接收转发设备发送的PPPoE控制报文,包括:
接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPoE控制报文进行封装后得到的。
可选的,所述控制设备接收的所述PPPoE控制报文是所述转发设备根据从所述控制设备接收的第一流表发送的。
可选的,该方法还包括:
所述控制设备向所述转发设备发送第三流表,所述第三流表包括第三匹 配域和第三操作域,所述第三匹配域包括会话ID字段和协议字段,且所述会话ID字段的数值为所述第一会话ID的值,所述协议字段的数值为表明报文为IP报文的值,所述第三操作域的操作包括将与所述第三匹配域匹配的报文解封装为公网数据报文并发送给网络侧。
可选的,该方法还包括:
所述控制设备向所述转发设备发送第四流表,所述第四流表包括第四匹配域和第四操作域,所述第四匹配域包括目的IP地址字段,且所述目的IP地址字段的数值为所述第一IP地址的值,所述第四操作域的操作包括将与所述第四匹配域匹配的报文封装为PPPoE数据报文并发送给所述PPPoE客户端。
可选的,本发明实施例中,转发设备可以具体为OF交换机,控制设备可以具体为OF控制器。
本实施例通过转发设备将PPPoE客户端发送的PPPoE控制报文转发给控制设备,并将控制设备分配的第一信息发送给PPPoE客户端,实现转发设备对PPPoE的相关报文进行处理,实现在控制和转发分离的场景下支持PPPoE,进而可以在SDN设备上实现PPPoE。
图8为本发明PPPoE的处理方法另一实施例的流程示意图,本实施例的PPPoE客户端为用户家庭设备(Customer Premise Equipment,CPE)。本实施例包括:
81:OF控制器向OF交换机发送第一流表。
第一流表的匹配域包括以太网类型字段,或者以太网类型字段和协议字段,用于指示要匹配的报文为PPPoE协商时的控制报文,或者PPP协议时的控制报文。
具体的,match field中添加的内容用于表明:
OFPXMT_OFB_ETH_TYPE为0x8863;或者,
OFPXMT_OFB_ETH_TYPE为0x8864并且
OFPXMT_OFB_PPPOE_PPP_PROTO为0xC021或者0x8021。
其中,match field中的内容可以采用类型长度值(Type Length Value,TLV)的方式,以OFPXMT_OFB_PPPOE_PPP_PROTO为0xC021为例,可以具体表示为:在T字段中添加OFPXMT_OFB_PPPOE_PPP_PROTO对应的 数值(也就是41,当然可以理解的是,也可以定义其它数值),在V字段中添加0xC021。
另外,在指令域instructions可以添加动作:将报文从X接口转发,其中X接口是与OF控制器连接的接口。
通过该第一流表,OF交换机可以将PPPoE协商时的控制报文以及PPP协商时的控制报文转发给OF控制器。
82:OF交换机接收到CPE发送的PPPoE协商时的控制报文后,将控制报文封装为第一输入报文(packet_in)并发送给OF控制器。
83:OF控制器为用户分配会话ID,例如1234,并发送给CPE。
OF控制器可以将会话ID封装在第一输出报文(packet_out)中,OF交换机根据第一输入报文来自的接口将第一输出报文从相应的接口输出给CPE。
84:OF交换机接收CPE发送的LCP报文或NCP报文,将LCP报文或NCP报文封装为第二输入报文(packet_in)并发送给控制器。
85:OF控制器为用户分配IP地址,如100.1.1.2并发送给CPE。
OF控制器可以将IP地址封装在第二输出报文(packet_out)中,OF交换机根据第二输入报文来自的接口将第二输出报文从相应的接口输出给CPE。
由于第一流表指示将PPPoE控制报文,包括PPPoE协商时的控制报文以及PPP协商时的控制报文发送给OF交换机,因此,OF交换机可以完成上述的PPPoE控制报文的转发。
另外,上述流程中,OF控制器可以与PPPoE服务器位于同一个物理设备中,或者OF控制器通过应用程序编程接口(Application Programming Interface,API)支持外部的PPPoE服务器,此时的OF控制器可以充当PPPoE服务器,PPPoE服务器发给PPPoE客户端的报文可以通过openflow的packet_out报文由OF控制器发送给OF交换机,再由OF交换机发给PPPoE客户端。
在PPPoE协商过程中,服务器和客户端可以相互获知对方的MAC地址;并且PPPoE服务器会为客户端分配一个会话ID,后续双方的通信报文中都需要在PPPoE报文头中携带该会话ID。
在PPPoE的LCP阶段,PPPoE服务器需要完成用户的认证等操作,在NCP阶段,PPPoE需要给服务器分配IP地址。
在完成上述操作之后,PPPoE服务器可以获得如下信息的关联关系:
用户的MAC地址、用户的IP地址、用户的会话ID等。
经过上述内容可以完成PPPoE协商和PPP协商,之后用户可以上线。
用户上线后,OF交换机需要完成数据报文的封装或解封装。此时,OF控制器还需要为OF交换机下发流表,用于指示OF交换机对数据报文的处理方式。其中,指示对数据报文进行处理的流表可以是在完成PPPoE协商和PPP协商后下发,也可以是在收到第一个数据报文后下发。
参见图9,为OF控制器在完成PPPoE协商和PPP协商之后下发用于指示对数据报文进行处理的流表,包括:
91:CPE与PPPoE服务器完成用户上线认证。
其中,具体内容可以参见81~85。
92:OF控制器向OF交换机发送第三流表;
第三流表的匹配域包括会话ID字段和协议字段,会话ID字段的数值为指定值,协议字段表明报文为IP报文,指令域表明对报文进行解封装操作。
例如,match field为:
OFPXMT_OFB_PPPOE_SESSION_ID为1234,并且
OFPXMT_OFB_PPPOE_PPP_PROTO为0x0021
具体TLV表示时,可以包括两个TLV项,一项的T字段中的值为40,V字段中的值为1234,另一项的T字段中的值为41,V字段中的值为0x0021。
Instructions为:
OFPAT_POP_PPPOE_HEADER,即表明动作为解封装。
93:OF控制器向OF交换机发送第四流表;
第四流表的匹配域包括目的IP地址,且目的IP地址为指定值,所述指定值为PPPoE客户端的IP地址,指令域表明对报文进行封装操作。
例如,match field为:
OFPXMT_OFB_IPV4_DST为100.1.1.2
Instructions为:
OFPAT_PUSH_PPPOE_HEADER,即表明动作为封装。
之后,
94:CPE向OF交换机发送第一个数据报文。
或者,参见图10,为OF控制器在接收到第一个数据报文后下发用于指示对数据报文进行处理的流表,包括:
101:CPE与PPPoE服务器完成用户上线认证。
其中,具体内容可以参见81~85。
102:CPE向OF交换机发送第一个数据报文。
103:OF交换机将该数据报文发送给OF控制器。
104:OF控制器向OF交换机发送第三流表。
第三流表的具体内容可以参见92。
105:OF控制器向OF交换机发送第四流表。
第四流表的具体内容可以参见93。
第四流表可以是OF交换机接收到网络侧发送的第一个数据报文之前发送的,或者,也可以是接收到网络侧发送的第一个数据报文之后发送的。
OF交换机在获取第三流表和第四流表之后,可以对数据报文进行相应处理。
另外,上述的第一个数据报文可以是所述转发设备根据如下原则转发给控制设备的:所述转发设备将不能处理的报文或根据流表将设定类别的报文转发给控制设备,所述不能处理的报文或设定类型的报文包括所述第一个数据报文。
参见图11,为OF交换机对数据报文进行解封装时的处理流程,包括:
111:OF交换机接收CPE发送的PPPoE报文。
112:OF交换机判断该报文的以太网类型字段是否为0x8864,若是,执行113,否则,执行116。
113:OF交换机判断该报文的会话ID是否为指定值,若是,执行114,否则,执行116。
其中,指定值是OF控制器在PPPoE协商时分配给CPE的,例如为1234。
114:OF交换机判断该报文的协议字段是否为0x0021,若是,执行115,否则执行116。
115:OF交换机将PPPoE报文解封装为IPoE报文。
参见图12,由PPPoE报文解封装为IPoE报文,之后可以将该IPoE报文发送给网络侧。
116:OF交换机丢弃该报文或者按协议处理。其中,按协议处理可以是指将该报文转发给OF控制器。
本实施例的解封装操作,可以根据多个流表完成,也可以根据一个流表完成。例如,一个流表时,该流表的match field表明需要匹配的项包括:以太网类型字段(OFPXMT_OFB_ETH_TYPE)为0x8864、会话ID(Session_ID)为指定值以及协议字段(OFPXMT_OFB_PPPOE_PPP_PROTO)为0x0021,在上述三项都匹配时,执行解封装操作。再例如,当存在多个流表时,可以是:第一个流表表明匹配到太网类型字段(OFPXMT_OFB_ETH_TYPE)为0x8864时,执行的操作为处理第二个流表,第二个流表表明匹配到会话ID(Session_ID)为指定值时,执行的操作为处理第三个流表,第三个流表表明匹配到协议字段(OFPXMT_OFB_PPPOE_PPP_PROTO)为0x0021,执行的操作为解封装。
参见图13,为OF交换机对数据报文进行封装时的处理流程,包括:
131:OF交换机接收网络侧发送的IPoE报文。
132:OF交换机判断该报文的目的IP地址是否为指定值,若是,执行133,否则,执行134。
该指定值为OF控制器在完成PPP协议后分配给CPE的IP地址,例如100.1.1.2。
133:OF交换机将IPoE报文封装为PPPoE报文。
参见图14,由IPoE报文封装为PPPoE报文,之后可以将该PPPoE报文发送给CPE。其中封装的会话ID为可以在用户上线认证完成后获取的IP地址与会话ID的对应关系确定。
134:OF交换机丢弃该报文或者按协议处理。其中,按协议处理可以是指将该报文转发给OF控制器。
本实施例通过扩展现有的流表,可以实现OF交换机对PPPoE控制报文的转发,以及对PPPoE数据报文的解封装,以及对IPoE数据报文的封装。
图15为本发明PPPoE的处理方法另一实施例的流程示意图,本实施例针对的是保活机制。PPP协议定义了保活(keep alive)机制,PPPoE服务器 为了支持这一功能,周期性在服务器和客户端之间发送保活报文。而当链路故障后需要及时终止保活。参见图15,包括:
151:CPE与PPPoE完成用户上线认证。
其中,具体内容可以参见81~85。
152:CPE与OF交换机正常通信数据报文。
具体内容可以参见图9或图10,以及图11和图13所示的流程。
153:PPPoE服务器与CPE之间交互保活报文。
154:当CPE与PPPoE服务器之间的链路故障时,OF控制器向OF交换机发送删除指令,以删除该CPE对应的流表,并停止保活报文的发送。
其中,PPPoE服务器可以根据保活报文的接收情况确定链路是否故障,例如,检测到指示用户下线的PPPoE报文,或者,超过设定时间没有接收到PPPoE报文,或者,没有收到设定个数的PPPoE报文等。另外,在交互的保活报文中会包含会话ID,如果PPPoE服务器发现包含某一会话ID的报文没有收到响应,则PPPoE服务器可以向OF控制器发送该会话ID对应的链路故障的通知消息,OF控制器根据该通知消息可以在删除指令中包含该会话ID,以指示OF交换机删除与该会话ID关联的流表。OF交换机可以预先配置会话ID与用户信息的关联关系,当收到一个包含会话ID的删除指令时,可以删除与该会话ID关联的用户的所有流表。
本实施例通过在链路故障后删除相应的流表,可以避免存储无效流表,提高存储效率。
图16为本发明转发设备一实施例的结构示意图,可以具体位于OF交换机中或者就是OF交换机,该设备160包括接收器161和发送器162;接收器161用于接收PPPoE客户端发送的PPPoE控制报文;发送器162用于将所述接收器接收的所述PPPoE控制报文发送给控制设备;所述接收器161还用于接收所述控制设备发送的第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息,由所述控制设备根据所述PPPoE控制报文分配;所述发送器还用于162将所述接收器接收的所述第一信息发送给所述PPPoE客户端
可选地,所述发送器具体用于:
根据接收到的第一流表将所述接收器接收的所述PPPoE控制报文发送给 所述控制设备;
根据接收到的第二流表将所述第一信息发送给所述PPPoE客户端。
所述第一流表和第二流表可以是由所述控制设备发送的,也可以是由其他设备发送的。
可选的,所述接收器161接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述接收器161接收的所述第一信息包括第一会话ID;
或,
所述接收器161接收的所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述接收器161接收的所述第一信息包括第一IP地址;
或,
所述接收器161接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述接收器161接收的所述第一信息包括第一会话标识ID和第一IP地址。
可选的,参见图17,该设备还包括:处理器163。
可选的,处理器163用于在所述发送器发送所述PPPoE控制报文之前,将所述接收器161接收的所述PPPoE控制报文封装为开放流OF报文;所述发送器162具体用于将所述OF报文发送给所述控制设备。也就是说,发送器162将所述接收器接收的所述PPPoE控制报文发送给控制设备的具体操作可以通过将所述OF报文发送给所述控制设备来实现。
可选的,所述接收器161还用于接收所述PPPoE客户端发送的第一PPPoE数据报文;所述处理器163用于:确定所述第一PPPoE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPoE数据报文中是否封装有IP报文;以及,在所述第一PPPoE数据报文的会话ID是所述第一会话ID,且所述第一PPPoE数据报文中封装有所述IP报文时,根据接收到的第三流表,将所述第一PPPoE数据报文解封装为第一公网数据报文;所述发送器162还用于:根据所述第三流表向公网发送所述第一公网数据报文。
可选的,所述接收器161还用于:从公网接收第二公网数据报文;所述处理器163用于:确定所述第二公网数据报文的目的地址是否为所述第一IP地址;以及,在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表将所述第二公网数据报文封装为第二PPPoE数据 报文;所述发送器162还用于:根据所述第四流表将所述第二PPPoE数据报文发送至所述PPPoE客户端。
可选的,所述接收器161还用于:接收所述控制设备发送的第三流表,所述第三流表包括第三匹配域和第三操作域,所述第三匹配域包括会话ID字段和协议字段,且所述会话ID字段的数值为所述第一会话ID的值,所述协议字段的数值为表明报文为IP报文的值,所述第三操作域的操作包括将与所述第三匹配域匹配的报文解封装为公网数据报文并发送给网络侧。以便将上述的第一PPPoE数据报文解封装为第一公网数据报文。
需要说明的是,本实施例中的第三流表可以有多种实现方式,本实施例中的第三流表仅是多种实现方式中的一种。此外,第三流表可以从所述控制设备接收,可以从其他设备接收。
可选的,所述接收器161还用于:接收所述控制设备发送的第四流表,所述第四流表包括第四匹配域和第四操作域,所述第四匹配域包括目的IP地址字段,且所述目的IP地址字段的数值为所述第一IP地址的值,所述第四操作域的操作包括将与所述第四匹配域匹配的报文封装为PPPoE数据报文并发送给所述PPPoE客户端。以便将上述的第二公网数据报文封装为第二PPPoE数据报文。
需要说明的是,本实施例中的第四流表可以有多种实现方式,本实施例中的第四流表仅是多种实现方式中的一种。此外,第四流表可以从所述控制设备接收,可以从其他设备接收。
可选的,所述处理器163得到的所述第一公网数据报文包括:
IP报文、IPoE报文或IPoA报文。
可选的,第二公网数据报文包括:IP报文、IPoE报文或IPoA报文。
可选地,在硬件实现上,以上的接收器和发送器可以统称为收发器,上述的处理器可以为中央处理单元(CPU)、微处理器、单片机等。
可选地,本实施例中的所述转发设备为与图1至15中任一个对应的实施例中描述的转发设备
本实施例通过转发设备将PPPoE客户端发送的PPPoE控制报文发送给控制设备,并将控制设备分配的第一信息分配给PPPoE客户端,可以实现转发设备对PPPoE的相关报文进行处理,实现在控制和转发分离的场景下支持 PPPoE,进而可以在SDN设备上实现PPPoE。
图18为本发明控制设备另一实施例的结构示意图,该控制设备可以具体位于OF控制器中或者就是OF控制器,该设备180包括接收器181、处理器182和发送器183;接收器181用于接收转发设备发送的PPPoE控制报文;处理器182用于根据所述接收器181接收的所述PPPoE控制报文为PPPoE客户端分配第一信息,所述第一信息为所述PPPoE客户端发送第一PPPoE数据报文所需的信息;发送器183用于将所述处理器182得到的所述第一信息发送给所述转发设备。
可选的,所述接收器181接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文,所述处理器182得到的所述第一信息包括第一会话ID;
或,
所述接收器181接收的所述PPPoE控制报文包括应用于PPPoE会话阶段的控制报文,所述处理器182得到的所述第一信息包括第一IP地址;
或,
所述接收器181接收的所述PPPoE控制报文包括应用于PPPoE发现阶段的控制报文和应用于PPPoE会话阶段的控制报文,所述处理器182得到的所述第一信息包括第一会话标识ID和第一IP地址。
可选的,所述接收器181具体用于:
接收转发设备发送的OF报文,所述OF报文为所述转发设备对所述PPPoE控制报文进行封装后得到的。也就是说,所述控制设备接收到的PPPoE控制报文是封装在所述OF报文中的。
可选的,所述接收器181接收的所述PPPoE控制报文是所述转发设备根据从所述控制设备接收的第一流表发送的。所述第一流表可以从其他设备接收。
可选的,所述发送器183还用于:
向所述转发设备发送第三流表,所述第三流表包括第三匹配域和第三操作域,所述第三匹配域包括会话ID字段和协议字段,且所述会话ID字段的数值为所述第一会话ID的值,所述协议字段的数值为表明报文为IP报文的值,所述第三操作域的操作包括将与所述第三匹配域匹配的报文解封装为公网数据报文并发送给网络侧。以便将上述的第一PPPoE数据报文解封装为第 一公网数据报文。
需要说明的是,本实施例中的第三流表可以有多种实现方式,本实施例中的第三流表仅是多种实现方式中的一种。此外,第三流表可以从所述控制设备接收,可以从其他设备接收。
可选的,所述发送器183还用于:
向所述转发设备发送第四流表,所述第四流表包括第四匹配域和第四操作域,所述第四匹配域包括目的IP地址字段,且所述目的IP地址字段的数值为所述第一IP地址的值,所述第四操作域的操作包括将与所述第四匹配域匹配的报文封装为PPPoE数据报文并发送给所述PPPoE客户端。以便将上述的第二公网数据报文封装为第二PPPoE数据报文。
需要说明的是,本实施例中的第四流表可以有多种实现方式,本实施例中的第四流表仅是多种实现方式中的一种。此外,第四流表可以从所述控制设备接收,可以从其他设备接收。
可选地,在硬件实现上,接收器和发送器可以统称为收发器,处理器可以为中央处理单元(CPU)、微处理器、单片机等。
可选地,本实施例中的控制设备可以为与图1至15中任一个对应的实施例中描述的控制设备。
本实施例通过转发设备将PPPoE客户端发送的PPPoE控制报文发送给控制设备,并将控制设备分配的第一信息分配给PPPoE客户端,可以实现转发设备对PPPoE的相关报文进行处理,实现在控制和转发分离的场景下支持PPPoE,进而可以在SDN设备上实现PPPoE。
图19为本发明PPPoE的处理系统一实施例的结构示意图,该系统190包括转发设备191和控制设备192;其中,转发设备可以如图16或图17所示或者可以为与图1至17中任一个对应的实施例中描述的转发设备,控制设备可以如图18所示或者可以为与图1至15中任一个对应的或与图18对应的实施例中描述的控制设备。
本实施例通过转发设备将PPPoE客户端发送的PPPoE控制报文发送给控制设备,并将控制设备分配的第一信息分配给PPPoE客户端,可以实现转发设备对PPPoE的相关报文进行处理,实现在控制和转发分离的场景下支持PPPoE,进而可以在SDN设备上实现PPPoE。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序 代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

基于以太网的点对点协议的处理方法、设备和系统.pdf_第1页
第1页 / 共30页
基于以太网的点对点协议的处理方法、设备和系统.pdf_第2页
第2页 / 共30页
基于以太网的点对点协议的处理方法、设备和系统.pdf_第3页
第3页 / 共30页
点击查看更多>>
资源描述

《基于以太网的点对点协议的处理方法、设备和系统.pdf》由会员分享,可在线阅读,更多相关《基于以太网的点对点协议的处理方法、设备和系统.pdf(30页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104125191A43申请公布日20141029CN104125191A21申请号201310141854722申请日20130423H04L29/0620060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为总部办公楼72发明人牛乐宏黄敬74专利代理机构北京同立钧成知识产权代理有限公司11205代理人刘芳54发明名称基于以太网的点对点协议的处理方法、设备和系统57摘要基于以太网的点对点协议的处理方法、设备和系统。本发明提供一种PPPOE的处理方法、设备和系统。该方法包括转发设备接收PPPOE客户端发送的PPPOE控制报文;所述转发设备将所述PPPOE。

2、控制报文发送给控制设备;所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息,由所述控制设备根据所述PPPOE控制报文分配;所述转发设备将所述第一信息发送给所述PPPOE客户端。本发明实施例可以实现在控制和转发分离的场景下支持PPPOE,进而可以在SDN设备上实现PPPOE。51INTCL权利要求书4页说明书18页附图7页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书18页附图7页10申请公布号CN104125191ACN104125191A1/4页21一种基于以太网的点到点协议PPPOE的处理方法,其特征在于。

3、,包括转发设备接收PPPOE客户端发送的PPPOE控制报文;所述转发设备将所述PPPOE控制报文发送给控制设备;所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息,由所述控制设备根据所述PPPOE控制报文分配;所述转发设备将所述第一信息发送给所述PPPOE客户端。2根据权利要求1所述的方法,其特征在于,所述转发设备根据接收到的第一流表,将所述PPPOE控制报文发送给控制设备;所述转发设备根据接收到的第二流表,将所述第一信息发送给所述PPPOE客户端。3根据权利要求1或2所述的方法,其特征在于,所述PPPOE控制报文包括应用于PPP。

4、OE发现阶段的控制报文,所述第一信息包括第一会话标识ID;或,所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述第一信息包括第一IP地址;或,所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用于PPPOE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。4根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述PPPOE控制报文发送给控制设备具体包括将所述PPPOE控制报文封装为开放流OF报文;将所述OF报文发送给所述控制设备。5根据权利要求1至4中任一项所述的方法,其特征在于,在将所述第一信息发送给所述PPPOE客户端之后,所述方法还包括。

5、所述转发设备接收所述PPPOE客户端发送的所述第一PPPOE数据报文;所述转发设备确定所述第一PPPOE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPOE数据报文中是否封装有IP报文;所述转发设备在所述第一PPPOE数据报文的会话ID是所述第一会话ID,且所述第一PPPOE数据报文中封装有所述IP报文时,根据接收到的第三流表,将所述第一PPPOE数据报文解封装为第一公网数据报文;所述转发设备根据所述第三流表向公网发送所述第一公网数据报文。6根据权利要求1至5中任一项所述的方法,其特征在于,在将所述第一信息发送给所述PPPOE客户端之后,所述方法还包括所述转发设备从公网接收第二。

6、公网数据报文;所述转发设备确定所述第二公网数据报文的目的地址是否为所述第一IP地址;所述转发设备在确定所述第二公网数据报文的目的地址为所述第一IP地址后,根据接收到的第四流表,将所述第二公网数据报文封装为第二PPPOE数据报文;所述转发设备根据所述第四流表将所述第二PPPOE数据报文发送至所述PPPOE客户端。权利要求书CN104125191A2/4页37根据权利要求5所述的方法,其特征在于,所述第一公网数据报文包括网际协议IP报文、基于以太网的网际协议IPOE报文或基于异步传输模式的网际协议IPOA报文。8一种基于以太网的点到点协议PPPOE的处理方法,其特征在于,包括控制设备接收转发设备发。

7、送的PPPOE控制报文;所述控制设备根据所述PPPOE控制报文为PPPOE客户端分配第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息;所述控制设备将所述第一信息发送给所述转发设备。9根据权利要求8所述的方法,其特征在于,所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述第一信息包括第一会话标识ID;或,所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述第一信息包括第一IP地址;或,所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用于PPPOE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。10根。

8、据权利要求8或9所述的方法,其特征在于,所述接收转发设备发送的PPPOE控制报文,包括接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPOE控制报文进行封装后得到的。11一种转发设备,其特征在于,包括接收器,用于接收PPPOE客户端发送的PPPOE控制报文;发送器,用于将所述接收器接收的所述PPPOE控制报文发送给控制设备;所述接收器还用于接收所述控制设备发送的第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息,由所述控制设备根据所述PPPOE控制报文分配;所述发送器还用于将所述接收器接收的所述第一信息发送给所述PPPOE客户端。12根据权利。

9、要求11所述的设备,其特征在于,所述发送器具体用于根据接收到的第一流表将所述接收器接收的所述PPPOE控制报文发送给所述控制设备;根据接收到的第二流表将所述第一信息发送给所述PPPOE客户端。13根据权利要求11或12所述的设备,其特征在于,所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID;或,所述接收器接收的所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一IP地址;或,权利要求书CN104125191A3/4页4所述接收器接收的所述PPPOE控制报文包括应用于PPP。

10、OE发现阶段的控制报文和应用于PPPOE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID和第一IP地址。14根据权利要求11至13中任一项所述的设备,其特征在于,还包括处理器。15根据权利要求14所述的设备,其特征在于,所述处理器用于在所述发送器发送所述PPPOE控制报文之前,将所述接收器接收的所述PPPOE控制报文封装为开放流OF报文;所述发送器具体用于将所述OF报文发送给所述控制设备。16根据权利要求14或15所述的设备,其特征在于,所述接收器还用于接收所述PPPOE客户端发送的所述第一PPPOE数据报文;所述处理器用于确定所述第一PPPOE数据报文的会话ID是否为所述。

11、第一会话ID,以及确定所述第一PPPOE数据报文中是否封装有IP报文;以及,在所述第一PPPOE数据报文的会话ID是所述第一会话ID,且所述第一PPPOE数据报文中封装有所述IP报文时,根据接收到的第三流表将所述第一PPPOE数据报文解封装为第一公网数据报文;所述发送器还用于根据所述第三流表向公网发送所述第一公网数据报文。17根据权利要求14至16中任一项所述的设备,其特征在于,所述接收器还用于从公网接收第二公网数据报文;所述处理器用于确定所述第二公网数据报文的目的地址是否为所述第一IP地址;以及,在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表将所述第二公网数。

12、据报文封装为第二PPPOE数据报文;所述发送器还用于根据所述第四流表将所述第二PPPOE数据报文发送至所述PPPOE客户端。18根据权利要求16所述的设备,其特征在于,所述处理器得到的所述第一公网数据报文包括网际协议IP报文、基于以太网的网际协议IPOE报文或基于异步传输模式的网际协议IPOA报文。19一种控制设备,其特征在于,包括接收器,用于接收转发设备发送的PPPOE控制报文;处理器,用于根据所述接收器接收的所述PPPOE控制报文为PPPOE客户端分配第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息;发送器,用于将所述处理器得到的所述第一信息发送给所述转发设。

13、备。20根据权利要求19所述的设备,其特征在于,所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID;或,所述接收器接收的所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一IP地址;或,所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用权利要求书CN104125191A4/4页5于PPPOE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID和第一IP地址。21根据权利要求19或20所述的设备,其特征在于,所述接收器具体用于接。

14、收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPOE控制报文进行封装后得到的。22一种基于以太网的点到点协议PPPOE的处理系统,其特征在于,包括如权利要求11至18任一项所述的转发设备;以及,如权利要求19至21任一项所述的控制设备。权利要求书CN104125191A1/18页6基于以太网的点对点协议的处理方法、设备和系统技术领域0001本发明涉及通信技术,尤其涉及一种基于以太网的点到点协议(POINTTOPOINTPROTOCOLOVERETHERNET,PPPOE)的处理方法、设备和系统。背景技术0002软件定义的网络(SOFTWAREDEFINEDNETWORK,。

15、SDN)可以提供开放的网络接口,为网络设备商、网络运营商或者第三方提供网络开发相关的应用。开放流协议(OPENFLOW,OF)是SDN的关键技术,OF是基于控制和转发分离的架构,包括OF控制器和OF交换机,OF控制器可以负责各种协议的处理,运行应用程序,并可对外提供编程接口;OF控制器可以给OF交换机下发流表(FLOWTABLE),OF交换机基于流表进行转发。0003PPPOE是网络运营商广为使用的协议,目前的PPPOE是在单一设备内部实现。目前的OF尚未支持PPPOE的业务处理,使得PPPOE无法在基于SDN的网络设备中得到支持。发明内容0004有鉴于此,本发明实施例提供了一种PPPOE的处。

16、理方法、设备和系统,用以解决控制和转发分离的场景下不能支持PPPOE的问题。0005第一方面,提供了一种PPPOE的处理方法,包括0006转发设备接收PPPOE客户端发送的PPPOE控制报文;0007所述转发设备将所述PPPOE控制报文发送给控制设备;0008所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息,由所述控制设备根据所述PPPOE控制报文分配;0009所述转发设备将所述第一信息发送给所述PPPOE客户端。0010结合第一方面,在第一方面的第一种可能的实现方式中,0011所述转发设备根据接收到的第一流表,将所述PPPOE。

17、控制报文发送给控制设备;0012所述转发设备根据接收到的第二流表,将所述第一信息发送给所述PPPOE客户端。0013结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,0014所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述第一信息包括第一会话标识ID;0015或,0016所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述第一信息包括第一IP地址;0017或,0018所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用于PPPOE会话说明书CN104125191A2/18页7阶段的控制报文,所述第一信息包括第一会话标。

18、识ID和第一IP地址。0019结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将所述PPPOE控制报文发送给控制设备具体包括0020将所述PPPOE控制报文封装为开放流OF报文;0021将所述OF报文发送给所述控制设备。0022结合第一方面或第一方面的第一种至第二种任一种可能的实现方式,在第一方面的第四种可能的实现方式中,在将所述第一信息发送给所述PPPOE客户端之后,所述方法还包括0023所述转发设备接收所述PPPOE客户端发送的所述第一PPPOE数据报文;0024所述转发设备确定所述第一PPPOE数据报文的会话ID是否为。

19、所述第一会话ID,以及确定所述第一PPPOE数据报文中是否封装有IP报文;0025所述转发设备在所述第一PPPOE数据报文的会话ID是所述第一会话ID,且所述第一PPPOE数据报文中封装有IP报文时,根据接收到的第三流表,将所述第一PPPOE数据报文解封装为第一公网数据报文;0026所述转发设备根据所述第三流表向公网发送所述第一公网数据报文。0027结合第一方面或第一方面的第一种至第四种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,0028在将所述第一信息发送给所述PPPOE客户端之后,所述方法还包括0029所述转发设备从公网接收第二公网数据报文;0030所述转发设备确定所述第二公。

20、网数据报文的目的地址是否为所述第一IP地址;0031所述转发设备在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表,将所述第二公网数据报文封装为第二PPPOE数据报文;0032所述转发设备根据接收到的第四流表,将所述第二PPPOE数据报文发送至所述PPPOE客户端。0033结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一公网数据报文包括0034网际协议IP报文、基于以太网的网际协议IPOE报文或基于异步传输模式的网际协议IPOA报文。0035第二方面,提供了一种PPPOE的处理方法,包括0036控制设备接收转发设备发送的PPPOE控。

21、制报文;0037所述控制设备根据所述PPPOE控制报文为PPPOE客户端分配第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息;0038所述控制设备将所述第一信息发送给所述转发设备。0039结合第二方面,在第二方面的第一种可能的实现方式中,0040所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述第一信息包括第一会话标识ID;0041或,0042所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述第一信息包括说明书CN104125191A3/18页8第一IP地址;0043或,0044所述PPPOE控制报文包括应用于PPPOE发现阶段的。

22、控制报文和应用于PPPOE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。0045结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述接收转发设备发送的PPPOE控制报文,包括0046接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPOE控制报文进行封装后得到的。0047第三方面,提供了一种转发设备,包括0048接收器,用于接收PPPOE客户端发送的PPPOE控制报文;0049发送器,用于将所述接收器接收的所述PPPOE控制报文发送给控制设备;0050所述接收器还用于接收所述控制设备发送的第一信息,所述第一信息为所述P。

23、PPOE客户端发送第一PPPOE数据报文所需的信息,由所述控制设备根据所述PPPOE控制报文分配;0051所述发送器还用于将所述接收器接收的所述第一信息发送给所述PPPOE客户端。0052结合第三方面,在第三方面的第一种可能的实现方式中,所述发送器具体用于0053根据接收到的第一流表将所述接收器接收的所述PPPOE控制报文发送给所述控制设备;0054根据接收到的第二流表将所述第一信息发送给所述PPPOE客户端。0055结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,0056所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述接收器。

24、接收的所述第一信息包括第一会话标识ID;0057或,0058所述接收器接收的所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一IP地址;0059或,0060所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用于PPPOE会话阶段的控制报文,所述接收器接收的所述第一信息包括第一会话标识ID和第一IP地址。0061结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,还包括处理器。0062结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,0。

25、063所收处理器用于在所述发送器发送所述PPPOE控制报文之前,将所述接收器接收的所述PPPOE控制报文封装为开放流OF报文;0064所述发送器具体用于将所述OF报文发送给所述控制设备。0065结合第三方面的第三种可能实现的方式或第三方面的第四种可能的实现方式,在说明书CN104125191A4/18页9第三方面的第五种可能的实现方式中,0066所述接收器还用于接收所述PPPOE客户端发送的所述第一PPPOE数据报文;0067所述处理器用于确定所述第一PPPOE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPOE数据报文中是否封装有IP报文;以及,在所述第一PPPOE数据报文的。

26、会话ID是所述第一会话ID,且所述第一PPPOE数据报文中封装有所示IP报文时,根据接收到的第三流表将所述第一PPPOE数据报文解封装为第一公网数据报文;0068所述发送器还用于根据所述第三流表向公网发送所述第一公网数据报文。0069结合第三方面的第三种至第五种任一种可能的实现方式,在第三方面的第六种可能的实现方式中,0070所述接收器还用于从公网接收第二公网数据报文;0071所述处理器用于确定所述第二公网数据报文的目的地址是否为所述第一IP地址;以及,在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表将所述第二公网数据报文封装为第二PPPOE数据报文;0072所。

27、述发送器还用于根据所述第四流表将所述第二PPPOE数据报文发送至所述PPPOE客户端。0073结合第三方面的第五种可能的实现方式,在第三方面的第七种可能的实现方式中,所述处理器得到的所述第一公网数据报文包括0074网际协议IP报文、基于以太网的网际协议IPOE报文或基于异步传输模式的网际协议IPOA报文。0075第四方面,提供了一种控制设备,包括0076接收器,用于接收转发设备发送的PPPOE控制报文;0077处理器,用于根据所述接收器接收的所述PPPOE控制报文为PPPOE客户端分配第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息;0078发送器,用于将所述处。

28、理器得到的所述第一信息发送给所述转发设备。0079结合第四方面,在第四方面的第一种可能的实现方式中,0080所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID;0081或,0082所述接收器接收的所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一IP地址;0083或,0084所述接收器接收的所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用于PPPOE会话阶段的控制报文,所述处理器得到的所述第一信息包括第一会话标识ID和第一IP地址。0085结合第四方面或。

29、第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述接收器具体用于0086接收转发设备发送的开放流OF报文,所述OF报文为所述转发设备对所述PPPOE控制报文进行封装后得到的。0087第五方面,提供了一种PPPOE的处理系统,包括说明书CN104125191A5/18页100088第三方面或第三方面中的任一可能的实现方式的转发设备,以及,第四方面或第四方面中的任一可能的实现方式的控制设备。0089通过上述技术方案,通过转发设备将PPPOE客户端发送的PPPOE控制报文发送给控制设备,并将控制设备分配的、所述PPPOE客户端发送第一PPPOE数据报文所需第一信息分配给PPPO。

30、E客户端,使PPPOE客户端得到所述第一信息,以为PPPOE客户端实现PPPOE数据报文的传输提供帮助。附图说明0090为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0091图1为本发明实施例中PPPOE通信的示意图;0092图2为本发明实施例中PPPOE报文的示意图;0093图3为本发明实施例中OF的流表结构示意图;0094图4为本发明实施例中流表的匹配域的结构示意图;0095图5为本发明实施例中OF支持。

31、PPPOE实现的流程示意图;0096图6为本发明PPPOE的处理方法一实施例的流程示意图;0097图7为本发明PPPOE的处理方法另一实施例的流程示意图;0098图8为本发明PPPOE的处理方法另一实施例的流程示意图;0099图9为本发明实施例中处理数据报文的一实施例的流程示意图;0100图10为本发明实施例中处理数据报文的另一实施例的流程示意图;0101图11为本发明实施例中对数据报文进行解封装的流程示意图;0102图12为本发明实施例中解封装前后的报文格式示意图;0103图13为本发明实施例中对数据报文进行封装的流程示意图;0104图14为本发明实施例中封装前后的报文格式示意图;0105图。

32、15为本发明PPPOE的处理方法另一实施例的流程示意图;0106图16为本发明转发设备一实施例的结构示意图;0107图17为本发明转发设备另一实施例的结构示意图;0108图18为本发明控制设备一实施例的结构示意图;0109图19为本发明PPPOE的处理系统一实施例的结构示意图。具体实施方式0110为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

33、。0111PPPOE通信可以分为两个阶段发现(DISCOVERY)阶段和会话(SESSION)阶段。发现阶段用于PPPOE客户端和PPPOE服务器相互获取对端的媒体接入控制(MEDIAACCESS说明书CN104125191A106/18页11CONTROL,MAC)地址,以及PPPOE服务器为PPPOE客户端分配会话标识(SESSIONID);会话阶段包括后续的链路控制协议(LINKCONTROLPROTOCOL,LCP)协商、网络控制协议(NETWORKCONTROLPROTOCOL,NCP)协商、认证和授权以及用户数据报文收发等。0112参见图1,发现阶段包括14所示的PPPOE协商过程。

34、中的PPPOE激活发现初始(PPPOEACTIVEDISCOVERYINITIATION,PADI)报文、PPPOE激活发现提出(PPPOEACTIVEDISCOVERYOFFER,PADO)报文、PPPOE激活发现请求(PPPOEACTIVEDISCOVERYREQUEST,PADR)报文、PPPOE激活发现会话确认(PPPOEACTIVEDISCOVERYSESSIONCONFIRMATION,PADS)报文的交互。0113会话阶段包括PPP协商过程以及用户上线后的数据报文收发过程,其中,PPP协商过程包括5的LCP协商以及11的NCP协商,其中,LCP协商过程包括610的认证和授权。在用。

35、户上线后,用户可以向网络侧发送或从网络侧接收数据报文。在认证和授权时PPPOE服务器可以与认证授权计费(AUTHENTICATIONAUTHORIZATIONANDACCOUNTING,AAA)服务器交互。0114如图2所示,PPPOE报文包括位于以太网头的目的地址(DESTINATION_ADDRESS)、源地址(SOURCE_ADDRESS)以及以太网类型(ETHER_TYPE),作为净荷的PPPOE包(PPPOEPACKET),以及校验位(CHECKSUM)。PPPOE包包括版本(VER)、类型(TYPE)、代码(CODE)、会话ID(SESSION_ID)、长度(LENGTH)和PPP。

36、报文(PPPPACKET)。PPP报文包括协议(PROTOCOL)、IP报文(IPPACKET)和填充(PADDING)。图2中还示出了各字段的长度。0115在发现阶段,以太网类型(ETHER_TYPE)字段数值为0X8863,在会话阶段,以太网类型(ETHER_TYPE)字段数值为0X8864。0116PPPOE报文头里的代码(CODE)字段表明消息的类型,例如,PADI报文的CODE为0X09,PADO报文的CODE为0X07等;在会话阶段,CODE为0。0117会话ID可以用于标识一个链接,可以认为会话ID与用户的IP地址是一一对应的。0118PPP报文头里的协议(PROTOCOL)字段。

37、表明PPP报文的类型,例如,0XC021表明为LCP报文,0X8021为NCP报文,0X0021为IP报文。0119以控制设备和转发设备分别为OF控制器和OF交换机为例,OF交换机可以根据OF控制器发送的流表进行报文的相应处理,如图3所示,为OF的流表结构示意图,包括匹配域(MATCHFIELDS)、优先级(PRIORITY)、计数值(COUNTERS)、指令(INSTRUCTIONS)、超时(TIMEOUTS)、缓存数据(COOKIE)。0120流表的基本结构是匹配加操作,例如为了支持二层转发,流表可以要求如果一个报文的目的MAC地址匹配到指定MAC地址,则执行动作从交换机的B口转发出去。此。

38、时,可以在流表的匹配域(MATCHFIELDS)中添加目的MAC地址为指定MAC地址,在指令(INSTRUCTIONS)中添加第一指令,该第一指令用于指示“从交换机的B口转发出去”,当交换机接收都目的MAC地址为指定MAC地址的报文后就可以将该报文从交换机的B口转发出去。0121如图4所示,MATCHFIELDS包括类型(TYPE)、长度(LENGTH)和OPENFLOW扩展匹配字段(OPENFLOWEXTENSIONMATCH,OXM_FIELD),其中的OXM_FIELD可以为多个,每个OXM_FIELD可以标识一个报文里的指定字段,以便将匹配到的报文采用INSTRUCTIONS指示的操说。

39、明书CN104125191A117/18页12作进行处理。0122目前的OF可以匹配报文里的字段包括以太网头、IP头、多协议标签交换(MULTIPROTOCOLLABELSWITCHING,MPLS)头,但是尚未包括PPPOE相关的字段。0123为了能够支持PPPOE,OPENFLOW协议及相关的控制器和交换机需要支持如下功能0124(1)OF交换机需要能够识别PPPOE控制报文并转发给OF控制器,同时也要能将OF控制器返回的PPPOE控制报文转发给CPE。0125(2)OF控制器需要能够处理PPPOE控制报文,包括SESSIONID分配,认证和授权可以与其他服务器配合实现,用户IP地址的分配。

40、,链路的保活KEEPALIVE,并且能够下发流表给OF交换机进行用户数据报文的转发(包括PPPOE报文的封装和解封装等)。0126(3)OF交换机需要能够根据流表进行PPPOE数据报文的转发,含PPPOE报文的封装和解封装。0127(4)OF协议需要能够识别PPPOE协议相关字段,并定义相应的处理操作。0128为了实现OF对PPPOE的支持,可以在现有的结构中增加新的OXM_FIELD定义,例如,对OXM_FIELD的定义如下012901300131其中,上述的OFPXMT_OFB_PPPOE_SESSION_ID40,以及,OFPXMT_OFB_PPPOE_PPP_PROTO41是新增加的定。

41、义,用于匹配报文的会话ID字段以及协议字段。0132另外,为了支持PPPOE报文头的封装和解封装,还需要扩展OF流表的INSTRUCTIONS部分,例如,对INSTRUCTIONS的定义如下0133说明书CN104125191A128/18页130134其中,上述的OFPAT_PUSH_PPPOE_HEADER28,以及,OFPAT_POP_PPPOE_HEADER29是新增的定义,分别用于指示封装和解封装操作。0135通过上述扩展,参见图5,OF交换机可以将PPPOE客户端发送的PPPOE控制报文发送给OF控制器,并由OF控制器发送给PPPOE服务器,并且,OF控制器可以将PPPOE服务器分。

42、配的会话ID和IP地址通过OF交换机发送给PPPOE客户端。OF交换机可以将PPPOE客户端发送的PPPOE数据报文解封装为基于以太网的网际协议(INTERNETPROTOCOLOVERETHERNET,IPOE)数据报文后发送给网络侧,并将网络侧发送的IPOE数据报文封装为PPPOE数据报文后发送给PPPOE客户端。OF交换机可以根据OF控制器下发的流表完成上述的转发或者封装、解封装等操作。0136图6为本发明PPPOE的处理方法一实施例的流程示意图,包括013761转发设备接收PPPOE客户端发送的PPPOE控制报文;013862所述转发设备将所述PPPOE控制报文发送给控制设备;0139。

43、63所述转发设备接收所述控制设备发送的第一信息,所述第一信息为所述PPPOE客户端发送第一PPPOE数据报文所需的信息,由所述控制设备根据所述PPPOE控制报文分配;014064所述转发设备将所述第一信息发送给所述PPPOE客户端。0141可选地,0142所述转发设备根据接收到的第一流表,将所述PPPOE控制报文发送给控制设备;0143所述转发设备根据接收到的第二流表,将所述第一信息发送给所述PPPOE客户端。0144所述第一流表和第二流表可以是所述控制设备发送的,也可以是由其他设备发送的。0145可选的,所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文,所述第一信息包括第一会话标。

44、识ID;0146或,0147所述PPPOE控制报文包括应用于PPPOE会话阶段的控制报文,所述第一信息包括第一IP地址;0148或,说明书CN104125191A139/18页140149所述PPPOE控制报文包括应用于PPPOE发现阶段的控制报文和应用于PPPOE会话阶段的控制报文,所述第一信息包括第一会话标识ID和第一IP地址。0150可选的,所述将所述PPPOE控制报文发送给控制设备具体包括将所述PPPOE控制报文封装为开放流(英文全称OPENFLOW,英文缩写OF)报文;将所述OF报文发送给所述控制设备。也就是说,控制设备接收到的PPPOE控制报文是封装在所述OF报文中的。0151由于。

45、转发设备将所述第一信息发送给了PPPOE客户端,因此PPPOE客户端就可以基于所述第一信息发送所述第一PPPOE数据报文了。0152可选的,在将所述第一信息发送给所述PPPOE客户端之后,所述方法还包括0153所述转发设备接收所述PPPOE客户端发送的所述第一PPPOE数据报文;0154所述转发设备确定所述第一PPPOE数据报文的会话ID是否为所述第一会话ID,以及确定所述第一PPPOE数据报文中是否封装有IP报文;0155所述转发设备在所述第一PPPOE数据报文的会话ID是所述第一会话ID,且所述第一PPPOE数据报文中封装有所述IP报文时,根据接收到的第三流表,根据所述第三流表将所述第一P。

46、PPOE数据报文解封装为第一公网数据报文;0156所述转发设备向公网发送所述第一公网数据报文。0157可选的,在将所述第一信息发送给所述PPPOE客户端之后,所述方法还包括0158所述转发设备从公网接收第二公网数据报文;0159所述转发设备确定所述第二公网数据报文的目的地址是否为所述第一IP地址;0160所述转发设备在确定所述第二公网数据报文的目的地址是为所述第一IP地址后,根据接收到的第四流表,将所述第二公网数据报文封装为第二PPPOE数据报文;0161所述转发设备根据所述第四流表,将所述第二PPPOE数据报文发送至所述PPPOE客户端。0162可选的,该方法还包括0163所述转发设备接收所。

47、述控制设备发送的第三流表,所述第三流表包括第三匹配域和第三操作域,所述第三匹配域包括会话ID字段和协议字段,且所述会话ID字段的数值为所述第一会话ID的值,所述协议字段的数值为表明报文为IP报文的值,所述第三操作域的操作包括将与所述第三匹配域匹配的报文解封装为公网数据报文并发送给网络侧。以便实现上述的将第一PPPOE数据报文解封装为第一公网数据报文。0164需要说明的是,本实施例中的第三流表可以有多种实现方式,本实施例中的第三流表仅是多种实现方式中的一种。此外,第三流表可以从所述控制设备接收,可以从其他设备接收。0165可选的,该方法还包括0166所述转发设备接收所述控制设备发送的第四流表,所。

48、述第四流表包括第四匹配域和第四操作域,所述第四匹配域包括目的IP地址字段,且所述目的IP地址字段的数值为所述第一IP地址的值,所述第四操作域的操作包括将与所述第四匹配域匹配的报文封装为PPPOE数据报文并发送给所述PPPOE客户端。以便实现上述的将所述第二公网数据报文封装为第二PPPOE数据报文。0167需要说明的是,本实施例中的第四流表可以有多种实现方式,本实施例中的第四流表仅是多种实现方式中的一种。此外,第四流表可以从所述控制设备接收,可以从其他设说明书CN104125191A1410/18页15备接收。0168可选的,所述第一公网数据报文包括0169网际协议(INTERNETPROTOC。

49、OL,IP)报文、基于以太网的网际协议(IPOVERETHERNET,IPOE)报文或基于异步传输模式(ASYNCHRONOUSTRANSFERMODE,ATM)的网际协议(IPOVERATM,IPOA)报文。0170可选的,第二公网数据报文包括IP报文、IPOE报文或者IPOA报文。0171可选的,所述转发设备在完成PPPOE协商和PPP协商后,接收控制设备发送的所述第三流表;或者,0172所述转发设备在接收到所述PPPOE客户端发送的第一个数据报文并转发给控制设备后,接收控制设备发送的所述第三流表,其中,所述第一个数据报文是所述转发设备根据第一原则转发给控制设备的,所述第一原则包括所述第一个数据报文不能匹配到所述转发设备上的已经存在的流表的匹配域,或者,所述第一个数据报文能够匹配到所述转发设备上已经存在的流表的匹配域,且对应的操作域表明将匹配的报文发送到控制设备。0173可选的,所述转发设备接收所述控制设备发送的第四流表,包括0174所述转发设备在完成PPPOE协商和PPP协商后,接收控制设备发送的所述第四流表;或者,0175所述转发设备接收控制设备发送的所述第四流表,所述第四流表是所述控制设备在接收到网络侧发送的第一个要发送给PPPOE客户端的数据报文后发送的;或者,0176所述转发设备在接收到PPPOE客户端发送的第一个数据报文并转发给控制设备后,接收控制设备发送的所述。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1