TCP协议(详解)

主要概念

TCP协议,又名传输控制协议,是一种面向连接可靠传输协议。

面向链接:在数据传输之前,收发双方需要预先建立一条逻辑通路。

 

SYN---同步位----是在TCP三次握手建立通道时的标记(三次握手时需要注意的)
ACK---确认位----当该标记位位置为1时,确认序列号有意义
FIN---代表释放TCP连接 (四次挥手时需要注意的)

TCP分段:因为IP分片后,TCP协议无法保证数据的可靠性传输,故而使用TCP协议进行封装的文件不允许进行IP分片,而又因为MTU存在,需要将大文件分为小文件,该操作由TCP协议完成。MSS---最大传输段===MTU-IP头部-TCP头部

在TCP协议在,每一个报文都需要由序列号信息

可靠性 

  • 确认机制----每收到一个TCP数据段,都需要发送一个确认报文。

  • 重传机制---超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。

  • 排序机制---传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会打乱,需要根据序列号字段进行重新排序。

  • 流控机制(滑动窗口机制)----可以通过调节窗口大小(Windows)来对流量进行控制

面向连接 

三次握手

  三次握手是在TCP协议中建立一个可靠的连接所使用的一种机制。它由发送方和接收方之间进行的三次通信组成,用于确保双方都愿意建立连接,并同步各自的初始序列号。

  1. 第一次握手(SYN):发送方向接收方发送一个带有SYN标志的数据包(SYN包),请求建立连接。发送方会随机选择一个初始序列号(seq=x),并将它放在SYN包中的序列号字段中发送给接收方。
  2. 第二次握手(SYN+ACK):接收方收到SYN包后,会向发送方发送一个带有SYN和ACK标志的数据包(SYN+ACK包),表示接受建立连接的请求,并回复确认号(ACK)和自己的初始序列号。接收方还会随机选择一个初始序列号(seq=y),并将它放在SYN+ACK包中的序列号字段中发送给发送方。
  3. 第三次握手(ACK):发送方收到SYN+ACK包后,会向接收方发送一个带有ACK标志的数据包(ACK包),确认接收方的确认号,并发送自己的确认号。接收方收到ACK包后,会确认发送方的确认号,并完成连接的建立。

四次挥手

  四次挥手是在TCP协议中用于终止一个已建立的连接的机制。它是TCP连接的正常关闭流程,由发送方和接收方之间进行的四次通信组成。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~莫子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值