首页 > 代码库 > 数据流和数据报、TCP可靠传输
数据流和数据报、TCP可靠传输
数据报表明是一个整体,write几次,就读取几次
数据流是基于字节的,1次write100个字节,肯能分10次读取
TCP基于数据流面向连接的,UDP基于数据报面向非连接的
TCP提供可靠服务的理解:
1.基于连接的,3次握手协议
2.差错检验、超时重发、滑动窗口协议保证了可靠性。
1.想象数据包只会出错,一次只能发一个包,确认后才能发下一个包:差错检验。发送端发包,接受段接包,发现错误,发送NCAK,发送端收到后重发包。
当NCAK也出错时,怎么办?当发送端在等待ACK的过程中,收到ACK或NCAK错误包时,重新发送包,但是带上包序号,接受段接受到包时,从序号知道是新包还是旧包,若为旧包,且前面发送ACK,则重新发送ACK,丢弃收到的旧包,若为旧包,前面发送NACK,则检验包,重复上述操作。若为新包,重复上述操作。
2.想象数据包会丢失时怎么办,超时重传。当发送端发的包丢失,重传;当确认包或nack包丢失,重传,接受包根据包序号知道是新包还是旧包。
3。一次一个包,太慢。滑动窗口协议,一次可以发送多个包。流量控制,具体见其他博客
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。