首页 / 专利库 / 家用器具 / 定时器 / 一种报文处理方法和装置

一种报文处理方法和装置

阅读:43发布:2020-05-11

专利汇可以提供一种报文处理方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供一种报文处理方法,应用于第一网络设备,其中第一网络设备向第二网络设备发送第一报文,第一报文的控制报文头包括第一编号,第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号,第一网络设备接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。通过第一网络设备和第二网络设备之间的报文编号以及确认报文,可以对网络设备之间的报文传输进行有效的控制。,下面是一种报文处理方法和装置专利的具体信息内容。

1.一种报文处理方法,应用于第一网络设备,其特征在于:
向第二网络设备发送第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;
接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
2.根据权利要求1所述的方法,所述方法还包括:
向所述第二网络设备再次发送所述第一报文。
3.根据权利要求2所述的方法,再次向所述第二网络设备发送所述第一报文之前还包括:
所述第一确认报文包括所述第二网络设备没有收到所述第一报文的指示,或者第一报文的定时器到时且没有收到来自第二网络设备的确认报文。
4.根据权利要求2所述的方法,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第二网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
5.根据权利要求1所述的方法,所述方法还包括:
根据所述第一确认报文得到所述第一网络设备和所述第二网络设备之间网络状况。
6.根据权利要求2所述的方法,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间,再次发送的第一报文包括更新后的第一编号的时戳。
7.根据权利要求1所述的方法,所述第一报文的控制报文头还包括转发路径字段以及指示第一网络设备在转发路径中位置的字段。
8.根据权利要求1所述的方法,所述第一报文的控制报文头还包括隧道类型字段,不同隧道类型的报文对应不同的第一编号队列。
9.根据权利要求1所述的方法,所述第一报文还包括IP报文头,所述控制报文头是所述IP报文头的上层报文头,所述IP报文头的源IP地址是所述第一网络设备的IP地址,所述IP报文头的目的IP地址是所述第二网络设备的IP地址。
10.根据权利要求1所述的方法,所述第一报文的报文头还包括第二编号,所述第二编号用于指示携带所述第二编号的报文在第三网络设备和第四网络设备之间的报文编号。
11.根据权利要求10所述的方法,所述第一报文的报文头还包括第二编号的时戳,所述第二编号的时戳用于指示所述第三网络设备发送携带所述第二编号的报文的时间。
12.根据权利要求11所述的方法,所述第三网络设备和所述第一网络设备为同一个网络设备,所述第四网络设备和所述第二网络设备为不同的网络设备,所述第四网络设备位于所述第一网络设备和所述第二网络设备之间,或者所述第二网络设备位于所述第一网络设备和所述第四网络设备之间,所述方法还包括:
接收来自所述第四网络设备的第二确认报文,所述第二确认报文包括所述第四网络设备是否收到所述第一报文的指示。
13.根据权利要求12所述的方法,所述方法还包括:
向所述第四网络设备再次发送所述第一报文。
14.根据权利要求13所述的方法,再次向所述第四网络设备发送所述第一报文之前还包括:
所述第二确认报文包括所述第四网络设备没有收到所述第一报文的指示,或者第一报文的定时器到时且没有收到来自第四网络设备的确认报文。
15.根据权利要求12所述的方法,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第四网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
16.根据权利要求12所述的方法,所述方法还包括:
根据所述第二确认报文得到所述第一网络设备和所述第四网络设备之间网络状况。
17.根据权利要求11所述的方法,所述第三网络设备和所述第一网络设备为同一个网络设备,所述第二网络设备为所述第一网络设备和所述第四网络设备之间的第一路径上的网络设备,第五网络设备为所述第一网络设备和所述第四网络设备之间的第二路径上的网络设备,所述方法还包括:
向所述第五网络设备发送第五报文,所述第五报文的控制报文头包括第五编号和所述第二编号,所述第五编号用于指示携带所述第五编号的报文在所述第一网络设备和所述第五网络设备之间的报文编号,所述第一报文和所述第五报文的净荷相同。
18.根据权利要求11所述的方法,所述第三网络设备和所述第一网络设备为不同的网络设备,所述第一网络设备位于所述第三网络设备和所述第四网络设备之间,所述向第二网络设备发送第一报文之前还包括:
接收来自上游网络设备的第二报文,所述第二报文的控制报文头包括所述第二编号和第三编号,所述第三编号用于指示携带所述第三编号的报文在所述上游网络设备和所述第一网络设备之间的报文编号;
将所述第二报文的控制报文头中的第三编号修改为所述第一编号,得到所述第一报文。
19.根据权利要求18所述的方法,所述方法还包括:
向所述上游网络设备发送第三确认报文,所述第三确认报文包括所述第二网络设备是否收到所述第二报文的指示。
20.根据权利要求18所述的方法,所述第二报文的控制报文头还包括累加往返时延字段,所述得到所述第一报文还包括:
根据所述第一网络设备和所述第二网络设备之间的往返时延更新所述第二报文的控制报文头中的累加往返时延字段,得到所述第一报文。
21.一种报文处理方法,应用于第二网络设备,其特征在于:
接收来自第一网络设备的第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;
向所述第一网络设备发送第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
22.根据权利要求21所述的方法,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间。
23.根据权利要求22所述的方法,所述第一报文的控制报文头还包括所述第一编号和所述第一编号的时戳。
24.一种网络设备,所述网络设备为第一网络设备,其特征在于,包括:
发送模,用于向第二网络设备发送第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;
接收模块,用于接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
25.根据权利要求24所述的设备,所述发送模块还用于向所述第二网络设备再次发送所述第一报文。
26.根据权利要求25所述的设备,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第二网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
27.根据权利要求24所述的设备,所述第一报文的报文头还包括第二编号,所述第二编号用于指示携带所述第二编号的报文在第三网络设备和第四网络设备之间的报文编号。
28.一种第二网络设备,其特征在于,包括:
接收模块,用于接收来自第一网络设备的第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;
发送模块,用于向所述第一网络设备发送第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
29.根据权利要求28所述的设备,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间。
30.根据权利要求29所述的设备,所述第一报文的控制报文头还包括所述第一编号和所述第一编号的时戳。

说明书全文

一种报文处理方法和装置

技术领域

[0001] 本申请涉及通信技术领域,特别涉及一种报文处理方法和装置。

背景技术

[0002] 当前网络应用主要有两端的主机(个人计算机、手机、服务器等)和中间的网络(有线网络、无线网络等)构成,主机之间进行交互的数据经由中间的网络进行传输。数据传输的控制(丢包重传、速率控制等)由主机完成,中间的网络不参与,中间的网络只做尽而为的、无状态的转发服务。
[0003] 现有技术中,发送端主机根据接收端主机回复的确认报文猜测网络状况,进而调整发送速率,该机制有很大的误判性,导致传输控制的效果不佳。发明内容
[0004] 本发明实施例提供一种报文处理方法和装置,用以解决现有技术中报文传输控制的问题。
[0005] 第一方面,一种报文处理方法,应用于第一网络设备,第一网络设备向第二网络设备发送第一报文,第一报文的控制报文头包括第一编号,第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号,第一网络设备接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0006] 本发明实施例中,通过第一网络设备和第二网络设备之间的报文编号以及确认报文,可以对网络设备之间的报文传输进行有效的控制。
[0007] 在一种可能的设计中,所述方法还包括:向所述第二网络设备再次发送所述第一报文。
[0008] 本发明实施例中,在发现丢包或可能丢包的时候,第一网络设备可以重传第一报文,对第一网络设备和第二网络设备之间业务损伤进行随路和及时的修复,保证业务传输的可靠性和及时性。
[0009] 在一种可能的设计中,再次向所述第二网络设备发送所述第一报文之前还包括:所述第一确认报文包括所述第二网络设备没有收到所述第一报文的指示,或者第一报文的定时器到时且没有收到来自第二网络设备的确认报文。
[0010] 本发明实施例中,重传可以根据明确的确认报文来触发,也可以根据重传定时器和确认报文的结合来触发。
[0011] 在一种可能的设计中,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第二网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
[0012] 本发明实施例中,为了统筹考虑业务端到端的时延或上层传输协议的重传机制,通过重传指示信息字段对网络设备之间的重传进行限制,当发生重传时,对重传报文的重传指示信息字段进行更新,以避免过度的重传或者无意义的重传。
[0013] 在一种可能的设计中,所述方法还包括:根据所述第一确认报文得到所述第一网络设备和所述第二网络设备之间网络状况。
[0014] 本发明实施例中,可以根据确认报文得到所述第一网络设备和所述第二网络设备之间网络状况,从而可以指导后续的路径选择,多路径并发决策,多路径负载分担决策等。
[0015] 在一种可能的设计中,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间,再次发送的第一报文包括更新后的第一编号的时戳。
[0016] 本发明实施例中,第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间,该时戳可以用于第一网络设备和第二网络设备之间的往返时延计算,当重传发生时,为保证往返时延计算的准确性,更新重传报文的第一编号的时戳字段。
[0017] 在一种可能的设计中,所述第一报文的控制报文头还包括转发路径字段以及指示第一网络设备在转发路径中位置的字段。
[0018] 本发明实施例中,控制报文头的转发路径字段以及指示第一网络设备在转发路径中位置的字段可以用于指导后续网络设备如何进行转发,将报文沿着指定的路径进行转发,以方便进行传输控制。
[0019] 在一种可能的设计中,所述第一报文的控制报文头还包括隧道类型字段,不同隧道类型的报文对应不同的第一编号队列。
[0020] 本发明实施例中,将相同类型的业务报文汇聚到一条隧道里进行传输控制,维护状态少,粒度大,易于实施。
[0021] 在一种可能的设计中,所述第一报文还包括IP报文头,所述控制报文头是所述IP报文头的上层报文头,所述IP报文头的源IP地址是所述第一网络设备的IP地址,所述IP报文头的目的IP地址是所述第二网络设备的IP地址。
[0022] 本发明实施例中,在控制报文头的下层封装IP报文头,可以继承IP网络的既有优势和已有的基础设施投资,极大的方便大规模的商用。
[0023] 在一种可能的设计中,所述第一报文的报文头还包括第二编号,所述第二编号用于指示携带所述第二编号的报文在第三网络设备和第四网络设备之间的报文编号。
[0024] 本发明实施例中,网络设备可以进行双层的传输控制,如果第一编号是OE-OE级传输控制,那么第二编号是ON-ON级传输控制,如果第一编号是ON-ON级传输控制,那么第二编号是OE-OE级传输控制。如果第一网络设备是入口边缘网络设备,那么第一网络设备和第三网络设备是同一个网络设备,即执行ON-ON级传输控制,又执行OE-OE级传输控制。
[0025] 在一种可能的设计中,所述第一报文的报文头还包括第二编号的时戳,所述第二编号的时戳用于指示所述第三网络设备发送携带所述第二编号的报文的时间。
[0026] 在一种可能的设计中,所述第三网络设备和所述第一网络设备为同一个网络设备,所述第四网络设备和所述第二网络设备为不同的网络设备,所述第四网络设备位于所述第一网络设备和所述第二网络设备之间,或者所述第二网络设备位于所述第一网络设备和所述第四网络设备之间,所述方法还包括:接收来自所述第四网络设备的第二确认报文,所述第二确认报文包括所述第四网络设备是否收到所述第一报文的指示。
[0027] 在一种可能的设计中,所述方法还包括:向所述第四网络设备再次发送所述第一报文。
[0028] 在一种可能的设计中,再次向所述第四网络设备发送所述第一报文之前还包括:所述第二确认报文包括所述第四网络设备没有收到所述第一报文的指示,或者第一报文的定时器到时且没有收到来自第四网络设备的确认报文。
[0029] 在一种可能的设计中,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第四网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
[0030] 在一种可能的设计中,所述方法还包括:根据所述第二确认报文得到所述第一网络设备和所述第四网络设备之间网络状况。
[0031] 在一种可能的设计中,所述第三网络设备和所述第一网络设备为同一个网络设备,所述第二网络设备为所述第一网络设备和所述第四网络设备之间的第一路径上的网络设备,第五网络设备为所述第一网络设备和所述第四网络设备之间的第二路径上的网络设备,所述方法还包括:向所述第五网络设备发送第五报文,所述第五报文的控制报文头包括第五编号和所述第二编号,所述第五编号用于指示携带所述第五编号的报文在所述第一网络设备和所述第五网络设备之间的报文编号,所述第一报文和所述第五报文的净荷相同。
[0032] 本发明实施例中,第一网络设备和第四网络设备之间的传输控制是OE-OE级传输控制,第一网络设备和第二网络设备之间的传输控制是ON-ON级传输控制,第一网络设备和第五网络设备之间的传输控制是ON-ON级传输控制。第一网络设备和第四网络设备之间可以通过两条路径传输报文,第一路径经过第二网络设备,第二路径经过第五网络设备。如果通过第一路径和第二路径进行冗余并发传输,那么第一报文和第五报文的净荷相同。如果通过第一路径和第二路径进行负载分担传输,那么第一报文和第五报文的净荷不同。
[0033] 在一种可能的设计中,所述第三网络设备和所述第一网络设备为不同的网络设备,所述第一网络设备位于所述第三网络设备和所述第四网络设备之间,所述向第二网络设备发送第一报文之前还包括:接收来自上游网络设备的第二报文,所述第二报文的控制报文头包括所述第二编号和第三编号,所述第三编号用于指示携带所述第三编号的报文在所述上游网络设备和所述第一网络设备之间的报文编号;将所述第二报文的控制报文头中的第三编号修改为所述第一编号,得到所述第一报文。
[0034] 本发明实施例中,第三网络设备和第四网络设备之间的传输控制是OE-OE级传输控制,第一网络设备和第二网络设备之间的传输控制是ON-ON级传输控制,上游网络设备和第一网络设备之间传输控制是ON-ON级传输控制。
[0035] 在一种可能的设计中,所述方法还包括:向所述上游网络设备发送第三确认报文,所述第三确认报文包括所述第二网络设备是否收到所述第二报文的指示。
[0036] 在一种可能的设计中,所述第二报文的控制报文头还包括累加往返时延字段,所述得到所述第一报文还包括:根据所述第一网络设备和所述第二网络设备之间的往返时延更新所述第二报文的控制报文头中的累加往返时延字段,得到所述第一报文。
[0037] 第二方面,一种报文处理方法,应用于第二网络设备,其特征在于:
[0038] 接收来自第一网络设备的第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;向所述第一网络设备发送第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0039] 在一种可能的设计中,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间。
[0040] 在一种可能的设计中,所述第一报文的控制报文头还包括所述第一编号和所述第一编号的时戳。
[0041] 第三方面,一种网络设备,所述网络设备为第一网络设备,包括:发送模,用于向第二网络设备发送第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;接收模块,用于接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0042] 在一种可能的设计中,所述发送模块还用于向所述第二网络设备再次发送所述第一报文。
[0043] 在一种可能的设计中,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第二网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
[0044] 在一种可能的设计中,所述设备还包括:处理器,用于根据所述第一确认报文得到所述第一网络设备和所述第二网络设备之间网络状况。
[0045] 在一种可能的设计中,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间,再次发送的第一报文包括更新后的第一编号的时戳。
[0046] 在一种可能的设计中,所述第一报文的控制报文头还包括转发路径字段以及指示第一网络设备在转发路径中位置的字段。
[0047] 在一种可能的设计中,所述第一报文的控制报文头还包括隧道类型字段,不同隧道类型的报文对应不同的第一编号队列。
[0048] 在一种可能的设计中,所述第一报文还包括IP报文头,所述控制报文头是所述IP报文头的上层报文头,所述IP报文头的源IP地址是所述第一网络设备的IP地址,所述IP报文头的目的IP地址是所述第二网络设备的IP地址。
[0049] 在一种可能的设计中,所述第一报文的报文头还包括第二编号,所述第二编号用于指示携带所述第二编号的报文在第三网络设备和第四网络设备之间的报文编号。
[0050] 在一种可能的设计中,所述第一报文的报文头还包括第二编号的时戳,所述第二编号的时戳用于指示所述第三网络设备发送携带所述第二编号的报文的时间。
[0051] 在一种可能的设计中,所述第三网络设备和所述第一网络设备为同一个网络设备,所述第四网络设备和所述第二网络设备为不同的网络设备,所述第四网络设备位于所述第一网络设备和所述第二网络设备之间,或者所述第二网络设备位于所述第一网络设备和所述第四网络设备之间,所述接收模块还用于接收来自所述第四网络设备的第二确认报文,所述第二确认报文包括所述第四网络设备是否收到所述第一报文的指示。
[0052] 在一种可能的设计中,所述发送模块还用于向所述第四网络设备再次发送所述第一报文。
[0053] 在一种可能的设计中,所述第一报文包括重传指示信息,所述重传指示信息用于指示是否允许所述第四网络设备重传所述第一报文,再次发送的第一报文包括更新后的重传指示信息。
[0054] 在一种可能的设计中,所述设备还包括:处理器,用于根据所述第二确认报文得到所述第一网络设备和所述第四网络设备之间网络状况。
[0055] 在一种可能的设计中,所述第三网络设备和所述第一网络设备为同一个网络设备,所述第二网络设备为所述第一网络设备和所述第四网络设备之间的第一路径上的网络设备,第五网络设备为所述第一网络设备和所述第四网络设备之间的第二路径上的网络设备,所述发送模块还用于向所述第五网络设备发送第五报文,所述第五报文的控制报文头包括第五编号和所述第二编号,所述第五编号用于指示携带所述第五编号的报文在所述第一网络设备和所述第五网络设备之间的报文编号,所述第一报文和所述第五报文的净荷相同。
[0056] 在一种可能的设计中,所述接收模块还用于接收来自上游网络设备的第二报文,所述第二报文的控制报文头包括所述第二编号和第三编号,所述第三编号用于指示携带所述第三编号的报文在所述上游网络设备和所述第一网络设备之间的报文编号;所述处理器还用于将所述第二报文的控制报文头中的第三编号修改为所述第一编号,得到所述第一报文。
[0057] 在一种可能的设计中,所述发送模块还用于向所述上游网络设备发送第三确认报文,所述第三确认报文包括所述第二网络设备是否收到所述第二报文的指示。
[0058] 在一种可能的设计中,所述处理器还用于根据所述第一网络设备和所述第二网络设备之间的往返时延更新所述第二报文的控制报文头中的累加往返时延字段,得到所述第一报文。
[0059] 第四方面,一种第二网络设备,包括:接收模块,用于接收来自第一网络设备的第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;发送模块,用于向所述第一网络设备发送第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0060] 在一种可能的设计中,所述第一报文的控制报文头还包括第一编号的时戳,所述第一编号的时戳用于指示所述第一网络设备发送所述第一报文的时间。
[0061] 在一种可能的设计中,所述第一报文的控制报文头还包括所述第一编号和所述第一编号的时戳。
[0062] 第五方面,本申请提供了一种芯片,包括处理器和收发器,用于执行第一方面或第一方面任意一种设计所述的方法。
[0063] 第六方面,本申请提供了一种芯片,包括处理器和收发器,用于执行第二方面或第二方面任意一种设计所述的方法。
[0064] 第七方面,本申请提供了一种计算机可读存储介质,包括指令,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种设计所述的方法。
[0065] 第八方面,本申请提供了一种计算机可读存储介质,包括指令,当其在网络设备上运行时,使得网络设备执行第二方面或第二方面任意一种设计所述的方法。
[0066] 第九方面,本申请提供了一种计算机程序产品,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种设计所述的方法。
[0067] 第十方面,本申请提供了一种计算机程序产品,当其在网络设备上运行时,使得网络设备执行第二方面或第二方面任意一种设计所述的方法。附图说明
[0068] 图1为本发明实施例提供的一种系统的结构示意图;
[0069] 图2为本发明实施例提供的一种报文处理方法的流程示意图;
[0070] 图3为本发明实施例提供的另一种报文处理方法的流程示意图;
[0071] 图4为本发明实施例提供的一种网络设备的结构框图
[0072] 图5为本发明实施例提供的另一种网络设备的结构框图;
[0073] 图6为本发明实施例提供的另一种网络设备的结构框图;
[0074] 图7为本发明实施例提供的另一种网络设备的结构框图。

具体实施方式

[0075] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
[0076] 为了方便理解本申请实施例的方案,首先对本申请涉及到的概念及相关技术进行描述。
[0077] 报文编号:以报文为单位进行编号,可以是在自然数范围内顺序编号,可以在奇数范围内顺序编号,可以在偶数范围内顺序编号,可以在一定个数的自然数范围内周期性顺序编号,甚至可以是非顺序编号,只要发送端和接收端协调一致即可,本发明对此不做限定。以报文为单位进行编号,下一个报文的编号和当前报文的大小无关。
[0078] 隧道类型:不同隧道类型的报文对应不同的编号队列,以第一网络设备和第二网络设备之间的报文编号为例,对于低时延隧道类型报文,下一个报文的报文编号为10,对于高吞吐隧道类型报文,下一个报文的报文编号为5,这样对于不同的隧道类型可以采用不同的传输控制策略,例如对于低时延隧道类型报文,在第一网络设备和第二网络设备之间不执行丢包重传;对于高吞吐隧道类型报文,在第一网络设备和第二网络设备之间执行丢包重传。
[0079] 如图1所示,为本发明实施例提供的一种系统的结构示意图,包括端设备101、端设备102、网络设备103、网络设备104、网络设备105、网络设备106、网络设备107。其中网络设备103-107构成分段网络100,端设备101通过分段网络100向端设备102发送业务报文,当然,端设备101和102之间还可以包括其它网络,例如可以包括其它分段网络或者包括传统IP网络等。图1中的分段网络100仅为一种示意,实际应用的分段网络可以更加复杂或简单。
[0080] 端设备101通过分段网络100向端设备102发送业务报文。在分段网络100中网络设备103和网络设备104之间存在两条路径,第一路径为网络设备103-网络设备105-网络设备106-网络设备104,第二路径为网络设备103-网络设备107-网络设备104。端设备101发送的业务报文可以通过第一路径发送到端设备102,也可以通过第二路径发送到端设备102。
[0081] 端设备101可以是发送端主机,端设备102可以是接收端主机,本发明实施例中,网络设备103-107可以参与传输控制。网络设备103可以监控第一路径的状态和第二路径的状态,进而根据路径状态选择报文的转发路径;网络设备103可以执行多路径冗余传输,将业务报文在第一路径和第二路径中并发传输,并发传输可以是多路径报文完全重复的发送,也可以是利用多路径前向纠错(Forward Error Correction,FEC),多路径网络编码等方式进行并发传输;网络设备103还可以利用第一路径和第二路径进行负载分担,将业务报文的部分报文通过第一路径传输,将业务报文的另一部分报文通过第二路径传输。
[0082] 假设网络设备103通过第一路径发送业务报文,网络设备103可以根据后续网络设备的反馈进行报文重传,例如可以根据网络设备104的反馈进行报文重传;网络设备105也可以根据后续网络设备的反馈进行报文重传,例如可以根据网络设备106的反馈进行报文重传。
[0083] 本发明实施例中,将网络设备103作为入口边缘网络设备,将网络设备104作为出口边缘网络设备,将入口边缘网络设备和出口边缘网络设备之间的控制称为叠加边缘节点(Overlay Edge Node,OE)与OE之间控制,将其它网络设备之间控制称为叠加节点(Overlay Node,ON)与ON之间控制。分段网络100中主要包括OE和ON两种功能实体,OE用于保证OE与OE之间的数据可靠性,即进行OE与OE之间控制,ON用于保证ON与ON之间的数据可靠性,即进行ON与ON之间控制。OE和ON可以分开部署,也可以部署在同一个网络设备中。例如网络设备103和104均包括OE和ON两种功能实体,网络设备105-107仅包括ON功能实体。下面的实施例中,以OE-OE和ON-ON两层传输控制进行说明,在一种可能的设计中,可以只包括单层传输控制。
[0084] 网络设备103即入口边缘网络设备,可以根据业务报文的类型,将相似类型(如高吞吐、低时延、低丢包等)的业务报文汇聚到相同的隧道进行汇聚传输和控制。不同类型的业务分开传输,这样可以有效的对不同类型的业务采取差异化的传输控制策略。本发明实施例为了方便说明,提供三种隧道类型,分别为低时延隧道、高吞吐隧道和时延吞吐并重隧道。不同的隧道类型对应不同的多路径利用、重传等传输控制策略。本发明实施例中的汇聚传输,指的是可以将来自不同端设备的业务报文进行汇聚传输。
[0085] 网络设备103根据业务报文构造隧道报文,将原业务报文作为净荷,添加控制报文头得到隧道报文,一个隧道报文中的净荷可以包括一个业务报文,也可以包括多个业务报文,甚至可以包括一个业务报文的部分数据,其它部分数据可以封装到其它隧道报文的净荷中。网络设备103将业务报文进行封装,将原业务报文作为报文净荷,添加控制报文头,根据业务类型等,在控制报文头中携带不同的控制信息,执行不同的传输控制策略。原业务报文可以是包括三层报文头或四层报文头等的业务报文。
[0086] 下面以网络设备103通过第一路径向网络设备104转发报文为例进行说明,网络设备103和网络设备104之间的传输控制为OE-OE级的传输控制,网络设备103和网络设备105之间的传输控制为ON-ON级的传输控制,网络设备105和网络设备106之间的传输控制为ON-ON级的传输控制,网络设备106和网络设备104之间的传输控制为ON-ON级的传输控制,网络设备103和网络设备104之间包括3段ON-ON级的传输控制。
[0087] OE-OE级的传输控制主要为OE-OE级的重传、保序、去冗、重排等。ON-ON级的传输控制主要为逐跳的重传等,重传的持久时间由OE-OE级的往返时延、业务的时延容忍度、上层传输协议(例如TCP)的重传机制等因素决定。持久时间的取值需要和业务的时延容忍度做好配合,或者持久时间的取值需要和上层传输协议做好配合,既要充分利用好ON-ON间的重传功能,又要保证不能和上层传输协议(或者业务的时延容忍度等)产生冲突。
[0088]
[0089]
[0090] 表1
[0091] 如表1所示,为本发明实施例提供的一种控制报文头,该控制报文头为网络设备103通过第一路径向网络设备104发送的报文中的控制报文头,其中各字段说明如下:
[0092] 版本号(Version):协议版本号。
[0093] 存活时间(Time To Live,TTL):逐跳减一,为0则丢弃。
[0094] 消息类型(message type):本发明实施例主要定义了5中消息类型,分别为转发数据(FORWARD_DATA)类型、ON-ON级应答(Acknowledgement ACK)类型、ON-ON级否定应答(Negative Acknowledgement,NACK)类型、OE-OE级ACK类型、OE-OE级NACK类型。
[0095] ON-ON级报文编号(packet number):ON-ON级逐跳的报文编号,逐跳修改,利用此编号做hop间的可靠性保证;网络设备103向网络设备105发送报文时,该字段根据网络设备103和网络设备105之间报文编号设置,网络设备105收到报文后需要根据网络设备105和网络设备106之间的报文编号对该字段进行修改。
[0096] ON-ON级报文编号的时戳(timestamp):报文在ON节点转发时的时间戳,逐跳修改,用于hop间的RTT计算;网络设备103向网络设备105发送报文时,设置该字段,网络设备105收到报文后,修改ON-ON级报文编号字段的同时,还需要修改该字段。
[0097] 隧道类型(tunnel type):由业务起点OE1根据业务类型填写,本实施例制定了三种隧道类型模板供业务选择(低时延、高吞吐,时延吞吐并重三种),不同的隧道类型对应不同的多路径(E-to-E path)利用、重传策略,隧道类型模板可扩展。
[0098] 路径标识(path id):隧道中的路径标识,一个隧道会包含多个路径,OE节点生成,换路(detour)时使用,利用此标识OE节点可以找到具体需要换路的路径。
[0099] 当前跳(cur hop):当前网络设备在转发路径列表中的位置。
[0100] 重传指示:用于指示是否允许接收到相应报文的网络设备执行重传操作。本发明实施例以重传持久时间(retransmit persistence)来指示是否允许ON-ON间的重传。retransmit persistence指示可供ON-ON间进行重传的总时长,比如语音类应用的单向时延容忍极限是150ms,当前的OE-OE间时延为100ms,则ON-ON间可以用于重传的时间总长为
50ms,任何一段ON间花费了的重传时间需要从50ms中减去,减至0后,后续ON不再进行逐跳的重传;再例如手游等业务,其对网络带宽需求不大但是对时延和丢包要求比较苛刻,分段网络为其默认启用多路径并行发送流程,通过多路径的冗余发送降低丢包率和提高响应,而不需要启用ON-ON间的重传。在一种可能的设计中,重传指示字段可以直接设置为允许重传或者不允许重传,而不是通过重传持久时间隐含指示是否允许重传,例如对于一些对时延没有要求但是对可靠性要求比较高的业务报文,可以直接设置为允许重传,中间转发节点对该字段也不做修改,始终执行允许重传的操作。
[0101] OE-OE级往返时延(round-trip time latency,RTT):在本实施例中称为累加往返时延,OE-OE间每条路径的RTT由该路径中每段ON-ON间的RTT累加获得,每个ON节点在转发报文时将本段的RTT累加至该字段;
[0102] OE-OE级报文编号:此报文编号在传输过程时保持不变,此编号用于OE-OE级的保序、去冗、重排和丢包检测等。
[0103] OE-OE级报文编号的时戳:网络设备103发送报文的时间。
[0104] 转发节点列表(hop list):转发路径中各节点的有序列表,OE节点处根据业务源、目的地地址以及业务特性查找路由表生成。
[0105] 网络设备105收到网络设备103发出的报文后,根据其中的ON-ON级报文编号反馈确认报文,如表2所示,为本发明实施例提供的一种确认报文头,其中各字段说明如下:
[0106] 版本号字段、存活时间字段、报文头长度字段和消息类型字段的功能和表1类似。
[0107] ON-ON级确认报文编号:网络设备105已收到的最大报文编号。
[0108] ON-ON级回显时戳:触发该确认报文的FORWARD_DATA类型报文中携带的ON-ON级报文编号的时戳,不做更改反馈到网络设备103.
[0109] 否定确认报文数量:最大报文编号之前没有收到的报文数量。
[0110] 否定确认报文列表:最大报文编号之前没有收到的报文列表。
[0111] 表1中的控制报文头仅为示例性的控制报文头,在一种可能设计中,可以增加、减少或者修改其中的字段。例如可以不包括ON-ON级报文编号字段和ON-ON级报文编号的时戳字段;也可以不包括OE-OE级报文编号字段和OE-OE级报文编号的时戳字段。
[0112]
[0113] 表2
[0114] 网络设备104收到网络设备103发出的报文后,根据其中的OE-OE级报文编号反馈确认报文,如表3所示,为本发明实施例提供的一种确认报文头,其中各字段说明如下:
[0115] 版本号字段、存活时间字段、报文头长度字段、消息类型字段和隧道类型字段的功能和表1类似。
[0116] 路径数量:当前OE-OE之间一共几条路径在运输报文。
[0117] OE-OE级确认报文编号:网络设备104已收到的最大报文编号。
[0118] OE-OE级回显时戳:触发该确认报文的FORWARD_DATA类型报文中携带的OE-OE级报文编号的时戳,不做更改反馈到网络设备103。
[0119] 否定确认报文数量:最大报文编号之前没有收到的报文数量。
[0120] 否定确认报文列表:最大报文编号之前没有收到的报文列表。
[0121] 路径属性:每条路径的属性,例如丢包率、RTT等,带回至网络设备103供路径网络状况判断使用。
[0122]
[0123] 表3
[0124] 表2和表3中的确认报文仅为示例性的确认报文,在一种可能的实现方式中,确认报文可以不包括已收到的最大报文编号,仅反馈想要接收的报文编号,从而隐含告诉发送节点已经接收到的报文编号或者隐含告诉发送节点没有接收到的报文编号。对于一个具有报文编号的报文,确认报文可以指示接收节点是否收到具有该报文编号的报文,该指示可以是直接的,例如指示收到报文编号1-10和12-20的报文没有收到报文编号11的报文;或者仅指示收到报文编号1-10和12-20的报文,发送节点据此可以得到没有收到的报文;或者仅指示没有收到报文编号11的报文,发送节点据此可以得到可能已经收到的报文。
[0125] 本发明实施例中,分段网络边缘节点根据业务类型将相似类型的业务流汇聚入相同的隧道,在分段网络中维护一个从业务起点到业务终点层面的传输控制,“端到端”为业务提供保序、重传、去冗、重排功能。除了从业务起点到业务终点的端到端传输控制,分段网络还可以为业务执行分段传输保障,每一段传输都是有状态的,通过这些状态分段网络对感知到的业务损伤进行随路、及时的修复。端到端传输控制和分段传输控制可以互相联动、配合,共同为业务提供更佳的传输效果。分段网络可以依据业务的类型执行不同的多路径传输策略,当业务类型为低时延,丢包容忍度低时,分段网络可以为业务执行多路径冗余传输,降低业务端到端的丢包率;当业务类型为高吞吐类型时,分段网络可以为业务执行多路径并发传输,提高端到端的传输吞吐。
[0126] 下面的实施例中,针对不同的业务类型,采用不同的传输控制策略,为方便说明,所使用的控制报文头是表1-表3中的控制报文头。
[0127] 如图2所示,为本发明实施例提供的一种报文处理方法的流程示意图,本实施例处理的是高吞吐的业务报文。为了提升吞吐性能,OE-OE级执行丢包重传,ON-ON级也执行丢包重传。
[0128] S201,端设备101向网络设备103发送业务报文。
[0129] S202,网络设备103根据业务报文的类型向网络设备105发送隧道报文。
[0130] 网络设备103将业务报文作为净荷并添加控制报文头得到隧道报文,控制报文头的格式如表1所示。
[0131] 本发明实施例中,为方便理解,报文1的ON-ON级报文编号为1,OE-OE级报文编号为11;报文2的ON-ON级报文编号为2,OE-OE级报文编号为12;报文3的ON-ON级报文编号为3,OE-OE级报文编号为13。
[0132] 业务报文的类型为高吞吐类型,因此执行丢包重传操作,将报文1,2,3的隧道类型字段设置为高吞吐类型,重传指示字段设置为50,路径标识字段设置为第一路径的标识。
[0133] S203,网络设备103和网络设备105之间执行ON-ON传输控制,网络设备105将接收到的报文转发到网络设备106。
[0134] 网络设备103和网络设备105之间执行ON-ON传输控制主要包括:网络设备105反馈确认报文,网络设备103根据确认报文执行丢包重传,网络设备103根据确认报文得到网络设备103和网络设备105之间的网络状况。
[0135] 网络设备105根据控制报文头中的ON-ON级报文编号字段向网络设备103发送确认报文,确认报文的控制报文头如表2所示,可以针对每个隧道报文都发送确认报文,可以在接收到预设个数的隧道报文后再发送确认报文,也可以在间隔预设时间后再发送确认报文,本发明实施例对此不做限定。
[0136] 网络设备105接收到ON-ON级报文编号为1和3的报文,没有接收到ON-ON级报文编号为2的报文,确认报文的控制报文头中的ON-ON级确认报文编号为3,ON-ON级回显时戳为报文3中携带的ON-ON级报文编号的时戳,否定确认报文数量为1,否定确认报文列表中包括报文编号2。
[0137] 网络设备103根据网络设备105的确认报文确定是否发生丢包,如果确定网络设备105没有收到报文2,则更新报文2的控制报文头中的ON-ON级报文编号的时戳字段和重传指示字段,然后重传报文2。假设重传时间为10,那么网络设备103重传的报文2中的重传指示字段设置为40(50-10)。
[0138] 网络设备103可以根据网络设备105的确认报文得到网络设备103和网络设备105之间的网络状况,例如可以根据ON-ON级回显时戳计算得到网络设备103和网络设备105之间的RTT,还可以根据丢包情况得到网络设备103和网络设备105之间的丢包率。
[0139] 网络设备103在获得网络设备103和网络设备105之间的RTT后,在后续发送报文时,对于可以根据该RTT的值设置OE-OE级往返时延字段,网络设备105收到后,根据网络设备105和网络设备106之间的RTT更新OE-OE级往返时延字段,即在原来的值的基础上进行累加,后面的网络设备进行类似的操作,从而OE-OE级接收节点可以获得OE-OE级往返时延,并且可以将OE-OE级往返时延反馈到OE-OE级发送节点。
[0140] 网络设备105将接收到的报文转发到网络设备106,网络设备105在转发隧道报文时,更新控制报文头中的存活时间字段、ON-ON级报文编号字段、ON-ON级报文编号的时戳字段以及当前跳字段。网络设备105对控制报文头中的ON-ON级报文编号字段进行刷新,因此在报文2重传成功之前网络设备105可以直接转发已经接收到到的报文3,网络设备105转发的报文3中的ON-ON级报文编号字段为新的编号,该新的编号为网络设备105和网络设备106之间的报文编号。
[0141] 如果报文没有在网络设备103和网络设备105之间重传过,那么网络设备105转发的报文中的重传指示字段不变(依旧为50),例如报文1和报文3,如果报文在网络设备103和网络设备105之间重传过,那么网络设备105转发的报文中的重传指示字段发生变化,例如报文2(变为40)。网络设备105在确认网络设备106没有收到报文2时,根据新的值(40)来判断是否允许重传。
[0142] 网络设备105建立与网络设备106之间的通信状态,包括维护两个网络设备之间的报文编号,重传队列、重传定时器等。
[0143] 本发明实施例中对报文执行重传和转发操作时,报文净荷不发生改变,控制报文头一般情况下需要进行更新。
[0144] S204,网络设备105和网络设备106之间执行ON-ON传输控制,网络设备106将接收到的报文转发到网络设备104。
[0145] 该步骤和步骤203类似。
[0146] S205,网络设备106和网络设备104之间执行ON-ON传输控制,网络设备103和网络设备104之间执行OE-OE传输控制,网络设备104将接收到的报文进行保序处理后发送到端设备102。
[0147] 网络设备106和网络设备104之间执行ON-ON传输控制和步骤203类似。
[0148] 网络设备103和网络设备104之间执行OE-OE传输控制主要包括:网络设备104反馈确认报文,网络设备103根据确认报文执行丢包重传,网络设备103根据确认报文得到网络设备103和网络设备104之间的网络状况。
[0149] 网络设备104根据控制报文头中的OE-OE级报文编号字段向网络设备103发送确认报文,确认报文的控制报文头如表3所示,可以针对每个隧道报文都发送确认报文,可以在接收到预设个数的隧道报文后再发送确认报文,也可以在间隔预设时间后再发送确认报文,本发明实施例对此不做限定。
[0150] 网络设备104接收到OE-OE级报文编号为11和13的报文,没有接收到OE-OE级报文编号为12的报文,确认报文的控制报文头中的OE-OE级确认报文编号为13,OE-OE级回显时戳为报文3中携带的OE-OE级报文编号的时戳,否定确认报文数量为1,否定确认报文列表中包括报文编号12,隧道类型为高吞吐类型,路径数量为1,OE-OE级RTT为收到的报文3中携带的OE-OE级RTT,路径属性包括第一路径的属性。
[0151] 网络设备103根据网络设备104的确认报文确定是否发生丢包,在发生丢包时执行丢包重传,如果确定网络设备104没有收到OE-OE级确认报文编号为12的报文,则重传OE-OE级确认报文编号为12的报文。
[0152] 网络设备103可以根据网络设备104的确认报文得到网络设备103和网络设备104之间的网络状况,例如可以根据OE-OE级回显时戳计算得到网络设备103和网络设备104之间的RTT,还可以根据丢包情况得到网络设备103和网络设备104之间的丢包率。因为采用了多路径并发传输,网络设备103和网络设备104之间的网络状况可以由网络设备104获得后直接反馈,本发明实施例中的路径属性字段携带了第一路径的路径状况,根据OE-OE级RTT字段获的OE-OE级RTT。
[0153] 网络设备103根据网络设备103和网络设备104的网络状况,可以进行进一步的传输控制,例如可以选择转发报文的具体路径,可以将报文切换到第二路径上进行传输,传输控制的决策可以参考根据OE-OE级确认报文获得的网络状况,还可以参考根据ON-ON级确认报文获得的网络状况,该网络状况需要由ON-ON级的发送节点发送到OE-OE级的发送节点。
[0154] 网络设备104将接收到的报文进行保序处理后发送到端设备102。
[0155] 报文1、报文2和报文3等报文在分段网络100中传输的过程中,控制报文头可以发生改变,一般情况下控制报文净荷不发生改变。控制报文头中的OE-OE级报文编号不发生改变,使得OE-OE级的接收节点根据该编号执行丢包检测、向OE-OE级的发送节点发送确认报文等操作。控制报文头中的ON-ON级报文编号逐跳更新,使得ON-ON级的接收节点和发送节点可以根据新的ON-ON级报文编号进行网络状况确认、丢包重传等操作。控制报文头中的OE-OE级报文编号的时戳在发生OE-OE级报文重传时更新。控制报文头中的ON-ON级报文编号的时戳在发生ON-ON级报文重传时更新。控制报文头中的重传指示字段在发生ON-ON级报文重传时更新。
[0156] 分段网络100中的网络设备在转发报文1、报文2和报文3等报文时,可以根据修改当前跳字段,从而可以结合转发路径字段进行报文的转发。假设分段网络100通过IP协议转发报文,则控制报文头的下层还包括IP报文头,IP报文头的源IP地址是ON-ON级的发送节点的IP地址,IP报文头的目的IP地址是ON-ON级的接收节点的IP地址。控制报文头中包括OE-OE之间需要经过的转发路径字段和当前跳字段,转发节点根据当前跳字段和转发路径字段获得下一跳的IP地址,然后在转发相应报文时,根据本节点的IP地址和下一跳的IP地址更新报文的IP报文头。如果分段网络100采用其他协议转发报文,也可以根据当前跳字段和转发路径字段进行相对应的转发操作。
[0157] 在一种可能的设计中,可以只执行OE-OE级丢包重传或者只执行ON-ON级丢包重传,也可以只在特定的ON-ON之间执行丢包重传。
[0158] 在一种可能的设计中,重传不是根据确认丢包触发的,例如步骤203中,网络设备103可以设置报文1的定时器,在定时器到时且没有收到来自网络设备105的确认报文,则认为较大概率发生了丢包,此时也可以触发重传。
[0159] 如图3所示,为本发明实施例提供的一种报文处理方法的流程示意图,本发明实施例处理的是低时延的业务报文。对于低时延业务报文,本发明实施例OE-OE级不执行丢包重传,ON-ON级也不执行丢包重传,为了降低丢包,执行多路径并发传输,同时根据反馈报文确认每条路径的网络状态,根据网络状态决策多路径的选择。例如手机游戏类应用的吞吐需求低,但是对时延和丢包比较敏感,采用多路径并发传输,可以满足手机游戏类应用的需求。
[0160] S301,端设备101发送业务报文。
[0161] S302,网络设备103根据业务报文的业务类型执行多路径并发传输。
[0162] 网络设备103确认业务报文的类型为低时延类型,确定执行多路径并发传输,通过第一路径和第二路径向网络设备104转发业务报文。并发传输可以是多路径报文完全重复的发送,也可以是利用多路径前向纠错(Forward Error Correction,FEC),多路径网络编码等方式进行并发传输。并发传输时两条路径中相同净荷的报文采用相同的OE-OE级报文编号,网络设备104在收到来自两条路径的报文后,对相同的OE-OE级报文编号的报文可以采取去除冗余报文的操作。
[0163] S303,网络设备103向网络设备105发送隧道报文。
[0164] 网络设备103将业务报文作为净荷并添加控制报文头得到隧道报文,控制报文头的格式如表1所示。
[0165] 本发明实施例中,为方便理解,报文1的ON-ON级报文编号为1,OE-OE级报文编号为11;报文2的ON-ON级报文编号为2,OE-OE级报文编号为12;报文3的ON-ON级报文编号为3,OE-OE级报文编号为13。
[0166] 因为业务报文的类型为低时延类型,因此不执行丢包重传操作,将报文1,2,3的隧道类型字段设置为低时延类型,重传指示字段设置为0,路径标识字段设置为第一路径的标识。
[0167] S304,网络设备103和网络设备105之间执行ON-ON传输控制,网络设备105将接收到的报文转发到网络设备106。
[0168] 网络设备103和网络设备105之间执行ON-ON传输控制主要包括:网络设备105反馈确认报文,网络设备103根据确认报文得到网络设备103和网络设备105之间的网络状况。
[0169] 网络设备105根据控制报文头中的ON-ON级报文编号字段向网络设备103发送确认报文,确认报文的控制报文头如表2所示,可以针对每个隧道报文都发送确认报文,可以在接收到预设个数的隧道报文后再发送确认报文,也可以在间隔预设时间后再发送确认报文,本发明实施例对此不做限定。
[0170] 网络设备105接收到ON-ON级报文编号为1和3的报文,没有接收到ON-ON级报文编号为2的报文,确认报文的控制报文头中的ON-ON级确认报文编号为3,ON-ON级回显时戳为报文3中携带的ON-ON级报文编号的时戳,否定确认报文数量为1,否定确认报文列表中包括报文编号2。
[0171] 网络设备103根据网络设备105的确认报文确定是否发生丢包,在发生丢包时并不会执行丢包重传,但是可以根据网络设备105的确认报文得到网络设备103和网络设备105之间的网络状况,例如可以根据ON-ON级回显时戳计算得到网络设备103和网络设备105之间的RTT,还可以根据丢包情况得到网络设备103和网络设备105之间的丢包率。
[0172] 网络设备105将接收到的报文转发到网络设备106,网络设备105在转发隧道报文时,更新控制报文头中的存活时间字段、ON-ON级报文编号字段、ON-ON级报文编号的时戳字段以及当前跳字段。网络设备105对控制报文头中的ON-ON级报文编号字段进行刷新,因此在报文2重传成功之前网络设备105可以直接转发已经接收到到的报文3,网络设备105转发的报文3中的ON-ON级报文编号字段为新的编号,该新的编号为网络设备105和网络设备106之间的报文编号。
[0173] S305,网络设备105和网络设备106之间执行ON-ON传输控制,网络设备106将接收到的报文转发到网络设备104。
[0174] 该步骤和步骤304类似。
[0175] S306,网络设备106和网络设备104之间执行ON-ON传输控制。
[0176] 该步骤和步骤304类似。
[0177] S307,网络设备103向网络设备107发送隧道报文。
[0178] 网络设备103将业务报文作为净荷并添加控制报文头得到隧道报文,控制报文头的格式如表1所示。
[0179] 本发明实施例中,为方便理解,报文11的ON-ON级报文编号为111,OE-OE级报文编号为11;报文12的ON-ON级报文编号为112,OE-OE级报文编号为12;报文13的ON-ON级报文编号为113,OE-OE级报文编号为13。报文11的净荷和步骤303中的报文1的净荷相同,因此采用相同的OE-OE级报文编号为11;报文12的净荷和步骤303中的报文2的净荷相同,因此采用相同的OE-OE级报文编号为12;报文13的净荷和步骤303中的报文3的净荷相同,因此采用相同的OE-OE级报文编号为13。
[0180] 因为业务报文的类型为低时延类型,因此不执行丢包重传操作,将报文11,12,13的隧道类型字段设置为低时延类型,重传指示字段设置为0,路径标识字段设置为第二路径的标识。
[0181] S308,网络设备103和网络设备107之间执行ON-ON传输控制,网络设备107将接收到的报文转发到网络设备104。
[0182] 该步骤和步骤304类似。
[0183] S309,网络设备107和网络设备104之间执行ON-ON传输控制。
[0184] 该步骤和步骤304类似。
[0185] S310,网络设备104根据多路径报文执行去冗重排操作,网络设备103和网络设备104之间执行OE-OE传输控制,网络设备104将接收到的报文进行保序处理后发送到端设备
102。
[0186] 网络设备104从第一路径和第二路径接收报文,根据其中的OE-OE级报文编号字段进行去冗重排处理。
[0187] 网络设备103和网络设备104之间执行OE-OE传输控制主要包括:网络设备104反馈确认报文,网络设备103根据确认报文得到网络设备103和网络设备104之间的网络状况。
[0188] 网络设备104根据控制报文头中的OE-OE级报文编号字段向网络设备103发送确认报文,确认报文的控制报文头如表3所示,可以针对每个隧道报文都发送确认报文,可以在接收到预设个数的隧道报文后再发送确认报文,也可以在间隔预设时间后再发送确认报文,本发明实施例对此不做限定。
[0189] 网络设备104接收到OE-OE级报文编号为11和13的报文,没有接收到OE-OE级报文编号为12的报文,确认报文的控制报文头中的OE-OE级确认报文编号为13,OE-OE级回显时戳为报文3中携带的OE-OE级报文编号的时戳,否定确认报文数量为1,否定确认报文列表中包括报文编号12,隧道类型为低时延,路径数量为2,OE-OE级RTT为收到的报文3中携带的OE-OE级RTT,路径属性包括第一路径和第二路径的属性。
[0190] 网络设备103根据网络设备105的确认报文确定是否发生丢包,在发生丢包时并不会执行丢包重传,但是可以根据网络设备104的确认报文得到网络设备103和网络设备104之间的网络状况,例如可以根据OE-OE级回显时戳计算得到网络设备103和网络设备104之间的RTT,还可以根据丢包情况得到网络设备103和网络设备104之间的丢包率。因为采用了多路径并发传输,网络设备103和网络设备104之间的网络状况可以由网络设备104获得后直接反馈,本发明实施例中的路径属性字段携带了第一路径和第二路径的路径状况,根据OE-OE级RTT字段获的OE-OE级RTT。
[0191] 网络设备104将接收到的报文进行保序处理后发送到端设备102。
[0192] 在一种可能的设计中,第一路径和第二路径传输的报文的净荷并不相同,业务报文通过第一路径和第二路径进行负载分担(例如将业务报文1、业务报文3……通过第一路径发送,将业务报文2、业务报文4……通过第二路径发送),也可以通过对业务报文进行FEC和网络编码后进行多路径负载分担,从而可以大幅度的提升端到端的吞吐。
[0193] 本发明实施例中的方案,不基于通常意义上的流进行状态维护和传输控制,而是将同质的流汇聚于同一隧道进行基于隧道粒度的状态维护和传输控制,维护状态少,传输效果佳,易于实施,对应用甚至是TCP不感知;网络能够利用多路径高效传输,提升业务传输性能和体验,并且网络能够主动、及时修复传输质量,提升业务传输性能和体验。当业务类型为低时延,丢包容忍度低时,分段网络为业务执行多路径传输控制,OE-OE的传输控制为OE-OE级的重排和去冗,ON则执行无重传的纯转发服务。当业务类型为高吞吐类型时,分段网络为业务执行分段传输保障,每一段传输都是有状态的,通过这些状态分段网络对感知到的业务损伤进行随路、及时的修复,OE-OE的传输控制为OE-OE级的重传保序,对应的ON-ON的传输控制为重传保序的可靠性转发服务。
[0194] 图4为本发明实施例提供的一种网络设备的结构框图。图4中的网络设备400为第一网络设备,可以对应于上文的网络设备103、105、106和107。如图4所示,网络设备400包括发送模块401和接收模块402。
[0195] 发送模块401,用于向第二网络设备发送第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;
[0196] 接收模块402,用于接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0197] 发送模块401可以由发送器实现。接收模块402可以由接收器实现。发送模块401和接收模块402的具体功能和有益效果可以参见上面的实施例,在此就不再赘述。
[0198] 图5为本发明实施例提供的另一种网络设备的结构框图。图5中的网络设备500为第二网络设备,可以对应于上文的网络设备105、106、107和104。如图5所示,网络设备500包括接收模块501和发送模块502。
[0199] 接收模块501,用于接收来自第一网络设备的第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;
[0200] 发送模块502,用于向所述第一网络设备发送第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0201] 接收模块501可以由接收器实现。发送模块502可以由发送器实现。接收模块501和发送模块502的具体功能和有益效果可以参见图3所示的方法,在此就不再赘述。
[0202] 图6为本发明实施例提供的一种网络设备的结构框图。图6中的网络设备600为第一网络设备,可以对应于上文的网络设备103、105、106和107。如图6所示,网络设备600包括收发器601、处理器602、存储器603。
[0203] 图6中仅示出了一个存储器和处理器。在实际的网络设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
[0204] 收发器601、处理器602、存储器603之间通过内部连接通路互相通信,传递控制和/或数据信号
[0205] 上述本发明实施例揭示的方法可以应用于收发器601中,或者由收发器601实现。
[0206] 具体地,收发器601,用于向第二网络设备发送第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;接收来自所述第二网络设备的第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0207] 网络设备600的具体工作过程和有益效果可以参见上面的实施例中的描述。
[0208] 图7为本发明实施例提供的另一种网络设备的结构框图。图7中的网络设备700为第二网络设备,可以对应于上文的网络设备105、106、107和104。如图7所示,网络设备700包括收发器701、处理器702、存储器703。
[0209] 图7中仅示出了一个存储器和处理器。在实际的网络设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
[0210] 收发器701、处理器702、存储器703之间通过内部连接通路互相通信,传递控制和/或数据信号
[0211] 上述本发明实施例揭示的方法可以应用于收发器701中,或者由收发器701实现。具体地,收发器701,用于接收来自第一网络设备的第一报文,所述第一报文的控制报文头包括第一编号,所述第一编号用于指示携带所述第一编号的报文在所述第一网络设备和所述第二网络设备之间的报文编号;向所述第一网络设备发送第一确认报文,所述第一确认报文包括所述第二网络设备是否收到所述第一报文的指示。
[0212] 网络设备700的具体工作过程和有益效果可以参见上面的实施例中的描述。
[0213] 本申请各实施例所述的收发器也可以称为收发单元、收发机、收发装置等。处理器也可以称为处理单元,处理单板,处理模块、处理装置等。可选的,可以将收发器中用于实现接收功能的器件视为接收单元,将收发器中用于实现发送功能的器件视为发送单元,即收发器包括接收单元和发送单元。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
[0214] 本申请各实施例所述的存储器用于存储处理器运行所需的计算机指令和参数。
[0215] 本申请各实施例所述的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。本申请各实施例所述的处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
[0216] 在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0217] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
[0218] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0219] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0220] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0221] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0222] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0223] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0224] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈