CN1520111A - 局域网内的数据传输方法 - Google Patents
局域网内的数据传输方法 Download PDFInfo
- Publication number
- CN1520111A CN1520111A CNA2003101173103A CN200310117310A CN1520111A CN 1520111 A CN1520111 A CN 1520111A CN A2003101173103 A CNA2003101173103 A CN A2003101173103A CN 200310117310 A CN200310117310 A CN 200310117310A CN 1520111 A CN1520111 A CN 1520111A
- Authority
- CN
- China
- Prior art keywords
- datagram
- receiving
- recipient
- message
- transmit leg
- 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
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明涉及局域网内的数据传输方法,将待发送的数据包拆分成多个数据报,然后将所述数据报放在发送窗口中分批发送,接收方只记录每批数据报中发生失序的数据报的序号,如果接收方没有接收到该批所有的数据报,发送方只从发生失序或超时的数据报开始重发。本发明避免了发送大量数据时用来保证数据可靠传输而带来的额外开销,进一步提高了数据的发送速度,还可以根据接收方的处理能力和当前的网络状况,自动调整每次连续发送数据报的个数,以最大限度的发送满足高效、可靠的数据传输,特别适于作为目前通讯领域中网管***的应用层的数据传输。
Description
技术领域
本发明涉及一种网络上的数据传输方法,尤其涉及在无路由或少路由的局域网内发送和接收端之间将数据包分批发送和确认,并具有校验重发功能的高速数据传输方法。
背景技术
在局域网中,收发双方的组网方式一般是:后台网管服务器和前台的目标设备是“点对点”的直接相连,如图1所示,数据流在收、发方顺序发送,数据发送时,每条消息能发送的数据量是有限的,在本发明中,将端对端每条消息发送的数据大小叫“数据报”。如果要在短时间内发送大量的数据,需要将大数据包拆分为每条消息能够发送的“数据报”的大小。
但是,在局域网络也可能存在少量的路由,这时发送和接收端点之间的通信需通过通信子网中的节点(如,路由器)。当采用静态路由选择策略时,数据流在收、发方也是顺序发送的。当采用动态路由选择策略时,发送端将若干个带有序号和地址信息的数据报依次发给网络节点,由于各个节点随时在根据网络的流量、故障等情况选择路由,因而各个数据报所走的路径可能不同。如果发生路由(即同批数据报选择的路由发生了变化,不会频繁发生),各数据报就不一定能顺序到达目的节点,这种情况下接收方可以对其重新排序,并不需要重发数据。
在目前通信等很多领域中,存在大量的信息需要实时、快速的交互,在数据传输过程中也可能因噪声、网络拥塞等原因而丢失,如何尽量提高传输速率并保证数据的可靠传输,是大家最关心的问题。
一些通信协议为了进行差错控制,对每个发送的数据报都进行确认,这样收、发双方交互的消息将非常频繁,势必严重影响数据报的发送速度。
为了提供实时、高速的数据传输,目前采用的一种发送方式是:每次发送多个数据报,当接收方完全接收到之后进行确认。即发送方维持一个“发送窗口”,该窗口大小表示每次连续发送的等待确认的数据报的个数,如果该窗口中出现数据报丢失,则重新发送该窗口中所有的数据报。即传统的“简单重发”方法。这种方法减少了收发双方的信息交互,但重发所有数据报会引起不必要的网络资源的浪费,也会影响数据的传输速度。
还有一种方式是,接收方记录每个数据报是否成功接收,然后在一定的时长内通知发送方这些数据报的接收情况,采取这种方式的话,一方面,接收方需要开辟一个足够的空间,作为成功接收到的数据报的“记录表”,并且需要在收、发双方频繁交换这个记录表;同时发送方在重发数据时,需要遍历整个记录表,以判断是否重发丢失的数据包,这种处理方式,同样也影响了数据的快速发送。
发明内容
有鉴于此,本发明要解决的技术问题是提供局域网内的数据传输方法,能够进一步提高数据的传输速率,具有数据丢失的校验和重发功能,并可节省用来保证数据可靠传输而带来的额外开销。
为了达到上述目的,针对传输过程中可能发生路由的网络环境,本发明提供了一种局域网内的数据传输方法,将待发送的数据包拆分成多个数据报,然后将所述数据报放在发送窗口中分批发送,包括以下步骤:
(a)收发双方进行批号协商,接收方进行数据报计数器、失序号的变量初始化并启动接收定时器,向发送方返回“批号协商成功”消息;
(b)发送方连续发送窗口中带有批号、序号信息的同一批数据报,并向接收方提供该批数据报总个数信息;
(c)接收方选择接收本批次的数据报,每顺序接收一个数据报,数据报计数器加一,如果接收到该批所有的数据报,向发送方返回“接收完毕”消息;如果超时,则将第一个未顺序或者按时接收的数据报序号作为失序号,向发送方返回附带失序号的“未接收完毕”消息;
(d)发送方收到“接收完毕”消息后,开始连续发送下一批次的数据报;如果发送方收到“未接收完毕”消息,则按新的批号和序号重新发送从失序号开始的本批数据报;接收方均按步骤(c)的方式处理;以及
(e)发送方数据包全部发送完毕后,向接收方发“过程结束”消息,接收方做过程结束处理,停止接收定时器,完成一次收发过程。
上述步骤(c)又包含以下步骤:
(c1)接收方判断收到的数据报批号是否等于当前的协商批号?如果是,进行下一步;如果不是,则直接丢弃,并执行步骤(c6);
(c2)数据报计数器加一,重新启动接收定时器;
(c3)判断数据报计数器的计数是否等于该批数据报的总个数?如果是,向发送方返回“接收完毕”消息,同时将所述变量复位;如果否,进行下一步;
(c4)接收方判断是否已发生过失序?如果是,执行步骤(c6);如果否,则进行下一步;
(c5)接收方判断数据报计数器的计数与该数据报的序号是否相等?如果是,将失序号加一,进行下一步;如果否,将数据报计数器的当前计数固定为失序号,进行下一步;
(c6)接收方等待下一数据报,如果未超时即接收到了下一数据报,则重复执行步骤(c1);如果接收定时器超时,将数据报计数器的当前计数作为失序号,进行下一步;
(c7)接收方向发送方返回“未接收完毕”消息,并附带失序号,然后将所述变量复位,并启动接收定时器。
为了达到上述目的,针对传输中无路由的网络环境,本发明又提供了一种局域网内的数据传输方法,将待发送的数据包拆分成多个数据报,然后将所述数据报放在发送窗口中分批发送,包括以下步骤:
(a)收发双方进行批号协商,接收方进行数据报计数器的变量初始化并启动接收定时器,向发送方返回“批号协商成功”消息;
(b)发送方连续发送窗口中带有批号、序号信息的同一批数据报,并向接收方提供该批数据报总个数信息;
(c)接收方选择接收本批次的数据报,每顺序接收一个数据报,数据报计数器加一,如果接收到该批所有的数据报,向发送方返回“接收完毕”消息;如果失序或超时,向发送方返回“未接收完毕”消息,并附带数据报计数器的当前计数值作为失序号;
(d)发送方收到“接收完毕”消息后,开始连续发送下一批次的数据报;如果发送方收到“未接收完毕”消息,则按新的批号和序号重新发送从失序号开始的本批数据报;接收方均按步骤(c)的方式处理;以及
(e)发送方数据包全部发送完毕后,向接收方发“过程结束”消息,接收方做过程结束处理,停止接收定时器,完成一次收发过程。
上述步骤(c)又包含以下步骤:
(c1)接收方判断收到的数据报批号是否等于当前的协商批号?如果是,进行下一步;如果不是,则直接丢弃,并执行步骤(c5);
(c2)数据报计数器加一,重新启动接收定时器;
(c3)判断数据报计数器的计数是否等于该批数据报的总个数?如果是,向发送方返回“接收完毕”消息,同时将所述变量复位;如果否,进行下一步;
(c4)接收方判断数据报计数器的计数与该数据报的序号是否相等?如果是,则进行下一步;如果否,执行步骤(c6);
(c5)接收方等待下一数据报,如果未超时即接收到了下一数据报,则重复执行步骤(c1);如果接收定时器超时,则进行下一步;
(c6)接收方向发送方返回“未接收完毕”消息,并附带数据报计数器的当前计数值作为失序号,然后将所述变量复位,并启动接收定时器。
本发明的上述两种方法中,发送方多次收到“接收完毕”消息或“未接收完毕”消息后,在发送下一批数据报前,可分别按设定的时机和步长自动或者手动增加或减少每批发送的数据报个数。
本发明的上述两种方法中,接收方发回“接收完毕”和“未接收完毕”消息时,均可附带有新的批号,供发送方确认下一批要发送的数据报的批号。以提高数据传输的可靠性。
本发明的上述两种方法中,发送方向接收方提供该批次数据总个数信息可以通过在数据报的帧头里添加该信息,或者在协商阶段向接收方发送该信息来实现。
本发明的上述两种方法,发送方向的发送窗口大小可以等于或大于两批数据报的大小,在发送完窗口中的一批数据报后,马上放入另一批等发送的数据报。以节约发送准备的时间。
由上可知,本发明方法中,接收方只记录每批数据报中发生失序的数据报的序号,如果接收方没有到该批次的所有数据报,发送方只从发生“失序”的数据报开始重发,因此节约了网络资源,提高了数据传输的速率。此外,因此,本发明方法的收发双方的信息交换十分简单,无需在接收方开辟专门空间作为“记录表”,也无需在收发双方频繁地交换这个“记录表”。避免了现有技术在发送大量数据时用来保证数据可靠传输而带来的额外开销,同时在处理能力和内存空间上进行了优化,从而进一步提高了数据的发送速度。所以该方法设计简单,并且非常有效,特别适合于大容量数据的实时高速传输。
此外,对于数据的发送,瓶颈在接收方和链路质量,本发明方法还根据接收方的处理能力和当前的网络状况,自动调整每次连续发送数据报的个数,即发送窗口的大小,使得收、发双方在数据信息交互上达到一个“动态平衡”,以最大限度的发送满足高效、可靠的数据传输。
附图说明
图1是局域网内无路由时,收、发双方的组网示意图;
图2是本发明第一实施例的处理顺序示意图;
图3是本发明第一实施例数据传输的初始化处理流程图(批号确认和变量初始化);
图4是本发明第一实施例数据传输在正常情况时的收、发处理流程图;
图5是本发明第一实施例数据传输在异常情况时的收、发处理流程图;
图6是本发明第一实施例数据传输的结束处理流程图;以及
图7是本发明第二实施例数据传输的处理流程图。
具体实施方式
下面以两个具体实施例来详细说明本发明的方法。其中第一实施例针对局域网内采用动态路由选择的情况。第二实施例针对局域网内无路由或采用静态路由选择的情况。
第一实施例
由于应用层每条消息的数据报大小有限,需要将待发送的数据包进行拆分,然后将这些数据报放在“发送窗口”(对应了一个暂存区)中分批发送。为了区别数据报的批次,以及个数,序号,在发送时,在每个数据报的“帧头”里先附带上这些信息:
数据报的批号:标识数据报所属的发送批次,用于判别数据报是否属于当前批次,以决定是否接收,可以起到过滤“过时”数据的作用。
该批数据报的总个数:用于判断该批次数据报是否接收完毕。
数据报的序号:标识数据报在该批次中的序号,从1开始连续编号。
本实施例的发送窗口采用的是滑动窗口,窗口大小可以放入两批数据报(或更多),发送完一批数据报后马上装入另一批待发送的数据报。发送时将要发送数据报的批号与当前批号进行比较,对同一批次的数据报连续发送,发送完一批后,等待接收方的返回信息,决定是发送下一批数据报,还是重发部分数据报。采用滑动窗口可以节省发送方准备发送数据的时间。
而接收方为了实现对传输差错的校验,设置了“数据报计数器”、“失序标志”、“失序号”及“过程结束标志”等变量,这些变量都可以用常规的寄存器或计数器来实现。
在准备发送数据之前,双方需要进行传输初始化的处理过程,即进行“批号”的协商过程。
“批号协商”的消息可以由接收方或者发送方触发,这个根据实际情况而定。实施例子中,由发送方主动发起“批号协商”消息,如图3所示,一般默认的情况下,批号从0开始,同时在发送方启动一个协商定时器;步骤301及201。当接收方得到“批号协商”之后,进行“失序号”,“数据报计数器”,“失序标志”,“过程结束标志”等变量的初始化工作;步骤302。将“失序号”,“数据报计数器”清零,而将“失序标志”和“过程结束标志”置为”0”,表示未发生路由和过程未结束。再向发送方返回“协商成功”消息,启动接收定时器;步骤303及202。当发送方接收到“协商成功”消息后停止协商定时器;步骤304。如果协商定时器超时,则协商失败,由发送方重新协商或者放弃请求。
当收、发方完成数据传输的初始化协商过程之后,进入数据传输的收、发处理过程。由以下步骤组成:
发送方连续发送窗口中同一批的数据报,数据报序号从1开始连续编号;步骤401及203,然后等待接收方返回信息。
当接收方每收到一个数据报,首先检查该数据报的批号信息,判断数据报是否是当前协商的批号中的数据报?步骤402。如果不是,则直接丢弃,等待接收下一个数据报;步骤403。
如果是,说明接收方已经“正确”接收到一个数据报,“数据报计数器”加一,并重新启动接收定时器,以实时跟踪目前的接收状态;步骤404。
然后,判断“数据报计数器”的计数(代表了接收方收到的帧的个数)和该批数据报的“总个数”是否相等?即判断是否接收到了所有的数据报?步骤405,如果相等,表示该批数据报完全接收完毕,则立即给发送方回“接收完毕”消息,并附带新的批号,同时将各变量复位。步骤406及204。返回新的批号是供发送方核对确认下一批要发送的数据报的批号,虽然双方可以按事先约定的规则进行增加,但每次的确认可以进一步提高数据传输的安全性。
如果“数据报计数器”的计数小于“总个数”,则说明该批数据报还未接收完毕,此时判断失序标志是否为“1”?步骤407,如果为“1”,即已发生过失序,则等待接收下一个数据报。
如果为“0”,即还未发生过失序,则进一步判断该数据报序号是否等于数据报计数器的计数,如果相等,表明没有失序;步骤408,“失序号”加一,步骤409;再等待接收下一个数据报。如果不相等,即发生了失序,则表明该数据报发生了路由或者丢失,将“失序标志”置为“1”,同时将该数据报的序号存入“失序号”固定下来;步骤410,再等待接收下一个数据报。
当发送方收到“接收完毕”的消息后,开始进行下一批数据报的发送;步骤411。以后的处理流程则回到步骤401~410,如图2中的步骤205和206。
如果是数据报丢失或发生拥塞,数据报计数器的计数不会与总个数相等,而是会发生接收计时器超时。发生超时后,采有图5所示的异常处理流程进行处理。
如图5所示,如果该定时器超时;步骤501,表明接收方在规定时间没有“正确”接收到来自发送方的数据,则接收方立即发送“未接收完毕”消息,以通知发送方重发;考虑到可能存在因网络拥塞导致的“过时”数据,所以需要将批号加一作为附带的新的批号,以过滤那些“滞留”在网络上的遗留的数据报,避免已发送的数据报与重新发送的数据报因批号相同而混淆。还须附带“失序号”,以通知接收方从“失序号”开始发送本次窗口的数据报。同时启动接收定时器(此时如未接收到发送方重发的数据报,则重发“未接收完毕消息”),将“失序号”,“数据报计数器”,“失序标志”等变量复位;步骤502及207。
发送方得到该消息之后,从该“失序号”开始重发本批数据报,但在帧头中须采用新的批号(与接收方返回消息上附带的新批号一致)、序号和总个数的信息;步骤503及208,以后的过程与新的一批数据的发送与接收处理流程一致,接收成功后,接收方向发送方发送“接收完毕”消息,步骤209。
当发送方将所有的数据包都全部发送完毕之后,将立即给接收方发送“过程结束”消息;步骤601。接收方在得到该消息之后,接收方判断接收完毕数据包之后,作过程结束处理,即停止接收定时器,并将“过程结束”标志置为”1”,整个收发过程全部结束;步骤602及210。
需要说明的是,只是发生路由的数据报也会成功发送到接收方,只是该批数据报不是顺序接收的,在向上层传递时按数据报的序号重排即可,这也避免了***资源的浪费,提高了数据传输的速度。
因为本实施例中,发送方重发数据时采用了新的批号,已不可能发送同一批号的重复数据,因此接收方通过校验批号信息就可以判断该数据报是“未接收过的数据报”,所以如果接收方收到的帧的个数和该批的“总个数”相等,则判断“接收完毕”,是安全、可靠的。
第二实施例
在无路由或者采用静态路由选择的局域网环境,由于数据是顺序到达,只要失序,则说明数据发了丢失,因此接收方可以在失序后立即要求发送方从失序处重发,进一步提高这种组网模式下的发送速度。
第二实施例的数据报的帧头和发送窗口的设置与第一实施例相同,接收方只需设置“数据报计数器”和“过程结束标志”。发送过程包括以下步骤:
发送方发出“批号协商”消息,同时启动一个协商定时器;步骤701。
当接收方得到“批号协商”之后,将各变量初始化;再向发送方返回“协商成功”消息,启动接收定时器;步骤702。
当发送方接收到“协商成功”消息后停止协商定时器,并连续发送窗口中同一批的数据报;步骤703,然后等待接收方返回信息。
当接收方每收到一个数据报,首先检查该数据报的批号是否等于当前的协商批号?步骤704;如果不是,则直接丢弃;步骤705,并等待接收下一个数据报;步骤706。
如果是,说明接收方已经“正确”接收到一个数据报,“数据报计数器”加一,并重新启动接收定时器;步骤707。
然后判断“数据报计数器”的计数是否等于该批数据报的“总个数”?步骤708,如果相等,表示该批数据报完全接收完毕,则立即给发送方回“接收完毕”消息,并附带新的批号,同时将各变量复位。步骤709。发送方收到“接收完毕”的消息后,开始进行下一批数据报的发送;步骤710。
如果“数据报计数器”的计数小于“总个数”,则说明该批数据报还未接收完毕,则进一步判断该数据报序号是否等于数据报计数器的计数;步骤711。如果相等,表明没有失序,再等待接收下一个数据报;步骤706。
如果不相等,即发生了失序,或者等待超时,接收方立即发送“未接收完毕”消息,通知发送方需要重发,将批号加一作为附带的新的批号,同时将数据报计数器的当前计数作为“失序号”附带,并启动接收定时器,将各变量复位;步骤712。
发送方得到“未接收完毕”消息后,采用新的批号、序号和总个数信息,并将序号等于“失序号”的数据报作为该批的第一个数据报,开始重发本批未正确发送的数据报;步骤713。以后的过程与发送新批次的数据的处理流程一致。
至于数据包发送完毕后的处理流程与图6中第一实施例一样。两个实施例至少具有以下的共同点:收、发双方需要交互信息很少,而且在发生数据丢失后,均只从失序处重发。
如果当发送方在发送多批数据报时,连续多次收到接收方的“未接收完毕”消息,这说明,要么目前的链路质量不好,要么接收方的处理能力出现不能胜任这种发送速度。发送方可以减少每批发送数据报的个数,以达到“畅通”传输,该操作可以在图5的步骤503中进行。
而当通讯正常,发送方连续多次都收到“接收完毕”消息,说明接收方能够完全胜任该速度的数据报的处理;为了满足高速的发送,发送方也可以增加每批发送数据报的个数,以达到“饱和”传输效果,该操作可以在图4的步骤410中进行。
对于调整每批发送数据个数的时机(即正常或非正常接收多少次之后调整),以及调整的步长(即一次增/减的个数),可以根据实际的应用进行自动调整,也可以通过人机接口进行手动设置,以满足收、发双方的一种动态平衡。同时为了避免无限制的动态调整,保证窗口大小的收敛,也需要控制自动调整的上下限。
本发明的数据传输方法,是在较低层的通信协议(如IP协议,或者UDP协议)不对发送端到接收端的数据传输进行数据丢失校验和流量控制时,在更高层(如,运输层或应用层)采用的控制机制,以完成收、发端数据传输的流量控制和对数据丢失的校验重发,可以提供很高的数据传输速率并确保数据完整地被接收。对于传输过程中数据可能发生的二进制位的差错,是通过底层的协议(如物理链路层)进行校验的。本发明方法特别适合于作为目前通讯领域中局域网管***的应用层协议,以实现通讯领域中大信息量的实时、可靠、快速传输。
本领域的技术人员在本发明方法的精神下,可以作出等同变换来,如在数据报帧头中的该批数据报总个数信息,接收时接收方只需获取一次,如果考虑帧头的这个数据的额外开销,也可以不在每个数据报的帧头中加上该信息,而通过双方的协商附带上该批号。
又如,在第一实施例中,也可以通过判断失序号是为初始值,如零值,来判断是否发生过失序,这里失序号同时也起到了失序标志的作用。
又如,在第一实施例中,也可以不在步骤409中将“失序号”加一,而是在发生超时后,先判断失序标志,如果已发生失序,则返回“失序号”,如果未发生失序,则将数据报计数器的当前值作为失序号返回发送方。
此外,“0”“1”标志的含义也可以有不同的设定。也可以将上述两种方法综合到一个协议中,根据一个标志的设定来执行不同的处理流程。
Claims (14)
1、一种局域网内的数据传输方法,将待发送的数据包拆分成多个数据报,然后将所述数据报放在发送窗口中分批发送,其特征在于包括以下步骤:
(a)收发双方进行批号协商,接收方进行数据报计数器、失序号的变量初始化并启动接收定时器,向发送方返回“批号协商成功”消息;
(b)发送方连续发送窗口中带有批号、序号信息的同一批数据报,并向接收方提供该批数据报总个数信息;
(c)接收方选择接收本批次的数据报,每顺序接收一个数据报,数据报计数器加一,如果接收到该批所有的数据报,向发送方返回“接收完毕”消息;如果超时,则将第一个未顺序或者按时接收的数据报序号作为失序号,向发送方返回附带失序号的“未接收完毕”消息;
(d)发送方收到“接收完毕”消息后,开始连续发送下一批次的数据报;如果发送方收到“未接收完毕”消息,则按新的批号和序号重新发送从失序号开始的本批数据报;接收方均按步骤(c)的方式处理;以及
(e)发送方数据包全部发送完毕后,向接收方发“过程结束”消息,接收方做过程结束处理,停止接收定时器,完成一次收发过程。
2、如权利要求1所述的数据传输方法,其特征在于,所述步骤(c)又包含以下步骤:
(c1)接收方判断收到的数据报批号是否等于当前的协商批号,如果是,进行下一步;如果不是,则直接丢弃,并执行步骤(c6);
(c2)数据报计数器加一,重新启动接收定时器;
(c3)判断数据报计数器的计数是否等于该批数据报的总个数,如果是,向发送方返回“接收完毕”消息,同时将所述变量复位;如果否,进行下一步;
(c4)接收方判断是否已发生过失序,如果是,执行步骤(c6);如果否,则进行下一步;
(c5)接收方判断数据报计数器的计数与该数据报的序号是否相等,如果是,将失序号加一,进行下一步;如果否,将数据报计数器的当前计数固定为失序号,进行下一步;
(c6)接收方等待下一数据报,如果未超时即接收到了下一数据报,则重复执行步骤(c1);如果接收定时器超时,将数据报计数器的当前计数作为失序号,进行下一步;
(c7)接收方向发送方返回“未接收完毕”消息,并附带失序号,然后将所述变量复位,并启动接收定时器。
3、如权利要求1或2所述的数据传输方法,其特征在于,所述接收方还设有过程结束标志和失序标志,在步骤(a)中均置为“0”,在失序后将失序标志置为“1”,在接收完毕数据包后,将过程结束标志置为“1”。
4、如权利要求1或2所述的数据传输方法,其特征在于,发送方多次收到“接收完毕”消息或“未接收完毕”消息后,在发送下一批数据报前,分别按设定的时机和步长自动或者手动增加或减少每批发送的数据报个数。
5、如权利要求1或2所述的数据传输方法,其特征在于,接收方发回“接收完毕”和“未接收完毕”消息时,均附带有新的批号,供发送方确认下一批要发送的数据报的批号。
6、如权利要求1或2所述的数据传输方法,其特征在于,发送方向接收方提供该批次数据总个数信息是通过在数据报的帧头里添加该信息,或者在协商阶段向接收方发送该信息来实现的。
7、如权利要求1或2所述的数据传输方法,其特征在于,发送方的发送窗口大小至少为两批数据报的大小,在发送完窗口中的一批数据报后,马上放入另一批等发送的数据报。
8、一种局域网内的数据传输方法,将待发送的数据包拆分成多个数据报,然后将所述数据报放在发送窗口中分批发送,其特征在于包括以下步骤:
(a)收发双方进行批号协商,接收方进行数据报计数器的变量初始化并启动接收定时器,向发送方返回“批号协商成功”消息;
(b)发送方连续发送窗口中带有批号、序号信息的同一批数据报,并向接收方提供该批数据报总个数信息;
(c)接收方选择接收本批次的数据报,每顺序接收一个数据报,数据报计数器加一,如果接收到该批所有的数据报,向发送方返回“接收完毕”消息;如果失序或超时,向发送方返回“未接收完毕”消息,并附带数据报计数器的当前计数值作为失序号;
(d)发送方收到“接收完毕”消息后,开始连续发送下一批次的数据报;如果发送方收到“未接收完毕”消息,则按新的批号和序号重新发送从失序号开始的本批数据报;接收方均按步骤(c)的方式处理;以及
(e)发送方数据包全部发送完毕后,向接收方发“过程结束”消息,接收方做过程结束处理,停止接收定时器,完成一次收发过程。
9、如权利要求8所述的数据传输方法,其特征在于,所述步骤(c)又包含以下步骤:
(c1)接收方判断收到的数据报批号是否等于当前的协商批号,如果是,进行下一步;如果不是,则直接丢弃,并执行步骤(c5);
(c2)数据报计数器加一,重新启动接收定时器;
(c3)判断数据报计数器的计数是否等于该批数据报的总个数,如果是,向发送方返回“接收完毕”消息,同时将所述变量复位;如果否,进行下一步;
(c4)接收方判断数据报计数器的计数与该数据报的序号是否相等,如果是,则进行下一步;如果否,执行步骤(c6);
(c5)接收方等待下一数据报,如果未超时即接收到了下一数据报,则重复执行步骤(c1);如果接收定时器超时,则进行下一步;
(c6)接收方向发送方返回“未接收完毕”消息,并附带数据报计数器的当前计数值作为失序号,然后将所述变量复位,并启动接收定时器。
10、如权利要求8或9所述的数据传输方法,其特征在于,所述接收方还设有过程结束标志,在步骤(a)中置为“0”,在接收完毕数据包后,将过程结束标志置为“1”。
11、如权利要求8或9所述的数据传输方法,其特征在于,发送方多次收到“接收完毕”消息或“未接收完毕”消息后,在发送下一批数据报前,分别按设定的时机和步长自动或者手动增加或减少每批发送的数据报个数。
12、如权利要求8或9所述的数据传输方法,其特征在于,接收方发回“接收完毕”和“未接收完毕”消息时,均附带有新的批号,供发送方确认下一批要发送的数据报的批号。
13、如权利要求8或9所述的数据传输方法,其特征在于,发送方向接收方提供该批次数据总个数信息是通过在数据报的帧头里添加该信息,或者在协商阶段向接收方发送该信息来实现的。
14、如权利要求8或9所述的数据传输方法,其特征在于,发送方向的发送窗口大小至少为两批数据报的大小,在发送完窗口中的一批数据报后,马上放入另一批等待发送的数据报。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101173103A CN1287568C (zh) | 2003-09-02 | 2003-12-08 | 局域网内的数据传输方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN03156161.6 | 2003-09-02 | ||
CN03156161 | 2003-09-02 | ||
CNB2003101173103A CN1287568C (zh) | 2003-09-02 | 2003-12-08 | 局域网内的数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1520111A true CN1520111A (zh) | 2004-08-11 |
CN1287568C CN1287568C (zh) | 2006-11-29 |
Family
ID=34314827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101173103A Expired - Fee Related CN1287568C (zh) | 2003-09-02 | 2003-12-08 | 局域网内的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1287568C (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008031291A1 (fr) * | 2006-09-07 | 2008-03-20 | Zte Corporation | Procédé de récupération de synchronisation de numéros de séquence de couche d'adaptation pair à pair à deux couches de transport de signalisation |
CN100403736C (zh) * | 2006-03-14 | 2008-07-16 | 杭州华三通信技术有限公司 | 多单元发送时的报文序列号检测方法及装置 |
CN100428745C (zh) * | 2006-07-28 | 2008-10-22 | 华为技术有限公司 | 一种数据的传输方法和装置 |
WO2009021417A1 (fr) * | 2007-08-14 | 2009-02-19 | Shenzhen Coship Electronics Co., Ltd. | Procédé, système et dispositif de transmission et de réception de données de réseau |
CN101094165B (zh) * | 2006-06-19 | 2010-12-08 | 大唐移动通信设备有限公司 | 一种控制局域网中实现数据传输的方法、***和设备 |
CN101110848B (zh) * | 2006-07-20 | 2011-05-04 | 华为技术有限公司 | 一种检测通道故障的方法 |
CN102355342A (zh) * | 2011-10-19 | 2012-02-15 | 山东中创软件工程股份有限公司 | 一种消息发送和接收的方法及装置 |
CN103581296A (zh) * | 2013-09-27 | 2014-02-12 | 深圳中科金证科技有限公司 | Pos***与区域卫生信息平台的数据推送方法及装置 |
CN105245470A (zh) * | 2015-11-05 | 2016-01-13 | 深圳市网心科技有限公司 | 一种数据传输方法和装置 |
CN105743865A (zh) * | 2014-12-12 | 2016-07-06 | 上海大潮电子技术有限公司 | 多媒体文件数据传输***及传输方法 |
CN109412761A (zh) * | 2017-08-18 | 2019-03-01 | 中兴通讯股份有限公司 | 一种静态PW MAC withdraw报文交互的方法及装置 |
CN109450603A (zh) * | 2018-11-28 | 2019-03-08 | 视联动力信息技术股份有限公司 | 一种视联网数据的发送方法及*** |
CN110198203A (zh) * | 2019-06-14 | 2019-09-03 | 中国人民解放军陆军工程大学 | 一种控制数据传输速率的方法 |
CN111400212A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视***技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN115297062A (zh) * | 2022-09-29 | 2022-11-04 | 深圳华锐分布式技术股份有限公司 | 应用层网络数据传输方法、装置、设备及介质 |
-
2003
- 2003-12-08 CN CNB2003101173103A patent/CN1287568C/zh not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403736C (zh) * | 2006-03-14 | 2008-07-16 | 杭州华三通信技术有限公司 | 多单元发送时的报文序列号检测方法及装置 |
US7860010B2 (en) | 2006-03-14 | 2010-12-28 | Hangzhou H3C Technologies Co., Ltd. | Method, apparatus and system for detecting sequence number of packet for transmission of multi-units |
CN101094165B (zh) * | 2006-06-19 | 2010-12-08 | 大唐移动通信设备有限公司 | 一种控制局域网中实现数据传输的方法、***和设备 |
CN101110848B (zh) * | 2006-07-20 | 2011-05-04 | 华为技术有限公司 | 一种检测通道故障的方法 |
CN100428745C (zh) * | 2006-07-28 | 2008-10-22 | 华为技术有限公司 | 一种数据的传输方法和装置 |
CN101127763B (zh) * | 2006-09-07 | 2011-06-22 | 中兴通讯股份有限公司 | 一种传输信令二层对等适配层序号恢复同步的方法 |
WO2008031291A1 (fr) * | 2006-09-07 | 2008-03-20 | Zte Corporation | Procédé de récupération de synchronisation de numéros de séquence de couche d'adaptation pair à pair à deux couches de transport de signalisation |
WO2009021417A1 (fr) * | 2007-08-14 | 2009-02-19 | Shenzhen Coship Electronics Co., Ltd. | Procédé, système et dispositif de transmission et de réception de données de réseau |
CN102355342A (zh) * | 2011-10-19 | 2012-02-15 | 山东中创软件工程股份有限公司 | 一种消息发送和接收的方法及装置 |
CN103581296B (zh) * | 2013-09-27 | 2017-10-10 | 深圳中科金证科技有限公司 | Pos***与区域卫生信息平台的数据推送方法及装置 |
CN103581296A (zh) * | 2013-09-27 | 2014-02-12 | 深圳中科金证科技有限公司 | Pos***与区域卫生信息平台的数据推送方法及装置 |
CN105743865A (zh) * | 2014-12-12 | 2016-07-06 | 上海大潮电子技术有限公司 | 多媒体文件数据传输***及传输方法 |
CN105245470A (zh) * | 2015-11-05 | 2016-01-13 | 深圳市网心科技有限公司 | 一种数据传输方法和装置 |
CN105245470B (zh) * | 2015-11-05 | 2019-05-17 | 深圳市网心科技有限公司 | 一种数据传输方法和装置 |
CN109412761A (zh) * | 2017-08-18 | 2019-03-01 | 中兴通讯股份有限公司 | 一种静态PW MAC withdraw报文交互的方法及装置 |
CN109450603A (zh) * | 2018-11-28 | 2019-03-08 | 视联动力信息技术股份有限公司 | 一种视联网数据的发送方法及*** |
CN110198203A (zh) * | 2019-06-14 | 2019-09-03 | 中国人民解放军陆军工程大学 | 一种控制数据传输速率的方法 |
CN111400212A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视***技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN111400212B (zh) * | 2019-09-29 | 2022-02-08 | 杭州海康威视***技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN115297062A (zh) * | 2022-09-29 | 2022-11-04 | 深圳华锐分布式技术股份有限公司 | 应用层网络数据传输方法、装置、设备及介质 |
CN115297062B (zh) * | 2022-09-29 | 2023-01-24 | 深圳华锐分布式技术股份有限公司 | 应用层网络数据传输方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1287568C (zh) | 2006-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1287568C (zh) | 局域网内的数据传输方法 | |
US6981032B2 (en) | Enhanced multicast-based web server | |
CN101047720A (zh) | 处理网络数据的方法和*** | |
CN101047485A (zh) | 通信终端以及重发控制方法 | |
DE60311155T2 (de) | Genaue steuerung von informationsübertragungen in ad-hoc netzwerken | |
CN1918825A (zh) | 发送和接收具有处理时间信息的控制协议数据单元 | |
CN1909503A (zh) | 一种探测路径最大传输单元的方法 | |
CN1863033A (zh) | 获取网络超时重传间隔的方法及网络中数据传输的方法 | |
CN1458590A (zh) | 用网络栈同步和上载已卸载网络栈连接的方法 | |
CN1423869A (zh) | 用于蜂窝电信的链路层确认和重发 | |
CN1728671A (zh) | 服务器设备及其控制方法和使用该服务器建立连接的方法 | |
CN1968074A (zh) | 网络封包串流仿真方法 | |
CN1819593A (zh) | 信息处理器和数据传输***及方法 | |
CN101030946A (zh) | 一种实现数据业务的方法及*** | |
CN101030842A (zh) | 移动通信***中数据的重排方法及其装置 | |
CN1909507A (zh) | 一种报文转发方法和*** | |
CN1863141A (zh) | 一种ip分片报文传输处理方法 | |
CN1497902A (zh) | 路由控制***、路由控制装置,以及路由控制方法 | |
CN1353510A (zh) | 重发控制方法和装置 | |
CN1977497A (zh) | 避免服务数据单元(sdu)复制的无损无线链路控制实体(rlc)的重建 | |
CN101043462A (zh) | 一种链路状态通告处理方法及路由器 | |
CN1946078A (zh) | 一种适用于卫星网络的高效交互传输方法 | |
CN1633796A (zh) | 针对广播或无线网络修改tcp/ip | |
CN1298132C (zh) | 接收设备、发送设备和程序 | |
CN1627762A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061129 Termination date: 20171208 |