[发明专利]基于TCP/IP协议的灵活数据传输协议的灵活数据传输方法有效
申请号: | 201911082702.8 | 申请日: | 2019-11-07 |
公开(公告)号: | CN110830472B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 韩鹏 | 申请(专利权)人: | 西北工业大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tcp ip 协议 灵活 数据传输 方法 | ||
1.一种基于TCP/IP协议的灵活数据传输协议的灵活数据传输方法,其特征在于:在应用层和UDP传输协议层之间设立面向连接的基于消息报文的传输协议的控制字段,其格式为:第一层的16位是:第一字符1位的标志位SYN:该标志位在建立连接的时候使用,当SYN为1且ACK为0时,代表请求连接包,若另一方同意连接,则把SYN和ACK同时置1,代表一个连接应答包,当SYN和FIN标志位一起为1时代表请求关闭包;第二字符1位的标志位ACK:当ACK值为1时表明这是一个应答包,本标志位与其它标志位配合使用,当SYN和ACK都置1代表这是一个连接应答包,当FIN和ACK都置1代表这是一个关闭应答包,仅有ACK为1代表数据确认包;第三字符1位的标志位FIN:该标志位在关闭连接的时候使用,当FIN为1且ACK为0时,代表请求关闭包,若另一方同意关闭,则把FIN和ACK同时置1,代表一个关闭应答包;第四字符1位的标志位RETR:当RETR为1时表明当前是一个重发请求包,用于重传机制,发送方收到重传请求后会从发送队列里面重新传送数据包;第五字符1位的标志位TES:TES用在发送方和接收方建立连接后开始传输数据之前,发送方探测接收方缓存大小;第六字符1位的标志位ACK-req:当ACK-req为1时表明发送方已经连续发送了一批数据包并且需要接收方及时确认;其余位是保留位;第二层为16位的序列号:标记发送的数据包的顺序号,接收方期望包寄存器与之比对产生相应的动作;第三层为16位的确认/重发序号:以填充需要确认的ORUDP包序号或需要重新发送的ORUDP包的序号;第四层为16位的重传地址:以填充需要重传的包在发送方发送队列里面的位置,和重传请求一起使用;第五层为16位窗口大小:进行流量控制;传输中采用累计确认机制、立刻重传机制、流量控制机制和双队列加速机制,数据传输步骤如下:
步骤1、通过三次握手建立连接:以A是客户端,B是服务器,发起三次握手建立连接时,A首先向B发送连接请求,将SYN置1并且将自己的序列号a发送给B,B收到A建立连接的请求后,如果同意则向A发送确认包,该确认包中SYN和ACK都置1,同时反馈确认号和自身的序列号,确认号就是A的序列号加1即ack=a+1,序列号就是B的初始序号Seq=b;A接收到B的确认包后,继续向B发送确认包,确认号为B的序列号加1即ack=b+1,序列号为自身序列号加1即Seq=a+1,同时将ACK置1;经过三次握手,A与B的通信连接就建立了起来;
步骤2、接收和发送进程:
接收:在建立连接之后接收方处于空闲状态,如果收到请求确认包并且序列号一致,应用层内存充足则进入接收待回复状态,提取数据包回复数据确认包并回到空闲状态;如果收到的是请求确认包且包号与期望序列号差1则进入待回复状态,当接到应用层缓存足够回复数据确认包后回到空闲状态;如果收到数据包并且序列号一致,应用层内存充足则进入接收状态提取数据包;其它情况下收到数据包则进入待重传状态,接收方内存足够发送重传请求包后回到空闲状态,收到数据确认包进入丢弃状态,丢弃完毕后回到空闲状态;
发送:在建立连接之后发送方处于空闲状态,如果应用进程需要发送数据,首先会把数据发送到自己的FIFO缓冲区当中,后续的发送任务就交给本设计协议处理;该协议一旦发现应用进程的FIFO中有数据时先把数据搬到自己的发送队列里面,发送队列存满数据或者把应用层FIFO的数据都装到装载队列里,等待一定的时间还是不能装满则离开装载状态;如果是第一次发送数据包在发送之前先发送一包窗口探测包,收到探测应答包后,更新滑动窗口的状态、队列切换进入发送状态,否则直接进入发送状态,进入发送后先检查窗口是否调整,没有就进入调整状态,调整完开始发送,这样做避免发出不完整的包文;发送队列里面的数据由滑动窗口管理,发送队列在发送数据的过程中接收队列也在缓存数据,两个队列互不影响同时工作极大地提高传输效率,发送队列发送完毕后会根据缓存队列的情况选择工作模式,如果装载队列装满则直接切换队列,将装载变成发送队列并进入发送状态,如果装载队列没有装满,进入预装载状态进行装载后再进入发送状态,进入发送状态后由滑动窗口管理发送过程;
步骤3、结束后双方都要独立关闭自己的传输通道:
开始传输数据之前,发送方和接收方必须通过三次握手建立连接;数据传输任务结束后双方都要独立关闭自己的传输通道,只有经过四次握手才能彻底关闭连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911082702.8/1.html,转载请声明来源钻瓜专利网。