发明内容
本发明提供一种测量链路可用带宽的方法、设备及系统,用以解决基于现有技术的方式对链路可用带宽进行判断时,容易发生误判的问题。
第一方面,提供了一种测量链路可用带宽的方法,包括:
第一设备确定与第二设备测量第一链路可用带宽所共同使用的第一测量方式;并将指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息封装到第一报文中,然后,通过第一链路向第二设备发送第一报文,其中,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则;
第一设备根据发送参数信息,基于第一测量方式,确定测量报文的发送规则;并根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文。
需要说明的是,在本发明实施例中为了避免在测量链路可用带宽时额外引入专门用于测量链路可用带宽的报文进行可用带宽的测量,导致给网络增加额外的负担,较佳的,将第一设备中原本需要发送给第二设备的数据报文或信令报文等作为测量报文。
在本发明实施例中第一设备与第二设备双端共同参与第一链路可用带宽的测量,其中,第一链路为第一设备向第二设备发送报文的链路,由于第一设备将第一测量方式及其第一测量方式规定的测量报文的发送参数信息发送给第二设备,第一设备再基于第一测量方式确定的发送规则向第二设备发送报文,使得第二设备能够基于第一测量方式以及接收到的测量报文的实际情况确定第一链路的可用带宽,这种测量可用带宽的方式剔除了除了第一链路以外的其它链路对报文传输的影响,从而提高了测量第一链路数据报文的准确性。
在第一方面的基础上,为了提高第一设备与第二设备之间链路可用带宽测量的成功率,可选的,可以由第一设备发起链路可用带宽的测量,第二设备若支持链路可用带宽测量功能,则向第一设备发送响应链路带宽测量的指示信息,第一设备在接收到第二设备响应链路可用带宽测量的指示信息后,开始执行链路可用带宽测量的步骤,具体的:第一设备通过第一链路向第二设备发送第二报文,其中,第二报文中包括发起测量链路可用带宽的指示信息;然后,在第一设备接收第二设备发送的第三报文,并确认第三报文中包括响应测量链路可用带宽的指示信息后,再确定第一测量方式。
应理解,在第一设备发起链路测量时,还可以指示第二设备是发起的第一设备与第二设备之间哪个链路的可用带宽的测量。
在第一方面的基础上,在由第一设备发起链路带宽测量时,为避免第二设备不支持第一设备确定的测量方式,可选的,第一设备通过下述方式确定第一测量方式:
第一设备确定接收到的第三报文中还包括测量方式指示信息,从测量方式指示信息指示的至少一种第二测量方式中,选择一个第一设备测量链路可用带宽所支持的第二测量方式作为第一测量方式,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
在第一方面的基础上,可选的,当第二报文为传输控制协议TCP报文时,第二报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第二报文的报文头中的连续n个字节上包含发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。例如,由于报文的报文头中Header length字段之后有4个保留的比特位,假设以Header length字段之后的第3个保留比特位上的信息作为发起测量链路可用带宽的指示信息,预先规定当第3个保留比特位置0时,则指示不发起测量链路可用带宽,当第3个保留比特位置1时,则指示发起测量链路可用带宽。
在第一方面的基础上,可选的,第三报文中包含响应测量链路可用带宽的指示信息的位置,与第二报文中包含发起测量链路可用带宽的指示信息的位置相同。例如,假设发起测量链路可用带宽的指示信息所占用的为Header length字段之后的第3个保留比特位,则响应测量链路可用带宽的指示信息所占用的也为Header length字段之后的第3个保留比特位。
在第一方面的基础上,可选的,第三报文的报文头中的连续m个字节上包含测量方式指示信息,测量方式指示信息在连续m个字节上基于类型长度值TLV格式存在,其中m为不小于3的正整数。
在第一方面的基础上,为了提高第一设备与第二设备之间链路可用带宽测量的成功率,可选的,还可以由第二设备发起链路可用带宽的测量,具体的,第二设备向第一设备发送第四报文,第四报文中包括发起测量链路可用带宽的指示信息,第一设备接收第四报文,第一设备向第二设备发送第一报文,第一报文中除了包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息之外,还包括响应测量链路可用带宽的指示信息。
在第一方面的基础上,在第二设备发起链路可用带宽测量时,为避免第二设备不支持第一设备确定的测量方式,可选的,第一设备通过下述方式确定第一测量方式:
第一设备确定接收的第四报文中还包括测量方式指示信息,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式;并从测量方式指示信息指示的至少一种第二测量方式中,选择一个第一设备测量链路可用带宽所支持的第二测量方式作为第一测量方式。
在第一方面的基础上,可选的,当第四报文为TCP报文时;第四报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第四报文的报文头中的连续n个字节上包含发起测量发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
在第一方面的基础上,可选的,第一报文的报文头中包含响应测量链路可用带宽的指示信息的位置,与第四报文的报文头中包含发起测量链路可用带宽的指示信息的位置相同。
在第一方面的基础上,可选的,第四报文的报文头中的连续k个字节上包含测量方式指示信息,测量方式指示信息在连续k个字节上基于类型长度值TLV格式存在,其中k为不小于3的正整数。
在第一方面的基础上,为了确保衡量第一链路性能的准确性,可选的,第一报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息;第一设备向第二设备发送至少一个测量报文之后,接收第二设备反馈的第一链路可用带宽以及其它参数信息,并根据可用带宽以及其它参数信息,对第一链路进行拥塞控制。
此外,需要说明的是,为避免第一设备未接收到第二设备反馈的第一链路可用带宽以及其它参数信息,可选的,第二设备在预设时间段内向第一设备发送的报文中都携带第一链路可用带宽以及其它参数信息。预设时间段可根据具体实际情况进行设定。
在第一方面的基础上,可选的,第一设备将指示第一测量方式以及第一测量方式规定的测量报文的参数信息的信息封装到第一报文的报文头中的连续L个字节上,指示第一测量方式以及第一测量方式规定的参数信息的信息在连续L比特位上基于类型长度值TLV格式存在,其中L为不小于3的正整数。
第二方面,提供了一种测量链路可用带宽的方法,包括:
第二设备接收第一设备发送的第一报文,并确定第一报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息;发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则,第一测量方式为与第一设备测量第一链路可用带宽所共同使用的测量方式;然后,并接收第一设备根据发送规则发送的至少一个测量报文,并确定测量报文的接收参数信息,接收参数信息用于描述第二设备接收至少一个测量报文的实际情况信息;最后,根据发送参数信息以及接收参数信息,基于第一测量方式,确定第一链路的可用带宽。
在第二方面的基础上,可选的,第二设备通过第一链路接收第一设备发送第二报文,并确定第二报文中包括发起测量链路可用带宽的指示信息;然后,在确定响应测量链路可用带宽后,将响应测量链路可用带宽的指示信息封装到第三报文中,并向第一设备发送第三报文。然后,接收第一设备发送的第一报文。
在第二方面的基础上,可选的,第一测量方式为第一设备测量链路可用带宽支持的第二测量方式,第二测量方式为第二设备测量链路可用带宽所支持的至少一种第二测量方式中的一个;第二设备将测量方式指示信息封装到第三报文中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式,然后向第一设备发送第三报文。
在第二方面的基础上,可选的,当第二报文为传输控制协议TCP报文时;第二报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第二报文的报文头中的连续n个字节上包含发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
在第二方面的基础上,可选的,第三报文中包含响应测量链路可用带宽的指示信息的位置,与第二报文中包含发起测量链路可用带宽的指示信息的位置相同。
在第二方面的基础上,可选的,第二设备通过下述方式将测量方式指示信息封装到第三报文中:
第二设备将测量方式指示信息封装到第三报文的报文头中的连续m个字节上,测量方式指示信息在连续m个字节上基于类型长度值TLV格式存在,其中m为不小于3的正整数。
在第二方面的基础上,可选的,第二设备向第一设备发送第四报文,第四报文中包括发起测量链路可用带宽的指示信息;第二设备接收第一报文,并确定第一报文中还包括响应测量链路可用带宽的指示信息。
在第二方面的基础上,可选的,第一测量方式为第一设备测量链路可用带宽支持的第二测量方式,第二测量方式为第二设备测量链路可用带宽所支持的至少一种第二测量方式中的一个;第二设备将测量方式指示信息封装到第四报文中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式,并向第一设备发送第四报文。
在第二方面的基础上,可选的,当第四报文为TCP报文时;第二设备将测量方式指示信息封装到第四报文的报文头中位于Header length字段之后至少一个保留的比特位上;或者,第二设备将测量方式指示信息封装到第四报文的报文头中的连续n个字节上,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
在第二方面的基础上,可选的,第一报文中包含响应测量链路可用带宽的指示信息的位置,与第四报文中包含发起测量链路可用带宽的指示信息的位置相同。
在第二方面的基础上,可选的,第二设备通过下述方式将测量方式指示信息封装到第四报文中:
第二设备将测量方式指示信息封装到第四报文的报文头中的连续k个字节上,测量方式指示信息在连续k个字节上基于类型长度值TLV格式存在,其中k为不小于3的正整数。
在第二方面的基础上,可选的,第一报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息;第二设备接收第一设备发送至少一个测量报文,并根据发送参数信息以及接收参数信息,基于预设的算法,确定其它参数信息;然后,向第一设备发送第一链路的可用带宽以及其它参数信息。
在第二方面的基础上,可选的,第一报文的报文头中的连续L个字节上包含指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息在连续L比特位上基于类型长度值TLV格式存在,其中L为不小于3的正整数。
第三方面,提供了一种发送报文的方法,包括:
网卡检测到向第二设备发送的报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,并根据发送参数信息,基于第一测量方式,确定测量报文的发送规则,然后,根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文,其中,第一测量方式为第一设备与第二设备测量第一链路可用带宽所共同使用的测量方式,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则,网卡位于第一设备上。
在第三方面的基础上,可选的,网卡针对至少一个测量报文中的任一测量报文,记录发送测量报文时发送时间,并将发送时间封装到测量报文中网卡向第二设备发送至少一个测量报文。
应理解,该网卡还可以在接收到报文时,记录报文的接收时间。
第四方面,提供了一种测量链路可用带宽的设备,包括:处理单元和收发单元,其中,处理单元用于确定与第二设备测量第一链路可用带宽所共同使用的第一测量方式,并将指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息封装到第一报文中,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则;收发单元用于通过第一链路向第二设备发送第一报文;处理单元还用于根据发送参数信息,基于第一测量方式,确定测量报文的发送规则;收发单元还用于根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文。
在第四方面的基础上,可选的,收发单元还用于:在处理单元确定第一测量方式之前,通过第一链路向第二设备发送第二报文,以及接收第二设备发送的第三报文,第二报文中包括发起测量链路可用带宽的指示信息;处理单元还用于确认第三报文中包括响应测量链路可用带宽的指示信息。
在第四方面的基础上,可选的,处理单元一种具体确定第一测量方式:处理单元确定接收到的第三报文中还包括测量方式指示信息,并从测量方式指示信息指示的至少一种第二测量方式中,选择一个第一设备测量链路可用带宽所支持的第二测量方式作为第一测量方式;其中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
在第四方面的基础上,可选的,当第二报文为传输控制协议TCP报文时,第二报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第二报文的报文头中的连续n个字节上包含发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
在第四方面的基础上,可选的,第三报文中包含响应测量链路可用带宽的指示信息的位置,与第二报文中包含发起测量链路可用带宽的指示信息的位置相同。
在第四方面的基础上,可选的,第三报文的报文头中的连续m个字节上包含测量方式指示信息,测量方式指示信息在连续m个字节上基于类型长度值TLV格式存在,其中m为不小于3的正整数。
在第四方面的基础上,可选的,第一报文中还包括响应测量链路可用带宽的指示信息,收发单元,还用于在处理单元确定第一测量方式之前,接收第二设备发送的第四报文,第四报文中包括发起测量链路可用带宽的指示信息。
在第四方面的基础上,可选的,处理单元一种具体确定第一测量方式:处理单元确定接收的第四报文中还包括测量方式指示信息,并从测量方式指示信息指示的至少一种第二测量方式中,选择一个第一设备测量链路可用带宽所支持的第二测量方式作为第一测量方式;其中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
在第四方面的基础上,可选的,第四报文为TCP报文;第四报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第四报文的报文头中的连续n个字节上包含发起测量发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
在第四方面的基础上,可选的,第一报文的报文头中包含响应测量链路可用带宽的指示信息的位置,与第四报文的报文头中包含发起测量链路可用带宽的指示信息的位置相同。
在第四方面的基础上,可选的,第四报文的报文头中的连续k个字节上包含测量方式指示信息,测量方式指示信息在连续k个字节上基于类型长度值TLV格式存在,其中k为不小于3的正整数。
在第四方面的基础上,可选的,第一报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息;收发单元还用于在向第二设备发送至少一个测量报文之后,接收第二设备反馈的第一链路可用带宽以及其它参数信息;处理单元还用于根据可用带宽以及其它参数信息,对第一链路进行拥塞控制。
在第四方面的基础上,可选的,处理单元一种具体将指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息封装到第一报文中的方式:处理单元将指示第一测量方式以及第一测量方式规定的测量报文的参数信息的信息封装到第一报文的报文头中的连续L个字节上,指示第一测量方式以及第一测量方式规定的参数信息的信息在连续L比特位上基于TLV格式存在,其中L为不小于3的正整数。
第五方面,提供了一种测量链路可用带宽的设备,包括:处理单元和收发单元,其中,收发单元用于接收第一设备发送的第一报文;处理单元用于确定第一报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息;发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则,第一测量方式为与第一设备测量第一链路可用带宽所共同使用的测量方式;收发单元还用于接收第一设备根据发送规则发送的至少一个测量报文;处理单元还用于确定测量报文的接收参数信息,并根据发送参数信息以及接收参数信息,基于第一测量方式,确定第一链路的可用带宽;接收参数信息用于描述第二设备接收至少一个测量报文的实际情况信息。
在第五方面的基础上,可选的,收发单元还用于在接收第一报文之前,通过第一链路接收第一设备发送第二报文;处理单元用于确定第二报文中包括发起测量链路可用带宽的指示信息,并在确定响应测量链路可用带宽后,将响应测量链路可用带宽的指示信息封装到第三报文中;收发单元还用于向第一设备发送第三报文。
在第五方面的基础上,可选的,第一测量方式为第一设备测量链路可用带宽支持的第二测量方式,第二测量方式为第二设备测量链路可用带宽所支持的至少一种第二测量方式中的一个;处理单元还用于在收发单元向第一设备发送第三报文之前,将测量方式指示信息封装到第三报文中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
在第五方面的基础上,可选的,当第二报文为传输控制协议TCP报文时,第二报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第二报文的报文头中的连续n个字节上包含发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于TLV格式存在,其中n为不小于3的正整数。
在第五方面的基础上,可选的,第三报文中包含响应测量链路可用带宽的指示信息的位置,与第二报文中包含发起测量链路可用带宽的指示信息的位置相同。
在第五方面的基础上,可选的,处理单元一种具体将测量方式指示信息封装到第三报文中的方式:处理单元将测量方式指示信息封装到第三报文的报文头中的连续m个字节上,测量方式指示信息在连续m个字节上基于类型长度值TLV格式存在,其中m为不小于3的正整数。
在第五方面的基础上,可选的,收发单元还用于在接收第一报文之前,向第一设备发送第四报文,第四报文中包括发起测量链路可用带宽的指示信息;处理单元还用于在收发单元接收第一报文之后,确定第一报文中还包括响应测量链路可用带宽的指示信息。
在第五方面的基础上,可选的,第一测量方式为第一设备测量链路可用带宽支持的第二测量方式,第二测量方式为第二设备测量链路可用带宽所支持的至少一种第二测量方式中的一个;处理单元还用于在收发单元向第一设备发送第四报文之前,将测量方式指示信息封装到第四报文中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
在第五方面的基础上,可选的,当第四报文为TCP报文时,处理单元将测量方式指示信息封装到第四报文的报文头中位于Header length字段之后至少一个保留的比特位上;或者,将测量方式指示信息封装到第四报文的报文头中的连续n个字节上,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
在第五方面的基础上,可选的,第一报文中包含响应测量链路可用带宽的指示信息的位置,与第四报文中包含发起测量链路可用带宽的指示信息的位置相同。
在第五方面的基础上,可选的,处理单元将测量方式指示信息封装到第四报文的报文头中的连续k个字节上,测量方式指示信息在连续k个字节上基于类型长度值TLV格式存在,其中k为不小于3的正整数。
在第五方面的基础上,可选的,第一报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息;处理单元还用于在收发单元接收第一设备发送至少一个测量报文之后,根据发送参数信息以及接收参数信息,基于预设的算法,确定其它参数信息;收发单元还用于向第一设备发送第一链路的可用带宽以及其它参数信息。
在第五方面的基础上,可选的,第一报文的报文头中的连续L个字节上包含指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息在连续L比特位上基于类型长度值TLV格式存在,其中L为不小于3的正整数。
第六方面,提供了一种网卡,包括:处理单元和收发单元,其中处理单元用于检测到向第二设备发送的报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,并根据发送参数信息,基于第一测量方式,确定测量报文的发送规则,第一测量方式为第一设备与第二设备测量第一链路可用带宽所共同使用的测量方式,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则,网卡位于第一设备上;收发单元用于根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文。
在第六方面的基础上,可选的,处理单元还用于在收发单元向第二设备发送至少一个测量报文之前,针对至少一个测量报文中的任一测量报文,记录发送测量报文时发送时间,并将发送时间封装到测量报文中。
第七方面,提供了一种测量链路可用带宽的设备,包括:处理器、收发器和存储器,其中收发器用于向第二设备发送报文,或从第二设备接收报文;存储器用于存储处理器所执行第一方面提供的任一方法的程序以及收发器接收和发送的报文,处理器用于调用存储器中存储的程序,并执行第一方面提供的任一方法。
第八方面,提供了一种测量链路可用带宽的设备,包括:处理器、收发器和存储器,其中收发器用于向第一设备发送报文,或从第一设备接收报文;存储器用于存储处理器所执行第二方面提供的任一方法的程序以及收发器接收和发送的报文,处理器用于调用存储器中存储的程序,并执行第一方面提供的任一方法。
第九方面,提供了一种网卡,其特征在于,包括:处理器、收发器和存储器,其中收发器用于向发送或接收报文;存储器用于存储处理器所执行第三方面提供的任一方法的程序以及收发器接收和发送的报文,处理器用于调用存储器中存储的程序,并执行第一方面提供的任一方法。
第十方面,提供了一种测量链路可用带宽的系统,包括:第四方面提供的任一设备,以及第五方面提供的任一设备。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合说明书附图对本发明实施例作进一步详细描述。
本发明实施例应用于能够通过网络通信的两个设备之间,其中,该网络可以为WLAN(Wireless Local Area Networks,无线局域网),WiFi(Wireless Fidelity,无线保真)、WiMAX(Worldwide Interoperability for Microwave Access,全球微波互联接入等网络。
由于在本发明实施例中第一链路连接的两个设备之间能够共同参与第一链路可用带宽的测量,而且剔除了其它链路的影响,从而提高了对第一链路可用带宽测量的准确性。
下面以如图1为例对本发明实施例测量链路可用带宽的方法进行详细介绍。具体的,图1中包括设备10和设备20,其中,设备10和设备20之间包括第一链路和第二链路,设备10和设备20之间传输的报文为TCP报文,第一链路为设备10作为发送端,设备20作为接收端时,设备10向设备20发送报文的链路,第二链路为设备10作为接收端,设备20作为发送端时设备20向设备10发送报文时的链路。
当设备10与设备20之间传输的报文为TCP报文以外的其它报文时,其测量链路可用带宽的方法的流程与报文为TCP报文时测量链路可用带宽的方法的流程类似,在此不再赘述。
其中测量第一链路可用带宽的方法与测量第二链路可用带宽的方法类似,以第一链路为例进行介绍。
当由设备10发起测量链路可用带宽时,如图2所示,测量链路可用带宽的方法,包括:
步骤200,设备10向设备20发送报文,该报文中包括发起测量链路可用带宽的指示信息。
需要说明的是,设备10向设备20发送的报文可以为SYN(synchronous)报文,SYN报文是设备10与设备20建立TCP连接时使用的握手报文,即设备10可以在建立TCP连接时发起测量链路可用带宽,设备10向设备20发送的报文也可以为数据报文,即设备10可以在设备10与设备20建立TCP连接后发起测量链路可用带宽。
具体的,现有技术中TCP报文中的报文头中包括预留字节,以及在Header length字段之后包括4个保留的比特位,可选的,通过TCP报文头中预留字节或4个保留的比特位中的至少一个比特位携带发起测量链路可用带宽的指示信息。
如图3a所示,为Header length字段之后保留的4个比特位,分别为0、1、2、3,当通过4个未使用比特位中的第3个比特位携带发起测量链路可用带宽的指示信息时,具体的,发起测量链路可用带宽的指示信息为1,则设备10向设备20发送的报文中报文头的保留比特位中的第3比特位中为1时,则设备10发起测量链路可用带宽,其中,在具体实现时,还可以通过2个、3个或4个比特位携带发起测量链路可用带宽的指示信息。
当通过保留字节携带发起测量链路可用带宽的指示信息时,可选的,连续的n个字节上包含发起测量链路可用带宽的指示信息,其中发起测量链路可用带宽的指示信息在连续的n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。其中,由连续的n个字节组成一个扩展选项,假设n=3,连续的3个字节为保留字节中的第0个字节到第2个字节,即由第0个字节到第2个字节组成的一个扩展选项,假设扩展选项的类型为13,则Type=13用于指示该扩展选项是用于指示用于协商测量链路可用带宽信息的,Length用于指示该类型的扩展选项占用的字节为3,若发起测量链路可用带宽的指示信息为1,则Value为1,则发起测量链路可用带宽的指示信息的格式如图3b所示。。
其中,可选的,在设备10发起测量链路可用带宽的指示信息时,还可以指示设备10具体是测量第一链路还是第二链路的可用带宽。
步骤201,设备20接收设备10发送的报文,并确定设备10发送的报文中包括发起测量链路可用带宽的指示信息,在确定响应测量链路可用带宽后,将响应测量链路可用带宽的指示信息、以及测量方式指示信息封装到发送给设备10中报文中,向设备10发送封装了响应测量链路可用带宽的指示信息、以及测量方式指示信息的报文,其中测量方式指示信息用于指示设备20支持的至少一种链路可用带宽的测量方式。
需要说明的是,由于响应测量链路可用带宽的指示信息与发起测量链路可用带宽的指示信息都属于协商测量链路可用带宽的指示信息,即响应测量链路可用带宽的指示信息与发起测量链路可用带宽的指示信息属于同一种类型,因此报文中包含响应测量链路可用带宽的指示信息的位置可以与报文中包含发起测量链路可用带宽的指示信息的位置相同,例如,报文中在4个未使用比特位中的第3个比特位携带发起测量链路可用带宽的指示信息,则也在4个未使用比特位中的第3个比特位携带响应测量链路可用带宽的指示信息。若通过Type=13的扩展选项携带发起测量链路可用带宽的指示信息,则直接通过Type=13的扩展选项携带响应测量链路可用带宽的指示信息。
可选的,报文中包含响应测量链路可用带宽的指示信息的位置可以与报文中包含发起测量链路可用带宽的指示信息的位置不相同。
具体的,报文中连续m个字节中包含测量方式指示信息,测量方式指示信息在连续m个字节上基于TLV格式存在,其中m为不小于3的正整数。需要说明的是,连续m个字节为保留字节中连续的m个字节,以报文中包含响应测量链路可用带宽的指示信息的位置与报文中包含发起测量链路可用带宽的指示信息的位置相同,且为保留字节中第0字节到第2字节为例,则连续的m个字节不能与第0字节到第2字节重合,例如连续的m个字节组成另一个扩展选项,假设连续的m个字节可以为第3字节到第6字节,如图4所示,Type=9、Length=4、Value=methods,则由第3字节到第6字节组成Type=9的扩展选项,其中Type=9用于指示该扩展选项的Value用于指示测量方式的指示信息,假设设备20支持pathChirp和pathload,其中pathChirp和pathload分别为一种链路可用带宽的测量方式,则通过0X03表示设备20同时支持pathChirp和pathload,具体的0X03用二进制表示00000011,即通过第8位上的1表示设备20支持pathChirp,第7为上的1表示设备20支持pathload,若设备20仅支持pathChirp,则Value=0X01。
步骤202,设备10接收设备20发送的报文,确定报文中包含响应测量链路可用带宽的指示信息,以及测量方式指示信息,从测量方式指示信息指示的至少一种链路可用带宽的测量方式中选择一个测量方式作为设备10和设备20测量第一链路所共同使用的测量方式。
例如,测量方式指示信息指示设备20支持pathChirp和pathload两种测量方式,若设备10支持pathChirp,不支持pathload,则设备10选择pathChirp作为与设备20共同测量第一链路的可用带宽的测量方式;若设备10支持pathChirp和pathload,可以从pathChirp和pathload中任选一个,作为与设备20共同测量第一链路的可用带宽的测量方式。
步骤203,设备10将指示设备10和设备20测量第一链路的所共同使用的测量方式以及设备10和设备20测量第一链路所共同使用的测量方式规定的测量报文的发送参数信息的信息封装到报文中,并向设备20发送封装了指示设备10和设备20测量第一链路所共同使用的测量方式以及设备10和设备20测量第一链路所共同使用的测量方式规定的测量报文的发送参数信息的信息的报文,其中,发送参数信息用于描述基于设备10和设备20测量第一链路所共同使用的测量方式测量第一链路可用带宽时测量报文的发送规则。
以设备10和设备20测量第一链路所共同使用的测量方式为pathChirp为例,通常情况下,pathChirp规定的发送参数信息为startSeq、N、T和r,其中startSeq用于指示测量报文的起始序列号,N用于指示一共发送测量报文的个数,T*r(N-n),n为2时,T*r(N-2)指示第一测量报文与第二测量报文之间的时间间隔。
应理解,不同的测量方式有不同的发送参数信息。
其中,指示设备10和设备20测量第一链路所共同使用的测量方式以及设备10和设备20测量第一链路所共同使用的测量方式规定的测量报文的发送参数信息的信息封装到报文的报文头中的连续L个字节上,并基于类型长度值TLV格式存在,其中L为不小于3的正整数。需要说明的是,连续的L个字节为保留字节上连续的L个字节,假设Type=10,则由连续的L个字节组成一个Type=10的扩展选项,假设length=12,0X01用于指示pathChirp,则Methods=0X01,发送参数信息包括startSeq、N、T和r,则Type=10的扩展选项的格式如图5所示。
步骤204,设备20接收设备10发送的报文,根据报文中封装的指示设备10和设备20测量第一链路共同使用的测量方式以及设备10和设备20测量第一链路共同使用的测量方式规定的测量报文的发送参数信息的信息,确定测量第一链路所共同使用的测量方式以及发送参数信息。
假设测量第一链路所共同使用的测量方式为pathChirp,则设备20确定测量方式为pathChirp,发送参数信息为startSeq、N、T和r。
步骤205,设备10根据发送参数信息,基于测量第一链路所共同使用的测量方式,确定测量报文的发送规则。
以测量第一链路所共同使用的测量方式为pathChirp为例,则根据startSeq、N、T和r,确定测量报文的发送规则为从序列号为startSeq的报文开始,发送N个测量报文,其中第n个报文与第一个报文之间的间隔为T*r(N-n)。
步骤206,设备10根据测量报文的发送规则,向设备20发送至少一个测量报文。
其中,步骤204与步骤205、步骤204与步骤206没有必然的先后顺序。
需要说明的是,为了避免在测量第一链路可用带宽时额外引入专门用于测量链路可用带宽的报文进行可用带宽的测量,导致给网络增加额外的负担,较佳的,将设备10中原本需要发送给设备20的数据报文或信令报文等作为测量报文。即将设备10中原本需要发送给设备20的数据报文或信令报文按照发送规则向设备20发送。
其中,通常情况下设备10是通过设备10中的网卡向设备20发送报文的,较佳的,网卡在接收到报文后,解析到报文中包括指示设备10和设备20测量第一链路共同使用的测量方式以及设备10和设备20测量第一链路共同使用的测量方式规定的测量报文的发送参数信息的信息,则根据发送参数信息,基于测量第一链路所共同使用的测量方式,确定测量报文的发送规则,然后根据测量报文的发送规则向设备20发送测量报文。
具体的,设备10在确定发起测量第一链路的可用带宽时,创建一个队列,将需要发送的N个测量报文预先存储到该队列中,在设备10需要向设备20发送测量报文时,设备10的网卡从该队列中获取测量报文,按照发送规则向设备20发送测量报文。
步骤207,设备20接收设备10发送的至少一个测量报文,确定测量报文的接收参数信息,并根据发送参数信息以及接收参数信息,基于设备10和设备20测量第一链路共同使用的测量方式,确定第一链路的可用带宽。
例如,在设备10和设备20测量第一链路共同使用的测量方式中需要用到实际接收到的测量报文的个数,则实际接收到的测量报文的个数即为接收参数信息。
可选的,在步骤201中设备10向设备20发送的报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息,则设备20根据发送参数信息以及接收参数信息,基于预设的算法,确定其它参数信息。
具体的,通过报文头中的连续的x个保留字节包含需要设备20反馈的其它参数信息,其它参数信息在连续的x个保留字节上基于TLV格式存在,其中x为不小于3的正整数,假设x=8,则由8个保留字节组成一个扩展选项,若Type=11,其它参数信息包括ReceiveRate(接收速率)、Loss Num(丢包值),则Type=11的扩展选项如图6所示。
以图6所示的其它参数信息包括Receive Rate和Loss Num,则设备20可根据startSeq和N,确定结束序号为endSeq=startSeq+(N-1)*packetsize+1,其中,packetsize为测量报文的大小,其中预先约定packetsize,例如packetsize=1300,可预先将packetsize=1300设置在设备10和设备20中,也可在Type=11的扩展选项中新增一个字段进行指定。
在设备20中预先设置接收到测量报文的总个数count为0,设备20从接收序号为startSeq的测量报文开始,每接收到一个测量报文,则将count加1,当确定接收到的测量报文序列号等于endSeq时,确定设备10已发送完测量报文;
具体基于以下算法计算Loss Num(丢包值)为,Loss Num=N-count,其中,N为设备10向设备20发送的测量报文的总个数,count为设备20接收到的测量报文的总个数;基于以下算法确定接收速率Receive Rate:Receive Rate=count*packetsize/(Tn-T1),其中Tn为第n个测量报文的接收时间,T1为第1个测量报文的接收时间,其中具体的,设备20中的网卡在接收到测量报文时,记录测量报文的接收时间,设备10中的网卡在发送测量报文时,记录测量报文的发送时间;其中,测量报文的接收时间和发送时间可以基于TLV格式携带在测量报文报文头中的连续的f个字节中,假设Type=12,length=10,则测量报文的接收时间和发送时间的扩展选项如图7所示。
步骤208,设备20向设备10发送第一链路的可用带宽。
需要说明的是,在步骤201中设备10向设备20发送的报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息,则设备20还需要向设备10发送其它参数信息,具体的,若以图6为例,其它参数信息包括Loss Num和Receive Rate,设备10是通过Type=11的扩展选项向设备20发送可用带宽、以及Loss Num和ReceiveRate。假设可用带宽为50Mbps、Receive Rate=40Mbps、Loss Num=0,则具体的携带方式如图8所示。
步骤209,设备10接收到设备20发送的可用带宽后,根据可用带宽,进行拥塞控制。
可选的,当设备10接收到设备20反馈的可用带宽以及其它参数信息后,根据可用带宽以及其它参数信息,进行拥塞控制。
以其它参数信息包括Loss Num和Receive Rate为例,设备10确定Loss Num不为0,但发送速率小于可用带宽,则设备10判定丢包为随机丢包,第一链路未发生拥塞,不对cwnd(congestion windows,拥塞窗口)进行调整。设备10确定Loss Num不为0,发送速率大于可用带宽,则基于可用带宽调整cwnd例如发送速率为50Mbps,可用带宽为40Mbps,将cwnd降低20%,而非直接降低50%或70%,适度调整cwnd。
可选的,为避免设备10未接收到设备20发送的第一链路的可用带宽及其其它参数信息,设备20在预设时间段内向设备10发送的报文中都携带第一链路的可用带宽及其其它参数信息。
需要说明的是,当设备20发起测量第一链路的可用带宽时,由设备20向设备10发送报文,该报文中包括发起测量链路可用带宽的指示信息。
为使得设备20支持设备10确定的与设备20测量第一链路所共同使用的测量方式,可选的,由设备20向设备10发送报文中在包括发起测量链路可用带宽的指示信息的同时,还包括测量方式指示信息,其中测量方式指示信息用于指示设备20测量链路可用带宽所支持的至少一个测量方式。
设备10在接收到设备20发送的报文后,若确定响应发起测量链路可用带宽,则向设备20发送报文,该报文中包括响应测量链路可用带宽的指示信息。
可选的,设备10向设备20发送的报文中在包括响应测量链路可用带宽的指示信息的同时还包括指示设备10和设备20测量第一链路共同使用的测量方式以及设备10和设备20测量第一链路共同使用的测量方式规定的测量报文的发送参数信息的信息,然后执行步骤204~步骤209。
其中,当由设备20发起测量第一链路的可用带宽,报文中包括发起测量链路可用带宽的指示信息、响应测量链路可用带宽的指示信息、以及指示设备10和设备20测量第一链路共同使用的测量方式以及设备10和设备20测量第一链路共同使用的测量方式规定的测量报文的发送参数信息的信息与由设备10发起测量第一链路的可用带宽时报文中包括的方式相同,以及设备10确定与设备20测量第一链路共同使用的测量方式,与由设备10发起测量第一链路的可用带宽时设备10确定与设备20测量第一链路共同使用的测量方式相同,因此赘述。
需要说明的是,在本发明实施例中,还可以在设备10和设备20中预先配置一个相同的测量方式,在这种情况下,设备20可以不再设备10发送测量方式指示信息,设备10可以不再向设备20发送确定的测量方式以及测量方式规定的发送参数信息。
基于同一发明构思,本发明实施例中还提供了一种测量链路可用带宽的方法设备及系统,由于测量链路可用带宽的设备及系统对应的方法为本发明实施例测量链路可用带宽的方法,因此本发明实施例设备及系统的实施可以参见该方法的实施,重复之处不再赘述。
如图9所示,本发明实施例测量链路可用带宽的方法设备,包括:处理单元900和收发单元910,其中,处理单元900用于确定与第二设备测量第一链路可用带宽所共同使用的第一测量方式,并将指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息封装到第一报文中,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则;收发单元910用于通过第一链路向第二设备发送第一报文;处理单元900还用于根据发送参数信息,基于第一测量方式,确定测量报文的发送规则;收发单元910还用于根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文。
可选的,收发单元910还用于:在处理单元900确定第一测量方式之前,通过第一链路向第二设备发送第二报文,以及接收第二设备发送的第三报文,第二报文中包括发起测量链路可用带宽的指示信息;处理单元900还用于确认第三报文中包括响应测量链路可用带宽的指示信息。
可选的,处理单元900一种具体确定第一测量方式:处理单元900确定接收到的第三报文中还包括测量方式指示信息,并从测量方式指示信息指示的至少一种第二测量方式中,选择一个第一设备测量链路可用带宽所支持的第二测量方式作为第一测量方式;其中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
可选的,当第二报文为传输控制协议TCP报文时,第二报文的报文头中位于Headerlength字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第二报文的报文头中的连续n个字节上包含发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
可选的,第三报文中包含响应测量链路可用带宽的指示信息的位置,与第二报文中包含发起测量链路可用带宽的指示信息的位置相同。
可选的,第三报文的报文头中的连续m个字节上包含测量方式指示信息,测量方式指示信息在连续m个字节上基于类型长度值TLV格式存在,其中m为不小于3的正整数。
可选的,第一报文中还包括响应测量链路可用带宽的指示信息,收发单元910,还用于在处理单元900确定第一测量方式之前,接收第二设备发送的第四报文,第四报文中包括发起测量链路可用带宽的指示信息。
可选的,处理单元900一种具体确定第一测量方式:处理单元900确定接收的第四报文中还包括测量方式指示信息,并从测量方式指示信息指示的至少一种第二测量方式中,选择一个第一设备测量链路可用带宽所支持的第二测量方式作为第一测量方式;其中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
可选的,第四报文为TCP报文;第四报文的报文头中位于Header length字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第四报文的报文头中的连续n个字节上包含发起测量发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
可选的,第一报文的报文头中包含响应测量链路可用带宽的指示信息的位置,与第四报文的报文头中包含发起测量链路可用带宽的指示信息的位置相同。
可选的,第四报文的报文头中的连续k个字节上包含测量方式指示信息,测量方式指示信息在连续k个字节上基于类型长度值TLV格式存在,其中k为不小于3的正整数。
可选的,第一报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息;收发单元910还用于在向第二设备发送至少一个测量报文之后,接收第二设备反馈的第一链路可用带宽以及其它参数信息;处理单元900还用于根据可用带宽以及其它参数信息,对第一链路进行拥塞控制。
可选的,处理单元900一种具体将指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息封装到第一报文中的方式:处理单元900将指示第一测量方式以及第一测量方式规定的测量报文的参数信息的信息封装到第一报文的报文头中的连续L个字节上,指示第一测量方式以及第一测量方式规定的参数信息的信息在连续L比特位上基于TLV格式存在,其中L为不小于3的正整数。
应注意,本发明实施例中,处理单元900可以由处理器实现,收发单元910可以由收发设备实现。
如图10所示,设备1000可以包括处理器1010、收发器1020和存储器1030。其中,存储器1030可以用于存储设备1000出厂时预装的程序/代码,也可以存储用于处理器1010执行时的代码等。
设备1000中的各个组件通过总线系统1040耦合在一起,其中总线系统1040除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
其中,处理器1010可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关操作,以实现本发明实施例所提供的技术方案。
应注意,尽管图10所示的设备1000仅仅示出了处理器1010、收发器1020和存储器1030,但是在具体实现过程中,本领域的技术人员应当明白,该设备还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,该设备还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,该设备也可仅仅包含实现本发明实施例所必须的器件或模块,而不必包含图10中所示的全部器件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
可选的,收发设备可以为网卡,其中,由于网卡中也包括处理器和收发设备,因此,可以由网卡中的处理器在检测到发送给第二设备的报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,则根据发送参数信息,基于第一测量方式,确定测量报文的发送规则,然后网卡的收发设备向第二设备根据发送规则通过第一链路向第二设备发送至少一个测量报文。
可选的,第一设备上的网卡在记录向第二设备发送的测量报文的发送时间后,将发送时间封装到测量报文中,然后向第二设备发送测量报文。
如图11所示,本发明实施例测量链路可用带宽的设备,包括:处理单元1100和处理单元1110,其中,处理单元1110用于接收第一设备发送的第一报文;处理单元1100用于确定第一报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息;发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则,第一测量方式为与第一设备测量第一链路可用带宽所共同使用的测量方式;处理单元1110还用于接收第一设备根据发送规则发送的至少一个测量报文;处理单元1100还用于确定测量报文的接收参数信息,并根据发送参数信息以及接收参数信息,基于第一测量方式,确定第一链路的可用带宽;接收参数信息用于描述第二设备接收至少一个测量报文的实际情况信息。
可选的,处理单元1110还用于在接收第一报文之前,通过第一链路接收第一设备发送第二报文;处理单元1100用于确定第二报文中包括发起测量链路可用带宽的指示信息,并在确定响应测量链路可用带宽后,将响应测量链路可用带宽的指示信息封装到第三报文中;处理单元1110还用于向第一设备发送第三报文。
可选的,第一测量方式为第一设备测量链路可用带宽支持的第二测量方式,第二测量方式为第二设备测量链路可用带宽所支持的至少一种第二测量方式中的一个;处理单元1100还用于在处理单元1110向第一设备发送第三报文之前,将测量方式指示信息封装到第三报文中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
可选的,当第二报文为传输控制协议TCP报文时,第二报文的报文头中位于Headerlength字段之后至少一个保留的比特位上包含发起测量链路可用带宽的指示信息;或者,第二报文的报文头中的连续n个字节上包含发起测量链路可用带宽的指示信息,发起测量链路可用带宽的指示信息在连续n个字节上基于TLV格式存在,其中n为不小于3的正整数。
可选的,第三报文中包含响应测量链路可用带宽的指示信息的位置,与第二报文中包含发起测量链路可用带宽的指示信息的位置相同。
可选的,处理单元1100一种具体将测量方式指示信息封装到第三报文中的方式:处理单元1100将测量方式指示信息封装到第三报文的报文头中的连续m个字节上,测量方式指示信息在连续m个字节上基于类型长度值TLV格式存在,其中m为不小于3的正整数。
可选的,处理单元1110还用于在接收第一报文之前,向第一设备发送第四报文,第四报文中包括发起测量链路可用带宽的指示信息;处理单元1100还用于在处理单元1110接收第一报文之后,确定第一报文中还包括响应测量链路可用带宽的指示信息。
可选的,第一测量方式为第一设备测量链路可用带宽支持的第二测量方式,第二测量方式为第二设备测量链路可用带宽所支持的至少一种第二测量方式中的一个;处理单元1100还用于在处理单元1110向第一设备发送第四报文之前,将测量方式指示信息封装到第四报文中,测量方式指示信息用于指示第二设备测量链路可用带宽所支持的至少一种第二测量方式。
可选的,当第四报文为TCP报文时,处理单元1100将测量方式指示信息封装到第四报文的报文头中位于Header length字段之后至少一个保留的比特位上;或者,将测量方式指示信息封装到第四报文的报文头中的连续n个字节上,发起测量链路可用带宽的指示信息在连续n个字节上基于类型长度值TLV格式存在,其中n为不小于3的正整数。
可选的,第一报文中包含响应测量链路可用带宽的指示信息的位置,与第四报文中包含发起测量链路可用带宽的指示信息的位置相同。
可选的,处理单元1100将测量方式指示信息封装到第四报文的报文头中的连续k个字节上,测量方式指示信息在连续k个字节上基于类型长度值TLV格式存在,其中k为不小于3的正整数。
可选的,第一报文中还包括需要第二设备反馈的除可用带宽以外的用于指示第一链路性能的其它参数信息;处理单元1100还用于在处理单元1110接收第一设备发送至少一个测量报文之后,根据发送参数信息以及接收参数信息,基于预设的算法,确定其它参数信息;处理单元1110还用于向第一设备发送第一链路的可用带宽以及其它参数信息。
可选的,第一报文的报文头中的连续L个字节上包含指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息在连续L比特位上基于类型长度值TLV格式存在,其中L为不小于3的正整数。
应注意,本发明实施例中,处理单元1100可以由处理器实现,收发单元1110可以由收发设备实现。
如图12所示,设备1200可以包括处理器1210、收发器1220和存储器1230。其中,存储器1230可以用于存储设备1200出厂时预装的程序/代码,也可以存储用于处理器1210执行时的代码等。
设备1200中的各个组件通过总线系统1240耦合在一起,其中总线系统1240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
其中,处理器1210可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关操作,以实现本发明实施例所提供的技术方案。
应注意,尽管图12所示的设备1200仅仅示出了处理器1210、收发器1220和存储器1230,但是在具体实现过程中,本领域的技术人员应当明白,该设备还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,该设备还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,该设备也可仅仅包含实现本发明实施例所必须的器件或模块,而不必包含图12中所示的全部器件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
如图13所示,本发明实施例测量链路可用带宽的系统,包括:如图9所述的设备1300,以及如图11所述的设备1310。
此外,如图14所示本发明实施例还提供了一种网卡,包括:处理单元1400和收发单元1410,其中处理单元1400用于检测到向第二设备发送的报文中包括指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息,并根据发送参数信息,基于第一测量方式,确定测量报文的发送规则,第一测量方式为第一设备与第二设备测量第一链路可用带宽所共同使用的测量方式,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则,网卡位于第一设备上;收发单元1410用于根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文。
可选的,处理单元1400还用于在收发单元1410向第二设备发送至少一个测量报文之前,针对至少一个测量报文中的任一测量报文,记录发送测量报文时发送时间,并将发送时间封装到测量报文中。
此外,当第一设备中的网卡在接收到其它设备发送的报文时,网卡中的处理单元还能够记录报文的接收时间。
应注意,本发明实施例中,处理单元1400可以由处理器实现,收发单元1410可以由收发设备实现。
如图15所示,网卡1500可以包括处理器1510、收发器1520和存储器1530。其中,存储器1530可以用于存储网卡1500出厂时预装的程序/代码,也可以存储用于处理器1510执行时的代码等。
网卡1500中的各个组件通过总线系统1540耦合在一起,其中总线系统1540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
其中,处理器1510可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关操作,以实现本发明实施例所提供的技术方案。
应注意,尽管图15所示的网卡1500仅仅示出了处理器1510、收发器1520和存储器1530,但是在具体实现过程中,本领域的技术人员应当明白,该网卡还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,该网卡还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,该设备也可仅仅包含实现本发明实施例所必须的器件或模块,而不必包含图15中所示的全部器件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
从上述内容可以看出:第一设备确定与第二设备测量第一链路可用带宽所共同使用的第一测量方式;并将指示第一测量方式以及第一测量方式规定的测量报文的发送参数信息的信息封装到第一报文中,然后,通过第一链路向第二设备发送第一报文,其中,发送参数信息用于描述基于第一测量方式测量第一链路可用带宽时测量报文的发送规则;并根据发送参数信息,基于第一测量方式,确定测量报文的发送规则;并根据测量报文的发送规则,通过第一链路向第二设备发送至少一个测量报文。这种技术方案由于在本发明实施例中第一链路连接的两个设备之间能够共同参与第一链路可用带宽的测量,而且剔除了其它链路的影响,从而提高了对第一链路可用带宽测量的准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。