利用面向非连接的协议的数据通信的制作方法

文档序号:8265203阅读:404来源:国知局
利用面向非连接的协议的数据通信的制作方法
【技术领域】
[0001]本发明的实施例涉及一种数据通信,尤其涉及一种利用面向非连接的协议(connect1nless-oriented protocol)而执行数据通信的技术。
【背景技术】
[0002]计算机网络使各计算机之间的通信成为可能。例如,计算机网络包括局域网(Local Area Network:LAN)、广域网(Wide Area Network:WAN)、因特网、无线网、混合设备网等。
[0003]在这种计算机网络中,数据能够以一个以上的包的形态传送。由接收到的所有包重新构成原来传送的数据。在一些例中,包的序列号(sequence number)对于数据的重新构成比较重要。
[0004]在预定的网络环境(例如无线网络环境)中,包往往容易在传送的过程中由于网络上的干扰、传送信道的特性等而丢失(lost)。因此,为了将数据以包的形态可靠地传送,网络上的计算机之间例如会使用传输控制协议(Transmiss1n Control Protocol:TCP)0TCP为可用于传输层(transport layer)的协议。TCP为面向连接(connect1n-oriented)的协议,其在收发数据的计算机之间的消息在通过各计算机的应用而发生交换的时间内实现连接的建立(establishment)及维持。
[0005]相反,作为传输层的另一协议的用户数据报协议(User Datagram Protocol:UDP)为面向非连接的协议。UDP通过将数据从数据发送器发送给数据接收器而执行通信,且并不伴随预先发送表示要从数据发送器传送数据的信号的步骤或确认数据接收器的状态的步骤。这种UDP本身并不提供由数据发送器确认数据接收器是否正常接收数据的机制,故与TCP相比UDP不能保障具有可靠性的传送。

【发明内容】

[0006]不需要执行建立并解除用于数据传送的连接的过程的UDP适于更加有效而简便的数据传送,例如可在无线网络环境中实现比TCP更快的数据传送。
[0007]为了在这种基于UDP的数据传送中提高可靠性,可使用重新传送机制。这种重新传送机制的例中包括自动重复请求(Automatic Repeat reQuest:ARQ)方式(例如Go-Back-N ARQ方式以及选择拒绝(Selective-Reject)ARQ方式等)。ARQ方式利用已传送的包的序列号而检测出由数据发送器传送的包当中的没有被数据接收器接收的包(即丢失的包),并响应于丢失的包的检测而从数据接收器向数据发送器发送否定确认响应(Negative ACKnowledgement:NACK),从而请求丢失的包的重新传送。
[0008]在ARQ方式中,如果已经从数据接收器发送了对应于某一包的NACK却没有传递至数据发送器而丢失,则可能成为问题。通常,在数据发送器再次接收到对应于该包的NACK之前、或者在数据发送器在传送该包之后的预定时间内没有接收到用于表示接收到该包的确认响应(ACKnowledgement:ACK)而发生超时(timeout)之前,不会重新传送该包。因此,如果用于表示没有接收到某一包的NACK消息丢失,则在执行该包的重新传送为止可能需要相当多的时间。
[0009]并且,在ARQ方式中,在对应于某一包的ACK已经由数据接收器发送却没有传递至数据发送器而丢失的情况下,即使该包已被接收,数据发送器在超时以后还将进行不必要的重新传送。
[0010]公开的实施例在借助于UDP之类的面向非连接的协议的数据通信中采用重新传送机制,并且针对数据包的集合,用包含有表示各数据包是否已被数据接收器接收的信息的新的确认响应消息(acknowledgement message)代替普遍的ACK/NACK而使用。例如,前述的信息可以是根据数据包的接收而得到更新,从而能够在所述的数据包集合的所有数据包都被接收之前一直维持显示是否接收到该集合内的各数据包的一种累积信息(cumulative informat1n)。这种机制可防止在现有的ARQ方式中由于ACK/NACK的丢失而导致包的重新传送被延迟或重复性地重新传送包的情况。
[0011]根据公开的实施例,确认响应消息既可以在发生了数据包丢失的情况下发送,也可以在丢失的数据包得到重新传送而被接收的情况下发送。因此,发送确认响应消息的频率比现有的ARQ方式中发送ACK/NACK的频率低。
[0012]根据公开的实施例,直到发送确认响应消息为止,有关是否接收到数据包集合内的各数据包的累积的信息包含于该确认响应消息内。因此,与现有技术中的ARQ方式相比,即使某一确认响应消息丢失,也可以在短时间内执行本应根据丢失的确认响应消息而在数据发送器中执行的操作。这是由于作为丢失的确认响应消息的后续的确认响应消息被数据接收器所接收时,可基于包含于后续的确认响应消息中的所述的信息而执行该操作。
[0013]本发明是为了解决如上所述的技术问题而提出的,其目的在于防止在现有的ARQ方式中由于ACK/NACK的丢失而导致包的重新传送延迟或重复性地重新传送包的情况。
[0014]并且,本发明的另一目的在于使确认响应消息从数据接收器发送到数据发送器的次数的期望值小于现有技术中的ARQ方式下的ACK/NACK。
[0015]而且,本发明的又一目的在于实现即使丢失了确认响应消息,也能够在短时间内执行本应根据丢失的确认响应消息执行的操作。
[0016]根据一个示例性实施例,提供一种数据通信方法,利用面向非连接的协议(connect1nless-oriented protocol),包括如下步骤:随着从数据发送器接收到多个数据包中的至少一个数据包,针对构成为分别表示所述多个数据包中对应的数据包的接收与否的标志位(flag bit)而执行至少一个按位运算(bitwise operat1n),从而判定所述多个数据包中是否存在丢失的数据包;进行所述判定的结果,如果判定为存在丢失的数据包,便将包含所述标志位的确认响应消息(acknowledgement message)发送给所述数据发送器。
[0017]根据所述数据通信方法的一个方面,所述数据通信方法还包括如下步骤:当通过所述数据发送器的重新传送而接收到所述丢失的数据包时,根据接收重新传送的所述数据包而将包含有更新的所述标志位的其他确认响应消息发送给所述数据发送器。
[0018]根据另一个示例性实施例,提供一种数据通信方法,利用面向非连接的协议,包括如下步骤:当从数据接收器接收到包含有分别表示多个数据包中对应的数据包是否被所述数据接收器所接收的标志位的确认响应消息时,执行针对所述标志位的至少一个按位运算,从而识别所述多个数据包中丢失的数据包;将识别的所述数据包重新传送给数据接收器。
[0019]根据所述数据通信方法的一个方面,所述数据通信方法还包括如下步骤:设定可利用于所述重新传送的时间段;在所述时间段内反复地重新传送识别的所述数据包。
[0020]根据另一个示例性实施例,提供一种数据接收器,利用面向非连接的协议而执行数据通信,包括:包丢失确认单元,随着从数据发送器接收到多个数据包中的至少一个数据包,针对构成为分别表示所述多个数据包中对应的数据包的接收与否的标志位而执行至少一个按位运算,从而判定所述多个数据包中是否存在丢失的数据包;确认响应消息传送单元,进行所述判定的结果,如果存在丢失的数据包,便将包含所述标志位的确认响应消息发送给所述数据发送器。
[0021]根据所述数据接收器的一个方面,当通过所述数据发送器的重新传送而接收到所述丢失的数据包时,所述确认响应消息传送单元还将包含根据接收重新传送的所述数据包而更新的所述标志位的其他确认响应消息发送给所述数据发送器。
[0022]根据另一个示例性实施例,提供一种数据发送器,利用面向非连接的协议而执行数据通信,包括:重新传送处理单元,当从数据接收器接收到包含有分别表示多个数据包中对应的数据包是否被所述数据接收器所接收的标志位的确认响应消息时,执行针对所述标志位的至少一个按位运算,从而识别所述多个数据包中丢失的数据包;包传送单元,将识别的所述数据包重新传送给数据接收器。
[0023]根据所述数据发送器的一个方面,所述重新传送处理单元还设定可利用于所述重新传送的时间段,所述包传送单元还将在所述时间段内反复地重新传送识别的所述数据包。
[0024]根据另一个示例性实施例,提供一种数据通信方法,包括如下步骤:构成分别表示是否从数据发送器接收到多个数据包中对应的数据包的多个指示符;执行针对所述多个指示符的逻辑运算,从而判定所述多个数据包中是否存在丢失的数据包;进行所述判定的结果,如果存在丢失的数据包,便将包含所述多个指示符的确认响应消息
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1