CN105939282A - 分组大小的调整方法及装置 - Google Patents
分组大小的调整方法及装置 Download PDFInfo
- Publication number
- CN105939282A CN105939282A CN201610082336.6A CN201610082336A CN105939282A CN 105939282 A CN105939282 A CN 105939282A CN 201610082336 A CN201610082336 A CN 201610082336A CN 105939282 A CN105939282 A CN 105939282A
- Authority
- CN
- China
- Prior art keywords
- packet
- message
- confirmation message
- confirmation
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种分组大小的调整方法及装置,网络实体上配置有分组,所述方法包括:当所述网络实体作为发送端时,获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文;接收所述接收端发送的针对所述分组内的报文的确认报文,并利用所述确认报文的类型调整所述分组的分组大小;当所述网络实体作为接收端时,接收发送端发送的所述分组内的报文,并向所述发送端发送针对所述分组内的报文的确认报文。应用本申请实施例,接收端只需要针对分组内的多个报文返回一个确认报文即可,可以大大减少确认报文的发送数量,节约了接收端与发送端之间的链路带宽,提高了接收端与发送端之间的通信效率。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种分组大小的调整方法及装置。
背景技术
由于TCP(Translation Control Protocol,传输控制协议)协议具有确认机制,可以解决报文的乱序和丢包问题,保证数据的完整性,因此,发送端与接收端之间的报文传输过程,通常基于TCP协议实现。现有的确认机制是,接收端对收到的每个报文都回复一个确认报文,发送端如果没有收到接收端的确认报文,就说明前面发送的报文出现乱序或丢包问题,需要进行重传。
然而,这种方式需要发送大量的确认报文,必然会浪费发送端与接收端之间的链路带宽,降低通信效率。
发明内容
有鉴于此,本申请提供一种分组大小的调整方法及装置,以解决现有的确认机制浪费发送端与接收端之间的链路带宽,降低通信效率的问题。
根据本申请实施例的第一方面,提供一种分组大小的调整方法,所述方法应用于网络实体上,所述网络实体上配置有分组,所述方法包括:
当所述网络实体作为发送端时,获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文;接收所述接收端发送的针对所述分组内的报文的确认报文,并利用所述确认报文的类型调整所述分组的分组大小;
当所述网络实体作为接收端时,接收发送端发送的所述分组内的报文,并向所述发送端发送针对所述分组内的报文的确认报文。
根据本申请实施例的第二方面,提供一种分组大小的调整装置,所述装置应用于网络实体上,所述网络实体上配置有分组,所述装置包括:分组发送单元、确认报文接收单元、分组调整单元、分组接收单元、确认报文发送单元;
当所述网络实体作为发送端时,所述分组发送单元,用于获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文;所述确认报文接收单元,用于接收所述接收端发送的针对所述分组内的报文的确认报文;所述分组调整单元,用于利用所述确认报文的类型调整所述分组的分组大小;
当所述网络实体作为接收端时,所述分组接收单元,用于接收发送端发送的所述分组内的报文;所述确认报文发送单元,用于向所述发送端发送针对所述分组内的报文的确认报文。
应用本申请实施例,当所述网络实体作为发送端时,获取分组的分组大小,并在所述分组内添加所述分组大小个报文之后,向接收端发送所述分组内的报文,然后接收所述接收端发送的针对所述分组内的报文的确认报文,并利用所述确认报文的类型调整所述分组的分组大小;而当所述网络实体作为接收端时,接收发送端发送的所述分组内的报文,并向所述发送端发送针对所述分组内的报文的确认报文。基于上述实现方式,针对发送端向接收端发送的所述分组内的多个报文,接收端只需要返回一个确认报文即可,而不是针对每个报文都返回确认报文,从而大大减少了确认报文的发送数量,节约了接收端与发送端之间的链路带宽,提高了接收端与发送端之间的通信效率。
附图说明
图1为本申请根据一示例性实施例示出的一种应用场景示意图;
图2为本申请根据一示例性实施例示出的一种框式设备的板卡之间的报文传输示意图;
图3为本申请根据一示例性实施例示出的一种分组大小的调整方法的实施例流程图;
图4为本申请根据一示例性实施例示出的一种网络实体的硬件结构图;
图5为本申请根据一示例性实施例示出的一种分组大小的调整装置的实施例结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1所示,为本申请根据一示例性实施例示出的一种应用场景示意图:包括多个网络实体,针对每个网络实体,该网络实体即可以作为发送端,也可以作为接收端。其中,在图1中,当网络实体1作为发送端时,网络实体2为接收端,当网络实体2作为发送端时,网络实体1为接收端。在实际应用中,网络实体可以是具有发送功能和/或接收功能的实体,如可以是独立的网络设备,也可以是网络设备内的板卡,后续以网络实体是板卡为例进行详细阐述。
通常情况下,由多个板卡组成的网络设备称为框式设备,该框式设备由主控板与多个业务板组成,可以将主控板和业务板均称为板卡。在实际应用中,主控板负责命令配置、运行路由协议等控制处理,业务板负责流量审计、报文转发等业务处理。在框式设备的运行过程中,主控板需要发送命令配置、路由表项(基于路由协议学习到的路由表项)等数据到业务板中,以保证业务板的转发表项正确。业务板需要将流量审计信息和日志等数据发送到主控板中,方便主控板进行控制处理。因此,主控板和业务板之间需要进行报文传输,并采用确认机制保证报文传输的完整性。在本申请实施例的后续过程中,以两个板卡之间的报文传输过程,来表示主控板和业务板之间的报文传输过程。
参见图2所示,以板卡1作为发送端,板卡2作为接收端为例进行说明。在一个例子中,在发送端上配置分组,并预先设定所述分组的分组大小。发送端向接收端发送所述分组内的报文,当接收端接收到所述分组内的所有报文时,向发送端返回针对所述分组内的报文的确认报文,当发送端接收到确认报文时,删除所述分组内的报文,并在所述分组内添加预先设定的分组大小个报文,并向接收端继续发送所述分组内的报文,依此类推。然而,报文在传输过程中,无论是出现丢包还是延时的问题,发送端只要能接收到接收端发送的确认报文,就仍然以预先设定的分组大小向接收端发送报文,这样,报文在传输过程中始终会出现丢包或者延时等问题,导致业务处理出现问题,影响使用体验。
针对上述发现,本发明实施例中,接收端在接收到发送端发送的报文之后,先进行一定的判断(确定是否有丢包或者延时),然后接收端根据判断结果向发送端返回不同类型的确认报文,最终发送端根据接收到的确认报文的类型,对分组大小进行调整,以避免长时间出现丢包或者延时的问题。
参见图3所示,为本申请根据一示例性实施例示出的一种分组大小的调整方法的实施例流程图,该实施例结合图2示出的应用场景对分组大小的调整过程进行详细描述,发送端可以为图2中框式设备的板卡1,接收端可以为板卡2,并且发送端上配置有分组,该分组用于存储多个报文,包括以下步骤:
步骤301:发送端获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文。
发送端首先根据当前实际网络情况,获取所述分组的初始分组大小,在后续过程中,会根据接收到的确认报文的类型调整所述分组的分组大小。
通常情况下,所述分组的初始分组大小,可以设置为1。
步骤302:接收端接收发送端发送的所述分组内的报文,并向所述发送端发送针对所述分组内的报文的确认报文。
在接收端接收所述分组内的报文,并向所述发送端发送确认报文的过程中,当接收到携带有结束标记的报文时,判断是否已经接收到所述分组内的所有报文;若是,则向所述发送端发送针对所述分组内的报文的正常确认报文,若否,则向所述发送端发送针对所述分组内的报文的乱序确认报文。
其中,所述发送端在发送所述分组内的所有报文时,每个报文中均携带有序号,所述序号的取值为1至N,所述N为所述分组的分组大小。具体的,发送端发送的分组内的第一个报文携带的序号的取值为1,发送端发送的分组内的第二个报文携带的序号的取值为2,以此类推,发送端发送的分组内的最后一个报文携带的序号的取值为N,且该最后一个报文还会携带结束标记。
当接收端接收到携带有结束标记的报文时,表明所述发送端已经将所述分组内的报文全部发完。此时,接收端会获取确认报文的类型。具体的,接收端获取已经接收到的报文携带的序号,并将获取到的序号按照从小到大的顺序或者从大到小的顺序进行排序,如果排序后的各序号不连续,则确定未接收到所述分组内的所有报文,向发送端发送乱序确认报文;如果排序后的各序号连续,则确定已经接收到所述分组内的所有报文,向发送端发送正常确认报文。
其中,若接收端确定未接收到所述分组内的所有报文,表明所述接收端与所述发送端之间的链路有丢包,因此所述接收端向所述发送端返回乱序确认报文。若接收端确定已经接收到所述分组内的所有报文,表明所述接收端与所述发送端之间的链路没有丢包,因此所述接收端向所述发送端返回正常确认报文。
需要说明的是,为了解决若接收端一直接收不到携带有结束标记的报文,导致无法向发送端返回确认报文的问题,还可以设置确认超时定时器。
具体实现为:所述接收端在接收到所述发送端针对所述分组发送的第一个报文时,设置一个确认超时定时器,所述第一个报文是携带序号为1的报文。在所述确认超时定时器超时之前,若接收端接收到所述发送端针对所述分组发送的携带有结束标记的报文时,则执行判断是否已经接收到所述分组内的所有报文的过程,并删除所述确认超时定时器;在所述确认超时定时器超时时,若接收端未接收到所述发送端针对所述分组发送的携带有结束标记的报文,则向所述发送端发送针对所述分组内的报文的延时确认报文,并删除所述确认超时定时器。
步骤303:发送端接收所述接收端发送的针对所述分组内的报文的确认报文,并利用所述确认报文的类型调整所述分组的分组大小。
其中,发送端在利用所述确认报文的类型调整所述分组的分组大小之后,还可以删除所述分组内的所有报文,并在分组内添加所述调整后的分组大小个报文,并向接收端继续发送分组内的报文,该过程参见步骤301-303,在此不再赘述。
其中,针对利用所述确认报文的类型调整所述分组的分组大小的过程,可以分为下面的三种情况进行详细描述:
情况一、若所述确认报文的类型为正常确认报文,则将调整前的分组大小与预设拥塞分组阈值进行比较;若调整前的分组大小小于所述预设拥塞分组阈值,表明此时分组还没有达到拥塞阶段,则确定调整后的分组大小为调整前的分组大小与第一预设数值之积;若调整前的分组大小大于等于所述预设拥塞分组阈值,表明此时分组进入拥塞避免阶段,则确定调整后的分组大小为调整前的分组大小与第二预设数值之和。
其中,预设拥塞分组阈值的初始值的确定方式为:在发送端与接收端需要通信时,发送端与接收端之间互发通知报文,即发送端向接收端发送发包窗口大小,接收端向发送端发送收包窗口大小。发送端将自己的发包窗口大小与接收端发送的收包窗口大小进行比较,将比较小的窗口大小作为发包窗口大小,并设置拥塞分组阈值为发包窗口大小的五分之一。
此外,接收端也可以向发送端发送发包窗口大小,发送端也可以向接收端发送收包窗口大小。
所述收包窗口大小(也即收包缓存区)是指能接收到的最大报文个数,所述发包窗口大小(也即发包缓存区)是指能发送出去的最大报文个数。
在后续过程中,可以对拥塞分组阈值进行调整,具体调整方式在后续介绍。
所述拥塞分组阈值用于控制分组大小的增长速度。当调整前的分组大小小于拥塞分组阈值时,则调整后的分组大小按照调整前的分组大小与第一预设数值之积的速度增长,通常情况下,所述第一预设数值可以设置为2,此时分组大小将按照指数级速度增长,此时,分组还没进入拥塞阶段,可以多增加分组大小,因此分组大小的增长速度很快,从而接收端能够接收更多个报文之后,返回一个确认报文,进一步减少了确认报文的发送量;当调整前的分组大小大于等于拥塞分组阈值时,则调整后的分组大小按照调整前的分组大小与第二预设数值之和的速度增长,即直线型加法增长速度,此时,分组进入拥塞避免阶段,每次不能多增加分组大小,因此分组大小的增长速度减慢,每次以固定数值进行增加,可以使分组缓慢进入拥塞阶段,通常情况下,所述第二预设数值可以设置为1。
情况二、若所述确认报文的类型为乱序确认报文,则将所述分组大小调整为预设分组大小,即初始分组大小。
其中,当发送端接收到的确认报文的类型为乱序确认报文时,表明此时分组大小过大,发送端与接收端之间占用的链路带宽很大,并出现了丢包现象,因此,分组进入拥塞阶段,可以将所述分组大小调整为预设分组大小,即调整后的分组大小为初始分组大小,以使所述发送端重新从最小的分组大小开始,然后再逐渐增加分组大小。
为了使拥塞分组阈值大小与当前的网络实际情况相符,还可以根据调整前的分组大小来调整拥塞分组阈值大小,例如,发送端将拥塞分组阈值变为调整前的分组大小与第三预设数值之商,通常情况下,所述第三预设数值可以设置为2。
情况三、若所述确认报文的类型为延时确认报文,表明发送端没有分组大小那么多的报文需要发送,则保持所述分组的分组大小不变。例如,分组大小为50,而发送端只添加了40个报文到分组中,而第40个报文中并没有携带结束标记,因此当发送端把40个报文发送完之后,接收端由于接收不到携带结束标记的报文,确认超时定时器超时,然后向发送端返回延时确认报文。
需要说明的是,所述发送端可以为所述分组设置分组间隔,所述分组间隔指发送所述分组内的报文所用的时间。因此,当所述发送端删除所述分组内的所有报文时,将当前时间与发送所述分组内的第一个报文的时间进行相减,若得到的时间差大于等于所述分组间隔,则执行删除所述分组内的所有报文,并在调整后的分组内添加所述调整后的分组大小个报文的过程。若得到的时间差小于所述分组间隔,则等待(分组间隔-时间差)的时间之后,再执行删除所述分组内的所有报文,并在调整后的分组内添加所述调整后的分组大小个报文的过程,或者先执行删除所述分组内的所有报文,并在调整后的分组内添加所述调整后的分组大小个报文的过程,再等待(分组间隔-时间差)的时间之后,向接收端发送添加到分组内的报文。
进一步地,所述发送端在将所述分组中的最后一个报文发送给所述接收端之后,还可以为所述分组设置一个分组重传定时器,所述最后一个报文是指携带有结束标记的报文。
如果在所述分组重传定时器超时之前,所述发送端接收到所述接收端发送的针对所述分组内的报文的确认报文,则从所述分组内删除所有报文,并删除所述分组重传定时器,并按照上述方式调整分组的大小。如果在所述分组重传定时器超时时,未接收到所述接收端发送的针对所述分组内的报文的确认报文,则重新向所述接收端发送所述分组内的报文,并删除所述分组重传定时器。
所述发送端再重新将所述分组中的最后一个报文发送给所述接收端之后,为所述分组设置一个分组重传定时器,依次类推,直到能够在所述分组重传定时器超时之前,接收到所述接收端发送的针对所述分组内的报文的确认报文,则从所述分组内删除所有报文,结束对所述分组内的报文的传输。
由步骤302和步骤303所述的分组间隔、确认超时定时器、分组重传定时器的设定,是根据发送端与接收端之间的链路带宽、实时性等因素进行设定。由于分组重传定时器是因为接收不到确认报文而超时的,确认超时定时器是因为接收不到携带结束标记的报文而超时的,而携带结束标记的报文要先于确认报文,因此分组重传定时器大于确认超时定时器,同时,分组间隔是发送一个分组内的报文所用的时间,因此,分组间隔小于分组重传定时器和确认超时定时器,通常情况下,所述确认超时定时器的大小可以设为所述分组间隔的三倍,所述分组重传定时器的大小可以设为所述确认超时定时器的大小的二倍。
此外,基于TCP协议的报文在转发过程中,会涉及到ARP(AddressResolution Protocol,地址解析协议)学习、路由查找等大量协议栈底层的操作,处理流程复杂,报文转发性能弱。因此,在本发明实施例中,发送端与接收端之间传输的报文可以基于私有协议来实现。所述私有协议头部可以根据需求进行设定,比如,所述私有协议的协议头部可以包含五个字段的信息,所述五个字段的信息分别为发送方ID(1字节)、接收方ID(1字节)、报文序号(2字节)、确认标记(2bit)、结束标记(1bit)。由此可见,所述私有协议的协议头部的长度总计35bit,而TCP协议的协议头部的长度为20字节,因此所述私有协议相对TCP协议简单很多。
其中,所述2bit的确认标记用于表示确认报文的类型,假设可以将01表示正常确认报文,10表示乱序确认报文,11表示延时确认报文。
由上述实施例所述,发送端首先获取分组的分组大小,并在所述分组内添加所述分组大小个报文之后,向接收端发送所述分组内的报文;而接收端接收到发送端发送的所述分组内的所有报文之后,向所述发送端发送针对所述分组内的报文的确认报文。当发送端接收到所述接收端发送的针对所述分组内的报文的确认报文时,利用所述确认报文的类型调整所述分组的分组大小。
基于上述实现方式,针对发送端向接收端发送的所述分组内的多个报文,接收端只需要返回一个确认报文即可,而不是针对每个报文都返回确认报文,从而大大减少了确认报文的发送数量,节约了接收端与发送端之间的链路带宽,提高了接收端与发送端之间的通信效率。
另外,发送端需要根据接收到的确认报文的类型对分组大小进行调整,而不是始终保持分组大小不变,并且分组大小的增长速度分阶段进行调整,在进入拥塞避免阶段之前,分组大小的增长速度最快,能够使接收端在接收更多个报文之后,再向发送端返回一个确认报文,从而可以进一步减少确认报文的发送量,在进入拥塞避免阶段后,分组大小的增长速度减慢,可以使分组逐渐逼近拥塞阶段,并最终进入拥塞阶段,此时,由于接收端接收到的报文出现丢包,向发送端返回乱序确认报文,发送端立即将分组大小调整为初始分组大小,重新从最小的分组大小开始逐渐增加分组大小。而且若发送端没有分组大小那么多的报文需要发送,会接收到接收端发送的延时确认报文,然后发送端将分组大小继续保持不变,从而可以实现避免丢包和延时的问题,提高了使用体验。
与前述分组大小的调整方法的实施例相对应,本申请还提供了分组大小的调整装置的实施例。
本申请分组大小的调整装置的实施例可以应用在网络实体上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络实体的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请网络实体的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络实体通常根据该网络实体的实际功能,还可以包括其他硬件,对此不再赘述。
参见图5所示,为本申请根据一示例性实施例示出的一种分组大小的调整装置的实施例结构图,该实施例应用于网络实体上,所述网络实体上配置有分组,所述装置包括:分组发送单元510、确认报文接收单元520、分组调整单元530、分组接收单元540、确认报文发送单元550。
其中当所述网络实体作为发送端时,所述分组发送单元510,用于获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文;所述确认报文接收单元520,用于接收所述接收端发送的针对所述分组内的报文的确认报文;所述分组调整单元530,用于利用所述确认报文的类型调整所述分组的分组大小;
当所述网络实体作为接收端时,所述分组接收单元540,用于接收发送端发送的所述分组内的报文;所述确认报文发送单元550,用于向所述发送端发送针对所述分组内的报文的确认报文。
在一个可选的实现方式中,所述分组调整单元530,具体用于若所述确认报文的类型为正常确认报文,则将调整前的分组大小与预设拥塞分组阈值进行比较;若调整前的分组大小小于所述预设拥塞分组阈值,则确定调整后的分组大小为调整前的分组大小与第一预设数值之积;若调整前的分组大小大于等于所述预设拥塞分组阈值,则确定调整后的分组大小为调整前的分组大小与第二预设数值之和;若所述确认报文的类型为延时确认报文,则保持所述分组的分组大小不变;若所述确认报文的类型为乱序确认报文,则将所述分组大小调整为预设分组大小。
在另一个可选的实现方式中,所述装置还包括(图5中未示出):分组重传定时器设置单元、第一处理单元;
当所述网络实体作为发送端时,所述分组重传定时器设置单元,用于在将所述分组中的最后一个报文发送到所述接收端之后,为所述分组设置一个分组重传定时器;
所述第一处理单元,用于如果在所述分组重传定时器超时时,未接收到所述接收端发送的针对所述分组内的报文的确认报文,则重新向所述接收端发送所述分组内的报文,并删除所述分组重传定时器;如果在所述分组重传定时器超时之前,接收到所述接收端发送的针对所述分组内的报文的确认报文,则从所述分组内删除所有报文,并删除所述分组重传定时器。
在另一个可选的实现方式中,所述装置还包括(图5中未示出):判断单元;
当所述网络实体作为接收端时,所述判断单元,用于在分组接收单元接收发送端发送的所述分组内的报文之后,当接收到携带有结束标记的报文时,判断是否已经接收到所述分组内的所有报文;
所述确认报文发送单元,具体用于当判断结果为是时,向所述发送端发送针对所述分组内的报文的正常确认报文,当判断结果为否时,向所述发送端发送针对所述分组内的报文的乱序确认报文。
在另一个可选的实现方式中,所述装置还包括(图5中未示出):确认超时定时器设置单元、第二处理单元;
当所述网络实体作为接收端时,所述确认超时定时器设置单元,用于在接收到所述发送端针对所述分组发送的第一个报文时,设置确认超时定时器;
所述第二处理单元,用于在所述确认超时定时器超时之前,若接收到所述发送端针对所述分组发送的携带有结束标记的报文时,则执行判断已经接收到的报文携带的序号是否连续的过程,并删除所述确认超时定时器;在所述确认超时定时器超时时,若未接收到所述发送端针对所述分组发送的携带有结束标记的报文,则向所述发送端发送针对所述分组内的报文的延时确认报文,并删除所述确认超时定时器。
由上述实施例所述,发送端首先获取分组的分组大小,并在所述分组内添加所述分组大小个报文之后,向接收端发送所述分组内的报文;而接收端接收到发送端发送的所述分组内的所有报文之后,向所述发送端发送针对所述分组内的报文的确认报文。当发送端接收到所述接收端发送的针对所述分组内的报文的确认报文时,利用所述确认报文的类型调整所述分组的分组大小。
基于上述实现方式,针对发送端向接收端发送的所述分组内的多个报文,接收端只需要返回一个确认报文即可,而不是针对每个报文都返回确认报文,从而大大减少了确认报文的发送数量,节约了接收端与发送端之间的链路带宽,提高了接收端与发送端之间的通信效率。
另外,发送端需要根据接收到的确认报文的类型对分组大小进行调整,而不是始终保持分组大小不变,并且分组大小的增长速度分阶段进行调整,在进入拥塞避免阶段之前,分组大小的增长速度最快,能够使接收端在接收更多个报文之后,再向发送端返回一个确认报文,从而可以进一步减少确认报文的发送量,在进入拥塞避免阶段后,分组大小的增长速度减慢,可以使分组逐渐逼近拥塞阶段,并最终进入拥塞阶段,此时,由于接收端接收到的报文出现丢包,向发送端返回乱序确认报文,发送端立即将分组大小调整为初始分组大小,重新从最小的分组大小开始逐渐增加分组大小。而且若发送端没有分组大小那么多的报文需要发送,会接收到接收端发送的延时确认报文,然后发送端将分组大小继续保持不变,从而可以实现避免丢包和延时的问题,提高了使用体验。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种分组大小的调整方法,其特征在于,所述方法应用于网络实体上,所述网络实体上配置有分组,所述方法包括:
当所述网络实体作为发送端时,获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文;接收所述接收端发送的针对所述分组内的报文的确认报文,并利用所述确认报文的类型调整所述分组的分组大小;
当所述网络实体作为接收端时,接收发送端发送的所述分组内的报文,并向所述发送端发送针对所述分组内的报文的确认报文。
2.根据权利要求1所述的方法,其特征在于,所述利用所述确认报文的类型调整所述分组的分组大小,包括:
若所述确认报文的类型为正常确认报文,则将调整前的分组大小与预设拥塞分组阈值进行比较;若调整前的分组大小小于所述预设拥塞分组阈值,则确定调整后的分组大小为调整前的分组大小与第一预设数值之积;若调整前的分组大小大于等于所述预设拥塞分组阈值,则确定调整后的分组大小为调整前的分组大小与第二预设数值之和;
若所述确认报文的类型为延时确认报文,则保持所述分组的分组大小不变;
若所述确认报文的类型为乱序确认报文,则将所述分组大小调整为预设分组大小。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述分组中的最后一个报文发送到所述接收端之后,为所述分组设置一个分组重传定时器;
如果在所述分组重传定时器超时时,未接收到所述接收端发送的针对所述分组内的报文的确认报文,则重新向所述接收端发送所述分组内的报文,并删除所述分组重传定时器;如果在所述分组重传定时器超时之前,接收到所述接收端发送的针对所述分组内的报文的确认报文,则从所述分组内删除所有报文,并删除所述分组重传定时器。
4.根据权利要求1所述的方法,其特征在于,所述当所述网络实体作为接收端时,接收发送端发送的所述分组内的报文,并向所述发送端发送针对所述分组内的报文的确认报文,包括:
接收发送端发送的所述分组内的报文,当接收到携带有结束标记的报文时,判断是否已经接收到所述分组内的所有报文;
若是,则向所述发送端发送针对所述分组内的报文的正常确认报文,若否,则向所述发送端发送针对所述分组内的报文的乱序确认报文。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在接收到所述发送端针对所述分组发送的第一个报文时,设置确认超时定时器;
在所述确认超时定时器超时之前,若接收到所述发送端针对所述分组发送的携带有结束标记的报文时,则执行判断已经接收到的报文携带的序号是否连续的过程,并删除所述确认超时定时器;
在所述确认超时定时器超时时,若未接收到所述发送端针对所述分组发送的携带有结束标记的报文,则向所述发送端发送针对所述分组内的报文的延时确认报文,并删除所述确认超时定时器。
6.一种分组大小的调整装置,其特征在于,所述装置应用于网络实体上,所述网络实体上配置有分组,所述装置包括:分组发送单元、确认报文接收单元、分组调整单元、分组接收单元、确认报文发送单元;
当所述网络实体作为发送端时,所述分组发送单元,用于获取所述分组的分组大小,并在所述分组内添加所述分组大小个报文,并向接收端发送所述分组内的报文;所述确认报文接收单元,用于接收所述接收端发送的针对所述分组内的报文的确认报文;所述分组调整单元,用于利用所述确认报文的类型调整所述分组的分组大小;
当所述网络实体作为接收端时,所述分组接收单元,用于接收发送端发送的所述分组内的报文;所述确认报文发送单元,用于向所述发送端发送针对所述分组内的报文的确认报文。
7.根据权利要求6所述的装置,其特征在于,所述分组调整单元,具体用于若所述确认报文的类型为正常确认报文,则将调整前的分组大小与预设拥塞分组阈值进行比较;若调整前的分组大小小于所述预设拥塞分组阈值,则确定调整后的分组大小为调整前的分组大小与第一预设数值之积;若调整前的分组大小大于等于所述预设拥塞分组阈值,则确定调整后的分组大小为调整前的分组大小与第二预设数值之和;若所述确认报文的类型为延时确认报文,则保持所述分组的分组大小不变;若所述确认报文的类型为乱序确认报文,则将所述分组大小调整为预设分组大小。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括分组重传定时器设置单元、第一处理单元;
当所述网络实体作为发送端时,所述分组重传定时器设置单元,用于在将所述分组中的最后一个报文发送到所述接收端之后,为所述分组设置一个分组重传定时器;
所述第一处理单元,用于如果在所述分组重传定时器超时时,未接收到所述接收端发送的针对所述分组内的报文的确认报文,则重新向所述接收端发送所述分组内的报文,并删除所述分组重传定时器;如果在所述分组重传定时器超时之前,接收到所述接收端发送的针对所述分组内的报文的确认报文,则从所述分组内删除所有报文,并删除所述分组重传定时器。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括判断单元;
当所述网络实体作为接收端时,所述判断单元,用于在分组接收单元接收发送端发送的所述分组内的报文之后,当接收到携带有结束标记的报文时,判断是否已经接收到所述分组内的所有报文;
所述确认报文发送单元,具体用于当判断结果为是时,向所述发送端发送针对所述分组内的报文的正常确认报文,当判断结果为否时,向所述发送端发送针对所述分组内的报文的乱序确认报文。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括确认超时定时器设置单元、第二处理单元;
当所述网络实体作为接收端时,所述确认超时定时器设置单元,用于在接收到所述发送端针对所述分组发送的第一个报文时,设置确认超时定时器;
所述第二处理单元,用于在所述确认超时定时器超时之前,若接收到所述发送端针对所述分组发送的携带有结束标记的报文时,则执行判断已经接收到的报文携带的序号是否连续的过程,并删除所述确认超时定时器;在所述确认超时定时器超时时,若未接收到所述发送端针对所述分组发送的携带有结束标记的报文,则向所述发送端发送针对所述分组内的报文的延时确认报文,并删除所述确认超时定时器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610082336.6A CN105939282B (zh) | 2016-02-04 | 2016-02-04 | 分组大小的调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610082336.6A CN105939282B (zh) | 2016-02-04 | 2016-02-04 | 分组大小的调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105939282A true CN105939282A (zh) | 2016-09-14 |
CN105939282B CN105939282B (zh) | 2019-09-06 |
Family
ID=57152907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610082336.6A Active CN105939282B (zh) | 2016-02-04 | 2016-02-04 | 分组大小的调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105939282B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474642A (zh) * | 2019-01-08 | 2019-03-15 | 郑州云海信息技术有限公司 | 基于以太网udp协议数据传输方法、装置、设备及介质 |
CN109804587A (zh) * | 2016-10-12 | 2019-05-24 | 高通股份有限公司 | 用于高数据率的流线化的用户面报头 |
CN111817886A (zh) * | 2020-06-29 | 2020-10-23 | 新华三信息安全技术有限公司 | 一种获取管理对象数据的方法及设备 |
CN114629599A (zh) * | 2022-03-10 | 2022-06-14 | 深圳市云语科技有限公司 | 一种实时传输协议的确认报文方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008097544A3 (en) * | 2007-02-02 | 2008-12-11 | Interdigital Tech Corp | Method and apparatus for enhancing rlc for flexible rlc pdu size |
CN102968408A (zh) * | 2012-11-23 | 2013-03-13 | 西安电子科技大学 | 识别用户评论的实体特征方法 |
CN103534973A (zh) * | 2013-06-05 | 2014-01-22 | 华为技术有限公司 | 一种减少传输控制层确认报文的方法、装置和系统 |
CN104093170A (zh) * | 2014-06-10 | 2014-10-08 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
-
2016
- 2016-02-04 CN CN201610082336.6A patent/CN105939282B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008097544A3 (en) * | 2007-02-02 | 2008-12-11 | Interdigital Tech Corp | Method and apparatus for enhancing rlc for flexible rlc pdu size |
CN102968408A (zh) * | 2012-11-23 | 2013-03-13 | 西安电子科技大学 | 识别用户评论的实体特征方法 |
CN103534973A (zh) * | 2013-06-05 | 2014-01-22 | 华为技术有限公司 | 一种减少传输控制层确认报文的方法、装置和系统 |
CN104093170A (zh) * | 2014-06-10 | 2014-10-08 | 北京创毅视讯科技有限公司 | 基于tcp的数据传输方法和tcp代理装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109804587A (zh) * | 2016-10-12 | 2019-05-24 | 高通股份有限公司 | 用于高数据率的流线化的用户面报头 |
CN109804587B (zh) * | 2016-10-12 | 2022-04-29 | 高通股份有限公司 | 用于高数据率的流线化的用户面报头 |
US11659438B2 (en) | 2016-10-12 | 2023-05-23 | Qualcomm Incorporated | Streamlined user plane headers for high data rates |
CN109474642A (zh) * | 2019-01-08 | 2019-03-15 | 郑州云海信息技术有限公司 | 基于以太网udp协议数据传输方法、装置、设备及介质 |
CN111817886A (zh) * | 2020-06-29 | 2020-10-23 | 新华三信息安全技术有限公司 | 一种获取管理对象数据的方法及设备 |
CN111817886B (zh) * | 2020-06-29 | 2023-12-26 | 新华三信息安全技术有限公司 | 一种获取管理对象数据的方法及设备 |
CN114629599A (zh) * | 2022-03-10 | 2022-06-14 | 深圳市云语科技有限公司 | 一种实时传输协议的确认报文方法 |
CN114629599B (zh) * | 2022-03-10 | 2023-12-19 | 深圳市云语科技有限公司 | 一种实时传输协议的确认报文方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105939282B (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102132535B (zh) | 在通信网中传输数据分组的方法和交换装置 | |
US10601713B1 (en) | Methods and network device for performing cut-through | |
CN105939282A (zh) | 分组大小的调整方法及装置 | |
US11258717B2 (en) | Method for sending service packet, network device, and system | |
CN107770085B (zh) | 一种网络负载均衡方法、设备及系统 | |
CN109218222B (zh) | 一种实现发送端调速的方法、装置和系统 | |
EP1694001A1 (en) | Adaptive queue method and system for realtime packet transfer | |
CN111526606B (zh) | 用于数据传输的方法及装置、智能家居设备、存储介质 | |
CN101873269A (zh) | 数据转发设备和端口缓存的分配方法 | |
CN104168212A (zh) | 发送报文的方法和装置 | |
CN112583636A (zh) | 一种政务网络切片的构造方法、电子设备和存储介质 | |
US20060176821A1 (en) | Network bandwidth utilization verification method and apparatus through reciprocating and multiplicative message distribution | |
US7646738B2 (en) | Wireless network information distribution method | |
US8391285B2 (en) | Communication apparatus, communication system, and communication method | |
CN104022961A (zh) | 一种数据传输方法、装置及系统 | |
JP5087595B2 (ja) | エッジノード、ウィンドウサイズ制御方法およびプログラム | |
US20080137678A1 (en) | Communication Device, Routing Method, and Program | |
CN111555984A (zh) | 用于数据传输的方法及装置、智能家居设备、存储介质 | |
EP3672171A1 (en) | Message transmission method and device | |
CN112367708B (zh) | 一种网络资源分配方法及装置 | |
US20130191501A1 (en) | Procedures for the Transfer of User Data | |
JP4990187B2 (ja) | データ転送装置 | |
CN110138675B (zh) | 一种数据流量转发方法、装置、网板及分布式设备 | |
WO2008085635A1 (en) | Communication device and methods thereof | |
CN107483334B (zh) | 一种报文转发的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |