网络中拥塞窗口的确定方法和装置的制造方法_3

文档序号:9372017阅读:来源:国知局
需要说明的是,在上述第二种规则至第六种规则的任一种规则中,第一转发设备 将数据包发送给控制器之前,还包括:将数据包所属数据流连接所占用的带宽添加在数据 包中,数据包所属数据流连接所占用的带宽可以由源终端测量获得,也就是,控制器接收的 数据包中还包含数据包所属数据流连接所占用的带宽,以使控制器能够获取数据流连接的 带宽。
[0080] S202 :控制器根据流标识确定数据包的转发路径。
[0081] 所确定的转发路径包含M个转发设备中的I个转发设备,其中,I为整数且 I < I < Mo
[0082] 具体地,控制器根据流标识确定数据包的转发路径,包括但不限于如下实现方 式:
[0083] 第一种实现方式:控制器中预先存储了流标识与转发路径之间的对应关系,控制 器则可以根据控制器存储的流标识与转发设备的对应关系,确定数据包的转发路径。例如: 流标识为四元组(源地址、目的地址、源端口和目的端口),根据四元组进行哈希运算,根据 运算结果确定数据流对应的转发路径。
[0084] 第二种实现方式:控制器通常可以获知网络的拓扑结构,根据最短路径等规则确 定数据包的转发路径。
[0085] 数据包的转发路径上通常包含至少一个转发设备。其中,转发路径上包括一个转 发设备的情况,即源终端和目的终端直接连接同一个转发设备。
[0086] S203:控制器获取转发路径上的各个转发设备的剩余带宽中最小的剩余带宽。
[0087] 当控制器获知数据包的转发路径之后,遍历统计数据包的转发路径上的每个转发 设备的剩余带宽,从中获取最小的剩余带宽。针对转发路径上只有一个转发设备的情况,最 小的剩余带宽,即该转发设备的剩余带宽。
[0088] 具体地,针对数据包的转发路径上的每个转发设备,获取转发设备的总带宽、数据 流的个数以及每个数据流所占的带宽,根据转发设备的总带宽、数据流的个数以及每个数 据流所占的带宽获知该转发设备的剩余带宽,再从数据包的转发路径上的各转发设备的剩 余带宽中获取最小的剩余带宽。
[0089] 可以根据
取所述转发路径上的各个转发设备的剩余带宽中最小的剩余带宽,其中,B表示最小的剩余 带宽,i表示转发路径上的第i个转发设备,1 < i < I,I表示转发路径上的转发设备的总 数,C1表示第i个转发设备的总带宽,\ i表示第i个转发设备上第k个数据流连接的带宽, I < k < KpK1表示第i个转发设备的数据流连接的总数,第i个转发设备的数据流连接中 不包含源终端发送的数据包所属数据流的连接。
[0090] S204 :将最小的剩余带宽携带在数据包中发送给数据包的目的终端。
[0091] 可以理解,这里所描述的将最小的剩余带宽携带在数据包中发送给数据包的目的 终端,是指通过与目的终端连接的转发设备发送到目的终端。
[0092]目的终端接收到数据包之后,根据数据包中的最小剩余带宽以及预设时延确定数 据包所属数据流的拥塞窗口。通常,在建立数据流连接的过程中,预设时延可以是根据经验 预设的数据包在源终端与目的终端之间的往返时延;在数据流连接已经建立之后,预设时 延可以是终端统计的数据包在源终端与目的终端之间的往返时延的均值,或者,终端统计 的数据包在源终端与目的终端之间的往返时延的最小往返时延等,对此,本发明不做限制。 具体地:根据W = BXP确定数据流的拥塞窗口,其中,W表示数据流的拥塞窗口,B表示最 小的剩余带宽,P表示预设时延。通常,P取数据包在源终端和目的终端之间最小的往返时 延。
[0093] 本实施例中,通过控制器接收源终端发送的数据包,根据数据包中的流标识确定 数据包的转发路径,获取数据包的转发路径上各转发设备的剩余带宽中最小的剩余带宽, 发送给目的终端,目的终端根据最小剩余带宽和数据包在源终端和预设时延确定数据包所 属数据流的拥塞窗口,可以看出,在确定拥塞窗口的过程中,考虑了数据包的转发路径上各 转发设备的剩余带宽的情况,因此,确定的拥塞窗口更加合理,能够提高拥塞控制效果,进 而,提高带宽利用率、提高吞吐率、提高数据流连接之间的公平性以及防止转发设备缓冲区 溢出的问题。
[0094] 图5为本发明网络中拥塞窗口的确定方法实施例二的流程示意图,本实施例的执 行主体是目的终端,结合图1所示的网络场景图,本实施例的方法如下:
[0095] S501 :目的终端接收控制器发送的数据包。
[0096] 其中,数据包中包含数据包所属的数据流的流标识,以及流标识对应的转发路径 上的各个转发设备的剩余带宽中最小的剩余带宽。
[0097] 控制器将数据包的转发路径上各转发设备的剩余带宽中最小的剩余带宽添加在 数据包中,通过转发设备发送给目的终端,控制器获取最小的剩余带宽的方式参见图2所 示实施例的具体描述,在此不再赘述。
[0098] S502 :根据最小的剩余带宽以及预设时延确定数据流的拥塞窗口。
[0099]目的终端根据接收到的最小的剩余带宽,以及获取预设时延确定数据流的拥塞窗 □。
[0100] 通常,在建立数据流连接的过程中,预设时延可以是根据经验预设的数据包在源 终端与目的终端之间的往返时延;在数据流连接已经建立之后,预设时延可以是终端统计 的数据包在源终端与目的终端之间的往返时延的均值,或者,终端统计的数据包在源终端 与目的终端之间的往返时延的最小往返时延等,对此,本发明不做限制。
[0101] 本实施例中,通过目的终端根据最小剩余带宽以及预设时延确定数据包所属数据 流的拥塞窗口,由于最小剩余带宽是数据包的转发路径上的各转发设备的剩余带宽中最小 的剩余带宽,也就是,在确定数据流的拥塞窗口时,考虑了数据包的转发路径上各转发设备 的剩余带宽的情况,因此,确定的拥塞窗口更加合理,能够提高拥塞控制效果。
[0102] 图6为本发明网络中拥塞窗口的确定方法实施例三的流程示意图,本实施例的执 行主体是控制器,图6所示实施例与图2所示实施例不同的是,在图2所示实施例中,控制 器将确定的数据包的转发路径上各个转发设备的剩余带宽中最小的剩余带宽发送给目的 终端,由目的终端根据最小剩余带宽以及预设时延确定数据包所属数据流的拥塞窗口。而 图6所示实施例中,控制器直接根据确定数据包的转发路径上各个转发设备的剩余带宽中 最小的剩余带宽和预设时延,确定数据包所属数据流的拥塞窗口,将所确定的拥塞窗口携 带在数据包中发送给目的终端,具体流程如下:
[0103] S601 :控制器接收源终端发送的数据包。
[0104] 其中,上述数据包中包含数据包所属的数据流的流标识。
[0105] 该步骤的详细描述可参见图2所示实施例的S201,对此不再赘述。
[0106] S602 :控制器根据流标识确定数据包的转发路径。
[0107] 数据包的转发路径上包含M个转发设备中的I个转发设备,其中,I为整数且 I < I < Mo
[0108] 该步骤的详细描述可参见图2所示实施例的S202,对此不再赘述。
[0109] S603:控制器获取转发路径上的各个转发设备的剩余带宽中最小的剩余带宽。
[0110] 该步骤的详细描述可参见图2所示实施例的S203,对此不再赘述。
[0111] 具体地,可以根据

)获取所述转发路径上的各个转发设备的剩余带宽中最小的剩余带宽,其中,B表 示最小的剩余带宽,i表示转发路径上的第i个转发设备,1 < i < I,I表示转发路径上的 转发设备的总数,C1表示第i个转发设备的总带宽,bkil表示第i个转发设备上第k个数据 流连接的带宽,1 < k < K1, K1表示第i个转发设备的数据流连接的总数,第i个转发设备 的数据流连接中不包含源终端发送的数据包所属数据流的连接。
[0112] S604:控制器根据最小剩余带宽以及预设时延确定数据流的拥塞窗口。
[0113] 通常,在建立数据流连接的过程中,预设时延可以是根据经验预设的数据包在源 终端与目的终端之间的往返时延;在数据流连接已经建立之后,预设时延可以是终端统计 的数据包在源终端与目的终端之间的往返时延的均值,或者,终端统计的数据包在源终端 与目的终端之间的往返时延的最小往返时延等,对此,本发明不做限制。
[0114] 具体地:根据W = BXP确定数据流的拥塞窗口,其中,W表示数据流的拥塞窗口,B 表示最小的剩余带宽,P表示预设时延。通常,P取数据包在源终端和目的终端之间最小的 往返时延。
[0115] S605 :控制器将拥塞窗口携带在数据包中发送给数据包的目的终端。
[0116] 可以理解,这里所描述的将拥塞窗口携带在数据包中发送给数据包的目的终端, 是指通过与目的终端连接的转发设备发送到目的终端。
[0117] 目的终端接收到控制器发送的数据包之后,解析数据包,获取其中的拥塞窗口,将 所获取的拥塞窗口作为数据包所属数据流的拥塞窗口。
[0118] 本实施例中,通过控制器接收源终端发送的数据包,根据数据包中的流标识确定 数据包的转发路径,获取数据包的转发路径上各转发设备的剩余带宽中最小的剩余带宽, 根据最小剩余带宽和预设时延确定数据包所属数据流的拥塞窗口,将拥塞窗口携带在数据 包中发送给目的终端,以使目的终端根据数据包中携带的拥塞窗口确定数据包所属数据流 的拥塞窗口,可以看出,在确定拥塞窗口的过程中,考虑了数据包的转发路径上各转发设备 的剩余带宽的情况,因此,确定的拥塞窗口更加合理,能够提高拥塞控制效果。
[0119] 图7为本发明网络中拥塞窗口的确定装置实施例一的结构示意图,所述网络中包 含控制器、M个转发设备、源终端和目的终端,所述M为大于等于1的整数,本实施例的装置 部署在控制器中,本实施例的装置包括接收模块701、确定模块702、获取模块703和发送模 块704,其中,接收模块701用于接收源终端发送的数据包,所述数据包中包含所述数据包 所属的数据流的流标识;确定模块702用于根据所述流标识确
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1