发明内容
有鉴于此,本公开提出了一种路径建立方法,应用于第一节点中,所述方法包括:
接收第一路径探测报文,所述第一路径探测报文用于进行路径探测;
根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,所述连接信息用于标识所述第一节点与相邻节点的连接关系,所述第一关联关系包括路径标识与连接信息的关联关系;或根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,所述IP地址包括所述第一节点的相邻节点的IP地址,所述第三关联关系包括路径标识与第二节点的IP地址的关联关系。
在一种可能的实施方式中,所述连接信息包括第二连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述连接信息还包括第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:建立所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述连接信息包括第二连接信息及第三连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:建立所述第二连接信息、所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括所述第一路径探测报文的来源节点的IP地址,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:建立所述第一路径探测报文的来源节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:建立所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括所述第一路径探测报文的来源节点的IP地址及第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:建立所述第一路径探测报文的来源节点的IP地址、所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述方法还包括:获取第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点;根据所述第一路径探测报文、所述第三节点的IP地址生成第二路径探测报文,并转发所述第二路径探测报文。
在一种可能的实施方式中,所述获取第三节点的IP地址,包括:从所述第一路径探测报文中获取所述第三节点的IP地址;或获取所述第一路径探测报文中的第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系;根据所述第三连接信息确定所述第三节点的IP地址。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径;或当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径,其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径;或当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径,其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同或不同。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径、及从目的节点到源节点的路径。
在一种可能的实施方式中,当所述第一节点为目的节点时,所述方法还包括:产生所述第一路径探测报文的反馈报文,其中,从目的节点到源节点的路径完成路径探测,目的节点至源节点路径上的各个节点具有沿着路径转发数据报文至源节点的能力,其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一种可能的实现方式中,所述方法还包括:产生所述第一路径探测报文的反馈报文,其中,从源节点到目的节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文至目的节点的能力,其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一种可能的实现方式中,当所述第一节点为目的节点时,所述方法还包括:产生所述第一路径探测报文的反馈报文,其中,从源节点到目的节点的路径、从目的节点到源节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文到路径上任意方向的能力,其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一种可能的实施方式中,当所述第一节点为源节点时,所述方法还包括:当确定所述第一路径探测报文中无第三节点的IP地址或下一跳为空或存在预设指示信息时,确认完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文到路径上任意方向的能力,其中,所述源节点为第一路径探测报文的发起节点,所述目的节点为待探测路径上源节点的对端节点。
在一种可能的实施方式中,当所述第一节点为源节点时,所述方法还包括:接收待探测路径的所有连接信息或IP地址、及路径标识;利用待探测路径的所有连接信息或IP地址、及路径标识生成所述第一路径探测报文。
在一种可能的实施方式中,所述方法包括:接收第一数据报文,根据所述第一数据报文中的路径标识确定第二节点的IP地址;根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,并转发所述第二数据报文。
在一种可能的实施方式中,根据所述第一数据报文中的路径标识确定第二节点的IP地址,包括:根据所述第一数据报文中的路径标识确定第一连接信息,其中,所述第一连接信息用于标识所述第一节点和第二节点的连接关系;根据所述第一连接信息确定所述第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文中的路径标识确定第一连接信息,包括:根据所述第一数据报文中的路径标识及第一关联关系确定所述第一连接信息。
在一种可能的实施方式中,所述根据所述第一连接信息确定所述第二节点的IP地址,包括:根据所述第一连接信息及预先建立的第二关联关系确定所述第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文中的路径标识确定第二节点的IP地址,包括:根据所述第一数据报文中的路径标识及第三关联关系确定第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,包括:去除所述第一数据报文的IP地址包头,得到中间数据报文;利用所述第二节点的IP地址在所述中间数据报文外层封装新的IP地址包头,得到所述第二数据报文。
在一种可能的实施方式中,所述方法还包括:当根据所述第一数据报文中的路径标识确定不存在第二节点的IP地址或根据预设指示信息指示自身为目标节点时,确定自身为目标节点。
根据本公开的另一方面,提出了一种路径建立装置,应用于第一节点中,所述装置包括:第一接收模块,用于接收第一路径探测报文,所述第一路径探测报文用于进行路径探测;第一确定模块,电连接于所述第一接收模块,用于根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,所述连接信息用于标识所述第一节点与相邻节点的连接关系,所述第一关联关系包括路径标识与连接信息的关联关系;或第二确定模块,电连接于所述第一接收模块,用于根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,所述IP地址包括所述第一节点的相邻节点的IP地址,所述第三关联关系包括路径标识与第二节点的IP地址的关联关系。
在一种可能的实施方式中,所述连接信息包括第二连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述连接信息还包括第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:建立所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述连接信息包括第二连接信息及第三连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:建立所述第二连接信息、所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括所述第一路径探测报文的来源节点的IP地址,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:建立所述第一路径探测报文的来源节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:建立所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括所述第一路径探测报文的来源节点的IP地址及第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:建立所述第一路径探测报文的来源节点的IP地址、所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述装置还包括:第一获取模块,用于获取第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点;第一生成模块,电连接于所述第一获取模块,用于根据所述第一路径探测报文、所述第三节点的IP地址生成第二路径探测报文,并转发所述第二路径探测报文。
在一种可能的实施方式中,所述获取第三节点的IP地址,包括:从所述第一路径探测报文中获取所述第三节点的IP地址;或获取所述第一路径探测报文中的第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系;根据所述第三连接信息确定所述第三节点的IP地址。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径;或当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径,其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径;或当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径,其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同或不同。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径、及从目的节点到源节点的路径。
在一种可能的实施方式中,当所述第一节点为目的节点时,所述装置还包括:第一产生模块,用于产生所述第一路径探测报文的反馈报文,其中,从目的节点到源节点的路径完成路径探测,目的节点至源节点路径上的各个节点具有沿着路径转发数据报文至源节点的能力,其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一种可能的实现方式中,从源节点到目的节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文至目的节点的能力。
在一种可能的实现方式中,从源节点到目的节点的路径、从目的节点到源节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文到路径上任意方向的能力。
在一种可能的实施方式中,当所述第一节点为源节点时,所述装置还包括:第一确认模块,用于当确定所述第一路径探测报文中无第三节点的IP地址或下一跳为空或存在预设指示信息时,确认完成路径探测,等待接收从源节点到目的节点的路径上的待转发数据报文,其中,所述源节点为第一路径探测报文的发起节点,所述目的节点为待探测路径上源节点的对端节点。
在一种可能的实施方式中,当所述第一节点为源节点时,所述装置还包括:第二接收模块,用于接收待探测路径的所有连接信息或IP地址、及路径标识;第二生成模块,电连接于所述第二接收模块,用于利用待探测路径的所有连接信息或IP地址、及路径标识生成所述第一路径探测报文。
在一种可能的实施方式中,所述装置包括:第三接收模块,用于接收第一数据报文,根据所述第一数据报文中的路径标识确定第二节点的IP地址;第三生成模块,电连接于所述第三接收模块,用于根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,并转发所述第二数据报文。
在一种可能的实施方式中,根据所述第一数据报文中的路径标识确定第二节点的IP地址,包括:根据所述第一数据报文中的路径标识确定第一连接信息,其中,所述第一连接信息用于标识所述第一节点和第二节点的连接关系;根据所述第一连接信息确定所述第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文中的路径标识确定第一连接信息,包括:根据所述第一数据报文中的路径标识及第一关联关系确定所述第一连接信息。
在一种可能的实施方式中,所述根据所述第一连接信息确定所述第二节点的IP地址,包括:根据所述第一连接信息及预先建立的第二关联关系确定所述第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文中的路径标识确定第二节点的IP地址,包括:根据所述第一数据报文中的路径标识及第三关联关系确定第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,包括:去除所述第一数据报文的IP地址包头,得到中间数据报文;利用所述第二节点的IP地址在所述中间数据报文外层封装新的IP地址包头,得到所述第二数据报文。
在一种可能的实施方式中,所述装置还包括:第三确定模块,用于当根据所述第一数据报文中的路径标识确定不存在第二节点的IP地址或根据预设指示信息指示自身为目标节点时,确定自身为目标节点。
根据本公开的一方面,提供了一种路径建立装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
执行所述的路径建立方法。
根据本公开的一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现所述的方法。
通过以上方法,本公开实施例可以根据第一路径探测报文中的第二连接信息及待探测路径的路径标识确定第一关联关系,或者根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,以建立第一节点至来源节点的路径,从而高效、快速地完成各个节点间的路径探测,本公开实施例的路径建立方法,降低了系统开销,在探测过程中,节点的数目也可以根据需要设置,提高了拓展空间,通过将源路由及标签交换结合,基于IP网络实现路径探测,还可以降低成本,实现传输资源的共享、以及跨运营商、云服务商、及其它类型网络服务商的资源整合。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术的隧道技术,如互联网安全协议(Internet Protocol Security,IPsec)、通用路由封装(Generic Routing Encapsulation,GRE)、虚拟扩展局域网(VirtualeXtensible Local Area Network,)VxLAN、第二层隧道协议(Layer Two TunnelingProtocol,L2TP)等,关注的重点是端到端之间的连接,对隧道的中转接点并无管控能力,对隧道的传输质量也无法控制,自然无法为用户提供增值服务,只能算是云组网的早期雏形。
相关技术中,互联网的基础协议IP路由协议,虽然在设计时提供了源路由选项,也支持对中转接点的选择,但其缺点也相当明显:一是需要每个报文都携带源路由选项,无形之中加大了系统开销(OverHead);二是受限于IP包头长度,能设置的中间源路由节点的数量也有限,且无法进一步扩展;三是源路由技术本身不包含中转接点的选择,仍然需要配合其他协议去完成探测及选路工作。
相关技术中,采用标签交换技术的MPLS(Multiprotocol Label Switching,多协议标签交换)则由于其昂贵的价格,以及对物理线路和设备的要求,与Internet的互通性,用户的独占性等,导致其无法充分实现对资源的共享。
鉴于相关技术存在的上述问题,为了提高传输质量、传输效率,并降低系统开销,实现对中转接点的控制,提高路径探测的效率,本公开提出了一种路径建立方法。
请参阅图1,图1示出了根据本公开实施例的路径建立方法的流程图。
所述方法应用于第一节点,如图1所示,所述方法包括:
步骤S11,接收第一路径探测报文,所述第一路径探测报文用于进行路径探测;
步骤S12,根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,所述连接信息用于标识所述第一节点与相邻节点的连接关系,所述第一关联关系包括路径标识与连接信息的关联关系;或
步骤S13,根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,所述IP地址包括所述第一节点的相邻节点的IP地址,所述第三关联关系包括路径标识与第二节点的IP地址的关联关系。
通过以上方法,本公开实施例可以根据第一路径探测报文中的第二连接信息及待探测路径的路径标识确定第一关联关系,或者根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,以建立第一节点至来源节点的路径,从而高效、快速地完成各个节点间的路径探测,本公开实施例的路径建立方法,降低了系统开销,在探测过程中,节点的数目也可以根据需要设置,提高了拓展空间,通过将源路由及标签交换结合,基于IP网络实现路径探测,还可以降低成本,实现传输资源的共享、以及跨运营商、云服务商、及其它类型网络服务商的资源整合。
在一种可能的实施方式中,路径探测报文的待探测的传输路径可以包括源节点、至少一个中转接点及目的节点,第一节点可以是源节点、任一中转接点、目的节点。其中,所述源节点为第一路径探测报文的发起节点,所述目的节点为待探测路径上源节点的对端节点。
在一个示例中,源节点和目的节点可以是客户终端设备,部署在用户网络接口(入口和/或出口),可以作为内网(如局域网)及外网(如互联网)的接口,也可以作为传输路径(如隧道)的起点、终点。在一个示例中,客户终端设备例如可以是终端,终端又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmentedreality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、车联网中的无线终端、公有云或私有云网络中的云主机等。
当然,以上描述是示例性的,源节点、目的节点也可以是其他任意可以进行收发数据报文到对端的设备,对此,本公开实施例不做限定。
在一个示例中,传输路径上的各个节点都可以生成从起始节点到目标节点的数据报文,
在一个示例中,中转接点也可以称为中转节点,中转节点是传输路径上提供数据包中转服务的点,或称为IP源路由节点。
在一个示例中,中转节点可以包括具有网络传输功能的网络设备,例如路由器、交换机等。
在一个示例中,中转节点可以包括公有云或私有云网络中的云主机等。
在一个示例中,中转节点也可以是基站(base station,BS),也可称为基站设备,是一种部署在无线接入网用以提供无线通信功能的装置。例如在2G网络中提供基站功能的设备包括基地无线收发站(英文:base transceiver station,简称:BTS)和基站控制器(base station controller,BSC),3G网络中提供基站功能的设备包括节点B(NodeB)和无线网络控制器(radio network controller,RNC),在4G网络中提供基站功能的设备包括演进的节点B(evolved NodeB,eNB),在无线局域网络(wireless local area networks,WLAN)中,提供基站功能的设备为接入点(access point,AP),5G新无线(New Radio,NR)中的提供基站功能的设备包括继续演进的节点B(gNB),以及未来新的通信系统中提供基站功能的设备等。
当然,以上对中转节点的描述是示例性的,不应视为是对本公开的限制。
应该说明的是,本公开实施例对传输路径中中转节点的数目不做限定,本领域技术人员可以根据需要设定。
在一种可能的实施方式中,IP地址可以包括多种版本,包括但不限于IPv4、IPv6及后续可能出现的其他版本IP协议等。
在一种可能的实施方式中,IP地址中还可以包括其他网络协议地址,例如,可以包括UDP地址、TCP地址等多种协议地址,还可以是/IPIP/GRE/VxLan等多种协议,还可以包括其他协议或RAW IP,对此本公开实施例不做限定。
在一个示例中,网络协议地址可以是UDP地址,本公开实施例将以网络协议地址为UDP地址对本公开进行示例性介绍。
在一个示例中,传输路径可以指源节点、中转接点、目的节点组成的传输系统中进行数据报文传输的路径,其中,连接信息可以是传输路径的一部分,即,传输路径可以视为由多个连接信息组成。
在一个示例中,连接信息可以是传输路径上相邻的两个节点之间的虚拟连接,连接信息对应的两个节点互为邻居。
在一个示例中,连接信息可以包括连接标识信息LinkID,通过连接标识信息,可以唯一确定该连接信息,例如,可以使用3个字节连接标识信息,在这种情况下,连接标识信息可以支持最大16M个连接信息。
当然,以上描述是示例性的,第三连接信息可以是下一跳节点的标识、MAC地址或其他可以唯一确定下一跳节点的信息。
下面对路径探测报文进行示例性介绍。
请参阅图2,图2示出了根据本公开实施例的路径探测报文的示意图。
在一个示例中,如图2所示,路径探测报文可以包括例如32位,可以携带控制字段及连接信息列表等,控制字段例如可以包括报文类型(或报文命令)等多个域。
在一个示例中,连接信息列表可以用于携带当前连接信息之后的所有连接信息。
在一个示例中,第一路径探测报文中的连接信息列表中的连接信息可以是按照顺序排列的,即列表中的第一个连接信息可以是当前节点与下一跳节点的连接信息,第二个连接信息可以是下一跳节点与下一跳节点的下一跳节点的连接信息,因此,可以获取连接信息列表中的第一个连接信息以作为第二连接信息,并将其从连接信息列表中弹出,以确保每一次从连接信息列表中获取的第一个连接信息都是当前节点与下一跳节点的连接信息。
当然,以上对路径探测报文的描述是示例性的,不应视为是对本公开的限制,在其他实施方式中,路径探测报文还可以被设置为其他格式,只要可以承载以上信息即可。
在一个示例中,当第一节点为源节点时,第一路径探测报文中的路径标识、连接信息可以是由编排器(Orchestrator)发送的,编排器可以用于负责管理、维护整个网络信息,采用集中管控的方式,统一管理和调配端节点(源节点、目的节点)、中转节点、各个节点间的连接信息等。
在一种可能的实施方式中,编排器可以利用具有执行指令功能的控制器实现,例如,可以包括微处理器、中央处理器(CPU)、存储器控制器中的控制逻辑部分等实现,包括但不限于以下型号的芯片:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及SiliconeLabs C8051F320。在所述处理器101内部,可以通过逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器等硬件电路执行所述可执行指令。
当然,编排器也可以是用专用硬件电路实现的,对此,本公开实施例不做限定。
请参阅图3,图3示出了根据本公开实施例提出的路径建立方法中第一关联关系的示意图。
在一种可能的实施方式中,如图3所示,第一关联关系可以是表格形式,或称为标签交换表。当然,在其他的实施方式中,第一关联关系也可以是其他的形式,对此本公开实施例不做限定。
在一个示例中,如图3所示,第一关联关系可以包括路径标识(IPOConn ID)与连接信息的关联关系。
在一个示例中,如图3所示,根据第一路径探测报文的传输方向的不同,连接信息可以至少包括两种,例如,当路径探测报文是源节点发送到目的节点的情况下,确定的关联关系中的连接信息为Link B(C2S下一跳,即源节点(C,client客户端)到目的节点(S,sever服务端)路径上的下一跳节点);当路径探测报文是目的节点反馈到源节点的情况下,根据确定的关联关系中的连接信息为Link A(S2C下一跳,即目的节点到源节点路径上的下一跳节点)。
在一个示例中,第一关联关系还可以包括其他信息,例如,如图3所示,还可以包括控制字段Ctrl字段,在一个示例中,可以针对不同的路径标识设置不同的控制信息,并将控制信息写入Ctrl字段,当第一节点接收到第一数据报文时,即可根据路径标识x确定对应的控制信息。
当然,本公开实施例对控制信息的类型、具体内容不做限定,本领域技术人员可以根据需要设定。
通过以上方法,本公开实施例可以确定传输路径中各个节点的第一关联关系,并存储在各个节点中,各个节点可以对自身的第一关联关系进行维护、修改、查看。
下面将对所述路径探测报文中各个步骤的可能实现方式进行示例性介绍。
在一种可能的实现方式中,所述连接信息包括第二连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,步骤S12根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,可以包括:
建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;
将所述第一关联关系存储到所述第一节点中。
在一个示例中,第一节点可以将路径标识写入到前述的第一关联关系的IPOConnID域中,并将第二连接信息写入对应的下一跳域中(例如S2C下一跳或C2S下一跳),从而利用所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系。
在一种可能的实现方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径。
在这种情况下,可以将待探测路径的路径标识写入到第一关联关系中的IPOConnID域中,并将第二连接信息写入到S2C下一跳域中,以得到第一节点到所述第一路径探测报文的源节点的路径。
在一个示例中,当需要转发从第一节点到所述第一路径探测报文的源节点的报文时,第一节点可以根据路径标识及第一关联关系获取C2S下一跳域中第二连接信息,并根据第二连接信息及第二关联关系确定所述第一路径探测报文的源节点的IP地址,从而实现报文的转发。
当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径(目的节点->源节点方向)。
在这种情况下,可以将待探测路径的路径标识写入到第一关联关系中的IPOConnID域中,并将第二连接信息写入到C2S下一跳域中,以得到第一节点到三节点的路径(源节点->目的节点方向)。
在一种可能的实施方式中,利用从源节点至目的节点方向的路径探测报文建立从目的节点到源节点的路径,利用从目的节点至源节点方向的路径探测报文建立从源节点到目的节点的路径时,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径应当相同。
在一个示例中,当需要转发从第一节点到第三节点的报文时,第一节点可以根据路径标识从第一关联关系中获取C2S下一跳域中第二连接信息,并根据第二连接信息及第二关联关系确定所述第三节点的IP地址,从而实现报文的转发。
在一种可能的实现方式中,当所述第一节点为目的节点时,所述方法还包括:
产生所述第一路径探测报文的反馈报文,
其中,从目的节点到源节点的路径完成路径探测,目的节点至源节点路径上的各个节点具有沿着路径转发数据报文至源节点的能力,
其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一个示例中,当路径探测报文从源节点到达目的节点时,目的节点到源节点的路径建立完成,在这种情况下,目的节点一方面可以生成反馈报文,并发送反馈报文以进行源节点到目的节点的路径探测,另一方面,各个节点可以转发从目的节点到源节点路径方向上的数据报文。
应该明白的是,本公开各个实施例找那个的“转发”可以是指从将上一节点的数据报文转发到下一节点(例如,中转接点将目的节点传来的数据报文转发到源节点),也可以是指任一节点生成数据报文并转发到下一节点,因此本公开实施例中的各个节点都具有生成数据报文、转发数据报文的能力。
在一个示例中,当路径探测报文(可以是源节点到目的节点的路径探测报文的反馈报文)从目的节点达到源节点时,源节点到目的节点的路径建立完成,在这种情况下,待探测路径的往返路径都建立完毕,路径上的各个节点都可以转发到该路径任意方向的数据报文,例如,源节点可以生成并转发数据报文到目的节点或其他中转接点。
通过以上方法,本公开实施例可以建立第二连接信息、路径标识的第一关联关系,以便于后续报文转发时,提高报文转发的效率、质量。并且,本公开实施例利用从源节点至目的节点方向的路径探测报文建立从目的节点到源节点的路径,利用从目的节点至源节点方向的路径探测报文建立从源节点到目的节点的路径,一方面可以提升路径创建的效率,快速确定各个节点的第一关联关系;另一方面,当在利用确定好的传输路径转发报文,而传输路径出现问题导致服务级别协议(Service-Level Agreement,SLA)不满足要求时,可以实现动态路径切换,在切换路径时仍然可以传输报文,实现无缝切换,提高报文传输效率及质量。
在一种可能的实施方式中,所述IP地址可以包括所述第一路径探测报文的来源节点的IP地址,所述步骤S13根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,可以包括:
建立所述第一路径探测报文的来源节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;
将所述第三关联关系存储到所述第一节点中。
在一个示例中,第一节点可以将路径标识写入到前述的第一关联关系的IPOConnID域中,并将来源节点的IP地址写入对应的下一跳域中(例如S2C下一跳或C2S下一跳),从而建立所述来源节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系。
应该说明的是,通过IP地址及路径标识建立第三关联关系的过程与通过连接信息及路径标识建立第一关联关系的过程类似,在此不再赘述。
当然,本公开实施例也可以依照前述的方法建立第一关联关系后,利用第一关联关系及预先建立的第二关联关系得到第三关联关系,对此,本公开实施例不做限定。
应该说明的是,以上介绍了正向传输的路径探测报文建立反向路径的示例,及反馈的路径探测报文(反向传输)建立正向路径的示例,但是,本公开实施例不限于此,在其他的实施方式中,正向传输的路径探测报文也可以建立正向路径,反向传输的路径探测报文也可以建立反向路径;正向传输的路径探测报文也可以建立正向路径和反向路径。
在一种可能的实施方式中,所述连接信息还可以包括第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,步骤S12根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,可以包括:
建立所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;
将所述第一关联关系存储到所述第一节点中。
在一个示例中,第一节点可以将路径标识写入到前述的第一关联关系的IPOConnID域中,并将第三连接信息写入对应的下一跳域中(例如S2C下一跳或C2S下一跳),从而利用所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系。
在一种可能的实施方式中,所述IP地址包括第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,步骤S13根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,可以包括:
建立所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;
将所述第三关联关系存储到所述第一节点中。
在一个示例中,第一节点可以将路径标识写入到前述的第一关联关系的IPOConnID域中,并将来源节点的IP地址写入对应的下一跳域中(例如S2C下一跳或C2S下一跳),从而建立所述来源节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径;或当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径,
其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同或不同。
在一种可能的实现方式中,所述方法还包括:
产生所述第一路径探测报文的反馈报文,
其中,从源节点到目的节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文至目的节点的能力,
其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一个示例中,当路径探测报文从源节点到达目的节点时,源节点到目的节点的路径建立完成,在这种情况下,目的节点一方面可以生成反馈报文,并发送反馈报文以进行目的节点到源节点的路径探测,另一方面,各个节点可以转发从源节点到目的节点路径方向上的数据报文,例如,源节点可以生成并转发数据报文到目的节点或其他中转接点。
在一个示例中,在一个示例中,当路径探测报文(可以是源节点到目的节点的路径探测报文的反馈报文)从目的节点达到源节点时,目的节点到源节点的路径建立完成,在这种情况下,待探测路径的往返路径都建立完毕,路径上的各个节点都可以转发到该路径任意方向的数据报文,例如,各个节点可以转发从目的节点到源节点路径方向上的数据报文。
通过以上方式,本公开实施例可以利用正向传输的路径探测报文建立正向路径,利用反向传输的路径探测报文(反馈报文)建立反向路径,以实现路径探测。
在一种可能的实施方式中,所述连接信息包括第二连接信息及第三连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,步骤S12根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:
建立所述第二连接信息、所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;
将所述第一关联关系存储到所述第一节点中。
在一个示例中,第一节点可以将路径标识写入到前述的第一关联关系的IPOConnID域中,并将第二连接信息及第三连接信息分别写入对应的下一跳域中(例如S2C下一跳及C2S下一跳),从而利用所述第二连接信息、第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,在第一关联关系中,包括所述第二连接信息及待探测路径的路径标识的关联关系,还包括所述第三连接信息及待探测路径的路径标识的关联关系。
在一种可能的实施方式中,所述IP地址可以包括所述第一路径探测报文的来源节点的IP地址及第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,步骤S13根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,可以包括:
建立所述第一路径探测报文的来源节点的IP地址、所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;
将所述第三关联关系存储到所述第一节点中。
在一个示例中,第一节点可以将路径标识写入到前述的第一关联关系的IPOConnID域中,并将来源节点的IP地址及第三节点的IP地址分别写入对应的下一跳域中(例如S2C下一跳及C2S下一跳),从而建立所述来源节点的IP地址、第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径、及从目的节点到源节点的路径。
在一个示例中,当第一路径探测报文到达目的节点时,传输路径的正向路径和反向路径都建立完成,在这种情况下,目的节点可以不生成反馈报文,路径探测结束。当然,在其他的示例中,目的节点也可以生成反馈报文,校验反馈路径是否正确(来回通路),在这种情况下,各个节点不根据反馈报文确定路径。
在一种可能的实现方式中,当所述第一节点为目的节点时,所述方法还包括:
产生所述第一路径探测报文的反馈报文,
其中,从源节点到目的节点的路径、从目的节点到源节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文到路径上任意方向的能力,
其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一个示例中,当路径探测报文从源节点到达目的节点时,目的节点到源节点的路径建立完成,在这种情况下,目的节点一方面可以生成反馈报文,并发送反馈报文以进行路径验证(也可以不发送反馈报文),另一方面,由于待探测路径的往返路径都建立完毕,路径上的各个节点都可以转发到该路径任意方向的数据报文,例如,源节点可以生成并转发数据报文到目的节点或其他中转接点,各个节点也可以转发从目的节点到源节点路径方向上的数据报文。
通过以上方法,本公开实施例可以利用第一路径探测报文确定同时确定正向路径和反向路径,提高路径探测效率。
基于以上多种情况,在一个示例中,在建立第一关联关系时,第二连接信息可以是前述的第一节点到下一跳节点的第一连接信息,也可以是从“下一跳节点”到第一节点的连接信息(反向)。
请参阅图4,图4示出了根据本公开一实施例的路径建立方法的流程图。
在一种可能的实现方式中,如图4所示,所述方法还可以包括:
步骤S14,获取第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点;
步骤S15,根据所述第一路径探测报文、所述第三节点的IP地址生成第二路径探测报文,并转发所述第二路径探测报文。
通过以上方法,本公开实施例可以根据所述第一路径探测报文、所述第三节点的IP地址生成第二路径探测报文,并转发所述第二路径探测报文,从而实现路径探测。
在一种可能的实施方式中,步骤S14获取第三节点的IP地址,包括:
从所述第一路径探测报文中获取所述第三节点的IP地址;或
获取所述第一路径探测报文中的第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系;
根据所述第三连接信息确定所述第三节点的IP地址。
当然,本公开实施例也可以直接从路径探测报文中获得第三节点的IP地址,对此,本公开实施例不做限定。
在一个示例中,所述“获取所述第一路径探测报文中的第三连接信息”可以包括:从第一路径探测报文中的连接信息列表(Link列表,如图2所示)获取第三连接信息。
在一个示例中,第一路径探测报文中的连接信息列表中的连接信息可以是按照顺序排列的,即列表中的第一个连接信息可以是当前节点与下一跳节点的连接信息,第二个连接信息可以是下一跳节点与下一跳节点的下一跳节点的连接信息,因此,可以获取连接信息列表中的第一个连接信息以作为第三连接信息,并将其从连接信息列表中弹出,以确保每一次从连接信息列表中获取的第一个连接信息都是当前节点与下一跳节点的连接信息。
当然,以上描述是示例性的,本领域技术人员还可以设置其他从连接信息列表获取第三连接信息的方式,例如,可以设置当前节点与第三连接信息的关联关系,以从连接信息列表中根据当前节点的信息确定第三连接信息,或,可以从协议上约定其他获取第三连接信息的顺序,也可以采用其他方式,对此,本公开实施例不做限定。
在一种可能的实施方式中,所述“根据所述第三连接信息确定所述第三节点的IP地址”,可以包括:
利用第三连接信息及第二关联关系确定所述第三节点的IP地址。
如前所述,第二关联关系可以为预设配置好,例如,可以是编排器预先设定的,并下发给每一个节点的,各个节点可以根据接收到的连接信息及第二关联关系确定下一跳节点的IP地址,以便于实现将报文转发到下一跳节点。
在一种可能的实施方式中,步骤S15根据所述第一路径探测报文、所述第三节点的IP地址生成第二路径探测报文,可以包括:
去除所述第一路径探测报文的IP地址包头,得到中间路径探测报文;
利用所述第三节点的IP地址在所述中间路径探测报文外层封装新的IP地址包头,得到所述第二路径探测报文。
通过以上方法,本公开实施例可以将第一路径探测报文中的IP地址替换为第三节点的IP地址,从而得到第二路径探测报文,第一节点根据第二路径探测报文中的IP地址,可以将第二路径探测报文发送到第三节点中,完成路径探测报文的转发。
当然,本公开实施例对去除IP地址包头的具体实施方式不做限定,对封装新的IP地址包头的具体实施方式也不做限定,本领域技术人员可以根据需要选择相关技术实现。
当然,在生成第二路径探测报文时,还可以根据路径探测报文的报文结构对内容进行调整,例如,可以利用所述第三连接信息更新中间路径探测报文中的当前连接信息域,弹出连接信息列表中处于第一个位置的第三连接信息,或写入其他需要的指令等。
在一种可能的实现方式中,当所述第一节点为目的节点时,所述方法还包括:
产生所述第一路径探测报文的反馈报文;和/或
等待转发从目的节点到源节点路径上的待转发数据报文,
其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
在一种可能的实现方式中,当所述第一节点为源节点时,所述方法还可以包括:
当确定所述第一路径探测报文中无第三节点的IP地址或下一跳为空或存在预设指示信息时,确认完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文到路径上任意方向的能力,等待接收从源节点到目的节点的路径上的待转发数据报文,
其中,所述源节点为第一路径探测报文的发起节点,所述目的节点为待探测路径上源节点的对端节点。
以根据第三连接信息确认IP地址为例,当第一路径探测报文为从目的节点反馈到源节点的报文时,源节点根据第一路径探测报文确定第三连接信息,如果连接信息列表已经为空,或不存在下一跳节点的第三连接信息(不存在下一跳节点的IP地址)、或存在预设指示信息(例如为预设的结束符等)时,源节点可以确定路径探测完成,已经得到了源节点-目的节点-源节点的完整传输路径,当源节点需要转发报文时,即可根据确定的传输路径进行报文转发。
在一种可能的实施方式中,第一节点可以是源节点、任一中转接点、目的节点,下面结合具体示例对路径探测过程进行示例性介绍。
在一种可能的实施方式中,编排器作为传输网络的控制器,可以根据传输网络中的节点信息建立各个节点之间的连接信息,并建立每个链接信息的第二关联关系,根据连接信息及第二管理关系可以确定连接信息对应的两个节点的IP地址等信息。
在一个示例中,编排器可以对所有的连接信息进行管理,例如,编排器可以将一些两两节点之间的低质量连接去除(去除对应的连接信息),并利用保留的连接信息组成overlay上层网络,overlay网络是在IP网络基础上形成的,编排器可以在overlay网络中确定源节点到目的节点的最优传输路径,得到该最优传输路径的所有连接信息,并将所有的连接信息发送到端节点(源节点、目的节点),以进行路径探测,以确定该最优传输路径能够传输报文。
假设传输路径为源节点A、中转节点B、中转节点C、目的节点D。
请参阅图5a、图5b、图5c、图5d、图5e、图5f、图5g,图5a、图5b、图5c、图5d、图5e、图5f、图5g示出了在源节点A、中转节点B、中转节点C、目的节点D创建传输路径的示意图。
在一个示例中,编排器将最优传输路径(待探测路径)所有连接信息(或IP地址)及路径标识发送到源节点A后,源节点可以根据路径标识及连接信息生成第一路径探测报文,示例性的,源节点可以利用获取连接信息中的第一个连接信息,并根据该连接信息及第二关联关系确定下一跳节点(如图5a所示,源节点A的下一跳节点为中转接点B)的IP地址,并利用IP地址、连接信息生成第一路径探测报文。
在一个示例中,编排器也可以将正向路径的连接信息或IP地址发送到源节点,将反向路径的连接信息或IP地址发送到目的节点,当路径探测报文到达目的节点时,目的节点可以根据反向路径的连接信息或IP地址生成反馈报文。
在一个示例中,如图5a所示,当源节点A生成第一路径探测报文后,即可将第一路径探测报文转发到下一跳节点即中转接点B,以确定中转接点B至源节点A的路径。
在一个示例中,如图5a所示,当中转接点B(当前的第一节点)接收到第一路径探测报文时,可以获取所述第一路径探测报文中的第二连接信息(或源节点的IP地址)及待探测路径的路径标识,并根据所述第二连接信息及待探测路径的路径标识确定第一关联关系,具体的,中转接点B可以将路径标识写入第一关联关系的IPOConn ID域中,并将第二连接信息写入到第一关联关系的S2C下一跳域中,建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,并将所述第一关联关系存储到所述中转接点B中。在得到第一关联关系后,中转接点B可以获取第一路径探测报文中的第三连接信息,根据所述第三连接信息确定所述第三节点(中转接点B)的IP地址,根据所述第一路径探测报文、所述第三节点(中转接点B)的IP地址生成第二路径探测报文,并转发所述第二路径探测报文到所述第三节点(中转接点B),以确定从中转接点C到中转接点B的传输路径。
在一个示例中,如图5b所示,当中转接点C(当前的第一节点)接收到第二路径探测报文时,可以获取所述第二路径探测报文中的第二连接信息及待探测路径的路径标识,并根据所述第二连接信息及待探测路径的路径标识确定第一关联关系,具体的,中转接点C可以将路径标识写入第一关联关系的IPOConn ID域中,并将第二连接信息写入到第一关联关系的S2C下一跳域中,建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,并将所述第一关联关系存储到所述中转接点C中。在得到第一关联关系后,中转接点C可以获取第二路径探测报文中的第三连接信息,根据所述第三连接信息确定所述目的节点D的IP地址,根据所述第二路径探测报文、所述目的节点D的IP地址生成第三路径探测报文,并转发所述第三路径探测报文到所述目的节点D,以确定从目的节点D到中转接点C的传输路径。
在一个示例中,如图5c所示,当目的节点D(当前的第一节点)接收到第三路径探测报文(当前的第二路径探测报文)时,可以获取所述第三路径探测报文中的第二连接信息及待探测路径的路径标识,并根据所述第三连接信息及待探测路径的路径标识确定第一关联关系,具体的,目的节点D可以路径标识写入第一关联关系的IPOConn ID域中,并将第二连接信息写入到第一关联关系的S2C下一跳域中,建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,并将所述第一关联关系存储到所述中转接点C中。
在一个示例中,当正向路径和反向路径的连接信息或IP地址都在路径探测报文中时,目的节点可以利用路径探测报文中的反向路径的连接信息或IP地址生成反馈报文;当反向路径的连接信息或IP地址在目的节点中时,目的节点可以从存储空间中获取反向路径的连接信息或IP地址以生成反馈报文。
在得到第一关联关系后,目的节点D可以获取第二路径探测报文中的第三连接信息(此时,目的节点D根据连接信息确定自己是目的节点,因此后续生成的是路径探测反馈报文,在这种情况下,第三节点为路径探测反馈报文返回的第一个节点),根据所述第三连接信息确定中转节点C的IP地址,根据所述第三路径探测报文、所述中转节点C的IP地址生成第四路径探测报文,并转发所述第四路径探测报文到所述中转节点C,以确定从中转节点C到目的接点D的传输路径。
在一个示例中,如图5d所示,当中转接点C(当前的第一节点)接收到第四路径探测报文(当前的第一路径探测报文)时,可以获取所述第四路径探测报文中的第二连接信息及待探测路径的路径标识,并根据所述第二连接信息及待探测路径的路径标识确定第一关联关系,具体的,中转接点C可以路径标识写入第一关联关系的IPOConn ID域中,并将第二连接信息写入到第一关联关系的C2S下一跳域中,建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,并将所述第一关联关系存储到所述中转接点C中。在得到第一关联关系后,中转接点C可以获取第一路径探测报文中的第三连接信息,根据所述第三连接信息确定所述第三节点(中转接点B)的IP地址,根据所述第四路径探测报文、所述第三节点(中转接点B)的IP地址生成第五路径探测报文,并转发所述第五路径探测报文到所述第三节点(中转接点B),以确定从中转接点B到中转接点C的传输路径。
在一个示例中,如图5e所示,当中转接点B(当前的第一节点)接收到第五路径探测报文(当前的第一路径探测报文)时,可以获取所述第五路径探测报文中的第二连接信息及待探测路径的路径标识,并根据所述第二连接信息及待探测路径的路径标识确定第一关联关系,具体的,中转接点B可以路径标识写入第一关联关系的IPOConn ID域中,并将第二连接信息写入到第一关联关系的C2S下一跳域中,建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,并将所述第一关联关系存储到所述中转接点B中。在得到第一关联关系后,中转接点B可以获取第五路径探测报文中的第三连接信息,根据所述第三连接信息确定所述第三节点(源节点A)的IP地址,根据所述第五路径探测报文、所述第三节点(源节点A)的IP地址生成第六路径探测报文,并转发所述第六路径探测报文到所述第三节点(源节点A),以确定从源节点A到中转接点B的传输路径。
在一个示例中,如图5f所示,当源节点A(当前的第一节点)接收到第六路径探测报文(当前的第一路径探测报文)时,可以获取所述第六路径探测报文中的第二连接信息及待探测路径的路径标识,并根据所述第二连接信息及待探测路径的路径标识确定第一关联关系,具体的,源节点A可以路径标识写入第一关联关系的IPOConn ID域中,并将第二连接信息写入到第一关联关系的C2S下一跳域中,建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系,并将所述第一关联关系存储到所述中转接点B中。在得到第一关联关系后,源节点A可以尝试获取第五路径探测报文中的第三连接信息,发现第五路径探测报文中不存在第三连接信息,确认不存在下一跳节点,因此结束路径探测,得到了路径探测结果(如图5g所示)。
通过以上方法,编排器可以在当前所有Link组成的网络拓扑图中找出最优传输路径,下发给隧道两端节点(源节点、目的节点)。隧道源节点收到隧道参数(路径标识、连接信息)后,生成路径探测报文,并开始向目的端发送路径探测报文,路径探测报文中携带整条路径上各连接信息。路径上的各中转节点维护一个标签交换表(第一关联关系),当路径探测报文通过路径中的中转节点时,中转节点将把数据包的来源(上一跳信息)记录到标签交换表;路径探测报文到达目的节点后,目的节点响应该报文,并返回一个路径探测反馈报文;该报文反向经过路径中的中转节点时,在中转节点的标签交换表中记录另一个方向的路径信息;此时中转节点就维护了路径双方向的下一跳信息,当路径探测反馈报文回到源节点时,路径上各个中转点都已经完成了对路径信息的记录,此时路径已经建立,可以发送数据报文。
当进行报文转发时,数据报文中携带该路径(隧道)的Id(路径标识),数据报文每到一个中转节点(包括源节点和目的节点),通过查询标签交换表(第一关联关系),可以得到下一跳信息(第二连接关系),使用下一跳信息封装外层网络协议,实现互联网上的路径优化隧道传输。
本公开实施例实现了基于IP源路由的标签交换机制。在路径创建之初发送一些探测报文,来打通源节点到目的节点之间的路径,当路径完全建立后,开始正式传输数据报文。路径上的中转节点从探测报文中学习到隧道的路径信息,并保存到第一关联关系(也称为标签交换表),当数据流到达本节点时,通过查询本地标签交换表,找到数据流的下一跳转发方向,从而完成数据转发。
以上对通过正向传输的路径探测报文建立反向路径、反向传输的路径探测报文(反馈报文)建立正向路径为例,对路径探测过程进行了示例性介绍,但是应该明白的是,本公开实施例不止于此,根据前述的介绍,本公开实施例也可以通过正向传输的路径探测报文建立正向路径、或同时建立正向路径及反向路径,对此,本公开实施例不做限定。
在完成传输路径的探测时,本公开实施例的各个节点可以进行报文转发。
在一种可能的实施方式中,如图4所示,所述方法还可以包括:
步骤S16,接收第一数据报文,根据所述第一数据报文中的路径标识确定第二节点的IP地址;
步骤S17,根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,并转发所述第二数据报文。
通过以上方法,本公开实施例的第一节点可以根据接收的第一数据报文中的路径标识确定第二节点的IP地址,从而结合第一数据报文生成第二数据报文并进行转发,将源路由及标签交换结合,实现对报文传输过程中任意的第一节点的控制,提高了传输效率及传输质量,同时,减少了包交换所需的报文头管理字段的大小从而降低了系统开销,在传输过程中,节点的数目也可以根据需要设置,提高了拓展空间,基于标签交换的IP overlay机制实现数据传输,还可以降低成本,实现传输资源的共享、以及跨运营商、云服务商、及其它类型网络服务商的资源整合。
在一种可能的实施方式中,数据报文的传输路径可以包括源节点、至少一个中转接点及目的节点,第一节点可以是源节点、任一中转接点、目的节点。应该说明的是,数据报文的报文源节点可以是传输路径中的任意一个节点,目标节点可以是除自身以外的其他任意一个节点,即,数据报文可以从传输路径上的任意一个节点开始,发送到其他任意一个节点。示例性的,可以是从源节点发送到目的节点或任意一个中转接点,也可以从目的节点发送源节点或任意一个中转接点,对此,本公开实施例不做限定。传输路径中的源节点和目的节点可以指传输路径的两个端节点。下面进行介绍时,假定数据报文从传输路径的源节点发送到目的节点,以此为示例,对报文转发过程进行描述,应理解,此假设不是为了限定本公开实施例,而是为了便于读者理解。
在一个示例中,当所述第一节点为源节点时,所述第一数据报文可以包括下面结合传输路径对所述报文转发方法进行示例性介绍。
在一个示例中,当所述第一节点为源节点时,所述第一数据报文可以包括待转发的报文数据(或称为业务数据)及路径标识。其中,路径标识是传输路径的唯一标识,根据路径标识,各个节点可以确定下一跳节点的信息。即,对于一条传输路径(或隧道),利用路径标识可以唯一确定该传输路径的组成。
在这种情况下,第一数据报文中的路径标识可以是由编排器(Orchestrator)发送的,编排器可以用于负责管理、维护整个网络信息,采用集中管控的方式,统一管理和调配端节点(源节点、目的节点)、中转节点、各个节点间的连接信息等。
以上对第一节点的可能应用场景进行了介绍,应该明白,以上对各个节点类型、数目的描述是示例性的,不应视为是对本公开的限制。
请参阅图6,图6示出了根据本公开实施例的数据报文的示意图。
在一种可能的实施方式中,如图6所示,数据报文第一包括IP域、IPOConn域、数据域,其中,IP域可以用于携带下一跳节点的IP地址信息,IPOConn域可以用于携带路径标识,数据域可以用于携带报文数据。在一个示例中,IP域中还可以包括其他的网络协议地址域(未示出),用于承载其他的网络协议地址,例如网络协议域可以用于携带下一跳节点的网络协议地址信息。
在一个示例中,如图6所示,IPOConn域可以包括多个字段(例如NetId,VNI,相关标签),示例性的,IPOConn域可以包括32Bits,其中NetId可以占8Bits,可以用于标识当前所属网络标识;相关标签(Label)可以占21Bits,用于标识端到端的连接;VNI占3Bits,可以用于标识相同端到端的不同优先级的隧道连接,用于隧道Qos控制。
在一个示例中,路径标识可以指整个IPOConn域携带的信息,也可以是相关标签的信息。对于不同的传输路径,可以配置不同的相关标签,在这种情况下,无论是相关标签还是IPOConn域携带的总体信息,都可以用于唯一识别传输路径,不会造成混淆。
当然,本公开实施例对相关标签的具体配置方式不做限定,本领域技术人员可以根据需要进行设定,只要对于一个传输路径,具有唯一的、对应的相关标签即可。
在一种可能的实现方式中,步骤S16根据所述第一数据报文中的路径标识确定第二节点的IP地址,可以包括:
根据所述第一数据报文中的路径标识确定第一连接信息,其中,所述第一连接信息用于标识所述第一节点和第二节点的连接关系;
根据所述第一连接信息确定所述第二节点的IP地址。
通过以上方法,本公开实施例可以根据所述第一数据报文中的路径标识确定第一连接信息,并根据所述第一连接信息确定所述第二节点的IP地址。
在一个示例中,当源节点需要发送报文数据时,源节点可以利用路径标识确定第一节点(源节点)和第二节点(源节点的下一跳节点)的连接关系的标识即第一连接信息,根据第一连接信息确定所述第二节点的IP地址,从而结合第一数据报文生成第二数据报文并进行转发。
在一个示例中,当第一节点是中转节点时,所述第一数据报文可以是前一个节点(例如源节点或前一个中转节点)发送而来,第一数据报文中携带有路径标识、报文数据等信息,当第一节点接收到第一数据报文时,第一节点(中转接点)可以利用路径标识确定第一节点和第二节点的连接关系的标识即第一连接信息,根据第一连接信息确定所述第二节点的IP地址,从而结合第一数据报文生成第二数据报文并进行转发。
在一个示例中,当第一节点是目的节点时,第一数据报文可以来自于上一跳中转节点,若第一节点(目的节点)根据第一数据报文中的路径标识确定不存在第二节点的IP地址(例如若第一数据报文中不存在第一连接信息,则可以确定不存在第二节点的IP地址),即不存在下一跳节点时,或根据预设指示信息(例如可以为编排器预先指示,可以为各种形式的结束符等)指示自身为目的节点,第一节点可以确认自身是目的节点,在这种情况下,若IP地址中还包括其他的网络协议地址,第一节点可以根据第一数据报文中的网络协议地址(例如UDP地址),将报文数据转发到对应的应用程序。
以上对第一节点的可能应用场景进行了介绍,应该明白,以上对各个节点类型、数目的描述是示例性的,不应视为是对本公开的限制。
下面对所述报文转发方法的各个步骤的可能实现方式进行示例性介绍。
在一种可能的实现方式中,所述根据所述第一数据报文中的路径标识确定第一连接信息,可以包括:
根据所述第一数据报文中的路径标识及预先建立的第一关联关系确定所述第一连接信息,其中,所述第一关联关系包括路径标识与连接信息的关联关系。
通过以上方法,本公开实施例的第一节点可以根据路径标识及第一关联关系确定第一连接信息,以便于确定下一跳节点信息。
在一种可能的实现方式中,所述根据所述第一连接信息确定所述第二节点的IP地址,可以包括:
根据所述第一连接信息及预先建立的第二关联关系确定所述第二节点的IP地址,其中,所述第二关联关系包括连接信息与对应节点的IP地址的关联关系。
通过以上方法,本公开实施例的第一节点可以利用确定的第一连接信息及第二关联关系确定第二节点的IP地址,以便后续生成第二数据报文。
在一个示例中,第二关联关系可以提前建立,传输路径中每个节点都可以维护自身的第二关联关系,其中,第二关联关系可以是表格的形式,也可以是其他形式,对此,本公开实施例不做限定。
在一个示例中,可以利用第二关联关系查找与第一连接信息对应的第二节点的IP地址。
以上介绍了通过连接信息及第一关联关系、第二关联关系确定IP地址的方式,本公开实施例不限于此,下面对其他可能的实现方式进行介绍。
在一种可能的实施方式中,每个节点可以包括节点标识(ID),第二关联关系也可以包括连接信息与节点的关联关系,及节点ID与IP地址的关联关系,所述根据所述第一连接信息确定所述第二节点的IP地址,还可以包括:
根据第一连接信息及第二关联关系确定第二节点的节点ID,并根据第二节点的节点ID确定第二节点的IP地址。
在一种可能的实现方式中,所述根据所述第一数据报文中的路径标识确定第二节点的IP地址,还可以包括:
根据所述第一数据报文中的路径标识及第三关联关系确定第二节点的IP地址,其中,所述第三关联关系包括路径标识与第二节点的IP地址的关联关系。
在一种可能的实施方式中,第三关联关系可以提前建立,由编排器指定,对此本公开实施例不做限定。
在一个示例中,可以将第一关联关系及第二关联关系合并,得到路径标识与IP地址的第三关联关系;或可以直接建立路径标识与第二节点的IP地址的第三关联关系,从而,本公开实施例可以根据第一数据报文的路径标识直接可以确定第二节点的IP地址,对此,本公开实施例不做限定。
在一种可能的实现方式中,步骤S17根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,可以包括:
去除所述第一数据报文的IP地址包头,得到中间数据报文;
利用所述第二节点的IP地址在所述中间数据报文外层封装新的IP地址包头,得到所述第二数据报文。
通过以上方法,本公开实施例可以将第一数据报文中的IP地址替换为第二节点的IP地址,从而得到第二数据报文,第一节点根据第二数据报文中的IP地址,可以将第二数据报文发送到第二节点中,完成数据报文的转发。
应该说明的是,数据报文中IP地址域域可以包括多个地址子域,例如,可以包括来源节点地址子域、当前节点地址子域、下一跳节点地址子域等,在生成第二数据报文时,本公开实施例可以对下一跳节点地址子域中的地址进行修改,在一个示例中,以上介绍了对第一数据报文中对下一跳节点的IP地址和网络协议地址的修改方式,本公开实施例的其他实施方式中,对数据报文的来源节点地址子域及其他地址子域中的IP地址既可以进行修改,也可以不进行修改,对此,本公开实施例不做限定。
当然,本公开实施例对去除IP地址包头的具体实施方式不做限定,对封装新的IP地址包头的具体实施方式也不做限定,本领域技术人员可以根据需要选择相关技术实现。
下面以传输路径包括源节点、中转节点、目标节点为例对报文转发方法进行示例性介绍。
在一个示例中,当源节点需要发送报文数据(可以是自身产生的报文数据,也可以是从其他设备接收到的报文数据),源节点(当前的第一节点)利用预先配置的传输路径的路径标识查询源节点存储的第一关联关系,确定与下一跳节点(中转节点)的第一连接信息,并利用第一连接信息查询第二关联关系,确定中转节点的IP地址,在确定了中转节点的IP地址后,源节点利用中转节点的IP地址更新第一数据报文中的IP地址域和网络协议地址域,得到第二数据报文,并转发第二数据报文到中转节点。
在一个示例中,当中转节点(当前的第一节点)接收到第二数据报文(当前的第一数据报文),即可利用第二数据报文中的路径标识查询中转节点中存储的第一关联关系,确定下一跳节点(目的节点)的第一连接信息,并利用第一连接信息查询存储的第二关联关系,确定目的节点的IP地址,在确定了目的节点的IP地址后,中转节点利用中转节点的IP地址更新第二数据报文(当前的第一数据报文)中的IP地址域和网络协议地址域,得到第三数据报文(当前的第二数据报文),并转发第三数据报文到目的节点。
在一个示例中,当目的节点(当前的第一节点)接收到第三数据报文(当前的第一数据报文),利用第三数据报文中的路径标识查询自身存储的第一关联关系,确定下一跳节点的第一连接信息,若确定不存在对应的第一连接信息,即可确定没有下一跳节点(若不存在对应的第一连接信息,则可以确定不存在下一跳节点的IP地址),即当前节点为目的节点,在这种情况下,目的节点可以将第三数据报文中的报文数据发送到网络协议地址对应的应用程序。当然,也可以结合编排器发送到目的节点的链接信息,联合确认当前节点是否为目的节点,当二者均指示当前节点为目的节点时,可确认当前节点为目的节点,并将报文数据发送到应用程序。
应该明白的是,以上描述是示例性的,中转接点的数目可以根据实际情况和需要设定,对此本公开实施例不做限定。
以上以利用连接信息、第一关联关系、第二关联关系对报文转发过程进行了示例性介绍,应该明白的是,以IP地址、第三关联关系结合的方式转发报文具有相似的过程,对此,本公开实施例不再赘述。
通过以上方法,本公开实施例可以实现对任意数目的中转节点的控制,提高了传输效率及传输质量,同时,减少了包交换所需的报文头管理字段的大小从而降低了系统开销,在传输过程中,节点的数目也可以根据需要设置,提高了拓展空间,基于标签交换的IPoverlay机制实现数据传输,还可以降低成本,实现传输资源的共享、以及跨运营商、云服务商、及其它类型网络服务商的资源整合。
请参阅图7,图7示出了根据本公开实施例的路径建立装置的框图。
所述装置应用于第一节点中,如图7所示,所述装置包括:
第一接收模块10,用于接收第一路径探测报文,所述第一路径探测报文用于进行路径探测;
第一确定模块20,电连接于所述第一接收模块10,用于根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,所述连接信息用于标识所述第一节点与相邻节点的连接关系,所述第一关联关系包括路径标识与连接信息的关联关系;或
第二确定模块30,电连接于所述第一接收模块10,用于根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,所述IP地址包括所述第一节点的相邻节点的IP地址,所述第三关联关系包括路径标识与第二节点的IP地址的关联关系。
通过以上装置,本公开实施例可以根据第一路径探测报文中的第二连接信息及待探测路径的路径标识确定第一关联关系,或者根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,以建立第一节点至来源节点的路径,从而高效、快速地完成各个节点间的路径探测,本公开实施例的路径建立方法,降低了系统开销,在探测过程中,节点的数目也可以根据需要设置,提高了拓展空间,通过将源路由及标签交换结合,基于IP网络实现路径探测,还可以降低成本,实现传输资源的共享、以及跨运营商、云服务商、及其它类型网络服务商的资源整合。
在一种可能的实施方式中,所述连接信息包括第二连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:
建立所述第二连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;
将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述连接信息还包括第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:
建立所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;
将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述连接信息包括第二连接信息及第三连接信息,所述第二连接信息用于标识所述第一路径探测报文的来源节点与所述第一节点的连接关系,所述第三连接信息用于标识所述第一节点及第三节点的连接关系,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的连接信息及待探测路径的路径标识确定第一关联关系,包括:
建立所述第二连接信息、所述第三连接信息及待探测路径的路径标识的关联关系,以得到第一关联关系;
将所述第一关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括所述第一路径探测报文的来源节点的IP地址,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:
建立所述第一路径探测报文的来源节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;
将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:
建立所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;
将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述IP地址包括所述第一路径探测报文的来源节点的IP地址及第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点,所述根据所述第一路径探测报文中的IP地址及待探测路径的路径标识确定第三关联关系,包括:
建立所述第一路径探测报文的来源节点的IP地址、所述第三节点的IP地址及待探测路径的路径标识的关联关系,以得到第三关联关系;
将所述第三关联关系存储到所述第一节点中。
在一种可能的实施方式中,所述装置还包括:
第一获取模块,用于获取第三节点的IP地址,所述第三节点为所述第一节点的下一跳节点;
第一生成模块,电连接于所述第一获取模块,用于根据所述第一路径探测报文、所述第三节点的IP地址生成第二路径探测报文,并转发所述第二路径探测报文。
在一种可能的实施方式中,所述获取第三节点的IP地址,包括:
从所述第一路径探测报文中获取所述第三节点的IP地址;或
获取所述第一路径探测报文中的第三连接信息,所述第三连接信息用于标识所述第一节点及第三节点的连接关系;根据所述第三连接信息确定所述第三节点的IP地址。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径;或
当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径,
其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径;或
当所述第一路径探测报文为从目的节点发送到源节点的反馈报文时,所述第一路径探测报文用于确定从目的节点到源节点的路径,
其中,从源节点发送到目的节点的路径探测报文与从目的节点到源节点的反馈报文路径相同或不同。
在一种可能的实施方式中,当所述第一路径探测报文为从源节点发送到目的节点中的报文时,所述第一路径探测报文用于确定从源节点到目的节点的路径、及从目的节点到源节点的路径。
在一种可能的实施方式中,当所述第一节点为目的节点时,所述装置还包括:
第一产生模块,用于产生所述第一路径探测报文的反馈报文,
在一个示例中,当从目的节点到源节点的路径完成路径探测,目的节点至源节点路径上的各个节点具有沿着路径转发数据报文至源节点的能力;
在一个示例中,当从源节点到目的节点的路径、从目的节点到源节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文到路径上任意方向的能力;
在一个示例中,当从源节点到目的节点的路径完成路径探测,源节点至目的节点路径上的各个节点具有沿着路径转发数据报文至目的节点的能力。
转发模块,用于转发或等待转发从目的节点到源节点路径上的待转发数据报文,
其中,所述目的节点为待探测路径上源节点的对端节点,所述源节点为第一路径探测报文的发起节点。
应该说明的是,本公开实施例中各个节点都具有转发模块,也可以具有报文生成模块,以在路径建立完成时,生成数据报文,并转发数据报文。
关于完成路径探测时进行数据报文转发的具体介绍,请参考之前的方法部分的描述,在此不再赘述。
在一种可能的实施方式中,当所述第一节点为源节点时,所述装置还包括:
第一确认模块,用于当确定所述第一路径探测报文中无第三节点的IP地址或下一跳为空或存在预设指示信息时,确认完成路径探测,等待接收从源节点到目的节点的路径上的待转发数据报文,
其中,所述源节点为第一路径探测报文的发起节点,所述目的节点为待探测路径上源节点的对端节点。
在一种可能的实施方式中,当所述第一节点为源节点时,所述装置还包括:
第二接收模块,用于接收待探测路径的所有连接信息或IP地址、及路径标识;
第二生成模块,电连接于所述第二接收模块,用于利用待探测路径的所有连接信息或IP地址、及路径标识生成所述第一路径探测报文。
在一种可能的实施方式中,所述装置包括:
第三接收模块,用于接收第一数据报文,根据所述第一数据报文中的路径标识确定第二节点的IP地址;
第三生成模块,电连接于所述第三接收模块,用于根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,并转发所述第二数据报文。
在一种可能的实施方式中,根据所述第一数据报文中的路径标识确定第二节点的IP地址,包括:
根据所述第一数据报文中的路径标识确定第一连接信息,其中,所述第一连接信息用于标识所述第一节点和第二节点的连接关系;
根据所述第一连接信息确定所述第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文中的路径标识确定第一连接信息,包括:
根据所述第一数据报文中的路径标识及第一关联关系确定所述第一连接信息。
在一种可能的实施方式中,所述根据所述第一连接信息确定所述第二节点的IP地址,包括:
根据所述第一连接信息及预先建立的第二关联关系确定所述第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文中的路径标识确定第二节点的IP地址,包括:
根据所述第一数据报文中的路径标识及第三关联关系确定第二节点的IP地址。
在一种可能的实施方式中,所述根据所述第一数据报文、所述第二节点的IP地址生成第二数据报文,包括:
去除所述第一数据报文的IP地址包头,得到中间数据报文;
利用所述第二节点的IP地址在所述中间数据报文外层封装新的IP地址包头,得到所述第二数据报文。
在一种可能的实施方式中,所述装置还包括:
第三确定模块,用于当根据所述第一数据报文中的路径标识确定不存在第二节点的IP地址或根据预设指示信息指示自身为目标节点时,确定自身为目标节点。
本公开实施例利用IP源路由的标签交换机制,在路径创建之初发送一些探测报文,来打通源节点到目的节点之间的路径,当路径完全建立后,开始正式传输数据报文。路径上的中转节点从探测报文中学习到隧道的路径信息,并保存到第一关联关系(也称为标签交换表),当数据流到达本节点时,通过查询本地标签交换表,找到数据流的下一跳转发方向,从而完成数据转发。
请参阅图8,图8示出了根据本公开实施例的路径建立装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由装置800的处理器820执行以完成上述方法。
请参阅图9,图9示出了根据本公开实施例的路径建立装置1900的框图。例如,装置1900可以被提供为一服务器。参照图9,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。