一种确定报文转发接口的方法及设备的制造方法

文档序号:9869890阅读:369来源:国知局
一种确定报文转发接口的方法及设备的制造方法
【技术领域】
[0001 ] 本发明涉及通信技术领域,尤其涉及一种确定报文转发接口的方法及设备。
【背景技术】
[0002]在多链接透明互联(英文!TransparentInterconnect1n of Lots of Links,简称:TRILL)网络中,通常采用以太网链路聚合(英文:Ethernet Trunk,简称:Eth_Trunk)以及等价多路径(英文:equal cost multiple path,简称:ECMP)构建以达到流量负载均衡的目的。其中,Eth-Trunk接口可以将若干以太网接口绑定为一个逻辑接口使用,所述逻辑接口内的多个以太网接口可以实现负载分担;而ECMP则指在源设备和目的设备之间存在多条不同链路。目的设备通过ECMP与Eth-Trunk的结合能够避免所有数据流通过一条固定链路进行转发,从而实现多链路负载均衡的目的。
[0003]由于TRILL网络规模比较大,在流量负载压力较大的情况下,连接两个设备的路径中的链路容易出现故障,导致报文丢失,流量中断。本申请中,路径是指包括至少三个设备的通道,而链路是直接连接两个设备的通道。现有技术通过两种手段对源设备与目的设备之间的路径逐一检测,确定发生故障的链路。如图1所示为转发报文的系统示意图,其中包括多条转发路径。第一种利用因特网包探索器(英文:Packet Internet Grope,简称:Ping)检查链路是否能够连通。当发现丢失报文的现象时(例如报文在路径3上丢失,路径3:源设备A-路由桥B-路由桥G-目的设备K),源设备A需要选择一条通往目的设备K的路径(如路径1:源设备A-路由桥B-路由桥E-目的设备K),对该路径上的各个链路进行检测。源设备A利用Ping通过路径I向目的设备K发送一个回声请求(英文:ech0request)报文,如果在预设时间内,源设备A能够收到目的设备K返回的回声响应(英文:echo r印Iy)报文,则说明源设备A选择的这一条路径上的链路能够连通。由于采用Eth-Trunk和ECMP实现负载分担时,源设备A与目的设备K之间存在多条路径,因此Ping检测的路径I并不是发生故障的那条路径,更无法确定路径中发生故障的那条链路,导致源设备A还需要检测其他路径才能找到故障链路,增加了检测时间。
[0004]第二种利用跟踪路由(英文:Trace Route to Host,简称:Tracert)对源设备A与目的设备K之间的路由桥(路由桥B-路由桥I)进行检测,确定发生故障的链路。同样如图1所示,当发现丢失报文的现象时(如在路径3上丢失报文),源设备A选择其中一条通往目的设备K的路径(如路径2:源设备A-路由桥B-路由桥F-目的设备K),利用Tracert向目的设备K发送包括不同生存时间(英文:time to live,简称:TTL)值的跟踪报文。源设备A先发送一个TTL值为I的跟踪报文给路由桥B,路由桥B在转发该跟踪报文前至少将TTL值减1,若报文的TTL值减为0,则路由桥B向源设备A发送一个超时的信息,源设备就得到该路由桥B的地址,即确定了转发该跟踪报文的路由桥为路由桥B。随后的每次重新发送报文的过程中,源设备A将报文中的TTL值加1,并重复上述过程,直到跟踪报文到达目的设备K。然而,若路由桥B在转发跟踪报文后丢失了该报文,由于路由桥B与目的设备K之间存在3条路径,分别为路径BEK、BFK以及BGK,因此并不能获知跟踪报文是在这三条路径中的哪一条路径被丢弃。由此,源设备A需要继续发送跟踪报文逐条检测路由桥B以后的路径BEK、BFK以及BGK,同样增加检测时间,降低检测效率。
[0005]总之,现有技术中采用的路径检测的方法,检测时间较长,检测效率较低。

【发明内容】

[0006]本发明提供一种确定报文转发接口的方法及设备,用于通过确定中间设备转发跟踪报文的接口获知发生故障的链路,降低检测时间,提高检测效率。
[0007]本发明第一方面提供一种确定报文转发接口的方法,包括:
[0008]接收源设备在发现报文丢失后发送的跟踪报文,所述跟踪报文包括指示信息,所述指示信息用于请求获取中间设备用于转发所述跟踪报文的接口的信息,所述跟踪报文的地址与所述丢失的报文的地址相同,所述中间设备为位于所述跟踪报文的转发路径上的设备;
[0009]根据所述跟踪报文的地址以及所述中间设备存储的哈希算法,从能够转发所述跟踪报文的多个接口中确定所述中间设备用于转发所述跟踪报文的接口;
[0010]向所述源设备发送回应报文,所述回应报文携带所述中间设备用于转发所述跟踪报文的接口的信息,所述回应报文用于使所述源设备确定发生故障的链路。
[0011]结合本发明的第一方面的实现方式,在第一方面的第一种可能的实现方式中,所述跟踪报文的地址包括以下至少一种:
[0012]所述源设备的媒体接入控制MAC地址、目的设备的MAC地址、所述源设备的互联网协议IP地址以及所述目的设备的IP地址。
[0013]结合本发明的第一方面的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述跟踪报文的地址以及所述中间设备存储的哈希算法,从能够转发所述跟踪报文的多个接口中确定所述中间设备用于转发所述跟踪报文的接口之前,所述方法还包括:
[0014]当检测到所述指示信息时,解析所述跟踪报文,得到所述跟踪报文的地址。
[0015]结合本发明的第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述得到所述跟踪报文的地址之后,所述方法还包括:
[0016]获取所述中间设备进行哈希运算时采用的参数,所述参数包括所述源设备的MAC地址、所述目的设备的MAC地址、所述源设备的IP地址以及所述目的设备的IP地址中的至少一种;
[0017]获取所述中间设备存储的能够转发所述跟踪报文的多个接口的信息;
[0018]所述根据所述跟踪报文的地址以及所述中间设备存储的哈希算法,从能够转发所述跟踪报文的多个接口中确定所述中间设备用于转发所述跟踪报文的接口,具体包括:
[0019]根据所述中间设备存储的哈希算法,对所述参数对应的所述跟踪报文的地址进行哈希运算;
[0020]根据所述哈希运算的结果从所述多个接口中确定所述中间设备用于转发所述跟踪报文的接口。
[0021]结合本发明的第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取所述中间设备存储的能够转发所述跟踪报文的多个接口的信息,具体包括:
[0022]根据所述跟踪报文的地址查询所述中间设备存储的地址列表,获得目的路由桥的别名,所述目的路由桥为与所述目的设备连接的路由桥;
[0023]根据所述目的路由桥的别名查询所述中间设备存储的别名转发表,获得所述中间设备能够转发所述跟踪报文至所述目的路由桥的多个接口的信息。
[0024]本发明第二方面提供一种确定报文转发接口的设备,包括:
[0025]接收模块,用于接收源设备在发现报文丢失后发送的跟踪报文,所述跟踪报文包括指示信息,所述指示信息用于请求获取中间设备用于转发所述跟踪报文的接口的信息,所述跟踪报文的地址与所述丢失的报文的地址相同,所述中间设备为位于所述跟踪报文的转发路径上的设备;
[0026]确定模块,用于根据所述跟踪报文的地址以及所述中间设备存储的哈希算法,从能够转发所述跟踪报文的多个接口中确定所述中间设备用于转发所述跟踪报文的接口;
[0027]发送模块,用于向所述源设备发送回应报文,所述回应报文携带所述中间设备用于转发所述跟踪报文的接口的信息,所述回应报文用于使所述源设备确定发生故障的链路。
[0028]结合本发明的第二方面的实现方式,在第二方面的第一种可能的实现方式中,所述跟踪报文的地址包括以下至少一种:
[0029]所述源设备的媒体接入控制MAC地址、目的设备的MAC地址、所述源设备的互联网协议IP地址以及所述目的设备的IP地址。
[0030]结合本发明的第二方面的实现方式,在第二方面的第二种可能的实现方式中,所述设备还包括:
[0031]解析模块,用于当检测到所述指示信息时,解析所述跟踪报文,得到所述跟踪报文的地址。
[0032]结合本发明的第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述设备还包括:
[0033]第一获取模块,用于获取所述中间设备进行哈希运算时采用的参数,所述参数包括所述源设备的MAC地址、所述目的设备的MAC地址、所述源设备的IP地址以及所述目的设备的IP地址中的至少一种;
[0034]第二获取模块,用于获取所述中间设备存储的能够转发所述跟踪报文的多个接口的信息;
[0035]则所述确定模块,包括:
[0036]运算单元,用于根据所述中间设备存储的哈希算法,对所述参数对应的所述跟踪报文的地址进行哈希运算;
[0037]确定单元,用于根据所述哈希运算的结果从所述多个接口中确定所述中间设备用于转发所述
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1