首页 > 其他 > 详细

tcp机制简述(三次握手、四次挥手、滑动窗口)

时间:2020-05-25 00:08:04      阅读:129      评论:0      收藏:0      [点我收藏+]

1、tcp协议用于传输层,通常linux内核将协议层实现,用户只需要在内核提供的接口上进行编程即可,之间讲述了socket网络编程的接口函数,接下来主要来描述tcp协议里面的几个重要机制

2、三次握手

  在了解三次握手前,需要了解tcp协议的数据结构。

  

技术分享图片

 

  首先我们需要记住几个标识位,一个是SYN、一个是ACK、一个是FIN

  建立连接的过程中需要进行三次握手,这时,客户端发起连接请求,随机生成一个32位的确认序列号,也就是随机生成一个SYN+data_len,发给服务器端,这时候,服务器收到请求后,确认标识位为1,这时候,它会主动发送一个SYN+ACK的请求报文,ACK位32位的确认序号,是SYN+data_len+1,同时服务器端也会随机产生一个SYN,客户端收到后,它会返回一个ACK,为服务器的SYN+1,服务器确认后,连接建立。

2、四次挥手

  四次挥手很简单,主要用到FIN和ACK,客户端和服务器的任何一方都可以主动请求断开链接,这时候,比如客户端会发送一个断开链接请求,这时候它会发送一个FIN+ACK,其中ACK为上次发送的确认ACK,这时候,服务器收到会回一个ACK,然后服务器也会发送一个FIN+ACK,再次确认是否断开链接,客户端再次回一个ACK,收到后链接断开,四次挥手完成。

3、滑动窗口

  滑动窗口,其实很简单,就是每次tcp传输过程中,server和client会携带一个滑动窗口大小,意味着此时它能一次接受多少数据,因为数据在客户端和服务器之间是有缓存的,滑动窗口也就相当于对方告诉自己目前缓冲区的大小,不需要每次发一个数据包就回一个ACK,通过滑动窗口来进行简单的拥塞控制。

tcp机制简述(三次握手、四次挥手、滑动窗口)

原文:https://www.cnblogs.com/zz1314/p/12953586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!