TCP/IP 之TCP协议(4):差错控制
来源:互联网 发布:rocketdock类似软件 编辑:程序博客网 时间:2024/05/22 17:34
1、TCP必须保证数据:按序,没有差错,没有部分丢失,没有重复的交给应用层。方法就是:校验和,确认,超时重传
2、校验和:和UDP的做法一样,也要伪首部,和UDP不同的是这个功能在TCP中是必须的
3、确认:ACK的确认机制(下面是一些原则)
a、ACK报文不需要确认,也不消耗序号
b、当一端发送数据时,尽量包含捎带确认。
c、收端推迟发送ACK报文段,如果仅有一个未确认的按序报文段;延迟到500ms,或者有第二个报文段接收时(转d),或者有数据要发送时(转b)
d、任何时候,不能有两个(以上)未确认的报文段(就是说如果收端有两个未确认的按序报文段,就马上发送ACK报文段进行确认)
e、当收到一个序号比期望序号还大的报文段时,马上发送ACK,让发端进行快重传
f、收到重复的报文段,就立即发送确认(解决ACK丢失问题)
g、丢失的报文段到达,发送确认,表示已经收到了丢失的报文
4、确认类型
累计确认:收端忽略掉所有失序报文,告知发端他期待下一个收到的序号,叫做肯定累计ACK。肯定是说:丢弃的,丢失的,重复的都不报告。
选择确认(SACK):在某些新TCP实现里面实现了这个东西,报告失序和重复的数据,作伪TCP首部选项字段的一部分。
5、重传(两种情况) : 重传定时器时间到,或者 发端收到重复的三个ACK(快重传)
2、校验和:和UDP的做法一样,也要伪首部,和UDP不同的是这个功能在TCP中是必须的
3、确认:ACK的确认机制(下面是一些原则)
a、ACK报文不需要确认,也不消耗序号
b、当一端发送数据时,尽量包含捎带确认。
c、收端推迟发送ACK报文段,如果仅有一个未确认的按序报文段;延迟到500ms,或者有第二个报文段接收时(转d),或者有数据要发送时(转b)
d、任何时候,不能有两个(以上)未确认的报文段(就是说如果收端有两个未确认的按序报文段,就马上发送ACK报文段进行确认)
e、当收到一个序号比期望序号还大的报文段时,马上发送ACK,让发端进行快重传
f、收到重复的报文段,就立即发送确认(解决ACK丢失问题)
g、丢失的报文段到达,发送确认,表示已经收到了丢失的报文
4、确认类型
累计确认:收端忽略掉所有失序报文,告知发端他期待下一个收到的序号,叫做肯定累计ACK。肯定是说:丢弃的,丢失的,重复的都不报告。
选择确认(SACK):在某些新TCP实现里面实现了这个东西,报告失序和重复的数据,作伪TCP首部选项字段的一部分。
5、重传(两种情况) : 重传定时器时间到,或者 发端收到重复的三个ACK(快重传)
- TCP/IP 之TCP协议(4):差错控制
- TCP/IP 之TCP协议(4):差错控制
- TCP协议之差错控制
- 网络协议系列之八:TCP差错控制
- TCP差错控制
- TCP协议的流量控制、拥塞控制和差错控制
- TCP协议的流量控制、拥塞控制和差错控制
- TCP/IP 之TCP协议(5):拥塞控制
- TCP/IP协议之TCP
- TCP流量控制,拥塞控制,差错控制
- TCP/IP协议栈 之 TCP协议
- TCP/IP之IP协议
- TCP/IP 之TCP协议(6):4种计时器
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- TCP/IP之TCP协议(3):流量控制(滑动窗口协议)
- TCP/IP之TCP协议——流量控制(滑动窗口协议)
- jsp接受空参数的注意事项
- 为自己而工作(转)
- PM 笔记之一
- red5的入门 for linux (原创)
- 湖北多地出现阴阳天(图)
- TCP/IP 之TCP协议(4):差错控制
- asp.net生成高质量缩略图(VB.net)
- SQL Server 2005对海量数据处理
- c# 多个空格变为一个空格
- javascript 怕自己忘记了 所以记下来(date 格式化)
- reinterpret_cast翻译
- 安装VS2003遇到的问题集
- 获取数据库的sql语句
- sqlplus可以连接,pl/sql 报ORA-12154: TNS:无法解析指定的连接标志符