1.一种信誉流量控制方法,包括以下步骤: 步骤1)、上游通信端口在发送数据包前,比较所要发送数据包的大小 与所述远端信誉值计数器中的信誉值,当所要发送数据包的大小小于远端 信誉值计数器中的信誉值时,发送所述数据包,并执行下一步,否则,不 发送所述数据包; 步骤2)、根据所发送数据包的大小,减少所述远端信誉值计数器中的 信誉值; 步骤3)、下游通信端口接收数据包,并根据所述数据包的大小减少所 述本地信誉值计数器中的信誉值; 步骤4)、下游通信端口对上游通信端口所要发送的下一个数据包的长 度进行预测; 步骤5)、根据步骤4)所得到的数据包长度预测结果,下游通信端口 的本地信誉值计数器中的信誉值,以及下游通信端口接收缓冲区空闲空间 的大小,决定是否需要向上游通信端口发送包含有新信誉值的流控包。
2.根据权利要求1所述的信誉流量控制方法,其特征在于,所述信 誉值为表示信誉块大小的值。
3.根据权利要求1所述的信誉流量控制方法,其特征在于,在所述 的步骤4)中,所述的对上游通信端口所要发送的下一个数据包的长度进 行预测是指: 将临近时间段内,从所接收到的数据包中选择数量最多的数据包长度 类型,并将该类型数据包的长度作为所预测的下一个数据包的长度。
4.根据权利要求3所述的信誉流量控制方法,其特征在于,所述的 对上游通信端口所要发送的下一个数据包的长度进行预测包括: 首先,根据最大传输单元的大小限制,对数据包长度进行分类;所述 最大传输单元为网络上能够传送的最大长度的数据包; 然后,为每种数据包长度类型设置相应的计数器; 接着,在接收数据包的过程中,根据所接收数据包的长度在相应的数 据包长度类型中,为所对应的计数器增值; 最后,在预测下一个数据包的长度时,从所有的计数器中选择值最大 的计数器,根据该计数器得到对应的数据包长度类型,将该类型数据包的 长度作为所预测的下一个数据包的长度。
5.根据权利要求1所述的信誉流量控制方法,其特征在于,在所述 的步骤5)中,在判断是否需要向上游通信端口发送包含有新信誉值的流 控包时,将所述下游通信端口的本地信誉值计数器中的信誉值与所述数据 包长度预测结果进行比较,并将所述下游通信端口接收缓冲区空闲空间的 大小与所述数据包长度预测结果进行比较,根据上述两个比较结果,决定 是否发送流控包。 6、根据权利要求5所述的信誉流量控制方法,其特征在于,在判断 是否需要向上游通信端口发送包含有新信誉值的流控包时,只有同时满足 两个判断条件才能发送流控包,所述两个判断条件是指: RemainCreditdw<creditof(PrePktLen)+creditof(RTT×BW)——条件1 FreeCreditdw>=creditof(PrePktLen)+creditof(RTT×BW)——条件2 其中,RemainCreditdw表示下游通信端口中的剩余信誉值,即下游通 信端口中本地信誉值计数器的值; FreeCreditdw表示下游通信端口接收缓冲区的空闲空间的信誉值; PrePktLen表示数据包长度预测结果; RTT表示物理链路回环时间,BW表示物理链路的带宽,RTT×BW 表示在物理链路回环时间内物理链路上传输的数据包大小; creditof()表示按信誉块大小所进行的规整化操作。
展开