报文处理方法及装置与流程

文档序号:20039551发布日期:2020-02-28 11:44阅读:434来源:国知局
报文处理方法及装置与流程

本发明涉及通信技术,尤其涉及一种报文处理方法的方法、网络节点和控制器。



背景技术:

动态主机配置协议(英文全称为dynamichostconfigurationprotocol,英文缩写为dhcp)是基于传输控制协议/因特网协议(英文全称为transmissioncontrolprotocol/internetprotocol,英文缩写为tcp/ip)的一种动态地址分配协议。在实际应用中,dhcp服务器为作为dhcp客户端的用户终端分配互联网协议(英文全称为internetprotocol,英文缩写为ip)地址,以避免不同用户终端之间的ip地址冲突。

如果该用户终端与该dhcp服务器位于不同物理网段,则需要dhcp中继(英文名称为relay)设备在该用户终端和该dhcp服务器之间传递dhcp报文。例如:dhcp中继设备可在接收到用户终端发送动态主机配置协议发现(英文名称为dhcpdiscover)报文之后,生成第一dhcp报文并发送第一dhcp报文至dhcp服务器。该dhcpdiscover报文可用于寻找dhcp服务器。该第一dhcp报文包括网关接口ip地址和该用户终端的媒体接入控制(英文全称为mediaaccesscontrol,英文缩写为mac)地址。网关接口ip地址为dhcp中继设备与该用户终端通信的物理接口的ip地址。dhcp中继设备还可将来自dhcp服务器的动态主机配置协议提供(英文名称为dhcpoffer)报文发送至用户终端。该dhcpoffer报文包括dhcp服务器为用户终端提供的ip地址。dhcp中继设备可在接收到用户终端发送的动态主机配置协议请求(英文名称为dhcprequest)报文之后,生成第二dhcp报文并发送第二dhcp报文至dhcp服务器。dhcp中继设备还可将来自dhcp服务器的动态主机配置协议确认(英文名称为dhcpack)报文发送至用户终端。该dhcpack报文包括用户终端的配置信息。用户终端接收到dhcpack报文后,可获得dhcp服务器为其分配的ip地址。

用户终端与dhcp服务器间的网络节点需支持dhcp中继功能,且可生成dhcp报文,例如dhcp中继设备可在接收到的dhcpdiscover报文或dhcprequest报文的中继代理信息选项(英文名称为relayagentinformationoption)字段,例如option82字段中,插入网关接口ip地址等信息。用户终端与dhcp服务器间的网络节点还需支持不同运营商所定制的option字段的格式,用户终端与dhcp服务器间的网络节点的复杂度较高。



技术实现要素:

有鉴于此,本发明实施例提供了一种报文处理方法,有助于解决用户终端与dhcp服务器之间的网络节点复杂度较高的问题。

本发明实施例还提供了一种网络节点和控制器。

本发明实施例提供的技术方案如下。

一方面,提供了一种报文处理方法,包括:

接入网的网络节点接收用户终端发送的第一报文,所述第一报文用于向dhcp服务器请求ip地址;

所述网络节点获得第二报文,所述第二报文包括所述第一报文、端口的信息和所述用户终端的mac地址,所述端口为所述网络节点接收所述第一报文的端口,所述第二报文是除dhcp报文之外的报文;

所述网络节点向控制器发送所述第二报文。

在上述第一方面的第一种可能的实现方式中,还包括:

所述网络节点接收所述dhcp服务器发送的第三报文,所述第三报文包括所述用户终端的ip地址;

所述网络节点向所述控制器发送所述第三报文。

结合上述第一方面或第一方面的第一种可能的实现方式,还提供第一方面的第二种可能的实现方式,还包括:

所述网络节点接收所述控制器发送的第四报文,所述第四报文包括第三报文、所述端口的信息和所述用户终端的mac地址,所述第三报文包括所述用户终端的ip地址;

所述网络节点获得所述第三报文;

所述网络节点根据所述端口的信息和所述用户终端的mac地址,向所述用户终端发送所述第三报文。

结合上述第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,还提供第一方面的第三种可能的实现方式,所述网络节点向控制器发送所述第二报文之后,还包括:

所述网络节点接收到所述控制器发送的所述dhcp报文,所述dhcp报文包括所述端口的信息和所述用户终端的mac地址;

所述网络节点向所述dhcp服务器发送所述dhcp报文。

结合上述第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,还提供第一方面的第四种可能的实现方式,所述第一报文是dhcpdiscover报文,所述第三报文是dhcpoffer报文;或者

所述第一报文是dhcprequest报文,所述第三报文是dhcpack报文;或者

所述第一报文是路由请求(英文全称为routersolicitation,英文缩写为rs)消息,所述第三报文是中继应答消息,所述中继应答消息包括路由通告(英文全称为routeradvertisement,英文缩写为ra)消息。

结合上述第一方面或第一方面的任意一种可能的实现方式,还提供第一方面的第五种可能的实现方式,所述第二报文的净荷(英文名称为payload)包括开放流协议(英文全称为openflowprotocol,英文缩写为ofp)报文,所述ofp报文的净荷携带所述第一报文。

结合上述第一方面的第五种可能的实现方式,还提供第一方面的第六种可能的实现方式,所述第二报文为电气和电子工程师协会ieee1904.2协议报文,所述ieee1904.2协议报文的子类型subtype字段用以标识所述ieee1904.2协议报文包括所述ofp报文,所述ieee1904.2协议报文的净荷携带所述ofp报文、所述端口的信息和所述用户终端的mac地址。

结合上述第一方面的第五种可能的实现方式,还提供第一方面的第七种可能的实现方式,所述第二报文为以太网操作、管理、维护ethoam报文,所述ethoam报文的码code字段用以标识所述ethoam报文包括所述ofp报文,所述ethoam报文的数据data字段携带所述ofp报文、所述端口的信息和所述用户终端的mac地址。

结合上述第一方面的第五种可能的实现方式,还提供第一方面的第八种可能的实现方式,所述第二报文是光网络终端管理控制接口omci协议报文,所述omci协议报文包括的消息标识字段用以标识所述omci协议报文包括ofp报文,所述omci协议报文包括的消息内容字段携带所述ofp报文、所述端口的信息和所述用户终端的mac地址。

结合上述第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,所述第四报文包括的第三报文是dhcpack报文或ra消息,所述第三报文还包括配置参数,所述配置参数包括配置文件的标识和提供所述配置文件的服务器的标识;

还包括:

所述网络节点获得所述第三报文后,保存所述配置文件的标识和所述用户终端的mac地址的对应关系;

所述网络节点接收到所述用户终端发送的配置文件请求报文,所述配置文件请求报文包括所述配置参数;

所述网络节点在获得的所述用户终端的mac地址和所述配置参数与所述对应关系匹配,向所述提供所述配置文件的服务器发送所述配置文件请求报文。

第二方面,提供了一种报文处理方法,包括:

控制器接收到接入网的网络节点发送的第一报文,所述第一报文包括端口的信息、用户终端的mac地址和第二报文,所述端口为所述网络节点接收所述第二报文的端口,所述第二报文用于向dhcp服务器请求ip地址,所述第一报文是除dhcp报文之外的报文;

所述控制器根据所述第二报文,获得dhcp报文,所述dhcp报文包括所述端口的信息和所述用户终端的mac地址;

所述控制器向所述dhcp服务器发送所述dhcp报文。

在上述第二方面的第一种可能的实现方式中,还包括:

所述控制器接收到所述dhcp服务器发送的第三报文,所述第三报文包括所述用户终端的ip地址;

所述控制器获得第四报文,所述第四报文包括所述第三报文、所述端口的信息和所述用户终端的mac地址;

所述控制器向所述网络节点发送所述第四报文。

结合上述第二方面的第一种可能的实现方式,还提供第二方面的第二种可能的实现方式,所述第二报文是dhcpdiscover报文,所述第三报文是dhcpoffer报文;或者

所述第二报文是dhcprequest报文,所述第三报文是dhcpack报文;或者

所述第二报文是rs消息,所述第三报文是中继应答消息,所述中继应答消息包括ra消息。

结合上述第二方面的第一种可能的实现方式,还提供了第二方面的第三种可能的实现方式,还包括:

所述控制器将配置参数携带在所述第三报文中,所述配置参数包括配置文件的标识和提供所述配置文件的服务器的标识;

所述控制器通过所述第三报文,向所述网络节点发送所述配置参数。

第三方面,提供了网络节点,包括:

第一接收单元,用于接收用户终端发送的第一报文,所述第一报文用于向dhcp服务器请求ip地址;

第一报文获得单元,用于获得第二报文,所述第二报文包括所述第一报文、端口的信息和用户终端的mac地址,所述端口为所述网络节点接收所述第一报文的端口,所述第二报文是除dhcp报文之外的报文;

第一发送单元,用于向控制器发送所述第二报文。

在上述第三方面的第一种可能的实现方式中,还包括:

第二接收单元,用于接收所述dhcp服务器发送的第三报文,所述第三报文包括所述用户终端的ip地址;

第二发送单元,用于向所述控制器发送所述第三报文。

结合上述第三方面或第三方面的第一种可能的实现方式,还提供第三方面的第二种可能的实现方式,还包括:

第三接收单元,用于接收所述控制器发送的第四报文,所述第四报文包括第三报文、所述端口的信息和所述用户终端的mac地址,所述第三报文包括所述用户终端的ip地址;

第二报文获得单元,用于从所述第四报文中获得所述第三报文;

第三发送单元,用于根据所述端口的信息和所述用户终端的mac地址,向所述用户终端发送所述第四报文。

结合上述第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,还提供第三方面的第三种可能的实现方式,所述第一报文是dhcpdiscover报文,所述第三报文是dhcpoffer报文;或者

所述第一报文是dhcprequest报文,所述第三报文是dhcpack报文;或者

所述第一报文是rs消息,所述第三报文是中继应答消息,所述中继应答消息包括ra消息。

结合上述第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,还提供第三方面的第四种可能的实现方式,所述第四报文包括的第三报文是dhcpack报文或ra消息,所述第三报文还包括配置参数,所述配置参数包括配置文件的标识和提供所述配置文件的服务器的标识;

还包括:

存储单元,用于获得所述第三报文后,保存所述配置文件的标识和所述用户终端的mac地址的对应关系;

第四接收单元,用于接收到所述用户终端发送的配置文件请求报文,所述配置文件请求报文包括所述配置参数;

第四发送单元,用于在获得的所述用户终端的mac地址和所述配置参数与所述对应关系匹配,向所述提供所述配置文件的服务器发送所述配置文件请求报文。

第四方面,提供了一种控制器,包括:

第一接收单元,用于接收到接入网的网络节点发送的第一报文,所第一报文包括端口的信息、用户终端的mac地址和第二报文,所述端口为所述网络节点接收所述第二报文的端口,所述第二报文来自于所述用户终端,所述第二报文用于向dhcp服务器请求ip地址,所述第一报文是除dhcp报文之外的报文;

第一获得单元,用于根据所述第二报文,获得所述dhcp报文,所述dhcp报文包括所述端口的信息和所述用户终端的mac地址;

第一发送单元,用于向所述dhcp服务器发送所述dhcp报文。

在上述第四方面的第一种可能的实现方式中,还包括:

第二接收单元,用于接收到所述dhcp服务器发送的第三报文,所述第三报文包括所述用户终端的ip地址;

第二获得单元,用于获得第四报文,所述第四报文包括所述第三报文、所述端口的信息和所述用户终端的mac地址;

第二发送单元,用于向所述网络节点发送所述第三报文。

结合上述第四方面的第一种可能的实现方式,还提供第四方面的第二种可能的实现方式,所述第二报文是dhcpdiscover报文,所述第三报文是dhcpoffer报文;或者

所述第二报文是dhcprequest报文,所述第三报文是dhcpack报文;或者

所述第二报文是rs消息,所述第三报文是中继应答消息,所述中继应答消息包括ra消息。

结合上述第四方面的第一种可能的实现方式,还提供了第四方面的第三种可能的实现方式,

所述第二获得单元还具体用于将配置参数携带在所述第三报文中,所述配置参数包括配置文件的标识和提供所述配置文件的服务器的标识;

所述第二发送单元还具体用于通过所述第三报文,向所述网络节点发送所述配置参数。

通过上述方案,本发明实施例提供的网络节点接收到来自用户终端的第一报文,获得第二报文。第一报文用于向dhcp服务器请求ip地址;第二报文是除dhcp报文之外的报文。网络节点向控制器发送第二报文。控制器接收到来自网络节点的报文,从来自网络节点的报文中获得用于向dhcp服务器请求ip地址的报文。控制器根据用于向dhcp服务器请求ip地址的报文、网络节点接收第一报文的端口和用户终端的mac地址,获得dhcp报文。控制器可向dhcp服务器发送dhcp报文。这样,接入网中的网络节点可无需生成dhcp报文,而由控制器生成dhcp报文;接入网中的网络节点也可无需支持dhcp中继功能,只是转发来自控制器的报文或其它网络节点的报文,有助于降低网络节点的复杂度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。

图1为一种网络场景的示意图。

图2为本发明实施例提供的网络场景的示意图。

图3为本发明实施例提供的网络节点的示意图。

图4为本发明实施例提供的网络节点的示意图。

图5为本发明实施例提供的控制器的示意图。

图6为本发明实施例提供的控制器的示意图。

图7为本发明实施例提供的dhcp服务器的示意图。

图8为本发明实施例提供的dhcp服务器的示意图。

图9为本发明实施例一提供的报文处理方法的示意图。

图10为本发明实施例提供的ieee1904.2协议报文的示意图。

图11为本发明实施例提供的ethoam报文的示意图。

图12为本发明实施例提供的omci协议报文的示意图。

图13为本发明实施例二提供的报文处理方法的示意图。

图14为本发明实施例三提供的报文处理方法的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

图1为一种网络场景的示意图。图1所示的网络场景是基于中国有线数据传输业务接口规范(英文全称为chinadata-over-cableserviceinterfacespecification,英文缩写为c-docsis)的接入场景。图1所示的网络场景中,电缆调制解调器(英文全称为cablemodem,英文缩写为cm)11与dhcp服务器15处于不同的网段中。cm11可与有线电缆媒介转换设备(英文全称为cablemediaconverter,英文缩写为cmc)12通信;cmc12可与光路终结点(英文全称为opticallinetermination,英文缩写为olt)13通信;olt13通过宽带网络网关(英文全称为broadbandnetworkgateway,英文缩写为bng)14与dhcp服务器15通信。其中,bng14用于转发olt13与dhcp服务器15间的报文。

图1所示的网络中,dhcp服务器为cm11动态配置ip地址的方法可以包括:

cm11发送dhcpdiscover报文至cmc12。dhcpdiscover报文中可包括cm11的mac地址。cmc12根据第一端口和cm11的mac地址,生成第一dhcp报文,例如cmc12将第一端口和cm11的mac地址携带在第一dhcp报文的option82字段中。第一端口是cmc12接收dhcpdiscover报文的端口。cm12发送第一dhcp报文至olt13。

olt13可将第二端口插入第一dhcp报文的option82字段,获得第二dhcp报文。第二端口是olt13接收第一dhcp报文的端口。olt13发送第二dhcp报文至dhcp服务器15。

dhcp服务器15根据接收到的第二dhcp报文包括的cm11的mac地址,获得可用的ip地址。dhcp服务器15获得dhcpoffer报文。dhcpoffer报文包括第二端口、第一端口和为cm11提供的ip地址。dhcp服务器15发送dhcpoffer报文至olt13,经由olt13发送dhcpoffer报文至cmc12。cmc12通过第一端口,发送dhcpoffer报文至cm11。

cm11从接收到的dhcpoffer报文中选择dhcp服务器15为其提供的ip地址。cm11获得dhcprequest报文。dhcprequest报文包括dhcp服务器15的地址和dhcp服务器15为cm11提供的ip地址。cm11发送dhcprequest报文至cmc12。cmc12获得第三dhcp报文。第三dhcp报文包括第一端口、dhcp服务器15的id和dhcp服务器15为cm11分配的ip地址。cmc12可采用发送第一dhcp报文相同的方法,通过olt13发送第三dhcp报文至dhcp服务器15。dhcp服务器15确认为cm11提供的ip地址未被使用,通过olt13和cmc12,发送dhcpack报文至cm11。cm11接收到dhcpack报文后,获得dhcp服务器15为其分配的ip地址。

在图1所示的网络场景中,接入网的网络节点,例如cmc12或olt13等网络节点,需支持对dhcp报文的option82字段的处理等dhcp中继功能,例如:生成dhcp报文。网络节点还需支持不同运营商所定制的option字段的格式,网络节点的复杂度较高。

针对上述问题,提出了有助于解决用户终端与dhcp服务器之间的网络节点复杂度较高的方法。该解决方法中,网络节点接收到用户终端发送的第一报文。第二网络设备可分别与用户终端和网络节点通信。第一报文用于向dhcp服务器请求ip地址。第一报文可以为dhcpdiscover报文、dhcprequest报文或路由器请求(英文全称为routersolicitation,英文缩写为rs)消息。网络节点获得第二报文。第二报文包括第一报文、端口的信息和用户终端的mac地址。所述端口为网络节点接收到第一报文的端口。网络节点向控制器发送第二报文。控制器可接收到网络节点发送的报文后,根据网络节点发送的报文中包括的用于向dhcp服务器请求ip地址的报文,获得dhcp报文。控制器向dhcp服务器或网络节点发送dhcp报文。上述解决方法可通过以下几种实施例实现。

图2为本发明实施例提供的网络场景的示意图。图2所示的网络场景中,cm21与dhcp服务器24处于不同的网段中。图2所示的网络场景中,cmc22和汇聚转发设备25属于接入网的网络节点。cm21可与cmc22通信;cmc22可分别与汇聚转发设备25和控制器23通信;汇聚转发设备25可分别与控制器23和dhcp服务器24通信;控制器23可分别与cmc22、汇聚转发设备25和控制器23通信。

图2中的cm21可作为用户终端的一种表现形式,但本发明实施例提及的用户终端并不局限于这一种表现形式。本发明实施例提及的用户终端还可以是用户驻地设备(英文全称为customerpremisesequipment,英文缩写为cpe)、机顶盒(英文全称为settopbox,英文缩写为stb)、嵌入式多媒体终端适配器(英文全称为embeddedmultimediaterminaladapter,英文缩写为emta)、计算机等表现形式的用户终端,在此不再逐一举例。图2中的控制器23可以与汇聚转发设备25部署于一台设备上,也可部署于能够与cmc22、汇聚转发设备25或dhcp服务器24通信的设备上。控制器23可以是接入控制器(英文全称为accesscontroller,英文缩写为ac),还可以是其它类型的控制器,在此不再逐一举例。汇聚转发设备25可以是olt、路由器或交换机等转发设备,在此不再逐一举例。

本发明实施例中提及的网络节点可以是远端接入节点(英文全称为remoteaccessnode,英文缩写为remotean)。该远端接入节点可以是cpe、分配点单元(英文全称为droppointunit,英文缩写为dpu)、光网络终端(英文全称为opticalnetworkterminal,英文缩写为ont)、电缆调制解调器(英文全称为cablemodem,英文缩写为cm)、cmc、小型化的交换机、小型化的数字用户线接入复用器(英文全称为dslaccessmultiplexer,英文缩写为dslam)、小型化的同轴电缆局端接入设备(英文全称为cablemodemterminalsystem,英文缩写为cmts)或小型化的有线电视融合接入技术平台(英文全称为convergedcableaccessplatform,英文缩写为ccap)等各种设备。

图3为本发明实施例提供的网络节点的示意图。图3所示的网络节点可以是图2所示的网络场景中的cmc22或汇聚转发设备25。图3所示的网络节点可以包括处理器2201、存储器2202和通信接口2203。处理器2201、存储器2202和通信接口2203通过通信总线2204连接。处理器2201可以是cpu或np,处理器2201包括至少一个物理处理器;通信接口2203包括至少一个物理接口。

存储器2202用于存储程序。可选地,存储器2202还可用以存储业务流的id和cm21的mac地址的对应关系。其中,业务流用以承载cmc22和cm21间传输的报文。

处理器2201根据从存储器2202中读取的程序所包括的可执行指令,执行如下操作。

处理器2201通过通信接口2203,接收到用户终端发送的第一报文。第一报文用于向dhcp服务器24请求ip地址。例如若网络节点是cmc22,则用户终端可以是cm21,第一报文可以是dhcpdiscover报文、dhcprequest报文或rs消息。

处理器2201获得cm21的mac地址。具体地,处理器2201根据承载第一报文的业务流的id和存储器2202中存储的对应关系,获得cm21的mac地址。例如:承载第一报文的业务流可携带有其自身的id,处理器2201可获知承载第一报文的业务流的id。

处理器2201获得第二报文。第二报文包括第一报文、第一端口的信息和cm21的mac地址。第一端口为网络节点接收第一报文的端口,例如若网络节点是cmc22,则第一端口可以是cmc22接收到dhcpdiscover报文、dhcprequest报文或rs消息的端口。若网络节点是汇聚转发设备25,则第一端口可以是汇聚转发设备接收到dhcp报文的端口。

处理器2201通过通信接口2203,向控制器23发送第二报文。

可选地,处理器2201还可通过通信接口2203,接收dhcp服务器24发送的第三报文。第三报文包括用户终端的ip地址,例如第三报文可以是dhcpoffer报文、dhcpack报文或ra消息。处理器2201可通过通信接口2203,向cm21发送第三报文。

可选地,处理器2201还可通过通信接口2203,接收控制器23发送的第四报文。第四报文包括第三报文、第一端口的信息和cm21的mac地址。处理器2201从第四报文中获得第三报文、第一端口的信息和cm21的mac地址。处理器2201可根据第一端口的信息和cm21的mac地址,通过通信接口2203,向cm21发送第三报文。

可选地,第三报文还可包括配置参数。配置参数可包括用于提供配置文件的服务器的标识(英文全称为identifier,英文缩写为id)和配置文件的id。用于提供配置文件的服务器的id可以是服务器的地址或名称等唯一标识服务器的信息;配置文件的id可以是配置文件的名称等唯一标识文件的信息。用于提供配置文件的服务器可以是简单文件传输协议(英文全称为trivialfiletransferprotocol,英文缩写为tftp)服务器(图2中未示出)。处理器2201还可获得配置参数和cm21的mac地址的对应关系。处理器2201可将cm21的mac地址与配置参数的对应关系写入存储器2202。

图4为本发明实施例提供的网络节点的示意图。图4所示的网络节点包括第一接收单元2205、第一报文获得单元2206和第一发送单元2207。可选地,图4所示的网络节点还包括第二接收单元2208和第二发送单元2209。可选地,图4所示的网络节点还包括第三接收单元2210、第二报文获得单元2211和第三发送单元2212。图4所示的网络节点还包括存储单元2213、第四接收单元2214和第四发送单元2215。

图4所示的网络节点和图3所示的网络节点可以是同一个装置,例如均为图2所示的网络中的cmc22或汇聚转发设备25。可以认为,图3从物理的角度显示了一个网络节点包括的内容,而图4从逻辑的角度显示了一个网络节点包括的内容。可选地,图4中的第一接收单元2205、第一发送单元2207、第二接收单元2208、第二发送单元2209、第三接收单元2210、第三发送单元2212、第四接收单元2214和第四发送单元2215可由图3所示的通信接口2203来实现;图4中的第一报文获得单元2206和第二报文获得单元2211可由图3中的处理器2201根据存储器2202存储的可执行指令来实现;图4中的存储单元2213可由图3中的存储器2202来实现。

图5为本发明实施例提供的控制器的示意图。图5所示的控制器可以是图2所示网络中的控制器23。图5所示的控制器可与汇聚转发设备25部署于同一设备,还可以部署在能够与cmc22、汇聚转发设备25或dhcp服务器24通信的设备,例如ac。图5所示控制器接收到来自网络节点的第一报文是图3或图4所示网络节点发送的第二报文。图5所示控制器接收到的第一报文包括的第二报文是图3或图4所示网络节点发送的第二报文包括的第一报文。

图5所示的控制器可以包括处理器2301、存储器2302和通信接口2303。处理器2301、存储器2302和通信接口2303可通过通信总线2304通信。处理器2301可以是cpu或np,处理器2301包括至少一个物理处理器。通信接口2303包括至少一个物理接口。

存储器2302用于存储程序。可选地,存储器2302还可存储cm21的mac地址和cm21的配置文件的对应关系。对应关系包括的cm21的配置文件可以是配置参数包括的配置文件的标识。

处理器2301可根据从存储器2302中读取的程序所包括的可执行指令,执行如下操作。

处理器2301通过通信接口2303,接收到网络节点发送的第一报文。网络节点可以是图2所示网络中的cmc22或汇聚转发设备25。第一报文为除dhcp报文之外的报文。第一报文包括第二报文、端口的信息和用户终端的mac地址。端口是网络节点接收到第二报文的端口。第二报文用于向dhcp服务器24请求ip地址的报文。例如:若网络节点是cmc22,则第二报文可以是dhcpdiscover报文、dhcprequest报文或rs消息。若网络节点是汇聚转发设备25,则汇聚转发设备25接收到的cmc22发送的dhcp报文是由控制器23生成的。

处理器2301从第一报文中获得第二报文、第一端口的信息和cm21的mac地址。处理器2301根据第二报文,获得dhcp报文。该dhcp报文包括第一端口的信息和cm21的mac地址。例如:处理器2301可将第一端口的信息和cm21的mac地址插入接收到的第二报文包括的option82字段,获得dhcp报文。

处理器2301通过通信接口2303,发送dhcp报文至dhcp服务器24或网络节点。例如:处理器2301通过通信接口2303,向dhcp服务器24发送dhcp报文。或者,处理器2301通过通信接口2303,向网络节点发送dhcp报文,由网络节点向dhcp服务器24发送dhcp报文。

可选地,处理器2301还可通过通信接口2303,接收到dhcp服务器24发送的第三报文。第三报文包括dhcp服务器24为用户终端分配的ip地址。若控制器23接收到的第一报文包括的第二报文是dhcpdiscover报文,则第三报文是dhcpoffer报文;若控制器23接收到的第一报文包括的第二报文是dhcprequest报文,则第三报文是dhcpack报文;若控制器23接收到的第一报文包括的第二报文是rs消息,则第三报文是ra消息。

处理器2301接收到第三报文后,获得第四报文。例如第三报文还可包括cm21的mac地址,处理器2301可从存储器2302中获得与cm21的mac地址对应的第一端口的信息。处理2301可根据第三报文、第一端口的信息和cm21的mac地址,生成第四报文。

处理器2301可通过通信接口2303,向网络节点发送第四报文。例如若网络节点是cmc22,处理器2301可通过通信接口2303,向cmc22发送第四报文。若网络节点是汇聚转发设备,处理器2301可通过通信接口2303,向汇聚转发设备25发送第四报文,由汇聚转发设备25发送第四报文至cmc22。

图6为本发明实施例提供的控制器的示意图。图6所示的控制器包括第一接收单元2305、第一获得单元2306和第一发送单元2307。可选地,图6所示的控制器还包括第二接收单元2308、第二获得单元2309和第二发送单元2310。可选地,图6所示的控制器还包括存储单元(图6中未示出)。

图6所示的控制器和图5所示的控制器可以是同一个装置,例如均为图2所示的网络中的控制器23。可以认为,图5从物理的角度显示了一个控制器包括的内容,而图6从逻辑的角度显示了一个控制器包括的内容。可选地,图6中的第一接收单元2305、第一发送单元2307、第二接收单元2308和第二发送单元2310可由图5的通信接口2303来实现;图6中的第一获得单元2306和第二获得单元2309可由图5中的处理器2301根据存储器2302存储的可执行指令来实现;图6所示的控制器包括的存储单元可由图5中的存储器2302来实现。

图7为本发明实施例提供的dhcp服务器的示意图。图7所示的dhcp服务器可以是图2所示网络中的dhcp服务器24。图7所示的dhcp服务器可以包括处理器2401、存储器2402和通信接口2403。处理器2401、存储器2402和通信接口2403可通过通信总线2404通信。处理器2401可以是cpu,处理器2401可包括至少一个物理处理器;通信接口2403可包括至少一个物理接口。

存储器2402用于存储程序和用户终端的ip地址,例如用户终端的ip地址可以是cm21的ip地址。

处理器2401根据从存储器2402中读取的程序所包括的可执行指令,执行如下操作。

处理器2401通过通信接口2403,接收到控制器23发送的dhcp报文。dhcp报文包括第一端口的信息和cm21的mac地址。dhcp报文可以是控制器23根据dhcpdiscover报文获得的报文。或者,dhcp报文可以是控制器23根据dhcprequest报文获得的报文。或者,dhcp报文可以是控制器23根据rs消息获得的报文。

处理器2401可根据cm21的mac地址,从存储器2402中选择一个未被使用的ip地址。

可选地,处理器2401还可根据接收到的dhcp报文和选择的ip地址,获得第三报文。该第三报文包括第一端口的信息、cm21的mac地址和为用户终端分配的ip地址。若dhcp报文是控制器23根据dhcpdiscover报文获得的报文,则该第三报文是dhcpoffer报文;若dhcp报文可以是控制器23根据dhcprequest报文获得的报文,则该第三报文是dhcprequest报文;若dhcp报文可以是控制器23根据rs消息获得的报文,则该第三报文是ra消息。

处理器2401可通过通信接口2403,向网络节点发送第三报文。该网络节点可以是图2所示的汇聚转发设备25或cmc22。

图8为本发明实施例提供的dhcp服务器的示意图。图8所示的dhcp服务器包括接收单元2405和第一获得单元2406。可选地,图8所示的dhcp服务器还包括第二获得但那元2407、发送单元2408和第三获得单元2409中的至少一个。图8所示的dhcp服务器还包括存储单元(图8中未示出)。

图8所示的dhcp服务器和图7所示的dhcp服务器可以是同一个装置,例如均为图2所示的网络中的dhcp服务器24。可以认为,图7从物理的角度显示了一个dhcp服务器包括的内容,图8从逻辑的角度显示了一个dhcp服务器包括的内容。可选地,图8中的接收单元2405和发送单元2407可由图7中的通信接口2403来实现;图8中的第一获得单元2406、第二获得单元2407和第三获得单元2409可由图7中的处理器2401根据存储器2402存储的可执行指令来实现。

实施例一

图9为本发明实施例一提供的报文处理方法的示意图。本发明实施例一提供的方法中,控制器23具有dhcprelay功能,cmc22和汇聚转发设备25可不具备dhcprelay功能。下面结合图2至图8,对本发明实施例一提供的报文处理的方法进行详细说明。

301,用户终端向cmc22发送dhcpdiscover报文。

举例来说,dhcpdiscover报文用于发现dhcp服务器24,属于向dhcp服务器24请求ip地址的报文。

以用户终端为cm21为例,cm21可通过业务流,向cmc22发送dhcpdiscover报文。所述业务流可携带有所述业务流的id。所述业务流的id与cm21的mac地址存在对应关系。

以用户终端为cpe为例,cpe以广播的形式的形式发送dhcpdiscover报文。cm21可通过业务流,向cmc22转发dhcpdiscover报文。所述业务流可携带有所述业务流的id。所述业务流的id与cm21的mac地址存在对应关系。stb、emta等其它用户终端可采用与cpe相同的操作流程,在此不再赘述。

302,cmc22向控制器23发送报文3001。

举例来说,报文3001包括dhcpdiscover报文、第一端口的信息和cm21的mac地址。报文3001是除dhcp报文之外的报文。第一端口是cmc22接收到dhcpdiscover报文的端口。第一端口可以是物理端口或逻辑端口。

当所述远端接入节点和汇聚转发设备之间为以太网无源光网络(英文全称为ethernetpassiveopticalnetwork,英文缩写为epon)或下一代epon时,二层协议报文为以太网报文,如电气和电子工程协会(英文全称为instituteofelectricalandelectronicsengineers,英文缩写为ieee)1904.2报文、以太网操作、管理和维护(英文全称为ethernetoperation,administrationandmaintenance,英文缩写为ethoam)报文。

报文3001可采用图10所示的ieee1904.2协议报文。ieee1904.2协议报文包括的subtype字段可用以标识该ieee1904.2协议报文包括ofp报文。ieee1904.2协议报文包括的payload可携带ofp报文。该ofp报文包括的payload可携带dhcpdiscover报文、第一端口的信息和cm21的mac地址。或者,ieee1904.2协议报文包括的payload可携带ofp报文、第一端口的信息和cm21的mac地址。该ofp报文的payload可携带dhcpdiscover报文。例如:ieee1904.2协议报文包括的subtype字段可设置为第一数值。该第一数值可以标识该ieee1904.2协议报文的payload中携带有ofp报文。该ieee1904.2协议报文的payload包括的ofp报文之后还可增加一个option字段。该option字段可用以标识option字段后携带有第一端口的信息和cm21的mac地址。或者,ieee1904.2协议报文包括的subtype字段可设置为0xfe。subtype字段设置为0xfe的ieee1904.2协议报文中,通过组织唯一标识(英文全称为organizationuniqueidentifier,英文缩写oui)字段标识payload中包括的组织定义的扩展(英文全称为organization-specificextensions)内容,该消息内容携带有ofp报文。

报文3001可采用图11所示的ethoam报文。ethoam报文包括的code字段可用以标识该ethoam报文包括ofp报文。ethoam报文包括的data字段可携带ofp报文。该ofp报文包括的payload可携带dhcpdiscover报文、第一端口的信息和cm21的mac地址。或者,ethoam报文包括的data字段可携带ofp报文、第一端口的信息和cm21的mac地址。该ofp报文的payload可携带dhcpdiscover报文。例如:ethoam报文包括的code字段可设置为0xfe。oui字段可标识该ethoam报文的data字段中组织定义的扩展字段携带有ofp报文。

当所述远端接入节点和汇聚转发设备之间为千兆比特无源光网络(英文全称为gigabit-capablepassiveopticalnetwork,英文缩写为gpon)或下一代gpon时,二层协议报文为光网络单元管理和控制接口(英文全称为onumanagementandcontrolinterface,英文缩写为omci)协议报文。

报文3001可采用图12所示的omci协议报文。omci协议报文包括gpon封装方法(英文全称为g-ponencapsulationmethod,英文缩写为gem)头字段、交易关联标识(英文名称为transactioncorrelationidentifier)字段、消息类型(英文名称为messagetype)字段、设备标识(英文名称为deviceidentifier)字段、消息标识(英文名称为messageidentifier)字段、消息内容(英文名称为messagecontents)字段和omci结束位(英文名称为omcitrailer)字段。omci协议报文包括的各字段的含义可参见国际电信联盟电信标准化部(英文全称为internationaltelecommunicationuniontelecommunicationstandardizationsector,英文缩写为itu-t)的g.984.4(06/2004)中的相关说明。

本发明实施例中,在omci协议中定义openflow管理实体(英文全称为managemententity,英文缩写为me),该openflowme格式可包括:属性字段(英文名称为attributes)和动作字段(英文名称为actions)。属性字段可包括:me标识(英文全称为identifier,英文缩写为id)、openflow版本(英文名称为version)、openflowmessage、circuitid和remoteid和。me标识用于标识openflowme。openflow版本可用于标识openflow版本号。openflowmessage用于携带所述ofp报文。circuitid用于标识用户的第一接入信息,例如第一端口的信息。remoteid用于标识用户的第二接入信息,例如cm21的mac地址。actions可包括:创建(英文名称为create)、删除(英文名称为delete)、获取(英文名称为get)、设置(英文名称为set)等动作。创建可用于创建openflowme或创建openflowme中的某个属性。删除可用于删除openflowme或openflowme中的某个属性。获取可用于获取openflowme的所有属性或openflowme中的某个属性。设置可用于设置openflowme的所有属性或openflowme中的某个属性。

本发明实施例中提及的omci协议报文的messageidentifier可用以标识对应的openflowme。该omci协议报文的messagecontents包括的内容可根据openflowme生成。该omci协议报文的messagecontents可携带ofp报文。

举例来说,cmc22的第一接收单元2205接收到cm21发送的dhcpdiscover报文。第一报文获得单元2206获得第一端口的信息和cm21的mac地址。第一报文获得单元2206可根据dhcpdiscover报文、第一端口的信息和cm21的mac地址,生成报文3001。其中,存储单元2213可存储有所述业务流的id和cm21的mac地址的对应关系。第一报文获得单元2206可根据承载dhcpdiscover报文的业务流的id和存储单元2213中保存的对应关系,获得cm21的mac地址。

举例来说,cmc22的第一发送单元2207可向控制器23发送报文3001。或者,第一发送单元2207可向汇聚转发设备25发送报文3001,通过汇聚转发设备25发送报文3001至控制器23。其中,第一发送单元2207还可采用隧道等方式发送报文3001至控制器23。可选地,汇聚转发设备25向控制器23发送报文3001的过程中,可将汇聚转发设备25接收报文3001的端口的信息携带在报文3001中。

303,控制器23向dhcp服务器24发送第一dhcp报文。

举例来说,控制器23的第一接收单元2305接收到cmc22发送的报文3001。第一获得单元2306从报文3001中获得dhcpdiscover报文、第一端口的信息和cm21的mac地址。第一获得单元2306根据dhcpdiscover报文、第一端口的信息和cm21的mac地址,获得第一dhcp报文。第一dhcp报文包括第一端口的信息和cm21的mac地址。例如第一获得单元2306可将第一端口的信息和cm21的mac地址插入dhcpdiscover报文的option82字段,生成第一dhcp报文。第一发送单元2307可向dhcp服务器24发送第一dhcp报文。

举例来说,第一发送单元2307可通过汇聚转发设备25,向dhcp服务器24发送第一dhcp报文。或者,第一发送单元2307可直接向dhcp服务器24发送第一dhcp报文。

304至306为可选地步骤。dhcp服务器24可通过汇聚转发设备25和cmc22,向用户终端发送dhcpoffer报文。或者,dhcp服务器24可采用图9中的304至306的方法,向用户终端发送dhcpoffer报文。

304,dhcp服务器24向控制器23发送dhcpoffer报文。

举例来说,dhcp服务器24的接收单元2405接收到来自控制器23的第一dhcp报文。第一获得单元2406可从第一dhcp报文中获得cm21的mac地址。第一获得单元2406可根据cm21的mac地址,为用户终端选择ip地址。

举例来说,dhcp服务器24的第二获得单元2407可根据第一获得单元2406所获得的为用户终端选择的ip地址,获得dhcpoffer报文。dhcpoffer报文包括dhcp服务器24为用户终端提供的ip地址、第一端口的信息和cm21的mac地址。可选地,dhcpoffer报文还包括dhcp服务器24的ip地址。

举例来说,发送单元2410发送dhcpoffer报文至控制器23。或者,发送单元2410通过汇聚转发设备25,向控制器23发送dhcpoffer报文。

305,控制器23向cmc22发送报文3002。

举例来说,报文3002包括dhcpoffer报文、第一端口的信息和cm21的mac地址。报文3002也可采用图10、图11或图12所示的报文格式。报文3002可采用与报文3001相同的格式,也可采用与报文3001不同的格式。报文3002与报文3001的不同之处在于,报文3002包括的ofp报文的payload携带dhcpoffer报文。

举例来说,控制器23的第二接收单元2308接收到来自dhcp服务器24或汇聚转发设备25的dhcpoffer报文。第二获得单元2309可根据dhcpoffer报文、获得的第一端口的信息和cm21的mac地址,获得报文3002。第二发送单元2310可发送报文3002至汇聚转发设备25,通过汇聚转发设备25发送报文3002至cmc22。或者,第二发送单元2310可直接发送报文3002至cmc22。其中,第二获得单元2309可从dhcpoffer报文中,获得第一端口的信息和cm21的mac地址。

306,cmc22向用户终端发送dhcpoffer报文。

举例来说,cmc22的第三接收单元2210接收到报文3002。第二报文获得单元2211可从报文3002中获得dhcpoffer报文、第一端口的信息和cm21的mac地址。第三发送单元2212可根据第一端口的信息和cm21的mac地址,发送dhcpoffer报文至用户终端。

若用户终端是cm21,则dhcpoffer报文包括的dhcp服务器24为用户终端提供的ip地址是cm21的ip地址;若用户终端是cm21连接的cpe,则dhcpoffer报文包括的dhcp服务器24为用户终端提供的ip地址是cpe的ip地址。

307,用户终端向cmc22发送dhcprequest报文。

以用户终端为cm21,cm21可通过物理端口或逻辑端口,发送dhcprequest报文至cmc22。承载dhcprequest报文的业务流与cm21的mac地址存在对应关系。cm21发送的dhcprequest报文中可包括dhcp服务器24为cm21提供的ip地址。可选地,cm21发送的dhcprequest报文还可包括dhcp服务器24的地址。

以用户终端为cpe,cpe通过cm21的物理端口或逻辑端口,向cmc22发送dhcprequest报文。该dhcprequest报文包括dhcp服务器24为cpe提供的ip地址。可选地,该dhcprequest报文还可包括dhcp服务器24的地址。其中,cm21可通过业务流,转发dhcprequest报文至cmc22。

308,cmc22向控制器23发送报文3003。

举例来说,报文3003包括dhcprequest报文、第二端口的信息和cm21的mac地址。dhcprequest报文可包括dhcp服务器24为用户终端提供的ip地址。第二端口是cmc22接收到dhcprequest报文的端口。第二端口可以是物理端口或逻辑端口。第二端口可以与第一端口相同,也可与第一端口不同。报文3003可采用图10、图11或图12所示的报文格式。报文3003可采用与报文3001相同的报文格式,也可采用与报文3001不同的报文格式。报文3003与报文3001的不同之处在于,报文3003包括的ofp报文携带dhcprequest报文。

举例来说,cmc22的第一接收单元2205可接收cm21发送的dhcprequest报文。第一报文获得单元2206可获得第二端口的信息和cm21的mac地址。第一报文获得单元2206获得cm21的mac地址的方法可与302中的方法相同。第一报文获得单元2206可根据dhcprequest报文、第二端口的信息和cm21的mac地址,生成报文3003。

举例来说,cmc22的第一发送单元2207可发送报文3003至汇聚转发设备25,通过汇聚转发设备25发送报文3003至控制器23。或者,cmc22的第一发送单元2207可直接发送报文3003至控制器23。其中,汇聚转发设备25向控制器23发送报文3003的过程中,可将汇聚转发设备25接收报文3003的端口的信息携带在报文3003中。

309,控制器23向dhcp服务器24发送第二dhcp报文。

举例来说,控制器23的第一接收单元2305接收到cmc22发送的报文3003。第一获得单元2306从报文3003中获得dhcprequest报文、第二端口的信息和cm21的mac地址。第一获得单元2306获得第二dhcp报文。第二dhcp报文包括dhcp服务器24为用户终端提供的ip地址、第二端口的信息和cm21的mac地址。例如第一获得单元2306可将第二端口的信息和cm21的mac地址添加至dhcprequest报文的option82字段,生成第二dhcp报文。可选地,第二dhcp报文还可包括dhcp服务器24的地址。第一发送单元2307可采用303中的方法,向dhcp服务器24发送第二dhcp报文。

310至312为可选地步骤。dhcp服务器24通过汇聚转发设备25和cmc22,向用户终端发送dhcpack报文。或者,dhcp服务器24可采用图9中的310至312的方法,向用户终端发送dhcpack报文。

310,dhcp服务器24向控制器23发送dhcpack报文。

举例来说,dhcp服务器24的接收单元2405接收到来自控制器23的第二dhcp报文。第一获得单元2406可从第二dhcp报文中获得cm21的mac地址和dhcp服务器24为用户终端提供的ip地址。

举例来说,dhcp服务器24的第二获得单元2407可在第一获得单元2406确定为用户终端提供的ip地址未被使用,获得dhcpack报文。dhcpack报文包括为用户终端分配的ip地址。dhcpack报文还包括第一端口的信息和cm21的mac地址。发送单元2410发送dhcpack报文至控制器23。或者,发送单元2410通过汇聚转发设备25,向控制器23发送dhcpack报文。

可选地,dhcpack报文还包括配置参数。配置参数包括配置文件的id和提供配置文件的服务器的id。

311,控制器23向cmc22发送报文3004。

举例来说,报文3004包括dhcpack报文、第二端口的信息和cm21的mac地址。报文3004可采用图10、图11或图12所示的报文格式。报文3004可采用与报文3002相同的报文格式,也可采用与报文3002不同的报文格式。报文3004与报文3002不同之处在于,报文3004包括的ofp报文携带有dhcpack报文。

举例来说,控制器23的第二接收单元2308接收到来自dhcp服务器24或汇聚转发设备25的dhcpack报文。第二获得单元2309可根据dhcpack报文、获得的第二端口的信息和cm21的mac地址,获得报文3004。第二发送单元2310可发送报文3004至汇聚转发设备25,通过汇聚转发设备25发送报文3004至cmc22。或者,第二发送单元2310可直接发送报文3004至cmc22。

312,cmc22向用户终端发送dhcpack报文。

举例来说,cmc22的第三接收单元2210接收到报文3004。第二报文获得单元2211可从报文3004中获得dhcpack报文、第二端口的信息和cm21的mac地址。第三发送单元2212可根据第二端口和cm21的mac地址,发送dhcpack报文至用户终端。若用户终端是cm21连接的cpe,则cm21还将dhcpack报文发送至cpe。

本发明实施例一提供的方法中,cmc22将包括dhcpdiscover报文或dhcprequest报文的报文发送至控制器23,由控制器23进行dhcp中继处理,生成所述第一dhcp报文或所述第二dhcp报文,即控制器23具备dhcp中继功能,cmc22可不具备dhcp中继功能。这样,如cmc22的网络节点无需支持dhcp协议,降低了网络节点的复杂度。

以用户终端为cm21为例,311之后,本发明实施例一提供的方法还可包括:控制器23通过报文3004发送配置参数和cm21的mac地址的对应关系至cmc22。配置参数包括配置文件的id和提供配置文件的服务器的id。

可选地,312之后,本发明实施例一提供的方法还可包括:

cmc22接收到来自cm21的配置文件请求报文,该配置文件请求报文包括配置参数。

cmc22确定配置文件请求报文包括的配置参数和cm21的mac地址与控制器23下发的对应关系相同,向提供配置文件的服务器请求配置文件。

举例来说,cmc22可采用实施例一的302中的方法,获得cm21的mac地址。cmc22的存储单元2213可保存控制器23下发的对应关系。该对应关系包括配置参数和cm21的mac地址。第四接收单元2214接收到cm21发送的配置文件请求报文。配置文件请求报文用以向提供配置文件的服务器请求配置文件。第一报文获得单元2206可根据存储的对应关系,确定配置文件请求报文包括的配置参数正确。第四发送单元2215在第一报文获得单元2206确定配置参数正确后,向提供配置文件的服务器发送配置文件请求报文。

可选地,本发明实施例一提供的方法还可包括:

cmc22确定配置文件请求报文包括的配置参数和获得的cm21的mac地址与控制器23下发的对应关系不同,通知用户终端配置文件请求失败。

可选地,本发明实施例一提供的方法还可包括:

cmc22可将提供配置文件的服务器发送的配置文件,转发给用户终端,使得用户终端用配置文件完成接入网络前的配置。

举例来说,cmc22包括的第四接收单元2214可接收来自控制器23或汇聚网关设备25的配置文件响应报文。配置文件响应报文包括cm21的ip地址和配置文件。第四发送单元2215可根据cm21的ip地址,向cm21发送配置文件。

以用户终端为cpe为例,控制器23下发给cmc22的对应关系是cpe的ip地址和cm21的mac地址。cmc22可根据接收到的cpe的ip地址和cm21的mac地址的对应关系,对来自cpe的业务报文进行源地址校验(英文全称为sourceaddressverification,英文缩写为sav)。stb、emta等用户终端与cpe相同,在此不再赘述。

可选地,312之后,本发明实施例一提供的方法还可包括:

cmc22接收到来自cm21的配置文件请求报文,该配置文件请求报文包括配置参数。

cmc22向控制器23发送报文3005,由控制器23确定配置参数是否正确。

举例来说,cmc22的第一接收单元2205接收到cm21发送的配置文件请求报文。cmc22可采用实施例一的302中的方法,获得cm21的mac地址。第一报文获得单元2206可根据配置文件请求报文、配置参数和cm21的mac地址,获得报文3005。第一发送单元2207向控制器23发送报文3005。控制器23可存储有配置参数和cm21的mac地址的对应关系。控制器23从报文3005中获得配置文件请求报文。控制器23确定配置文件请求报包括的配置参数和获得的cm21的mac地址与对应关系相同,向提供配置文件的服务器请求配置文件。例如:对应关系包括的配置文件的名称与配置文件请求报文包括的配置文件的名称相同,且对应关系包括的cm21的mac地址与获得的cm21的mac地址,则确定配置文件请求报包括的配置参数和获得的cm21的mac地址与对应关系相同。其中,报文3005可采用图10、图11或图12所示的格式。报文3005包括的ofp报文中携带有配置文件请求报文。

可选地,本发明实施例一提供的方法还可包括:

控制器23确定配置文件请求报文包括的配置参数和获得的cm21的mac地址与对应关系不同,通过cmc22,通知用户终端配置文件请求失败。

可选地,本发明实施例一提供的方法还可包括:

控制器23可通过cmc22,将提供配置文件的服务器发送的配置文件转发给用户终端,使得用户终端获得配置文件。其中,控制器23可将配置文件携带在报文3006包括的ofp报文中,向cmc22发送报文3006,由cmc22转发配置文件至用户终端。报文3006可采用图10、图11或图12所示的报文格式。

以用户终端为cpe为例,控制器23保存的对应关系是cpe的ip地址和cm21的mac地址。控制器23可根据cpe的ip地址和cm21的mac地址的对应关系,对来自cpe的业务报文进行源地址校验(英文全称为sourceaddressverification,英文缩写为sav)。stb、emta等用户终端与cpe相同,在此不再赘述。

实施例二

图13为本发明实施例二提供的报文处理方法的示意图。下面结合图2至图8,对本发明实施例二提供的报文处理方法进行详细说明。

401,用户终端向cmc22发送rs消息。

举例来说,rs消息用于向dhcp服务器24请求ip地址的前缀,属于向dhcp服务器24请求ip地址前缀的报文。

以用户终端为cm21为例,cm21可通过物理端口或逻辑端口,向cmc22发送rs消息。其中,rs消息通过cm21与cmc22之间的业务流发送。该业务流可通过所述业务流的id标识。

以用户终端为cpe为例,cpe通过广播的方式发送rs消息。cm21可通过业务流,向cmc22发送rs消息。所述业务流可携带有所述业务流的id。所述业务流的id与cm21的mac地址存在对应关系。stb、emta等其它用户终端可采用与cpe相同的操作流程,在此不再赘述。

402,cmc22向控制器23发送报文4001。

举例来说,报文4001包括rs消息、第一端口的信息和cm21的mac地址。第一端口是cmc22接收到rs消息的端口,第一端口可以是物理端口或逻辑端口。报文4001可采用图10、图11或图12所示的报文结构。报文4001包括的净荷可携带opf报文,opf报文可携带rs消息。

举例来说,cmc22的第一接收单元2205接收到cm21发送的rs消息。第一报文获得单元2206获得第一端口的信息和cm21的mac地址。第一报文获得单元2206可根据rs消息、第一端口的信息和cm21的mac地址,生成报文4001。其中,存储单元2213可存储有所述业务流的id和cm21的mac地址的对应关系。第一报文获得单元2206可根据承载rs消息的所述业务流的id和存储单元2213中保存的对应关系,获得cm21的mac地址。

举例来说,cmc22的第一发送单元2207可向控制器23发送报文4001。或者,第一发送单元2207可向汇聚转发设备25发送报文4001,通过汇聚转发设备25发送报文4001至控制器23。

403,控制器23向dhcp服务器24发送第三dhcp报文。

举例来说,控制器23的第一接收单元2305接收到cmc22发送的报文4001。第一获得单元2306从报文4001中获得rs消息、第一端口的信息和cm21的mac地址。第一获得单元2306获得第三dhcp报文。第三dhcp报文包括第一端口的信息和cm21的mac地址及所述rs消息,例如第一获得单元2306可将第一端口的信息和cm21的mac地址及所述rs消息作为中继转发消息的option内容,生成第三dhcp报文。第一发送单元2307可向dhcp服务器24发送第三dhcp报文。

举例来说,第一发送单元2307可通过汇聚转发设备25,向dhcp服务器24发送第三dhcp报文。或者,第一发送单元2307可直接向dhcp服务器24发送第三dhcp报文。

404,dhcp服务器24向控制器23发送中继应答消息。

举例来说,dhcp服务器24的接收单元2405接收到来自控制器23的第三dhcp报文。第一获得单元2406可从第三dhcp报文中获得cm21的mac地址。第一获得单元2406可根据cm21的mac地址,获得为用户终端分配的ip地址的前缀。

举例来说,dhcp服务器24的第二获得单元2407可根据第一获得单元2406所获得的为用户终端分配的ip地址的前缀,获得中继应答消息。中继应答消息包括为用户终端分配的ip地址的前缀。中继应答消息还包括第一端口的信息和cm21的mac地址。发送单元2410向控制器23发送中继应答消息。或者,发送单元2410通过汇聚转发设备25,向控制器23发送中继应答消息。

405,控制器23向cmc22发送报文4002。

举例来说,报文4002包括ra消息、第一端口的信息和cm21的mac地址。ra消息可包括dhcp服务器24为用户终端分配的ip地址的前缀。报文4002也可采用图10、图11或图12所示的报文格式。报文4002可采用与报文4001相同的格式,也可采用与报文4001不同的格式。报文4002与报文4001的不同之处在于,报文4002包括的ofp报文的payload携带ra消息。

举例来说,控制器23的第二接收单元2308接收到来自dhcp服务器24或汇聚转发设备25的中继应答消息。第二获得单元2309可根据获得的ra消息、第一端口的信息和cm21的mac地址,获得报文4002。第二发送单元2310可发送报文4002至汇聚转发设备25,通过汇聚转发设备25发送报文4002至cmc22。或者,第二发送单元2310可直接发送报文4002至cmc22。

406,cmc22向用户终端发送ra消息。

举例来说,cmc22的第三接收单元2210接收到报文4002。第二报文获得单元2211可从报文4002中获得ra消息、第一端口的信息和cm21的mac地址。第三发送单元2212可通过第一端口,发送ra消息至用户终端。

若用户终端是cm21,则ra消息包括的为用户终端分配的ip地址的前缀是cm21的ip地址的前缀;若用户终端是cm21连接的cpe,则dhcp服务器24为用户终端分配的ip地址的前缀是cpe的ip地址的前缀。

本发明实施例二提供的方法中,cmc22将包括rs消息的报文发送至控制器23,由控制器23生成第三dhcp报文。控制器具有dhcp中继功能,而如cmc22的网络节点可不具备dhcp中继功能。这样,网络节点无需支持dhcp协议,降低了网络节点的复杂度。

以用户终端为cm21为例,405之后,本发明实施例二提供的方法还包括:

控制器23通过报文4002发送配置参数和cm21的mac地址的对应关系至cmc22。配置参数包括配置文件的id和提供配置文件的服务器的地址。其中,提供配置文件的服务器可以是tftp服务器或tod服务器。

可选地,406之后,本发明实施例二提供的方法还可包括:

cmc22接收到来自cm21的配置文件请求报文,该配置文件请求报文包括配置参数。

cmc22确定配置文件请求报文包括的配置参数和获得的cm21的mac地址与控制器23下发的对应关系相同,向提供配置文件的服务器请求配置文件。其中,cmc22可采用与实施例一相同的方法,向提供配置文件的服务器请求配置文件。

可选地,本发明实施例二提供的方法还可包括:

cmc22确定配置文件请求报文包括的配置参数和获得的cm21的mac地址与控制器23下发的对应关系不同,通知用户终端配置文件请求失败。

可选地,本发明实施例二提供的方法还可包括:

cmc22可将提供配置文件的服务器发送的配置文件,转发给用户终端,使得用户终端用配置文件完成接入网络前的配置。

以用户终端为cpe为例,控制器23下发给cmc22的对应关系是cpe的ip地址的前缀和cm21的mac地址。cmc22可根据接收到的cpe的ip地址的前缀和cm21的mac地址的对应关系,对来自cpe的业务报文进行源地址校验(英文全称为sourceaddressverification,英文缩写为sav)。stb、emta等用户终端与cpe相同,在此不再赘述。

可选地,406之后,本发明实施例二提供的方法还可包括:

cmc22接收到来自cm21的配置文件请求报文,该配置文件请求报文包括配置参数。

cmc22向控制器23发送报文4003,由控制器23确定配置参数是否正确。其中,cmc22可采用实施例一所提供的方法,获得报文4003并向控制器23发送报文4003。

控制器23确定配置文件请求报文包括的配置参数和获得的cm21的mac地址与应关系相同,向提供配置文件的服务器发送配置文件请求报文。

可选地,本发明实施例二提供的方法还可包括:

控制器23确定配置文件请求报文包括的配置参数和获得的cm21的mac地址与应关系不同,通过cmc22,通知用户终端配置文件请求失败。

可选地,本发明实施例二提供的方法还可包括:

控制器23可通过cmc22,将提供配置文件的服务器发送的配置文件转发给用户终端,使得用户终端获得配置文件。其中,控制器23发送配置文件至cmc22的方法与本发明实施例一提供的方法相同。

以用户终端为cpe为例,控制器23保存的对应关系是cpe的ip地址的前缀和cm21的mac地址。控制器23可根据cpe的ip地址的前缀和cm21的mac地址的对应关系,对来自cpe的业务报文进行源地址校验(英文全称为sourceaddressverification,英文缩写为sav)。stb、emta等用户终端与cpe相同,在此不再赘述。

实施例三

图14为本发明实施例三提供的报文处理方法的示意图。下面结合图2至图8,对本发明实施例三提供的报文处理方法进行详细说明。

501,用户终端向cmc22发送报文5101。

举例来说,报文5101可以是实施例一中的dhcpdiscover报文、实施例一中的dhcprequest报文或实施例二中的rs消息,在此不再对报文5101所包括的内容进行赘述。

以用户终端为cm21为例,cm21可通过物理端口或逻辑端口,向cmc22发送报文5101。其中,报文5101可承载于cm21与cmc22间的业务流上。承载报文5101的业务流中可携带所述业务流的id。

502,cmc22向控制器23发送报文5001。

举例来说,报文5001包括报文5101、第一端口的信息和cm21的mac地址。报文5001是除dhcp报文之外的报文。第一端口是cmc22接收到报文5101的端口,第一端口可以是物理端口或逻辑端口。报文5001可采用图10、图11或图12所示的报文结构。报文5101可携带于ofp报文的payload中,ofp报文可携带于报文5001的payload中。

举例来说,cmc22的第一接收单元2205接收到cm21发送的报文5101。第一报文获得单元2206获得第一端口的信息和cm21的mac地址。第一报文获得单元2206可根据报文5101、第一端口的信息和cm21的mac地址,生成报文5001。其中,存储单元2213可存储有所述业务流的id和cm21的mac地址的对应关系。第一报文获得单元2206可根据报文5101携带的所述业务流的id和存储单元2213中保存的对应关系,获得cm21的mac地址。

举例来说,cmc22的第一发送单元2207可向控制器23发送报文5001。或者,第一发送单元2207可向汇聚转发设备25发送报文5001,通过汇聚转发设备25发送报文5001至控制器23。

503,控制器23向cmc22发送第四dhcp报文。

举例来说,控制器23的第一接收单元2305接收到cmc22发送的报文5001。第一获得单元2306从报文5001中获得报文5101、第一端口的信息和cm21的mac地址。第一获得单元2306获得第四dhcp报文。第四dhcp报文包括第一端口的信息和cm21的mac地址,例如第一获得单元2306可将第一端口的信息和cm21的mac地址携带于报文5101的option82字段,获得第四dhcp报文。第一发送单元2307可向cmc22发送第四dhcp报文。

504,cmc22向汇聚转发设备25发送第四dhcp报文。

举例来说,cmc22的第二接收单元2208接收控制器23发送的第四dhcp报文。第二发送单元2209向汇聚转发设备25发送第四dhcp报文。

505,汇聚转发设备25向控制器23发送报文5002。

举例来说,汇聚转发设备25的结构可与cmc22的结构相同。汇聚转发设备25在接收到第四dhcp报文后,可采用cmc22处理报文5101的方法,获得报文5002,在此不再赘述。报文5002可包括第四dhcp报文、第一端口、第三端口和cm21的mac地址。第三端口可以是汇聚转发设备25接收到dhcp报文的端口。第三端口可以是物理端口,也可以是逻辑端口。报文5002可采用图10、图11或图12所示的报文格式,即第四dhcp报文可携带于ofp报文的payload中,ofp报文可携带于报文5002的payload中。

506,控制器23向dhcp服务器24发送第五dhcp报文。

举例来说,控制器23可采用实施例一或实施例二中的方法,向dhcp服务器24发送第五dhcp报文,在此不再赘述。

507至509是可选地。dhcp服务器24可通过汇聚转发设备25和cmc22,向用户终端发送报文5102。或者,dchp服务器24采用图14中的507至509的方法,向用户终端发送报文5102。

507,dhcp服务器24向控制器23发送报文5102。

举例来说,若报文5101是dhcpdiscover报文,则报文5102是dhcpoffer报文。dhcpoffer报文与实施例一中的dhcpoffer报文相同,在此不再赘述。若报文5101是dhcprequest报文,则报文5102是dhcpack报文。dhcpack报文与实施例一中的dhcpack报文相同,在此不再赘述。若报文5101是rs消息,则报文5102是ra消息。ra消息与实施例二中的ra消息相同,在此不再赘述。

举例来说,dhcp服务器24可采用实施例一或实施例二中的方法,向控制器23发送报文5102,在此不再赘述。

508,控制器23向cmc22发送报文5003。

举例来说,报文5003包括报文5102、第一端口的信息和cm21的mac地址。报文5003是除dhcp报文之外的报文。报文5003可采用图10、图11或图12所示的报文结构。报文5102可携带于ofp报文的payload中,ofp报文可携带于报文5003的payload中。

举例来说,控制器23可采用实施例一或实施例二的方法,向cmc22发送报文5003。

可选地,控制器23还可向汇聚转发设备25发送报文5003。汇聚转发设备25可根据第三端口,发送报文5003至cmc22。

509,cmc22向用户终端发送报文5102。

举例来说,cmc22可采用实施例一或实施例二的方法,获得报文5102。cmc22可采用实施例一或实施例二的方法,向用户终端发送报文5102。

本发明实施例三提供的方法中,cmc22或汇聚转发设备25可不具备dhcp中继功能,即cmc22或汇聚转发设备25无需生成dhcp报文。控制器23具备dhcp中继功能,即控制器23根据接收到的包括报文5101或报文5102的报文生成dhcp报文。实施例三提供的方法,有助于降低网络节点的复杂度。

本发明的上述实施例中,cmc22、汇聚转发设备25、dhcp服务器24分别通过扩展的端口,与控制器23通信。cmc22、汇聚转发设备25、控制器23和dhcp服务器24上可按照被配置的转发规则或转发表项,转发报文。或者,cmc22、汇聚转发设备25、控制器23和dhcp服务器24均可获知每个端口所连接的网络节点,上述每个节点可根据每个端口所连接的网络节点和转发规则,实现报文的转发。例如:cmc22可根据第一转发规则,发送报文3001或报文4001至控制器23。cmc22可根据第二转发规则,发送ra消息至用户终端。cmc22可根据第三转发规则,发送dhcp报文至汇聚转发设备24。在此不再对每个节点的每一次转发过程进行逐一举例说明。

本发明的上述实施例中,报文3001至报文3004以及报文4001至报文4003这几类报文均属于除dhcp报文之外的报文。

上述处理器可以是微处理器或者该处理器也可以是任何常规的处理器。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。当使用软件实现时,可以将实现上述功能的代码存储在计算机可读介质中。计算机可读介质包括计算机存储介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以是随机存取存储器(英文全称为randomaccessmemory,英文缩写为ram)、只读存储器(英文全称为read-onlymemory,英文缩写为rom)、电可擦可编程只读存储器(英文全称为electricallyerasableprogrammableread-onlymemory,英文缩写为eeprom)、只读光盘(英文全称为compactdiscread-onlymemory,英文缩写为cd-rom)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质。计算机可读介质可以是压缩光碟(英文全称为compactdisk,英文缩写为cd)、激光碟、数字视频光碟(英文全称为digitalvideodisc,英文缩写为dvd)、软盘或者蓝光碟。

最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1