【技术实现步骤摘要】
本专利技术涉及通信领域,尤其涉及一种报文转发方法和设备。
技术介绍
隧道技术是一种封装技术,即一种网络协议将其它网络协议的数据报文封装在自己的报文中,然后在网络中传输。封装后的数据报文在网络中传输的路径称为隧道。隧道是一条虚拟的点对点连接,隧道的两端需要对数据报文进行封装及解封装。隧道技术就是指包括数据封装、传输和解封装在内的全过程。但是应用组网中存在多隧道转发时,性能方面也会存在不足,主要体现在以下几个方面:( I)在隧道的路由过程中,进隧道时需要查看一次路由,加封装完毕后需要再次查看路由。如果是嵌套隧道,那么路由过程更加复杂,影响路由性能。(2)在嵌套隧道的封装过程中,每次都要等待上一层加封装完成后,根据IP封装头中目的IP地址进行路由进隧道加封装,有几层隧道嵌套就需要加封装几次,影响隧道加封装性能。(3)嵌套封装时需要多次本地环回路由,会受到设备封装次数限制。如图1所示,DUTl需要与DUT7通信,中间网络存在IPv4网络也存在IPv6网络,DUT2上存在三层嵌套隧道,DUTl发送的报文需要三次隧道封装最终发送到DUT7。图2示出了 DUT2上进行三层嵌套隧道转发的流程,图3示出了 DUT2上嵌套隧道加封装的示意图。可以看出,三层隧道嵌套转发流程,一共经历了 4次路由3次加封装:原始报文首先要根据目的IP地址路由然后进行隧道加封装,第一次隧道加封装后再次根据加封装后的目的IP地址进行第二次路由,然后进行隧道加封装,依次类推,原始报文从入DUT2到出DUT2 —共经历了 4次路由3次隧道加封装。
技术实现思路
本专利技术实施例提供了 一种报文转发方法和设 ...
【技术保护点】
一种报文转发方法,其特征在于,包括:?路由交换设备接收到报文后,根据所述报文的目的IP地址查询对应的下一跳路由;?若根据查询到的下一跳路由确定从隧道转发所述报文,则查询所述隧道对应的隧道封装表项;其中,隧道封装表项中至少包括:隧道封装信息和出接口信息;?所述路由交换设备根据查询到的隧道封装表项中的隧道封装信息对所述报文进行隧道封装,并根据该隧道封装表项中的出接口转发封装后的报文。
【技术特征摘要】
1.一种报文转发方法,其特征在于,包括: 路由交换设备接收到报文后,根据所述报文的目的IP地址查询对应的下一跳路由; 若根据查询到的下一跳路由确定从隧道转发所述报文,则查询所述隧道对应的隧道封装表项;其中,隧道封装表项中至少包括:隧道封装信息和出接口信息; 所述路由交换设备根据查询到的隧道封装表项中的隧道封装信息对所述报文进行隧道封装,并根据该隧道封装表项中的出接口转发封装后的报文。2.如权利要求1所述的方法,其特征在于,所述根据查询到的下一跳路由确定从隧道转发所述报文,具体包括: 若查询到的下一跳路由不存在等价路由,且出接口为隧道口,则确定从所述隧道口对应的隧道转发所述报文; 或者,若查询到的下一跳路由存在等价路由,且出接口中包括隧道口,则判断所述报文中是否携带选路算法指示信息,若携带,则确定从所述隧道口对应的隧道转发所述报文,其中所述报文中携带的选路算法指示信息,用于指示存在等价路由的情况下,优先选择隧道口为出接口。3.如权利要求2所述的方法,其特征在于,所述方法还包括: 若根据查询到的下一跳路由确定从隧道转发所述报文,并且所述隧道的隧道口上配置有选路算法指示信息,则将隧道口上配置的选路算法指示信息添加到所述报文的隧道封装中;其中,所述隧道口上配置的选路算法指示信息,用于指示存在等价路由的情况下,优先选择隧道口为出接口。4.如权利要求1所述的方法,其特征在于,隧道封装表项中还包括封装层数信息; 所述路由交换设备根据查询到的隧道封装表项中的隧道封装信息对所述报文进行隧道封装时,将该隧道封装表项中的封装层数信息封装到所述报文。5.如权利要求1所述的方法,其特征在于,隧道封装表项的建立过程,包括: 步骤A:当所述路由交换设备检测到其上配置的隧道的状态变为打开状态时,将该打开状态的隧道的封装信息添加到该隧道对应的隧道封装表项中; 步骤B:所述路由交换设备根据当前添加的隧道封装信息中的目的IP地址查询对应的下一跳路由,若根据查询到的下一跳路由确定对应的出接口为隧道口,则转入步骤C,否则转入步骤D ; 步骤C:所述路由交换设备将查询到的隧道口对应的隧道的封装信息添加到该打开状态的隧道对应的隧道封装表 项中,然后转入步骤B ; 步骤D:所述路由交换设备将下一跳路由的出接口添加到该打开状态的隧道对应的隧道封装表项中; 其中,所添加的隧道封装信息包括隧道的源IP地址和目的IP地址。6.如权利要求5所述的方法,其特征在于,所述步骤B中,根据查询到的下一跳路由确定对应的出接口是否为隧道口,具体包括: 若查询到的下一跳路由不存在等价路由,且出接口为隧道口,则确定下一跳路由对应的出接口为隧道口; 或者,若查询到的下一跳路由存在等价路由,并且当前添加隧道封装信息的隧道的隧道口上配置有选路算法指示信息,则在等价路由中存在隧道口的情况下,根据所述选路算法指示信息选择隧道口作为当前添加隧道封装信息的隧道的出接口,其中,所述隧道口上配置的选路算法指示信息,用于指示存在等价路由的情况下,优先选择隧道口为出接口。7.如权利要求5所述的方法,其特征在于,隧道封装表项中还包括封装层数信息;所述方法还包括: 在将隧道封装信息添加到隧道封装表项中之前,判断该隧道封装表项中的封装层数是否已经达到所允许的最大封装层数,若判定该隧道封装表项中的封装层数已经达到所允许的最大封装层数,则放弃建立该隧道封装表项; 在将隧道封装信息添加到隧道封装表项之后,更新该隧道封装表项中的封装层数信息。8.如权利要求1所述的方法,其特征在于,所述方法还包括: 若所述路由交换设备检测到其上配置的隧道的状态从打开状态变为关闭状态,则删除该关闭状态的隧道对应的隧道封装表项,并删除嵌套有该关闭状态隧道的隧道所对应的隧道封装表项; 若所述路由交换设备检测到隧道的目的地址的下一跳路由的出接口变化,且确定该隧道为单层隧道,则根据该隧道更新后的出接口更新该隧道对应的隧道封装表项,并更新嵌套有该隧道的隧道所对应的隧道封装表项; 若所述路由交换设备检测到隧道的目的地址的下一跳路由的出接口变化,且确定该隧道嵌套有其它隧道,则根据更新后的下一跳路由出接口更新该隧道对应的隧道封装表项,并更新嵌套有该隧道的隧道所对应的隧道封装表项。9.一种路由交换设备,其特征在于,包括:路由查询模块、隧道...
【专利技术属性】
技术研发人员:张野,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。