【技术实现步骤摘要】
一种数据报文传输方法和装置
本申请涉及通信
,尤其涉及一种数据报文传输方法和装置。
技术介绍
GRE(GenericRoutingEncapsulation,通用路由封装)隧道是一种常见隧道,可以对某些网络层协议(如IP)的数据报文进行封装,使这些被封装的数据报文能够在另一网络层协议(如IP)中传输,封装后的数据报文在网络中传输的路径称为GRE隧道,GRE隧道是一个点到点连接,其两端设备分别对数据报文进行封装和解封装。GRE隧道的工作原理如图1所示,数据报文1的源地址为主机1的IP地址,目的地址为主机2的IP地址,在数据报文1到达路由器A时,根据目的IP地址查询路由表,发现出接口是GRE隧道,则为数据报文1封装GRE头,得到数据报文2,GRE头的内容包括版本、协议、序列号等。然后为数据报文2封装IP头,得到数据报文3,IP头的源地址为路由器A的IP地址,目的地址为路由器B的IP地址。路由器A通过GRE隧道将数据报文3发送给路由器B,路由器B对数据报文3进行解封装,得到数据报文1,根据数据报文1的目的IP地址查询路由表,通过出接口将数据报文1发送到主机2。当企业分支机构众多时,可以在企业中心配置中心路由器,并在各个分支机构配置分支路由器,如图2所示的组网。若在中心路由器与每个分支路由器之间单独建立GRE隧道,则随着分支机构数量的增加,GRE隧道的数量会很多,配置工作量很大,而且中心路由器需要为每个GRE隧道单独分配IP地址,浪费地址资源。为此,提出了基于P2MP(Pointtomulti-point,点到多点)的GRE隧道技术,在每个分支路由器上配置G ...
【技术保护点】
一种数据报文传输方法,应用于中心路由器,其特征在于,该方法包括:接收数据报文,并利用所述数据报文的目的IP地址查询分支网段表;若不存在与所述目的IP地址匹配的隧道表项,则为目的地址表中的每个IP地址构造探测报文,所述探测报文携带所述目的IP地址;发送所述探测报文,以使与所述目的IP地址对应的分支路由器返回探测响应报文;接收分支路由器返回的探测响应报文,并利用所述探测响应报文获得与所述目的IP地址匹配的隧道表项,在所述分支网段表中记录所述隧道表项;利用与所述目的IP地址匹配的隧道表项发送所述数据报文。
【技术特征摘要】
1.一种数据报文传输方法,应用于中心路由器,其特征在于,该方法包括:接收数据报文,并利用所述数据报文的目的IP地址查询分支网段表;若不存在与所述目的IP地址匹配的隧道表项,则为目的地址表中的每个IP地址构造探测报文,所述探测报文携带所述目的IP地址;发送所述探测报文,以使与所述目的IP地址对应的分支路由器返回探测响应报文;接收分支路由器返回的探测响应报文,并利用所述探测响应报文获得与所述目的IP地址匹配的隧道表项,在所述分支网段表中记录所述隧道表项;利用与所述目的IP地址匹配的隧道表项发送所述数据报文。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到来自分支路由器的第一类报文时,从第一类报文中解析出外层源IP地址,判断目的地址表中是否存在与外层源IP地址匹配的隧道表项;若不存在与外层源IP地址匹配的隧道表项,则生成与外层源IP地址匹配的隧道表项,并在所述目的地址表中记录生成的隧道表项,并为生成的隧道表项设置老化定时器;若存在与外层源IP地址匹配的隧道表项,则刷新与外层源IP地址匹配的隧道表项的老化定时器的老化时间。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到来自分支路由器的第二类报文时,从所述第二类报文中解析出外层源IP地址以及内层源IP地址,并判断所述分支网段表中是否存在与所述外层源IP地址、所述内层源IP地址匹配的隧道表项;若不存在匹配的隧道表项,则生成与所述外层源IP地址、所述内层源IP地址匹配的隧道表项,并在所述分支网段表中记录生成的隧道表项,并为生成的隧道表项设置老化定时器;若存在匹配的隧道表项,则刷新与所述外层源IP地址、所述内层源IP地址匹配的隧道表项的老化定时器的老化时间。4.根据权利要求3所述的方法,其特征在于,所述从所述第二类报文中解析出外层源IP地址以及内层源IP地址之后,所述方法还包括:判断所述目的地址表中是否存在与外层源IP地址匹配的隧道表项;若不存在与外层源IP地址匹配的隧道表项,则生成与外层源IP地址匹配的隧道表项,并在所述目的地址表中记录生成的隧道表项,并为生成的隧道表项设置老化定时器;若存在与外层源IP地址匹配的隧道表项,则刷新与外层源IP地址匹配的隧道表项的老化定时器的老化时间。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:在根据所述中心路由器的配置信息确定需要删除所述分支网段表中的隧道表项,或者,根据删除命令确定需要删除所述分支网段表中的隧道表项,或者,根据隧道表项的老化定时器确定需要删除所述分支网段表中的隧道表项时,则从所述分支网段表中删除待删除的隧道表项,或者,将所述分支网段表中的待删除的隧道表项迁移到指定存储位置。6.根据权利要求1或5所述的方法,其特征在于,所述利用所述探测响应报文获得与所述目的IP地址匹配的隧道表项的过程,具体包括:从所述探测响应报文中解析出分支路由器的IP地址,并判断指定存储位置是否存在与所述分支路由器的IP地址、所述目的IP地址匹配的隧道表项;如果是,则从所述指定存储位置获得与所述分支路由器的IP地址、所述目的IP地址匹配的隧道表项,刷新该隧道表项的老化定时器的老化时间;如果否,则生成与所述分支路由器的IP地址、所述目的IP地址匹配的隧道表项,并为生成的隧道表项设置老化定时器。7.根据权利要求2或4所述的方法,其特征在于,所述方法还包括:在隧道表项的老化定时器超时时,根据所述隧道表项的外层源IP地址构造第三类报文,并向所述外层源IP地址对应的分支路由器发送所述第三类报文;若在预设时间内收到所述第三类报文对应的响应报文,则刷新所述隧道表项的老化定时器的老化时间;若在预设时间内未收到所述第三类报文对应的响应报文,则从所述目的地址表中删除所述隧道表项,或者,在隧道表项的老化定时器超时之前的第N秒,根据所述隧道表项的外层源IP地址构造第三类报文,并向所述外层源IP地址对应的分支路由器发送所述第三类报文;若在所述老化定时器超时之前,收到所述第三类报文对应的响应报文,则刷新所述隧道表项的老化定时器的老化时间;若在所述老化定时器超时之前,未收到所述第三类报文对应的响应报文,则从所述目的地址表中删除所述隧道表项;其中,N为大于0的数值。8.根据权利要求1所述的方法,其特征在于,所述利用所述数据报文的目的IP地址查询分支网段表之后,所述方法还包括:若存在与所述目的IP地址匹配的隧道表项,查询是否存在GRE隧道备份口;如果不存在GRE隧道备份口,利用与所述目的IP地址匹配的隧道表项发送所述数据报文;如果存在GRE隧道备份口,则比较隧道表项的优先级与GRE隧道备份口的优先级;如果隧道表项的优先级高于所述GRE隧道备份口的优先级,则利用与所述目的IP地址匹配的隧道表项发送所述数据报文;如果所述GRE隧道备份口的优先级高于隧道表项的优先级,则利用所述GRE隧道备份口发送所述数据报文。9.根据权利要求1所述的方法,其特征在于,所述利用所述数据报文的目的IP地址查询分支网段表之后,所述方法还包括:若不存在与目的IP地址匹配的隧道表项,则查询是否存在GRE隧道备份口;如果存在GRE隧道备份口,利用所述GRE隧道备份口发送所述数据报文;如果不存在GRE隧道备份口,则执行为目的地址表中的每个IP地址构造探测报文的过程;若在指定时间内接收到分支路由器返回的探测响应报文,则执行利用所述探测响应报文获得与所述目的IP地址匹配的隧道表项的过程;若在指定时间内未接收到分支路由器返回的探测响应报文,则丢弃所述数据报文。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:若通过GRE隧道备份口接收到数据报文,则设置该数据报文的入接口索引为所述GRE隧道备份口,并利用该数据报文的目的IP地址查询分支网段表;若不存在与该目的IP地址匹配的隧道表项,则判断该数据报文的入接口索引是否为所述GRE隧道...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。