TCP学习小结

TCP作为面向连接的传输协议,通过三次握手建立连接,确保数据传输的可靠性,如确认包、超时重传和校验和机制。在数据传输完成后,通过四次挥手断开连接。本文详细介绍了TCP连接的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP和UDP一样,属于协议栈传输层协议。TCP是面向连接的传输协议,就是说传输数据时,首先需要建立确定的连接,可以确保互相通信无障碍。

TCP的三个状态 :建立连接,数据传输,断开连接


建立连接的过程——三次握手

1. 客户端向服务端发送一个SYN。

2. 服务端紧接着向客户端回复一个SYN(ACK)

3. 客户端回复一个ACK,当服务端收到ACK,就创建一个套接字用来和客户端通信


数据传输

TCP传输协议最大的特点是传输的数据可靠。为了实现这个目的,TCP采用 数据包序列化,确认包,超时重传,校验和等。

1)确认包:收到一个或一组数据后,回复一个确认包。每个确认包都记录了一个串行号码和一个确认号。seq = 序号,ack = 序号+TCP包的长度

2) 超时重传:发送端在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。

3)校验和 :发送端计算校验和,接收端也重新计算校验和,根据两个值来确定数据包的正确性,若相等则说明是正确的,否则,相反。


断开连接

断开的时候需要四次握手。客户端和服务端都可以发起中断。以客户端为例。

1)客户端发送FIN至服务端。

2)服务端回复ACK

3)服务端发送FIN

4)客户端回复ACK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值