CN109905447B - 信息传输的方法和装置 - Google Patents
信息传输的方法和装置 Download PDFInfo
- Publication number
- CN109905447B CN109905447B CN201711308010.1A CN201711308010A CN109905447B CN 109905447 B CN109905447 B CN 109905447B CN 201711308010 A CN201711308010 A CN 201711308010A CN 109905447 B CN109905447 B CN 109905447B
- Authority
- CN
- China
- Prior art keywords
- byte
- network device
- sequence number
- bytes
- indication information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Abstract
本申请提供了一种信息传输的方法和装置,该方法包括:第一网络设备向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;该第一网络设备接收该第二网络设备发送的第一指示信息和第二指示信息,该第一指示信息用于指示该第二网络设备成功接收该第一字节流中的第一部分,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节。本申请提供的信息传输的方法和装置,有利于保障字节流的正常传输。
Description
技术领域
本申请涉及通信领域,更具体地,涉及通信领域中信息传输的方法和装置。
背景技术
传输控制协议(transmission control protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,发送端设备与接收端设备之间建立TCP连接,发送端设备以字节流的形式将待传输数据发送给该接收端设备。
在数据传输过程中,发送端设备向接收端设备发送字节流,该接收端设备在成功接收到该字节流中的第一部分包括的字节后,会向该发送端设备发送确认(acknowledgement,ACK)消息,以确认成功接收该第一部分。该发送端设备在接收到该ACK消息后,从重传队列中删除该第一部分包括的字节,并向该接收端设备发送下一个部分包括的字节,否则该发送端设备会一直尝试重传,直到接收端设备确认收到该字节流中的每个字节。
为了提高数据传输的性能,发送端设备和接收端设备之间通过代理服务器转发字节流,这样一来,该发送端设备到接收端设备之间的TCP连接被分为该发送端设备和该代理服务器之间的第一TCP连接和该代理服务器和该接收端设备之间的第二TCP连接。具体而言,该发送端设备向该代理服务器发送该字节流,该代理服务器向该发送端设备确认成功接收的字节,该代理服务器向该接收端设备转发该字节流,该接收端设备向该代理服务器确认成功接收的字节。
然而,由于该发送端设备只要接收到该代理服务器发送的ACK消息,就会从重传队列中删除该代理服务器通过该ACK消息确认成功接收的字节,因此,可能导致后续的转发过程中发生错误,例如丢包等,影响字节流的正常传输。
发明内容
本申请提供一种信息传输的方法和装置,有利于保障字节流的正常传输。
第一方面,本申请提供一种信息传输的方法,该方法包括:
第一网络设备向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;
该第一网络设备接收该第二网络设备发送的第一指示信息和第二指示信息,该第一指示信息用于指示该第二网络设备成功接收该第一字节流中的第一部分,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;
该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节。
本申请实施例提供的信息传输的方法,该第一网络设备根据该第一指示信息确定该第二网络设备成功接收该第一部分,并根据该第二指示信息删除缓存中存储的目标字节,由于该第二部分包括的字节与该第三网络设备成功接收的字节相关联,因此,有利于保障字节流的正常传输。
可选地,在第一网络设备向第二网络设备发送第一字节流之前,该第一网络设备与该第二网络设备建立第一通信连接,该第二网络设备与该第三网络设备建立第二通信连接。
应理解,该第一通信连接和该第二通信连接为支持可靠反馈机制的通信连接,例如TCP连接。
还应理解,该第一通信连接和该第二通信连接均为TCP连接时,该第一字节流可以理解为TCP字节流。
还应理解,该第一网络设备将待传输数据以字节流的形式传输,例如该第一字节流可以为一个10000字节大小的视频文件、一个1000字节大小的音频文件等。
还应理解,该第一网络设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该第一网络设备初始化为第一初始序号值(initial sequence number,ISN),后续的字节的序列号依次将被该第一网络设备设置成第一ISN加上该字节在该第一字节流中的偏移。
例如,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1、第2个字节的序列号为2、…、第1000个字节的序列号为1000,该第一网络设备按照序列号从1至1000的顺序依次向该第二网络设备发送该第一字节流。
可选地,该第一字节流的第一个字节的序列号还可以被该第一网络设备初始化为其它值,例如,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1500、第2个字节的序列号为1501、…、第1000个字节的序列号为2499。
应理解,这里所示例的该第一网络设备发送的该第一字节流中的每个字节的序列号仅为示例性说明,而不应对本申请构成任何限定。
还应理解,在本申请实施例中,成功接收的字节可以理解为从该第一字节流的第一个字节起接收到的序列号连续的字节。
可选地,该第二指示信息可以显式指示或隐式指示该第二部分包括的字节,指示方式的灵活性较强,本申请实施例对此不作限定。
结合该第一方面,在该第一方面的第一种可能的实现方式中,该第二指示信息中包含该第二部分包括的字节的序列号的信息。
结合该第一方面的第一种可能的实现方式,在该第一方面的第二种可能的实现方式中,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。
结合该第一方面的第一种或第二种可能的实现方式,在该第一方面的第三种可能的实现方式中,该第二部分包括的字节为该目标字节。
可选地,该第二指示信息中包含第二字节的序列号,该第二字节的序列号与该第二部分的下一个字节的序列号相同。
相应地,在该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节之前,该方法还包括:该第一网络设备将序列号小于该第二字节的序列号的字节,确定为该目标字节。
可选地,该第二字节的序列号还可以与该第二部分的最后一个字节的序列号相同。
相应地,在该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节之前,该方法还包括:该第一网络设备将序列号小于或等于该第二字节的序列号的字节,确定为该目标字节。
结合该第一方面的第一种至第三种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第四种可能的实现方式中,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。
应理解,该第二部分包括的字节与该第三网络设备成功接收的字节相关联,可以理解为该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。也就是说,该第二部分包括的字节为该第一网络设备可以删除的字节。
相应地,该第一网络设备删除的目标字节即为该第二部分包括的字节。
结合该第一方面,在该第一方面的第五种可能的实现方式中,该第二指示信息中包含该第二部分的字节长度。
结合该第一方面的第五种可能的实现方式,在该第一方面的第六种可能的实现方式中,在该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节之前,该方法还包括:该第一网络设备根据该第一指示信息和该第二部分的字节长度,确定该第二部分,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同;该第一网络设备将该第一部分包括的字节中除该第二部分包括的字节外的字节,确定为该目标字节。
结合该第一方面的第五种或第六种可能的实现方式,在该第一方面的第七种可能的实现方式中,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。
应理解,该第二部分包括的字节与该第三网络设备成功接收的字节相关联,还可以理解为该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,且该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。也就是说,该第二部分包括的字节为该第一网络设备不能删除的字节。
相应地,该第一网络设备删除的目标字节即为该第一部分包括的字节中除该第二部分包括的字节以外的字节。
结合该第一方面的第一种至第七种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第八种可能的实现方式中,当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,该方法还包括:该第一网络设备接收该第四网络设备发送的第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号;该第一网络设备根据该第三指示信息,向该第四网络设备发送该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。
当该第三网络设备从该第二网络设备的服务范围移动至第四网络设备的服务范围时,从由第二网络设备为该第三网络设备转发该第一字节流切换至由第四网络设备为该第三网络设备转发该第一字节流。
本申请实施例提供的信息传输的方法,在该第二网络设备与该第四网络设备发生切换的场景下有利于保障该第一字节流的正常传输。
可选地,在第一网络设备向第二网络设备发送第一字节流之前,该第一网络设备和该第二网络设备可以互相通知是否具备执行该第一方面的各种可能实现的方式的能力,当该第一网络设备和该第二网络设备均具备该能力时,该第一网络设备和该第二网络设备共同执行该第一方面的各种可能的实现方式。
结合该第一方面的第一种至第八种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第九种可能的实现方式中,该第一指示信息和该第二指示信息均承载在确认ACK消息中。
结合该第一方面的第一种至第九种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第十种可能的实现方式中,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。
结合该第一方面的第一种至第十种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第十一种可能的实现方式中,该第一字节流为传输控制协议TCP字节流。
第二方面,本申请提供一种信息传输的方法,该方法包括:
第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;
该第二网络设备向该第一网络设备发送第一指示信息,该第一指示信息用于指示成功接收该第一部分;
该第二网络设备向该第一网络设备发送第二指示信息,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联。
本申请实施例提供的信息传输的方法,该第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,并向该第一网络设备发送第一指示信息和第二指示信息,以便于该第一网络设备根据该第一指示信息确定该第二网络设备成功接收该第一部分,并根据该第二指示信息删除缓存中存储的目标字节,有利于保障字节流的正常传输。
结合该第二方面,在该第二方面的第一种可能的实现方式中,该第二指示信息中包含该第二部分包括的字节的序列号的信息。
结合该第二方面的第一种可能的实现方式,在该第二方面的第二种可能的实现方式中,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。
结合该第二方面的第一种或第二种可能的实现方式,在该第二方面的第三种可能的实现方式中,该第二部分包括的字节为该目标字节。
结合该第二方面的第一种至第三种可能的实现方式中的任意一种可能的实现方式,在该第二方面的第四种可能的实现方式中,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。
结合该第二方面,在该第二方面的第五种可能的实现方式中,该第二指示信息中包含该第二部分的字节长度。
结合该第二方面的第五种可能的实现方式,在该第二方面的第六种可能的实现方式中,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。
结合该第二方面的第一种至第六种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第七种可能的实现方式中,当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,该方法还包括:该第二网络设备向该第四网络设备发送状态信息,该状态信息中包含该第二网络的缓存中存储的第一个字节的序列号。
结合该第二方面的第一种至第七种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第八种可能的实现方式中,该第一指示信息和该第二指示信息均承载在确认ACK消息中。
结合该第二方面的第一种至第八种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第九种可能的实现方式中,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。
结合该第二方面的第一种至第九种可能的实现方式中的任意一种可能的实现方式,在该第一方面的第十种可能的实现方式中,该第一字节流为传输控制协议TCP字节流。
第三方面,本申请提供一种信息传输的方法,该方法包括:
第四网络设备接收第二网络设备发送的状态信息,该状态信息中包含该第四网络的缓存中存储的第一个字节的序列号;
该第四网络设备根据该状态信息,向第一网络设备发送第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号,其中,该第一网络设备由通过该第二网络设备转发第一字节流中的字节切换为通过第四网络设备转发。
结合第三方面,在该第三方面的第一种可能的实现方式中,该方法还包括:
该第四网络设备接收该第一网络设备根据该第三指示信息发送的该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。
第四方面,本申请提供了一种信息传输的装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。
第五方面,本申请提供了一种信息传输的装置,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。
第六方面,本申请提供了一种信息传输的装置,用于执行上述第三方面或第三方面的任意可能的实现方式中的方法。
第七方面,本申请提供了一种信息传输的装置,该装置包括:存储器、处理器、收发器及存储在该存储器上并可在该处理器上运行的指令,其中,该存储器、该处理器以及该通信接口之间通过内部连接通路互相通信,其特征在于,该处理器执行该指令使得该装置实现上述第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,本申请提供了一种信息传输的装置,该装置包括:存储器、处理器、收发器及存储在该存储器上并可在该处理器上运行的指令,其中,该存储器、该处理器以及该通信接口之间通过内部连接通路互相通信,其特征在于,该处理器执行该指令使得该装置实现上述第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,本申请提供了一种信息传输的装置,该装置包括:存储器、处理器、收发器及存储在该存储器上并可在该处理器上运行的指令,其中,该存储器、该处理器以及该通信接口之间通过内部连接通路互相通信,其特征在于,该处理器执行该指令使得该装置实现上述第三方面或第三方面的任意可能的实现方式中的方法。
第十方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于实现上述第一方面或第一方面的任意可能的实现方式中的方法的指令。
第十一方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于实现上述第二方面或第二方面的任意可能的实现方式中的方法的指令。
第十二方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于实现上述第三方面或第三方面的任意可能的实现方式中的方法的指令。
第十三方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第一方面或第一方面的任意可能的实现方式中的方法。
第十四方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第二方面或第二方面的任意可能的实现方式中的方法。
第十五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第三方面或第三方面的任意可能的实现方式中的方法。
第十六方面,本申请提供了一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路互相通信,该处理器用于执行该存储器中的代码,当该处理器执行该代码时,该芯片装置实现上述第一方面或第一方面的任意可能的实现方式中的方法。
第十七方面,本申请提供了一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路互相通信,该处理器用于执行该存储器中的代码,当该处理器执行该代码时,该芯片装置实现上述第二方面或第二方面的任意可能的实现方式中的方法。
第十八方面,本申请提供了一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,该输入接口、输出接口、该处理器以及该存储器之间通过内部连接通路互相通信,该处理器用于执行该存储器中的代码,当该处理器执行该代码时,该芯片装置实现上述第三方面或第三方面的任意可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的应用场景的示意性框图;
图2是本申请实施例提供的另一应用场景的示意性框图;
图3是本申请实施例提供的信息传输的方法的示意性流程图;
图4是本申请实施例提供的第一字节流的传输示意图;
图5是本申请实施例提供的另一信息传输的方法的示意性流程图;
图6是本申请实施例提供的信息传输的装置的示意性框图;
图7是本申请实施例提供的另一信息传输的装置的示意性框图;
图8是本申请实施例提供的又一信息传输的装置的示意性框图;
图9是本申请实施例提供的又一信息传输的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
应理解,本申请实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(global system of mobile communication,GSM)系统、码分多址(code divisionmultipleaccess,CDMA)系统、宽带码分多址(wideband code division multiple access,WCDMA)系统、通用分组无线业务(general packet radio service,GPRS)、长期演进(longterm evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系统(universal mobiletelecommunication system,UMTS)、全球互联微波接入(worldwide interoperabilityfor microwave access,WiMAX)通信系统、无线局域网(wireless local area network,WLAN)或未来第五代无线通信系统(the fifth Generation,5G)等。
图1是本申请实施例提供的应用场景的示意性框图,如图1所示,发送端设备与代理服务器之间建立了第一通信连接,该代理服务器与接收端设备建立了第二通信连接。
该发送端设备用于生成待发送数据,并将该待发送数据以字节流的形式发送给该代理服务器。
该代理服务器用于接收该发送端设备发送的该字节流,并向该接收端设备转发该字节流。
可选地,该发送端设备例如可以为服务器,该代理服务器例如可以为基站,该接收端设备例如可以为客户端,该服务器通过该基站向该客户端转发字节流。
应理解,该第一通信连接和该第二通信连接可以为支持可靠反馈机制的通信连接,例如TCP连接,也就是说,通过该第一通信连接和该第二通信连接传输的字节流可以为TCP字节流。
例如,该第一通信连接支持可靠反馈机制,可以理解为若该发送端设备向该代理服务器发送第一字节流,该代理服务器确定成功接收该第一字节流中的第一部分时,向该发送端设备发送ACK消息,该ACK消息用于确认成功接收该第一部分,该发送端设备只有收到该ACK消息后,才会删除重传队列中存储的该第一部分包括的字节,并向该代理服务器发送下一个部分包括的字节,否则该发送端设备会一直尝试重传,直到该接收端设备确认成功接收该第一字节流中的每个字节。
应理解,该发送端设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该发送端设备初始化为初始序号值(initial sequence number,ISN),后续的字节的序列号依次将被该发送端设备设置成ISN加上该字节在该第一字节流中的偏移。
还应理解,该第一字节流中的第一个字节与该第一部分的第一个字节相同。
还应理解,成功接收的字节可以理解为从该第一字节流的第一个字节起接收到的序列号连续的字节。
然而,由于该发送端设备在接收到该ACK消息之后,直接删除了重传队列中存储的该第一部分包括的字节,这样一来,如图2所示,在后续传输过程中,当该代理服务器不能够继续为该接收端设备转发该第一字节流,需要切换为由另一代理服务器为该接收端设备继续为该接收端设备转发该第一字节流时,可能导致该第一字节流不能继续正常传输,甚至会导致该第一字节流的传输失败。
可选地,该代理服务器发生宕机的场景,或者由于该接收端设备的移动,需要进行代理服务器的切换的场景等,均可能导致该代理服务器不能够继续为该接收端设备转发该第一字节流,并切换为由目标代理服务器继续为该接收端设备转发该第一字节流。
本申请实施例提供的信息传输的方法,有利于保障字节流的正常传输。
图3是本申请实施例提供的信息传输的方法300的示意性流程图,该方法300可以应用于如图1和/或图2中所述的应用场景。
S310,第一网络设备向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;
可选地,该第一网络设备可以为图1和图2中所示的发送端设备,该第二网络设备可以为图1和图2中所示的代理服务器,该第三网络设备可以为图1和图2中所示的接收端设备,本申请实施例对此不作限定。
可选地,在S310之前,该第一网络设备与该第二网络设备建立第一通信连接,该第二网络设备与该第三网络设备建立第二通信连接。
应理解,该第一通信连接和该第二通信连接为支持可靠反馈机制的通信连接,例如TCP连接。
还应理解,该第一通信连接和该第二通信连接均为TCP连接时,该第一字节流可以理解为TCP字节流。
还应理解,该第一网络设备将待传输数据以字节流的形式传输,例如该第一字节流可以为一个10000字节大小的视频文件、一个1000字节大小的音频文件等。
还应理解,该第一网络设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该第一网络设备初始化为第一ISN,后续的字节的序列号依次将被该第一网络设备设置成第一ISN加上该字节在该第一字节流中的偏移。
例如,如图4所示,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1、第2个字节的序列号为2、…、第1000个字节的序列号为1000,该第一网络设备按照序列号从1至1000的顺序依次向该第二网络设备发送该第一字节流。
可选地,该第一字节流的第一个字节的序列号还可以被该第一网络设备初始化为其它值,例如,该第一字节流包括1000个字节,该第一字节流中的第1个字节的序列号(即初始序列号)为1500、第2个字节的序列号为1501、…、第1000个字节的序列号为2499,该第一网络设备按照序列号从1500至2499的顺序依次向该第二网络设备发送该第一字节流。
应理解,这里所示例的该第一网络设备发送的该第一字节流中的每个字节的序列号仅为示例性说明,而不应对本申请构成任何限定。
S320,第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流。
应理解,在本申请实施例中,成功接收的字节可以理解为从该第一字节流的第一个字节起接收到的序列号连续的字节。
例如,如图4所示,该第二网络设备接收到该第一部分包括的字节,该第一部分包括300个字节,且这300个字节的序列号从1至300,即该第一部分包括连续的300个字节,因此该第二网络设备可以确定成功接收到该第一部分包括的字节。
还应理解,该第一字节流中的第一部分的第一个字节与该第一字节流的第一个字节相同。
可选地,该第二网络设备可能还接收到序列号400至序列号500的字节,但由于该序列号400与该序列号300之间的字节未接收到,即序列号300至序列号400之间不连续,因此,该第二网络设备成功接收的字节为序列号1至序列号300的字节。
S330,该第二网络设备向该第一网络设备发送第一指示信息,该第一指示信息用于指示成功接收该第一部分;相应地,该第一网络设备接收该第二网络设备发送的该第一指示信息。
可选地,该第一指示信息可以承载在ACK消息或者其它消息中,本申请实施例对此不作限定。
作为一个可选实施例,该第一指示信息可以为ACK消息中的确认号,该确认号用于指示该第二网络设备成功接收到该第一部分包括的字节。
可选地,该第一网络设备可以认为序列号小于该ACK消息中的确认号的所有字节被该第二网络设备成功接收到。
例如,如图4所示,当该第二网络设备确认成功接收序列号1至序列号300的字节时,向该第一网络设备发送ACK消息,该ACK消息中的确认号为301,指示该第二网络设备成功接收序列号小于301的字节。
换句话说,该ACK消息还可以理解为指示该第二网络设备未成功接收的字节的一种实现方式,或者可以理解为针对丢失的字节的请求重传的一种实现方式,本申请实施例对此不作限定。
可选地,该第一网络设备还可以认为序列号小于或等于该ACK消息中的确认号的字节被该第二网络设备成功接收到。
例如,如图4所示,当该第二网络设备确认成功接收序列号1至序列号300的字节时,向该第一网络设备发送ACK消息,该ACK消息中的确认号为300,指示该第二网络设备成功接收序列号小于或等于300的字节。
应理解,这里所示例的ACK消息中的确认号与成功接收的字节的序列号的关系仅为示例性说明,而不应对本申请构成任何限定。
可选地,该第一网络设备和该第二网络设备可以通过协议约定该确认号与该序列号的关系,或者该第一网络设备和该第二网络设备可以预先协商该确认号与该序列号的关系,或者该第二网络设备可以通过指示信息指示该确认号与该序列号的关系,本申请实施例对此不作限定。
可选地,若该第一指示信息为ACK消息中的确认号,该第一网络设备在接收到该ACK消息之后,可以进行多种不同的操作,本申请实施例对此不作限定。
应理解,该第一网络设备在接收到该第一指示信息之后可以进行的操作不包括删除缓存中,例如重传队列中,存储的该第一部分包括的字节,例如删除重传队列中存储该第一部分包括的字节。
作为一个可选实施例,该第一网络设备可以根据该第一指示信息,继续向该第二网络设备发送该字节流中的字节。
作为另一个可选实施例,该第一网络设备可以根据该第一指示信息,等待该第二网络设备对剩余字节的接收情况的反馈。
S340,该第二网络设备向该第一网络设备发送第二指示信息,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;相应地,该第一网络设备接收该第二网络设备发送的该第二指示信息。
还应理解,该第二部分的第一个字节与该第一部分的第一个字节相同。
S350,该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节。
可选地,该第二部分包括的字节与该第三网络设备成功接收的字节相关联,可以理解为该第二部分包括的字节与该第三网络设备成功接收的字节正相关,或可以理解为该第二部分包括的字节与该第三网络设备成功接收的字节负相关,本申请实施例对此不作限定。
(1)正相关:
该第二部分包括的字节与该第三网络设备成功接收的字节正相关,可以理解为该第三网络设备成功接收的字节为该第二部分包括的字节中的部分或全部,即该第二部分包括的字节为该第一网络设备可以删除的字节。
相应地,S350中,第一网络设备删除的目标字节即为该第二部分包括的字节。
可选地,该第一网络设备与该第二网络设备可以预先约定该第二部分包括的字节与该第三网络设备成功接收的字节正相关,或者该第二网络设备可以通过该第二指示信息指示删除该第二部分包括的字节,本申请实施例对此不作限定。
作为一个可选实施例,该第二部分包括的字节与该第三网络设备成功接收的字节相同。
例如,如图4所示,该第三网络设备成功接收到序列号1至序列号149的字节时,该第二部分可以包括序列号1至序列号149的字节。
作为另一个可选实施例,该第二部分包括的字节除了包括该第三网络设备成功接收的字节外,还包括额外的至少一个字节。
可选地,该额外的至少一个字节可以为与该第三网络设备成功接收的字节连续的至少一个字节,该至少一个字节例如可以为该第二网络设备已经向该第三网络设备发送,但还未收到该第三网络设备的确认的字节,或者该第二网络设备预测该第三网络设备能够成功接收的字节,本申请实施例对此不作限定。
例如,如图4所示,该第三网络设备成功接收到序列号1至序列号149的字节时,该第二部分可以包括序列号1至序列号160的字节。
可选地,该第二指示信息可以显式指示该第二部分包括的字节,或该第二指示信息可以隐式指示该第二部分包括的字节,本申请实施例对此不作限定。
显式指示方式:该第二指示信息中包含该第二部分包括的字节的信息。
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。
相应地,该第一网络设备可以根据该第二指示信息,确定该第二部分中的每个字节的序列号。
例如,如图4所示,该第二部分包括序列号1至序列号160的字节时,该第二指示信息中可以包含序列号1至序列号160;或该第二指示信息中可以包含序列号1和字节长度160;或该第二指示信息中可以包含该序列号1和该序列号160。
隐式指示方式:该第二指示信息中包含第二字节的序列号,该第二字节的序列号与该第二部分的下一个字节的序列号相同。
相应地,该第一网络设备可以将序列号小于该第二字节的序列号的字节,确定为该目标字节。
例如,如图4所示,该第二部分包括序列号1至序列号160的字节时,该第二指示信息中可以包含序列号161,该第一网络设备将序列号小于161的字节确定为目标字节。
可选地,该第二指示信息中还可以包含该第二部分的最后一个字节的序列号。
相应地,该第一网络设备可以将序列号小于或等于该第二部分的最后一个字节的序列号的字节,确定为该目标字节。
例如,如图4所示,该第二部分包括序列号1至序列号160的字节时,该第二指示信息中可以包含该序列号160,该第一网络设备将序列号小于或等于160的字节确定为目标字节。
应理解,这里所示例的该第二指示信息中包含的序列号与该第二部分包括的序列号的关系仅为示例性说明,而不应对本申请构成任何限定。
(2)负相关:
该第二部分包括的字节与该第三网络设备成功接收的字节负相关,可以理解为该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同,即该第二部分包括的字节为该第一网络设备不能删除的字节。
相应地,S350中,第一网络设备删除的目标字节即为该第一部分包括的字节中除该第二部分包括的字节以外的字节。
可选地,该第一网络设备与该第二网络设备可以预先约定该第二部分包括的字节与该第三网络设备成功接收的字节负相关,或者该第二网络设备可以通过该第二指示信息指示删除该第二部分包括的字节以外的字节,本申请实施例对此不作限定。
可选地,该第二指示信息可以显式指示该第二部分包括的字节,或该第二指示信息可以隐式指示该第二部分包括的字节,本申请实施例对此不作限定。
显式指示方式:该第二指示信息中包含该第二部分包括的字节的信息。
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。
相应地,该第一网络设备可以根据该第二指示信息,确定该第二部分中包括的每个字节的序列号,并将该第一部分包括的字节中除该第二部分包括的字节外的字节确定为目标字节。
例如,如图4所示,该第二部分包括序列号161至序列号300的字节时,该第二指示信息中可以包含序列号161至序列号300;或该第二指示信息中可以包含序列号161和字节长度140;或该第二指示信息中可以包含该序列号161和该序列号300。
相应地,该第一网络设备可以将序列号1至序列号160的字节确定为目标字节。
隐式指示方式:该第二指示信息中包含该第二部分的字节长度。
相应地,该第一网络设备根据该第一指示信息和该第二部分的字节长度,确定该第二部分,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同;该第一网络设备将该第一部分包括的字节中除该第二部分包括的字节外的字节,确定为该目标字节。
例如,如图4所示,该第二部分包括序列号161至序列号300的字节时,该第二指示信息中可以包含字节长度140;该第一网络设备将该第一部分中除序列号300之前的140个字节以外的字节确定为该目标字节。
可选地,S350,该第一网络设备根据该第二指示信息,删除缓存中存储的目标字节,可以理解为该第一网络设备仅删除重传队列中存储的该目标字节,但是该第一网络设备的本地磁盘或硬盘中仍存储该目标字节,以便于向其它接收端设备发送该第一字节流。
可选地,S350之前该第二网络设备可以向该第三网络设备发送该第二网络设备成功接收的该第一字节流中的字节。
还应理解,该第二网络设备可以按照该第一字节流包括的字节的发送顺序,为该第一字节流中的每个字节编排序列号,并按照序列号的大小顺序,例如由小到大的顺序,依次发送该第一字节流中的每个字节,其中,该第一字节流的第一个字节的序列号被该第二网络设备初始化为第二ISN,后续的字节的序列号依次将被该第二网络设备设置成第二ISN加上该字节在该第一字节流中的偏移。
例如,如图4所示,该第二网络设备成功接收该第一字节流中的第一部分包括的字节,该第一部分包括300个字节,该第一部分中的第1个字节的序列号(即初始序列号)为1、第2个字节的序列号为2、…、第300个字节的序列号为300,该第二网络设备按照序列号从1至300的顺序依次向该第三网络设备发送该第一部分包括的字节。
可选地,该第一部分的第一个字节的序列号还可以被该第二网络设备初始化为其它值,例如,该第二网络设备成功接收该第一字节流中的第一部分包括的字节,该第一部分包括300个字节,该第一部分中的第1个字节的序列号(即初始序列号)为321、第2个字节的序列号为322、…、第300个字节的序列号为621,该第二网络设备按照序列号从1至300的顺序依次向该第三网络设备发送该第一部分包括的字节。
应理解,这里所示例的该第二网络设备发送的该第一部分中每个字节的序列号仅为示例性说明,而不应对本申请构成任何限定。
可选地,该第一网络设备发送的该第一字节流时确定的第一SNI和该第二网络设备转发该第一字节流时确定的第二SNI可以相同,也可以不同,本申请实施例对此不作限定。
可选地,该第二网络设备确认该第三网络设备接收到的字节的方式与该第一网络设备确定该第二网络设备接收到该第一部分包括的字节的方式相同,为避免重复,此处不再赘述。
可选地,该第二网络设备在确认该第三网络设备成功接收的字节之后,可以删除缓存中存储的该第三网络设备成功接收到的字节。
可选地,该第二指示信息可以承载在ACK消息,例如ACK消息的选项(option)字段中,或者该第二指示信息可以承载在带内消息、带外消息或其他消息中,本申请实施例对此不作限定。
可选地,在S310之前,该第一网络设备和该第二网络设备可以协商可支持的缓存容量值。
具体地,该第二网络设备向该第一网络设备发送第一缓存信息,该第一缓存信息中包括该第二网络设备支持的第一缓存容量值;该第一网络设备向该第二网络设备发送第二缓存信息,该第二缓存信息中包括该第一网络设备支持的第二缓存容量值,该第一网络设备和该第二网络设备将该第一缓存容量值和该第二缓存容量值中的最小值配置为自身的缓存容量值。
例如,若该第一网络设备支持的缓存容量为1000字节,该第二网络设备支持的缓存容量为500字节,则该第一网络设备和该第二网络设备均将自身的缓存容量配置为500字节。
可选地,该第一网络设备和该第二网络设备可以在握手阶段协商可支持的缓存容量值,例如该第一缓存信息和该第二缓存信息可以承载在同步消息中。
可选地,在S310之前,该第一网络设备和该第二网络设备可以互相通知是否具备执行S310~S350的能力,当该第一网络设备和该第二网络设备均具备该能力时,该第一网络设备和该第二网络设备共同执行S310~S350。
作为一个可选实施例,该第一网络设备和该第二网络设备可以在握手阶段互相通知是否支持该能力。
可选地,若图1和图2中所示的发送端设备不具备执行S310~S350的能力,则该第一网络设备可以为支持该能力的、该发送端设备的代理服务器,该发送端的代理服务器例如可以为分组数据网络(packet data network,PDN)网关(PDN gateway,PGW)。
应理解,在如图2所示的场景下,假设该代理服务器成功接收该发送端设备发送的第一字节流中的第一部分,并向该接收端设备转发该第一部分包括的字节,当该接收端设备成功接收该第一部分包括的字节中的部分字节时,向该代理服务器发送用于确认成功接收该部分字节的ACK消息,该接收端设备接收到该ACK消息后,删除重传队列中存储的该部分字节,并继续转发该第一部分包括的字节中除该部分字节以外的剩余字节。
然而,在该代理服务器向该接收端设备转发该剩余字节之前,发生如图2中所示的切换,由于该代理服务器与该目标代理服务器之间的带宽和/或切换时间的限制,该代理服务器缓存中存储的剩余字节无法倒换至该目标代理服务器,并且该发送端设备也已经删除了该第一部分包括的字节,因此,这些剩余字节便无法传输至该接收端设备,从而影响该第一字节流的正常传输。
这时,需要提供一种方案解决该代理服务器与该目标代理服务器发生切换的场景下如何保障该第一字节流的正常传输的问题。
图5示出了本申请实施例提供了一种信息传输的方法500,该方法应用于如图2所示的应用场景。
S510,该第二网络设备向该第四网络设备发送状态信息,该状态信息中包含该第二网络的缓存中存储的第一个字节的序列号;相应地,该第四网络设备接收该第二网络设备发送的该状态信息。
可选地,该第二网络设备可以为图2中所述的代理服务器,该第四网络设备可以为图2中所述的目标代理服务器。
应理解,在S510之前,该第二网络设备已将存储的该第三网络设备成功接收的字节删除。
例如,如图4所示,该第二网络设备成功接收到该第一网络设备发送的该第一部分包括的字节,即序列号1至序列号300的字节,该第三网络设备成功接收到该第二网络设备转发的序列号1至序列号149的字节,此时,该第二网络设备删除缓存中存储的序列号1至序列号149的字节,即该第二网络设备的缓存中存储序列号150至序列号300的字节,则该状态信息中包含序列号150。
S520,该第四网络设备根据该状态信息,向第一网络设备发送第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号;相应地,该第一网络设备接收该第四网络设备发送的该第三指示信息。
可选地,在S520之前,该第四网络设备根据该状态信息,确定第一字节的序列号。
由于在第二网络设备与该第四网络设备的切换过程中,该第二网络设备可以通过X2接口或者通信连接状态信息,将缓存中存储的一部分字节传输交接给该第四网络设备;或者该第二网络设备可能将该部分字节发送给该第三网络设备,但是还未收到该第三网络设备的确认,因此,该第一字节的序列号可以大于或等于该第二网络设备的缓存中存储的第一个字节的序列号。
例如,如图4所示,该第二网络设备的缓存中存储序列号150至序列号300的字节时,该第一字节的序列号可以为150,或者该第一字节的序列号可以大于150。
可选地,该通信连接状态信息可以包括第一通信连接(即该第一网络设备和该第二网络设备之间的通信连接)的状态信息和该第二通信连接(即该第二网络设备和该第三网络设备之间的通信连接)的状态信息。
例如,该第一通信连接的状态信息可以包括该第一通信连接的源互联网协议(internetprotocol,IP)地址、源端口号,目标IP地址、目标端口号和协议类型;该第二通信连接的状态信息可以包括该第二通信连接的源IP地址、源端口号、目标IP地址、目标端口号和协议类型。
可选地,通信连接状态信息还可以包括该第二网络设备的状态信息。
例如,该第二网络设备的状态信息包括该第二网络设备成功接收的第一个字节的序列号和最后一个字节的序列号,以及该第二网络设备向该第三网络设备发送的第一个字节的序列号和最后一个字节的序列号。
S530,该第一网络设备根据该第三指示信息,向该第四网络设备发送该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。
相应地,该第四网络设备接收该第一网络设备根据该第三指示信息发送的该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。
这样一来,该第四网络设备就完成了与该第二网络设备的切换和交接,该第四网络设备继续向该第三网络设备转发该第一网络设备发送的该第三部分包括的字节以及该第一字节流中的其他部分包括的字节。
本申请实施例提供的信息传输的方法,该第二网络设备与该第四网络设备发生切换的该场景下能够保障该第一字节流的正常传输。
上面结合图1至图5详细介绍了本申请实施例提供的信息传输的方法,下面将结合图6至图9介绍本申请实施例提供的信息传输的装置。
图6示出了本申请实施例提供的信息传输的装置600的示意性框图。该装置600包括:
发送单元610,用于向第二网络设备发送第一字节流,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;
接收单元620,用于接收该第二网络设备发送的第一指示信息和第二指示信息,该第一指示信息用于指示该第二网络设备成功接收该第一字节流中的第一部分,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联;
处理单元630,用于根据该接收单元620接收到的该第二指示信息,删除缓存中存储的目标字节。
可选地,该第二指示信息中包含该第二部分包括的字节的序列号的信息。
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。
可选地,该第二部分包括的字节为该目标字节。
可选地,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。
可选地,该第二指示信息中包含该第二部分的字节长度。
可选地,该处理单元还用于:在该根据该第二指示信息,删除缓存中存储的目标字节之前,根据该第一指示信息和该第二部分的字节长度,确定该第二部分,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同;将该第一部分包括的字节中除该第二部分包括的字节外的字节,确定为该目标字节。
可选地,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。
可选地,该接收单元还用于当该第一字节流由通过该第二网络设备转发切换为通过第四网络设备转发时,接收该第四网络设备发送的第三指示信息,该第三指示信息中包含第一字节的序列号,该第一字节的序列号大于或等于该第二网络的缓存中存储的第一个字节的序列号;该发送单元还用于根据该第三指示信息,向该第四网络设备发送该第一字节流中的第三部分,该第三部分中的第一个字节的序列号与该第一字节的序列号相同。
可选地,该第一指示信息和该第二指示信息均承载在确认ACK消息中。
可选地,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。
可选地,该第一字节流为传输控制协议TCP字节流。
应理解,这里的装置600以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置600可以具体为上述方法300和方法500实施例中的第一网络设备,装置600可以用于执行上述方法300和方法500实施例中与第一网络设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
图7示出了本申请实施例提供的信息传输的装置700的示意性框图。该装置700包括:
处理单元710,用于确定成功接收第一网络设备发送的第一字节流中的第一部分,该第一字节流是通过该第二网络设备向第三网络设备转发的字节流;
发送单元720,用于向该第一网络设备发送第一指示信息,该第一指示信息用于指示该处理单元710确定的成功接收该第一部分;
该发送单元720还用于向该第一网络设备发送第二指示信息,该第二指示信息用于指示该第一字节流中的第二部分,该第二部分包括的字节为该第一部分包括的字节的部分或全部,且该第二部分包括的字节与该第三网络设备成功接收的字节相关联。
可选地,该第二指示信息中包含该第二部分包括的字节的序列号的信息。
可选地,该第二部分包括的字节的序列号的信息包括:该第二部分的每个字节的序列号;或该第二部分的第一个字节的序列号和该第二部分的字节长度;或该第二部分的第一个字节的序列号和该第二部分的最后一个字节的序列号。
可选地,该第二部分包括的字节为该目标字节。
可选地,该第三网络设备成功接收的字节为该第二部分包括的字节的部分或全部。
可选地,该第二指示信息中包含该第二部分的字节长度。
可选地,该第二部分的第一个字节的序列号大于该第三网络设备成功接收的最后一个字节的序列号,该第二部分的最后一个字节的序列号与该第一部分的最后一个字节的序列号相同。
可选地,该发送单元还用于当该第一字节流由通过该第二网络设备转发切换为通过第四网络设备转发时,向该第四网络设备发送状态信息,该状态信息中包含该第二网络的缓存中存储的第一个字节的序列号。
可选地,该第一指示信息和该第二指示信息均承载在确认ACK消息中。
可选地,该第一指示信息承载在ACK消息中,该第二指示信息承载在带内消息或带外消息中。
可选地,该第一字节流为传输控制协议TCP字节流。
应理解,这里的装置700以功能单元的形式体现。这里的术语“单元”可以指ASIC、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置700可以具体为上述方法300和方法500实施例中的第二网络设备,装置700可以用于执行上述方法300和方法500实施例中与第二网络设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
图8示出了本申请实施例提供的数据传输的装置800,该装置800可以为图3和图5中所述的第一网络设备,该装置800可以采用如图8所示的硬件架构。该装置可以包括处理器810、收发器820和存储器830,该处理器810、收发器820和存储器830通过内部连接通路互相通信。图6中的处理单元630所实现的相关功能可以由处理器810来实现,发送单元710和接收单元720所实现的相关功能可以由处理器810控制收发器820来实现。
该处理器810可以包括是一个或多个处理器,例如包括一个或多个中央处理单元
(central processing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该收发器820用于发送和接收数据和/或信号,以及接收数据和/或信号。该收发器可以包括发射器和接收器,发射器用于发送数据和/或信号,接收器用于接收数据和/或信号。
该存储器830包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程存储器(erasable programmable readonly memory,EPROM)、只读光盘(compact disc read-only memory,CD-ROM),该存储器830用于存储相关指令及数据。
存储器830用于存储装置的程序代码和数据,可以为单独的器件或集成在处理器810中。
具体地,所述处理器810用于控制收发器与第二网络设备和/或第四网络设备进行信息传输。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图8仅仅示出了装置的简化设计。在实际应用中,装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器等,而所有可以实现本申请的装置都在本申请的保护范围之内。
在一种可能的设计中,装置800可以被替换为芯片装置,例如可以为可用于装置中的通信芯片,用于实现装置中处理器810的相关功能。该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。该芯片中,可选的可以包括一个或多个存储器,用于存储程序代码,当所述代码被执行时,使得处理器实现相应的功能。
图9示出了本申请实施例提供的装置900,该装置900可以为图3和图5中所述的第二网络设备,该装置900可以采用如图9所示的硬件架构。该装置可以包括处理器910、收发器920和存储器930,该处理器910、收发器920和存储器930通过内部连接通路互相通信。图7中的处理单元710所实现的相关功能可以由处理器910来实现,发送单元720所实现的相关功能可以由处理器910控制收发器920来实现。
该处理器910可以包括是一个或多个处理器,例如包括一个或多个CPU,在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该收发器920用于发送和接收数据和/或信号,以及接收数据和/或信号。该收发器可以包括发射器和接收器,发射器用于发送数据和/或信号,接收器用于接收数据和/或信号。
该存储器930包括但不限于是RAM、ROM、EPROM、CD-ROM,该存储器930用于存储相关指令及数据。
存储器930用于存储装置的程序代码和数据,可以为单独的器件或集成在处理器910中。
具体地,所述处理器910用于控制收发器与第一网络设备和/或第四网络设备进行信息传输。具体可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图9仅仅示出了装置的简化设计。在实际应用中,装置还可以分别包含必要的其他元件,包含但不限于任意数量的收发器、处理器、控制器、存储器等,而所有可以实现本申请的装置都在本申请的保护范围之内。
在一种可能的设计中,装置900可以被替换为芯片装置,例如可以为可用于装置中的通信芯片,用于实现装置中处理器910的相关功能。该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。该芯片中,可选的可以包括一个或多个存储器,用于存储程序代码,当所述代码被执行时,使得处理器实现相应的功能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (32)
1.一种信息传输的方法,其特征在于,包括:
第一网络设备向第二网络设备发送第一字节流,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;
所述第一网络设备接收所述第二网络设备发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第二网络设备成功接收所述第一字节流中的第一部分,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联;
所述第一网络设备根据所述第二指示信息,删除缓存中存储的目标字节;
当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,所述方法还包括:
所述第一网络设备接收所述第四网络设备发送的第三指示信息,所述第三指示信息中包含第一字节的序列号,所述第一字节的序列号大于或等于所述第二网络设备的缓存中存储的第一个字节的序列号;
所述第一网络设备根据所述第三指示信息,向所述第四网络设备发送所述第一字节流中的第三部分,所述第三部分中的第一个字节的序列号与所述第一字节的序列号相同。
2.根据权利要求1所述的方法,其特征在于,所述第二指示信息中包含所述第二部分包括的字节的序列号的信息。
3.根据权利要求2所述的方法,其特征在于,所述第二部分包括的字节的序列号的信息包括:
所述第二部分的每个字节的序列号;或
所述第二部分的第一个字节的序列号和所述第二部分的字节长度;或
所述第二部分的第一个字节的序列号和所述第二部分的最后一个字节的序列号。
4.根据权利要求2或3所述的方法,其特征在于,所述第二部分包括的字节为所述目标字节。
5.根据权利要求2或3所述的方法,其特征在于,所述第三网络设备成功接收的字节为所述第二部分包括的字节的部分或全部。
6.根据权利要求1所述的方法,其特征在于,所述第二指示信息中包含所述第二部分的字节长度。
7.根据权利要求6所述的方法,其特征在于,在所述第一网络设备根据所述第二指示信息,删除缓存中存储的目标字节之前,所述方法还包括:
所述第一网络设备根据所述第一指示信息和所述第二部分的字节长度,确定所述第二部分,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同;
所述第一网络设备将所述第一部分包括的字节中除所述第二部分包括的字节外的字节,确定为所述目标字节。
8.根据权利要求6或7所述的方法,其特征在于,所述第二部分的第一个字节的序列号大于所述第三网络设备成功接收的最后一个字节的序列号,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同。
9.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一指示信息和所述第二指示信息均承载在确认ACK消息中。
10.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一指示信息承载在ACK消息中,所述第二指示信息承载在带内消息或带外消息中。
11.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一字节流为传输控制协议TCP字节流。
12.一种信息传输的方法,其特征在于,包括:
第二网络设备确定成功接收第一网络设备发送的第一字节流中的第一部分,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;
所述第二网络设备向所述第一网络设备发送第一指示信息,所述第一指示信息用于指示成功接收所述第一部分;
所述第二网络设备向所述第一网络设备发送第二指示信息,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联;
当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,所述方法还包括:
所述第二网络设备向所述第四网络设备发送状态信息,所述状态信息中包含所述第二网络设备的缓存中存储的第一个字节的序列号。
13.根据权利要求12所述的方法,其特征在于,所述第一字节流为传输控制协议TCP字节流。
14.一种信息传输的装置,应用于第一网络设备,其特征在于,包括:
发送单元,用于向第二网络设备发送第一字节流,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;
接收单元,用于接收所述第二网络设备发送的第一指示信息和第二指示信息,所述第一指示信息用于指示所述第二网络设备成功接收所述第一字节流中的第一部分,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联;
处理单元,用于根据所述接收单元接收到的所述第二指示信息,删除缓存中存储的目标字节;
所述接收单元还用于当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,接收所述第四网络设备发送的第三指示信息,所述第三指示信息中包含第一字节的序列号,所述第一字节的序列号大于或等于所述第二网络设备的缓存中存储的第一个字节的序列号;
所述发送单元还用于根据所述第三指示信息,向所述第四网络设备发送所述第一字节流中的第三部分,所述第三部分中的第一个字节的序列号与所述第一字节的序列号相同。
15.根据权利要求14所述的装置,其特征在于,所述第二指示信息中包含所述第二部分包括的字节的序列号的信息。
16.根据权利要求15所述的装置,其特征在于,所述第二部分包括的字节的序列号的信息包括:
所述第二部分的每个字节的序列号;或
所述第二部分的第一个字节的序列号和所述第二部分的字节长度;或
所述第二部分的第一个字节的序列号和所述第二部分的最后一个字节的序列号。
17.根据权利要求15或16所述的装置,其特征在于,所述第二部分包括的字节为所述目标字节。
18.根据权利要求15或16所述的装置,其特征在于,所述第三网络设备成功接收的字节为所述第二部分包括的字节的部分或全部。
19.根据权利要求18所述的装置,其特征在于,所述第二指示信息中包含所述第二部分的字节长度。
20.根据权利要求19所述的装置,其特征在于,所述处理单元还用于:
在所述根据所述第二指示信息,删除缓存中存储的目标字节之前,根据所述第一指示信息和所述第二部分的字节长度,确定所述第二部分,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同;
将所述第一部分包括的字节中除所述第二部分包括的字节外的字节,确定为所述目标字节。
21.根据权利要求19或20所述的装置,其特征在于,所述第二部分的第一个字节的序列号大于所述第三网络设备成功接收的最后一个字节的序列号,所述第二部分的最后一个字节的序列号与所述第一部分的最后一个字节的序列号相同。
22.根据权利要求14至16中任一项所述的装置,其特征在于,所述第一指示信息和所述第二指示信息均承载在确认ACK消息中。
23.根据权利要求14至16中任一项所述的装置,其特征在于,所述第一指示信息承载在ACK消息中,所述第二指示信息承载在带内消息或带外消息中。
24.根据权利要求14至16中任一项所述的装置,其特征在于,所述第一字节流为传输控制协议TCP字节流。
25.一种信息传输的装置,应用于第二网络设备,其特征在于,包括:
处理单元,用于确定成功接收第一网络设备发送的第一字节流中的第一部分,所述第一字节流是通过所述第二网络设备向第三网络设备转发的字节流;
发送单元,用于向所述第一网络设备发送第一指示信息,所述第一指示信息用于指示所述处理单元确定的成功接收所述第一部分;
所述发送单元还用于向所述第一网络设备发送第二指示信息,所述第二指示信息用于指示所述第一字节流中的第二部分,所述第二部分包括的字节为所述第一部分包括的字节的部分或全部,且所述第二部分包括的字节与所述第三网络设备成功接收的字节相关联;
所述发送单元还用于当所述第一字节流由通过所述第二网络设备转发切换为通过第四网络设备转发时,向所述第四网络设备发送状态信息,所述状态信息中包含所述第二网络的缓存中存储的第一个字节的序列号。
26.根据权利要求25所述的装置,其特征在于,所述第一字节流为传输控制协议TCP字节流。
27.一种信息传输的装置,所述装置包括存储器、处理器、通信接口及存储在所述存储器上并可在所述处理器上运行的指令,其中,所述存储器、所述处理器以及所述通信接口之间通过内部连接通路互相通信,其特征在于,所述处理器执行所述指令使得所述装置实现上述权利要求1至权利要求11中任一项所述的方法。
28.一种信息传输的装置,所述装置包括存储器、处理器、通信接口及存储在所述存储器上并可在所述处理器上运行的指令,其中,所述存储器、所述处理器以及所述通信接口之间通过内部连接通路互相通信,其特征在于,所述处理器执行所述指令使得所述装置实现上述权利要求12至权利要求13中任一项所述的方法。
29.一种计算机可读介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至权利要求11中任一项所述的方法的指令。
30.一种计算机可读介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求12至权利要求13中任一项所述的方法的指令。
31.一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,当所述处理器执行所述代码时,所述芯片装置实现上述权利要求1至权利要求11中任一项所述的方法。
32.一种芯片装置,包括:输入接口、输出接口、至少一个处理器、存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路互相通信,所述处理器用于执行所述存储器中的代码,当所述处理器执行所述代码时,所述芯片装置实现上述权利要求12至权利要求13中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711308010.1A CN109905447B (zh) | 2017-12-11 | 2017-12-11 | 信息传输的方法和装置 |
PCT/CN2018/119368 WO2019114586A1 (zh) | 2017-12-11 | 2018-12-05 | 信息传输的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711308010.1A CN109905447B (zh) | 2017-12-11 | 2017-12-11 | 信息传输的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905447A CN109905447A (zh) | 2019-06-18 |
CN109905447B true CN109905447B (zh) | 2022-05-13 |
Family
ID=66819930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711308010.1A Active CN109905447B (zh) | 2017-12-11 | 2017-12-11 | 信息传输的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109905447B (zh) |
WO (1) | WO2019114586A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113906700B (zh) * | 2020-05-05 | 2023-09-12 | 华为技术有限公司 | 在网络传输协议中传递确认的设备和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956393A (zh) * | 2005-10-19 | 2007-05-02 | Atmel德国有限公司 | 发送/接收装置 |
CN101069378A (zh) * | 2004-08-31 | 2007-11-07 | 艾利森电话股份有限公司 | 数据单元发送器和数据单元中继装置 |
WO2009045071A2 (en) * | 2007-10-03 | 2009-04-09 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving automatic retransmission request feedback information element in a communication system |
CN101562506A (zh) * | 2008-04-14 | 2009-10-21 | 中兴通讯股份有限公司 | 数据传输方法 |
CN103262457A (zh) * | 2010-12-17 | 2013-08-21 | 思科技术公司 | 共享介质网络中的中继节点 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005006640A1 (en) * | 2003-07-11 | 2005-01-20 | Philips Intellectual Property & Standards Gmbh | Transmission of data packets from a transmitter to a receiver |
CN103516694A (zh) * | 2012-06-28 | 2014-01-15 | 华为技术有限公司 | 通信方法、装置和系统 |
CN106254445A (zh) * | 2016-07-29 | 2016-12-21 | 深圳前海微众银行股份有限公司 | 消息发送方法及服务端 |
-
2017
- 2017-12-11 CN CN201711308010.1A patent/CN109905447B/zh active Active
-
2018
- 2018-12-05 WO PCT/CN2018/119368 patent/WO2019114586A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101069378A (zh) * | 2004-08-31 | 2007-11-07 | 艾利森电话股份有限公司 | 数据单元发送器和数据单元中继装置 |
CN1956393A (zh) * | 2005-10-19 | 2007-05-02 | Atmel德国有限公司 | 发送/接收装置 |
WO2009045071A2 (en) * | 2007-10-03 | 2009-04-09 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving automatic retransmission request feedback information element in a communication system |
CN101562506A (zh) * | 2008-04-14 | 2009-10-21 | 中兴通讯股份有限公司 | 数据传输方法 |
CN103262457A (zh) * | 2010-12-17 | 2013-08-21 | 思科技术公司 | 共享介质网络中的中继节点 |
Also Published As
Publication number | Publication date |
---|---|
CN109905447A (zh) | 2019-06-18 |
WO2019114586A1 (zh) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8953631B2 (en) | Interruption, at least in part, of frame transmission | |
AU2018409096B2 (en) | Transmission control method, apparatus, and system | |
CN110999441B (zh) | 数据传输的方法及相关设备 | |
CN105453645B (zh) | 一种数据包发送、数据处理装置及方法 | |
US11419027B2 (en) | User plane link establishment method, base station, and mobility management device | |
US9357580B2 (en) | Method for switching communication connection mode, communication system, base station, transmitter and receiver | |
WO2014186944A1 (zh) | 一种确认报文发送方法及其设备 | |
EP3720070A1 (en) | Data packet processing method and device | |
KR20200116908A (ko) | 데이터 전송 제어 방법 및 관련 제품 | |
EP3319257B1 (en) | Lossless bearer reconfiguration from use of longer to shorter sequence number | |
CN110383787B (zh) | 一种数据迁移方法和装置 | |
CN109905447B (zh) | 信息传输的方法和装置 | |
CN111641565B (zh) | 一种以太网报文的传输方法、装置及系统 | |
JP2023062123A (ja) | 無線通信装置、無線通信方法、及び無線通信システム | |
US20220053369A1 (en) | Data processing method, and communication apparatus and system | |
JP6389126B2 (ja) | 無線通信装置及び送信フレーム制御方法 | |
EP3780727B1 (en) | Switching method and access network device | |
CN114500511B (zh) | 一种数据传输方法、装置及电子设备 | |
US20240129788A1 (en) | Data transmission method, apparatus, and system | |
TW201815193A (zh) | 傳輸資訊的方法、網路裝置和終端裝置 | |
CN109661835B (zh) | 一种配置pdcp实体的方法、接收装置和发送装置 | |
CN107801218B (zh) | 在接入点切换中聚合帧的控制方法及装置 | |
JP2005277704A (ja) | データ配信管理装置およびデータ配信管理方法 | |
JP2018513643A (ja) | 論理リンク制御プロトコルllcpベースのサービス発見方法およびnfcコントローラ | |
WO2014100945A1 (zh) | 系统间传输信息的方法、源控制器和目标控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |