TCP内容整理笔记

本文详细介绍了TCP协议的特点,如面向连接、全双工通信、确认与重传机制、排序、窗口管理等,以及连接建立时的参数协商和可靠性保障措施,包括快速重传和选择确认机制。
摘要由CSDN通过智能技术生成

TCP---传输控制协议 面现象链接的可靠传输协议 - --- 可靠 有序 无丢弃 不重复 特点

· TCP是面向连接(虚连接)的传输层协议

·每一条TCP连接有且只能有两个断点

·TCP协议提供全双工通讯

        。发送缓存

                .存放发送方TCP准备发送的数据

                .TCP已发送但是没有收到确认的数据

        。接受缓存

                .存放发送端发送来的不按照顺序到达的数据

                .按照顺序到达的数据,但并未被应用程序读取

.TCP是面向字节流的,将应用层数据仅看做是一串无结构的字节流

tcp连接的四元组(源IP,源端口,目IP,目端口)-->唯一标识一条TCP连接
​
套接字-->IP:port

image-20240314184935869

确认序列号:接受方期望收到发送方发送的下一个字节的序号。

 1.接受方希望接受到的报文序号;2.该序号之前的数据已全部接收。---------累积确认机制。

选项字段:长度可变,MSS数值,窗口扩大因子,时间戳(解决序列号回绕问题,还可以便于计算RTO的值),选择确认机制。

确认位ACK:当ACK=1时,确认号有意义。 在连接建立以后,所有传输的报文段都必须将该标志位置为1。
同步位SYN:SYN=1时,代表该数据段时一个连续请求报文。
终止位FIN:FIN=1时,表明此报文段发送方数据已发送完毕,要求释放连接。
复位RST:表明TCP连接出现严重错误,需要释放连接并重新建立连接。
紧急位URG:代表该报文中存在高优先级的数据,应尽快处理,需配合紧急指针使用。
推送位PSH:接收方应尽快接收到的数据交付给对应的应用程序。

TCP的可靠性

确认,重传,排序,流控。

MTU:最大传输单元--->以太网环境下1500字节-->数据包大小 ip头(20字节)+传输(TCP/UDP)头(20字节)+数据(MSS:最大数据段长度  1460字节)

排序 是字节流模式 从小到大

RTT-->往返时间(指发出端将数据发送后,到本端接受到对端反馈的确认报文的时间总和)
RTO--->超时重传时间  不能小于RTT只能略大于RTT值,RTO是动态变化的(超时间隔x2)
​
快速重传机制--->根据接收方的反馈信息进行数据重传。 客户端需要连续接受到三次确认序列号相同的ACK报文,则认为数据丢失,需要进行数据重传。
解决思路:使用学则确认机制--->在TCP首部的选项字段中,添加上未接受的数据信息,发送方接收到该确认报文吼,会根据选项字段内容,重新传输缺少的数据部分。
  选择确认机制是否可以执行是需要通讯双方进行协商的-->在三次握手的前两次SYN报文中进行协商。
窗口:窗口的大小是可以指定的,窗口大小指的是无需等待确认报文,而可以直接发送的数据包的最大值。(类似于发送缓存)
rwnd(接受窗口)---最开始等于整个缓存区的大小,浮动变化

TCP要求发送方依据rwnd发送数据量,发送方的发送窗口大小是一句接收方的反馈信息中的接收窗口大小而设定的。

image-20240314212327667

TCP连接的建立

TCP连接需要解决的问题:
 1.知晓对端的套接字信息。
 2.允许双方进行参数的协商(窗口值、选择确认机制、是否使用窗口扩大因子)
 3.对设备进行资源分配
当TCP连接建立成功,但是客户端突发故障。
此时服务端会等待2小时时间,若2小时时间内没有收到任何客户端的数据,则75s发一个
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值