TCP---传输控制协议

本文详细介绍了TCP协议,包括其面向连接、可靠、有序特性,以及套接字、四元组、确认机制、重传策略(如快速重传和选择确认)、流量控制等关键概念。重点讨论了TCP连接的建立与释放过程,以及相关的参数协商和资源管理。
摘要由CSDN通过智能技术生成

TCP------传输控制协议

是一种面向连接的可靠传输协议。可靠、有序、无丢失和无重复

特点:

●TCP是一种面向连接到传输协议

●每一条TCP连接有且只能存在两个端点,形成一种端到端的连接形式

●可靠、有序、无丢失和无重复

●TCP提供全双工通讯

○发送缓存

■ 想要发送的应用层数据

■ 已经发送但未收到确认的数据

○接受缓存

■ 按序到达但还未被应用程序提取的数据

■ 乱序到达的数据

● TCP是面向字节流

源IP、源端口、目的IP、目的端口-------->TCP会话的四元组信息。
套接字:IP:Port
TCP报文段

image-20240316095921692

确认序列号表明是接收方期望收到发送方发送的下一个字节的序号;且表示之前所有的数据均已接收。----->累积确认

ACK确认位:当ACK=1时,确认序列号有意义。在连接建立后所有传输的报文段都必须将该标记位置为1.
SYN同步位:代表连接请求。
FIN终止位:表明此报文段发送方数据已发送完毕,要求释放连接。
​
RST复位:当TCP连接出现严重错误时,必须释放连接,然后重新建立传输连接。
URG紧急位:当URG=1时,表明此报文段中存在紧急数据,是高优先级数据,应尽快传输给应用层程序处理,不再缓存在排队。配合紧急指针使用。
PSH推送位:当PSH=1时,接收方应尽快交付数据给应用层程序,不再等待缓存填满再向上交付。

image-20240316102838088

TCP的可靠性
排序机制
MTU---最大传输单元(以太网环境下最大1500字节)
MSS---最大数据段长度----TCP分段--->该参数是需要在TCP建立握手过程中通过两次SYN报文段来进行协商确定。(以太网环境下,最大1500-20-20=1460字节)

如果在本地进行了分段操作,则不需要进行分片操作。

确认机制和重传机制
RTT---往返时间
RTO---超时重传时间 , 略大于RTT时间----->动态变化的数值。加倍的形式进行变化。

超时重传-----快速重传

在快速重传机制中,并不是因为RTO时间到达从而触发重传机制,该重传机制是根据对端的反馈信息进行重传,当连续3次收到相同的ACK报文时,发送端会重传数据。这3个连续的ACK报文被称为冗余ACK。

累计确认-----选择确认

选择确认机制

也是需要进行协商的。

流控----流量控制机制
窗口:指定的是无需等待确认应答,而可以继续发送数据包的最大值。

窗口大小体现在缓存区的大小

TCP要求发送方依据接受窗口rwnd来控制数据的发送量。rwnd等于接受方接受缓存大小减去已存在数据量大小。即rwnd变量是可变的。

image-20240316141859661

TCL面向连接
TCP连接的建立
需要解决的问题:
1、要使双方均知晓对方的套接字信息。
2、允许双方进行参数协商(MSS、窗口值、是否使用选择确认机制)
3、给各设备进行资源分配
TCP连接释放
1、对双方各自资源的释放过程
2、任何一方都可以在数据传输结束后发送连接释放通知

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值