一种隧道代理方法
技术领域
本发明涉及一种隧道代理方法,尤其涉及一种OLT设备中实现自动配置隧道的隧道代理方法。
背景技术
EPON是由OLT(光线路终端)、ONU(光网络单元)和ODN(光分配网络)等构成的点到多点的系统,在现有的OLT的IPv6隧道技术中,一般采用通信设备两端手动配置的方法。隧道的两端设备,均需要手动配置隧道方式,且双方必须一致,隧道才能建立,并提供数据通道。如果其中一端不具备配置该隧道方式的能力,则隧道无法建立。这种业内通用做法在组网配置时不灵活,且网络拓变更时需要对新网络中的隧道进行重新配置,配置效率较低。
业内已有的现有技术中,自动配置的方法有在路由器通告报文中包含局端支持的隧道类型,终端收到路由器通告报文后根据报文选项中的信息自动切换隧道。此方案对网络拓扑变更适应性差。
随着IPv6商用步骤的逐渐加快,如果能够灵活的进行IPv6隧道配置则可以大量减少组网时的工作量,实现高效的网络构建。
发明内容
本发明提供一种隧道代理方法,可实现隧道自动配置,减少组网时的工作量,实现高效的网络构建。
为了达到上述目的,本发明提供一种隧道代理方法,该方法基于客户端ONU、控制平台和终端OLT实现,该方法包含以下步骤:
步骤A、控制平台判断客户端ONU是否收到终端OLT发送的包括隧道信息的路由器通告报文,若是,进行步骤B;
步骤B、控制平台收到包括隧道信息的路由器通告报文,建立隧道信息列表;
步骤C、控制平台判断终端OLT接收的客户端ONU返回的隧道类型是否与终端OLT隧道类型列表匹配,如果不匹配,进行步骤D,如果匹配,终端OLT发起ONU隧道配置请求,并在终端OLT侧配置相同的隧道类型,进行步骤F;
步骤D、终端OLT发起隧道变更请求,请求客户端ONU改变当前隧道类型,进行步骤E;
步骤E、客户端ONU根据备份隧道列表搜索与终端OLT隧道类型列表匹配的隧道类型,如果搜索成功,客户端ONU返回状态码3给终端OLT,则进行步骤F,如果搜索失败,客户端ONU返回状态码2给终端OLT,则进行手动配置流程;
步骤F、客户端ONU进行隧道配置,如果配置成功,返回状态码1给终端OLT,隧道建立,如果配置不成功,则返回状态码0给终端OLT,进行步骤D;
其中,状态码0代表客户端ONU隧道类型配置失败,不支持此类型;
状态码1代表客户端ONU隧道类型配置成功;
状态码2表示客户端ONU改变隧道类型失败;
状态码3表示客户端ONU改变隧道信息成功。
所述的步骤E中,进行手动配置流程的步骤包含以下步骤:
步骤a、终端OLT询问客户端ONU是否进行手动配置,如果客户端ONU返回状态码4给终端OLT,则进行步骤b,如果客户端ONU返回状态码5给终端OLT,则进行步骤c;
步骤b、客户端ONU主动发起路由器请求申请隧道信息,等待终端OLT响应,终端OLT状态切换为等待路由器通告报文状态,进行步骤A;
步骤c、终端OLT收到客户端ONU返回的手动配置指示后,自动配置流程终止;
其中,状态码4代表客户端ONU不支持此隧道类型;
状态码5代表客户端ONU不支持此隧道类型,返回手动配置隧道类型。
所述的终端OLT发送的隧道信息携带在扩展OAM帧的OAM协议数据单元信息报文中的组织专用信息类型-长度-值字段中;或者,隧道信息携带在扩展OAM帧的扩展OAM事件通告报文中;或者,隧道信息携带在扩展OAM帧的扩展OAM协议数据单元PDU格式中。
所述的隧道信息包含VLAN ID、隧道类型和UPLINK端口;
其中,VLAN ID表示当前连接网络所属域;隧道类型表示从终端OLT的通告报文中获取的隧道技术类别;UPLINK端口表示终端OLT的上联端口。
所述的客户端ONU获取隧道信息的方式包含:被动接收终端OLT发送的包括隧道信息的路由器通告报文,或者客户端ONU向终端OLT主动发起路由器请求申请隧道信息。
本发明可以更好的适应网络拓扑变化,当网络拓扑发生改变时,根据系统隧道信息列表,可以选择不同的域和上联端口,建立新的网络连接,对当前系统不存在适合通信两端的设备隧道配置需求时,可以主动请求终端增加隧道方式支持能力。
附图说明
图1是本发明的流程图。
具体实施方式
以下根据图1具体说明本发明的较佳实施例。
如图1所示,本发明提供一种OLT设备中实现自动配置隧道的隧道代理方法,该方法基于客户端ONU、控制平台和终端OLT实现,该方法包含以下步骤:
步骤1、控制平台判断客户端ONU是否收到终端OLT发送的包括隧道信息的路由器通告报文,若是,进行步骤2。
所述的终端OLT发送的隧道信息携带在扩展OAM(操作维护管理,OperationAdministration and Maintenance)帧的OAM协议数据单元信息报文中的组织专用信息类型-长度-值字段中;或者,隧道信息携带在扩展OAM帧的扩展OAM事件通告报文中;或者,隧道信息携带在扩展OAM帧的扩展OAM协议数据单元PDU(协议数据单元,Protocol DataUnit)格式中。
步骤2、控制平台收到包括隧道信息的路由器通告报文,建立隧道信息列表。
所述的隧道信息包含VLAN ID、隧道类型和UPLINK端口。
其中,VLAN ID表示当前连接网络所属域,终端OLT的下层设备客户端ONU,可以根据不同的VLAN ID,进行所属网络匹配;隧道类型表示从终端OLT的通告报文中获取的隧道技术类别;UPLINK端口表示终端OLT的上联端口。
表1是隧道信息列表的示意表:
表1
序号 |
VLAN ID |
隧道类型 |
UPLINK 端口 |
1 |
2 |
DS-Lite |
1 |
2 |
3 |
6RD |
2 |
3 |
4 |
6 to 4 |
3 |
4 |
2 |
6RD |
1 |
5 |
3 |
DS-Lite |
2 |
...... |
…… |
…… |
…… |
步骤3、控制平台判断终端OLT接收的客户端ONU返回的隧道类型是否与终端OLT隧道类型列表匹配,如果不匹配,进行步骤4,如果匹配,终端OLT发起ONU隧道配置请求,并在终端OLT侧配置相同的隧道类型,进行步骤9;
步骤4、终端OLT发起隧道变更请求,请求客户端ONU改变当前隧道类型;
步骤5、客户端ONU根据备份隧道列表搜索与终端OLT隧道类型列表匹配的隧道类型,如果搜索成功,客户端ONU返回状态码3给终端OLT,则进行步骤9,如果搜索失败,客户端ONU返回状态码2给终端OLT,则进行步骤6;
其中,状态码3表示客户端ONU改变隧道信息成功;
状态码2表示客户端ONU改变隧道类型失败;
步骤6、终端OLT询问客户端ONU是否进行手动配置,如果客户端ONU返回状态码4给终端OLT,则进行步骤7,如果客户端ONU返回状态码5给终端OLT,则进行步骤8;
其中,状态码4代表客户端ONU不支持此隧道类型;
状态码5代表客户端ONU不支持此隧道类型,返回手动配置隧道类型;
步骤7、客户端ONU主动发起路由器请求申请隧道信息,等待终端OLT响应,终端OLT状态切换为等待路由器通告报文状态;
步骤8、终端OLT收到客户端ONU返回的手动配置指示后,自动配置流程终止;
步骤9、客户端ONU进行隧道配置,如果配置成功,返回状态码1给终端OLT,隧道建立,如果配置不成功,则返回状态码0给终端OLT,进行步骤4;
其中,状态码1代表客户端ONU隧道类型配置成功;
状态码0代表客户端ONU隧道类型配置失败,不支持此类型。
以下根据具体实施例来说明本发明的方法:
终端OLT首先发送表2中的OAM_Ext_INFO OAMPDU消息到客户端ONU,此消息通知客户端ONU,终端OLT具备的隧道能力(即终端OLT支持的隧道类型),也称为终端OLT隧道能力通告消息。发送消息后,终端OLT接收状态,接收客户端ONU反馈的隧道响应消息。终端OLT具备的隧道能力信息在此OAMPDU消息中的扩展动作的“隧道信息”字段内。
表2:终端OLT隧道能力通告消息表。
目的地址 |
源地址 |
长度/类型=0x8809(表示为慢协议) |
子类型=0x03(表示OAM) |
状态指示=0x09(表示隧道交互事件) |
代码=0xFE(表示组织专用信息) |
OUI(表示组织专有标识) |
扩展动作代码=0x0B(用于OLT向ONU查询隧道信息) |
Brach=0xC9(表示扩展的操作) |
Leaf=0x0100(表示为OLT隧道能力通知消息) |
Variable Width=0x04(表示隧道信息的长度) |
隧道信息(OLT) |
FCS |
客户端ONU收到终端OLT的消息后,返回一个如表3中的OAM_Ext_INFO OAMPDU消息到终端OLT。此消息通知终端OLT,客户端ONU支持的隧道类型。也称为客户端ONU隧道信息能力响应。发送消息后,客户端ONU处于接收终端OLT下发隧道配置请求的状态。
表3:客户端ONU隧道信息能力响应表。
目的地址 |
源地址 |
长度/类型=0x8809(表示为慢协议) |
子类型=0x03(表示OAM) |
状态指示=0x09(表示隧道交互事件) |
代码=0xFE(表示组织专用信息) |
OUI(表示组织专有标识) |
扩展动作代码=0x0C(用于ONU向OLT响应隧道信息) |
Brach=0XC9(表示扩展的操作) |
Leaf=0x0101(表示为ONU隧道能力响应信息) |
Variable Width=0x04(表示隧道信息的长度) |
隧道信息(ONU) |
FCS |
终端OLT收到客户端ONU返回的隧道能力响应报文后,首先确认客户端ONU支持的隧道类型是否满足隧道建立的要求。如果客户端ONU响应的隧道信息能够与终端OLT支持的隧道类型匹配,终端OLT发送如表4所示的OAM_Ext_INFO OAMPDU消息到客户端ONU,请求客户端ONU配置隧道类型,也称为客户端ONU隧道方式配置请求。隧道类型配置依据终端OLT发送的OAMPDU中“隧道配置请求类型信息”。如果客户端ONU响应的隧道信息不能够与终端OLT支持的隧道类型匹配,终端OLT发送隧道变更请求,请求客户端ONU修改隧道类型。
表4:隧道配置请求类型信息表。
目的地址 |
源地址 |
长度/类型=0x8809(表示为慢协议) |
子类型=0x03(表示OAM) |
状态指示=0x09(表示隧道交互事件) |
代码=0xFE(表示组织专用信息) |
OUI(表示组织专有标识) |
扩展动作代码=0x0C(用于OLT向ONU请求配置隧道) |
Brach=0XC9(表示扩展的操作) |
Leaf=0x0102(表示OLT请求ONU配置隧道类型) |
Variable Width=0x04(表示隧道配置请求信息的长度) |
隧道配置请求类型信息 |
FCS |
客户端ONU收到终端OLT发送的隧道配置请求消息后,进行隧道方式配置。配置完成后,发送OAM_Ext_INFO OAMPDU到终端OLT。当客户端ONU隧道方式配置成功时,状态码返回为1,否则返回为0。
表5:隧道配置响应信息表。
目的地址 |
源地址 |
长度/类型=0x8809(表示为慢协议) |
子类型=0x03(表示OAM) |
状态指示=0x09(表示隧道交互事件) |
代码=0xFE(表示组织专用信息) |
OUI(表示组织专有标识) |
扩展动作代码=0x0D(用于ONU向OLT响应配置请求) |
Brach=0XC9(表示扩展的操作) |
Leaf=0x0103(表示ONU对OLT配置请求响应信息) |
Variable Width=0x04(表示隧道配置响应信息的长度) |
隧道类型配置响应信息 |
FCS |
客户端ONU返回如表5所示的隧道配置响应信息状态码到终端OLT。当返回状态码为0时,表示配置失败,不支持此类型。依据此状态码,终端OLT发起隧道配置变更请求,主动要求客户端ONU改变当前隧道类型,终端OLT发送隧道配置请求消息给客户端ONU,也称为终端OLT请求客户端ONU变更隧道类型消息。如表6所示,变更请求消息中,终端OLT主动要求客户端ONU隧道类型配置按照“请求ONU自动调整的隧道类型信息”。
表6:隧道能力变更请求信息表。
目的地址 |
源地址 |
长度/类型=0x8809(表示为慢协议) |
子类型=0x03(表示OAM) |
状态指示=0x09(表示隧道交互事件) |
代码=0xFE(表示组织专用信息) |
OUI(表示组织专有标识) |
扩展动作代码=0x0E(用于OLT向ONU发送隧道变更请求信息) |
Brach=0XC9(表示扩展的操作) |
Leaf=0x0104(表示为ONU隧道能力变更请求) |
请求ONU自动调整的隧道类型信息 |
FCS |
客户端ONU收到终端OLT发送的ONU隧道变更请求消息,根据隧道变更请求消息中的隧道信息搜索ONU备用隧道类型列表。客户端ONU搜索出匹配的隧道类型,自动配置成功,发送如表7中的OAMPDU消息到终端OLT,返回状态码3,通知客户端ONU变更隧道类型成功。客户端ONU无法搜索到匹配的隧道类型,发送如表7中的OAMPDU消息到终端OLT,返回状态码2和4,通知终端OLT客户端ONU变更隧道类型失败和不支持隧道类型,终端OLT收到后,发起路由器请求隧道信息申请,同时进入等待路由器通告响应状态。客户端ONU返回状态码2和5,通知终端OLT客户端ONU变更隧道失败、不支持隧道类型并返回手动配置隧道类型。
表7:响应隧道能力变更请求信息表。
目的地址 |
源地址 |
长度/类型=0x8809(表示为慢协议) |
子类型=0x03(表示OAM) |
状态指示=0x09(表示隧道交互事件) |
代码=0xFE(表示组织专用信息) |
OUI(表示组织专有标识) |
扩展动作代码=0x0F(用于ONU响应OLT隧道变更请求) |
Brach=0XC9(表示扩展的操作) |
Leaf=0x0105(表示为ONU响应隧道能力变更请求类型) |
ONU返回变更请求状态信息 |
FCS |
本发明可以更好的适应网络拓扑变化,当网络拓扑发生改变时,根据系统隧道信息列表,可以选择不同的域和上联端口,建立新的网络连接,对当前系统不存在适合通信两端的设备隧道配置需求时,可以主动请求终端增加隧道方式支持能力。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。