数据通信发起、中继、接收方法及其装置的制造方法_4

文档序号:9815105阅读:来源:国知局
个连接。第一次握手:建立连接时,客户端发送Syn包(syn = j)到服务器,并进入SYN_SEND状态,等待服务器确认;其中,SYN为同步序列编号。第二次握手:服务器收到syn包,必须确认客户的SYN(ack = j+Ι),同时自己也发送一个SYN包(syn = k),S卩SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack = k+l),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手之后,客户端与服务器开始传送数据。
[0112]S22、将本地地址及请求数据包的传输速度与数据信息重新打包,转发打包后的请求数据包至目标地址,由源节点根据接收的反馈传输速度确定最优传输路径。
[0113]根据数据包中可以自定义的内容,加入目标地址,将本地地址及请求数据包的传输速度与数据信息重新打包进行发送。
[0114]S23、根据最优传输路径接收包含该传输路径信息的数据包,当该信息中包含本地地址时,经最优传输路径转发所述数据包。
[0115]其中,步骤S23,即根据最优传输路径接收包含该传输路径信息的数据包,当该信息中包含本地地址时,经最优传输路径转发所述数据包之后,还包括:
[0116]经最优传输路径转发所述数据包至目标地址。
[0117]中继节点在接收了来自源节点发送的数据包之后,将本地地址及请求数据包的传输速度与数据信息重新打包发送至目标地址。根据数据包中的速度测试字段获取的数据传输速度反馈至源节点,由源节点确定最优传输路径。在本实施例中,最优传输路径可以根据数据包的传输速度快慢来决定,也可以根据其它判断标准来决定最优传输路径。
[0118]当中继节点接收经最优传输路径传输的包含该传输路径信息的数据包时,且该信息中包含本地地址时,则经最优传输路径转发所述数据包至目标地址。
[0119]图3为本发明数据通信接收方法的流程示意图,一种数据通信接收方法,包括以下步骤:
[0120]S31、接收用于建立通信连接的包含源端地址及目标地址的多个请求数据包。
[0121 ]数据包是TCP/IP协议通信传输中的数据单位,数据包主要由“目标IP地址”、“源IP地址”、“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定,各字段长度固定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。目标IP地址是说明这个数据包是要发给谁的,即该数据包要达到的地方;源IP地址是说明这个数据包来自哪里;而净载数据为需要传递的信息内容。正是因为数据包具有这样的结构,安装了 TCP/IP协议的计算机之间才能相互通信。
[0122]当数据包进行长距离的传输时需要经过许多中继站,每个中继站就是一台主机或路由器,他们基于路由信息,将数据包向下一个中继站传递。在数据传输的路途上,如果路由器遇到大数据流量的情况下,它可能在没有任何提示的情况下丢掉一些数据包。较高层的协议(如TCP协议)用于处理这些问题,以便为应用程序提供一条可靠的链路。如果对于下一个中继站来说数据包太大,该数据包就会被分片。也就是说,打的数据包会被分成两个或多个小数据包,每个小数据包都有自己的IP头,但其净荷仅仅是大数据包净荷的一部分。每个小数据包可以经由不同的路径到达目的地。在传输的路途上,每个小数据包还可能会被继续分片。当这些小数据包到达目标机器时,他们会被重新拼装到一起。
[0123]TCP协议是可靠的传输协议,TCP连接的建立需要通过三次握手才可以。在数据传输过程中,TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到服务端的包的按序接收。然后接收端对已成功收到的字节发回一个相应的确认(ACK);如果接收端在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算和校验。
[0124]在建立通信连接之前,需要使用握手协议,即通讯设备之间任何实际应用信息的传送总是伴随着一些控制信息的传递,它们按照既定的通讯协议工作,将应用信息安全、可靠、高效地传送到目的地。握手协议就是两个设备在通信之前,要互相的认识一下,然后才能互相传送。通过握手,源端发起请求,与目标端建立连接,继而进行数据传输。
[0125]在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn = j)到服务器,并进入SYN_SEND状态,等待服务器确认;其中,SYN为同步序列编号。第二次握手:服务器收到syn包,必须确认客户的SYN(ack = j+Ι),同时自己也发送一个SYN包(syn = k),S卩SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack = k+l),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手之后,客户端与服务器开始传送数据。
[0126]S32、当该目标地址为本地地址时,分别获取所述请求数据包中的多个中继节点地址及相应的传输速度,并确定传输速度最快的请求数据包的传输路径为最优传输路径。
[0127]源节点将数据包分发给多个中继节点,目标节点获取请求数据包中的多个中继节点地址及相应的传输速度,根据数据包中的速度测试字段获取的数据传输速度确定传输速度最快的请求数据包的传输路径为最优传输路径。
[0128]S33、经最优传输路径反向传输包含最优传输路径信息的确认数据包后,接收经该最优传输路径传输的数据包,完成数据传输。
[0129]在反向传输的数据包中,省略了数据包中的测试字段以及反馈请求字段,仅含有最优传输路径信息的确认信息、包序列、数据内容等。
[0130]其中,步骤S33,即经最优传输路径反向传输包含最优传输路径信息的确认数据包后,接收经该最优传输路径传输的数据包,完成数据传输,还包括:
[0131]经最优传输路径反向传输包含最优传输路径信息的确认数据包至源节点。
[0132]当目标节点接收经最优传输路径传输的数据包之后,再将包含有最优传输路径信息的确认数据包反向传输至源节点,源节点接收到确认信息之后,完成该数据的传输。
[0133]请参阅图4,本发明数据通信发起装置的结构示意图,包括:发送模块11、第一接收模块12、第一传输模块13、第一确定模块14、第二确定模块15、第二获取模块16、第三获取模块17和第三确定模块18。
[0134]上述各模块的功能如下:
[0135]发送模块11:用于发送用于建立通信连接的包含本地地址及目标地址的请求数据包;
[0136]第一接收模块12:用于接收目标端反馈的包含传输路径信息的确认数据包,同时根据传输路径信息确定到达所述目标端的最优传输路径;
[0137]第一传输模块13:用于通过最优传输路径传输数据。
[0138]第一确定模块14:用于依据测速信息,将数据最快传输至的中继节点作为最优中继节点。
[0139]第二确定模块15:用于依据测速信息,将数据较快传输至的中继节点作为次优中继节点。
[0140]第二获取模块16:用于经过最优中继节点,向目标端传输数据包,根据传输至目标端的数据包中的速度测试字段获取数据传输速度之后,依据数据包中的速度反馈字段获得反馈测速信息。
[0141 ]第三获取模块17:用于经过次优中继节点,向目标端传输数据包,根据传输至目标端的数据包中的速度测试字段获取数据传输速度之后,依据数据包中的速度反馈字段获得反馈测速信息。
[0142]第三确定模块18:用于依据测速信息,将数据最快传输至目标端的传输路径作为最优传输路径。
[0143]图5为本发明数据通信发起装置的第一接收模块的结构框图。其中,所述第一接收模块12还包括:第一获取模块19:用于根据数据包中的速度测试字段获取数据传输速度之后,依据数据包中的速度反馈字段获得反馈测速信息。
[0144]通过发送模块将用于建立通信连接的包含本地地址及
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1